/*
 * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#ifndef _SC_SCFW_H
#define _SC_SCFW_H

/* Includes */

#include <types.h>

#ifdef __cplusplus
  #define   __I     volatile             /*!< Defines 'read only' permissions                 */
#else
  #define   __I     volatile const       /*!< Defines 'read only' permissions                 */
#endif
#define     __O     volatile             /*!< Defines 'write only' permissions                */
#define     __IO    volatile             /*!< Defines 'read / write' permissions              */

/*!
 * This type is used to declare a handle for an IPC communication
 * channel. Its meaning is specific to the IPC implementation.
 */
typedef uint64_t sc_ipc_t;

/*!
 * This type is used to declare an ID for an IPC communication
 * channel. For the reference IPC implementation, this ID
 * selects the base address of the MU used for IPC.
 */
typedef uint64_t sc_ipc_id_t;


#endif /* _SC_SCFW_H */

