Macros to create Asynchronous Supervisor interface functions. More...
Macros | |
#define | NRF_SVCI_ACYNC_FUNC_TYPEDEF(name, param_type, state_type) typedef uint32_t (* name ## _async_fn_t)(param_type * p_param, state_type * p_state) |
Macro for creating type definition for SVCI interface init function. More... | |
#define | NRF_SVCI_ASYNC_EVENT_FUNC_TYPEDEF(name, state_type) typedef uint32_t (* name ## _event_fn_t)(uint32_t sys_evt, state_type * p_state) |
Macro for creating type definition for SVCI interface event function. More... | |
#define | NRF_SVCI_ASYNC_FUNC_DECLARE(svci_num,name,param_type,state_type) |
Macro for creating a declaration of a named async function for the SVCI interface. More... | |
#define | NRF_SVCI_ASYNC_FUNC_DEFINE(svci_num, name, param_type) |
Macro for defining a named SVCI async interface. More... | |
Macros to create Asynchronous Supervisor interface functions.
#define NRF_SVCI_ACYNC_FUNC_TYPEDEF | ( | name, | |
param_type, | |||
state_type | |||
) | typedef uint32_t (* name ## _async_fn_t)(param_type * p_param, state_type * p_state) |
Macro for creating type definition for SVCI interface init function.
[in] | name | Name of async request function. Will be appended with _async_fn_t. |
[in] | param_type | Parameter type. |
[in] | state_type | State type. |
Type | definition a named SVCI async init function. |
#define NRF_SVCI_ASYNC_EVENT_FUNC_TYPEDEF | ( | name, | |
state_type | |||
) | typedef uint32_t (* name ## _event_fn_t)(uint32_t sys_evt, state_type * p_state) |
Macro for creating type definition for SVCI interface event function.
Calling this function with sys-events will report NRF_ERROR_BUSY until the asynchronous calls is finished, at which time it will report either NRF_SUCCESS or any another error-message.
[in] | name | Name of the event function. Will be appended with _event_fn_t |
[in] | state_type | Type parameter for the state. |
Type | definition for a named SVCI async event function. |
#define NRF_SVCI_ASYNC_FUNC_DECLARE | ( | svci_num, | |
name, | |||
param_type, | |||
state_type | |||
) |
Macro for creating a declaration of a named async function for the SVCI interface.
The async interface provides a method to call into a external application through the SVCI interface without relying on allocated or reserved memory inside the external application.
This macro declares variables and function types in use by the async SVCI interface.
[in] | svci_num | SVC indirect number. |
[in] | name | Name of the async function. |
[in] | param_type | Type of the param used for the async interface. |
[in] | state_type | Type of the state used for the async interface. |
A | type definition of NAME_svc_async_t to be used for async access through the SVCI interface. |
#define NRF_SVCI_ASYNC_FUNC_DEFINE | ( | svci_num, | |
name, | |||
param_type | |||
) |
Macro for defining a named SVCI async interface.
The async interface provides a method to call into an external application through the SVCI interface without relying on allocated or reserved memory inside the external application.
Running this macro creates a defintion of the structure that holds the information about the async function, the event handler, and the state.
Running this macro also defines convenience functions to the SVCI interface.
The available functions are: -NAME_init - Function to call to set up the async SVCI interface. -NAME - Function to call the async SVCI interface. -NAME_on_sys_event - Function to report sys events to the async SVCI interface. -NAME_is_initialized - Function to check if the async SVCI interface is initialized and ready to use.
[in] | svci_num | SVC indirect number. |
[in] | name | Name of the async function. |
[in] | param_type | Type of the param used for the async interface. |
Instance | of the async SVCI interface and convenience functions for using it. |