/*
 * Copyright (C) 2023 Apple Inc. All rights reserved.
 *
 * This document is the property of Apple Inc.
 * It is considered confidential and proprietary.
 *
 * This document may not be reproduced or transmitted in any form,
 * in whole or in part, without the express written permission of
 * Apple Inc.
 */

#pragma once

#if __has_include(<ecb_artefacts/notifications.h>)
#include <ecb_artefacts/notifications.h>

#else
/*
 * Identifiers for exclave notifications.
 * This code is moving to ECB
 */
enum {
    XNUPROXY_NOTIFICATION_HELLO = 0,
    XNUPROXY_NOTIFICATION_AUDIODSP = 1, // upcall notification id used by AudioDSP
    XNUPROXY_NOTIFICATION_AUDIODSPANALYSIS = 2, // upcall notification id used by AudioDSP Analysis
    XNUPROXY_NOTIFICATION_AUDIOCAPTURE = 3, // upcall notification id used by AudioCapture
    XNUPROXY_NOTIFICATION_LOGSERVER = 4, // upcall notification id used by LogServer
    XNUPROXY_NOTIFICATION_PERCEPTION = 5, // upcall notification id used by Perception
    XNUPROXY_NOTIFICATION_ACCESSORYSENSORMANAGER = 6, // upcall notification id used by AccessorySensorManager
    XNUPROXY_NOTIFICATION_VL = 7,
    XNUPROXY_NOTIFICATION_MICROLOCATION = 8, // upcall notification id used by MicroLocation
};

#define XNUPROXY_RESOURCE_NOTIFICATION_ID_BASE 0x10000
#define XNUPROXY_RESOURCE_NOTIFICATION_ID(notification) (XNUPROXY_RESOURCE_NOTIFICATION_ID_BASE | (notification))

#endif
