ACU6 Device API
Data Structures | Enumerations | Enumerator | Functions
ipc_core_msgs

IPC Core messages. More...

Data Structures

struct  a_ipc_dyn_array_enum_ipc_send_error_reason
 Dynamic-length array of a_ipc_enum_ipc_send_error_reason. More...
 
struct  a_ipc_dyn_array_enum_ipc_open_session_result
 Dynamic-length array of a_ipc_enum_ipc_open_session_result. More...
 
struct  a_ipc_dyn_array_enum_ipc_session_closed_reason
 Dynamic-length array of a_ipc_enum_ipc_session_closed_reason. More...
 
struct  a_ipc_dyn_array_enum_ipc_debug_command
 Dynamic-length array of a_ipc_enum_ipc_debug_command. More...
 
struct  a_ipc_msg_ipc_send_error_ind
 Sent when a message could not be delivered. More...
 
struct  a_ipc_msg_ipc_open_session_req
 Request to open a communication session with a peer. More...
 
struct  a_ipc_msg_ipc_open_session_rsp
 Open communication session response. More...
 
struct  a_ipc_msg_ipc_close_session_req_norsp
 Close communication session with the peer. More...
 
struct  a_ipc_msg_ipc_session_opened_ind
 Received when the peer opened a session. More...
 
struct  a_ipc_msg_ipc_session_closed_ind
 Received when the peer closed the session. More...
 
struct  a_ipc_msg_ipc_debug_command_req_norsp
 Internal IPC debugging functions. More...
 

Enumerations

enum  a_ipc_enum_ipc_send_error_reason {
  A_IPC_ENUM_IPC_SEND_ERROR_REASON_SEND_FAILED , A_IPC_ENUM_IPC_SEND_ERROR_REASON_PEER_UNREACHABLE , A_IPC_ENUM_IPC_SEND_ERROR_REASON_TRANSPORT_ERROR , A_IPC_ENUM_IPC_SEND_ERROR_REASON_NO_SESSION ,
  A_IPC_ENUM_IPC_SEND_ERROR_REASON_SESSION_EXISTS
}
 Reason for why sending a message failed. More...
 
enum  a_ipc_enum_ipc_open_session_result { A_IPC_ENUM_IPC_OPEN_SESSION_RESULT_OK , A_IPC_ENUM_IPC_OPEN_SESSION_RESULT_ERROR , A_IPC_ENUM_IPC_OPEN_SESSION_RESULT_ERROR_NO_SLOTS_AVAILABLE }
 Result when trying to open a session.
 
enum  a_ipc_enum_ipc_session_closed_reason { A_IPC_ENUM_IPC_SESSION_CLOSED_REASON_REQUESTED , A_IPC_ENUM_IPC_SESSION_CLOSED_REASON_TIMEOUT }
 Reason why a session was closed.
 
enum  a_ipc_enum_ipc_subscribe_result { A_IPC_ENUM_IPC_SUBSCRIBE_RESULT_OK , A_IPC_ENUM_IPC_SUBSCRIBE_RESULT_ERROR }
 Result of subscribing. More...
 
enum  a_ipc_enum_ipc_debug_command { A_IPC_ENUM_IPC_DEBUG_COMMAND_DEBUG_DUMP_USAGE , A_IPC_ENUM_IPC_DEBUG_COMMAND_DEBUG_RESERVED }
 Command sent to IPC implementation for remote debugging functions. More...
 

Functions

A_IPC_RESULT a_ipc_init_ipc_send_error_ind (a_ipc_msg *msg)
 Initialize the message buffer to contain a_ipc_msg_ipc_send_error_ind. More...
 
A_IPC_RESULT a_ipc_init_ipc_open_session_req (a_ipc_msg *msg)
 Initialize the message buffer to contain a_ipc_msg_ipc_open_session_req. More...
 
A_IPC_RESULT a_ipc_init_ipc_open_session_rsp (a_ipc_msg *msg)
 Initialize the message buffer to contain a_ipc_msg_ipc_open_session_rsp. More...
 
A_IPC_RESULT a_ipc_init_ipc_close_session_req_norsp (a_ipc_msg *msg)
 Initialize the message buffer to contain a_ipc_msg_ipc_close_session_req_norsp. More...
 
A_IPC_RESULT a_ipc_init_ipc_session_opened_ind (a_ipc_msg *msg)
 Initialize the message buffer to contain a_ipc_msg_ipc_session_opened_ind. More...
 
A_IPC_RESULT a_ipc_init_ipc_session_closed_ind (a_ipc_msg *msg)
 Initialize the message buffer to contain a_ipc_msg_ipc_session_closed_ind. More...
 
A_IPC_RESULT a_ipc_init_ipc_debug_command_req_norsp (a_ipc_msg *msg)
 Initialize the message buffer to contain a_ipc_msg_ipc_debug_command_req_norsp. More...
 

Detailed Description

IPC Core messages.

This page contains documentation of the core IPC framework API. It provides functions to send and receive IPC messages. The service APIs are documented on each service API page.

To get a more thorough understanding on how the IPC framework works, read about Messaging.


Data Structure Documentation

◆ a_ipc_dyn_array_enum_ipc_send_error_reason

struct a_ipc_dyn_array_enum_ipc_send_error_reason

Dynamic-length array of a_ipc_enum_ipc_send_error_reason.

Data Fields
uint32_t length Length of the array (number of elements)
a_ipc_enum_ipc_send_error_reason * value The contents of the array.

◆ a_ipc_dyn_array_enum_ipc_open_session_result

struct a_ipc_dyn_array_enum_ipc_open_session_result

Dynamic-length array of a_ipc_enum_ipc_open_session_result.

Data Fields
uint32_t length Length of the array (number of elements)
a_ipc_enum_ipc_open_session_result * value The contents of the array.

◆ a_ipc_dyn_array_enum_ipc_session_closed_reason

struct a_ipc_dyn_array_enum_ipc_session_closed_reason

Dynamic-length array of a_ipc_enum_ipc_session_closed_reason.

Data Fields
uint32_t length Length of the array (number of elements)
a_ipc_enum_ipc_session_closed_reason * value The contents of the array.

◆ a_ipc_dyn_array_enum_ipc_subscribe_result

struct a_ipc_dyn_array_enum_ipc_subscribe_result

Dynamic-length array of a_ipc_enum_ipc_subscribe_result.

Data Fields
uint32_t length Length of the array (number of elements)
a_ipc_enum_ipc_subscribe_result * value The contents of the array.

◆ a_ipc_dyn_array_enum_ipc_debug_command

struct a_ipc_dyn_array_enum_ipc_debug_command

Dynamic-length array of a_ipc_enum_ipc_debug_command.

Data Fields
uint32_t length Length of the array (number of elements)
a_ipc_enum_ipc_debug_command * value The contents of the array.

◆ a_ipc_msg_ipc_send_error_ind

struct a_ipc_msg_ipc_send_error_ind

Sent when a message could not be delivered.

Create using a_ipc_init_ipc_send_error_ind().

Message type is A_IPC_MSG_IPC_SEND_ERROR_IND.

Data Fields
int32_t msg_type Type ID of the sent message.
a_ipc_enum_ipc_send_error_reason reason Reason why the message could not be delivered.

◆ a_ipc_msg_ipc_open_session_req

struct a_ipc_msg_ipc_open_session_req

Request to open a communication session with a peer.

Response is delivered in a_ipc_msg_ipc_open_session_rsp.

Create using a_ipc_init_ipc_open_session_req().

Message type is A_IPC_MSG_IPC_OPEN_SESSION_REQ.

◆ a_ipc_msg_ipc_open_session_rsp

struct a_ipc_msg_ipc_open_session_rsp

Open communication session response.

Sent in response to a_ipc_msg_ipc_open_session_req.

Create using a_ipc_init_ipc_open_session_rsp().

Message type is A_IPC_MSG_IPC_OPEN_SESSION_RSP.

Data Fields
a_ipc_enum_ipc_open_session_result result The result of trying to open the session.

◆ a_ipc_msg_ipc_close_session_req_norsp

struct a_ipc_msg_ipc_close_session_req_norsp

Close communication session with the peer.

Create using a_ipc_init_ipc_close_session_req_norsp().

Message type is A_IPC_MSG_IPC_CLOSE_SESSION_REQ_NORSP.

◆ a_ipc_msg_ipc_session_opened_ind

struct a_ipc_msg_ipc_session_opened_ind

Received when the peer opened a session.

Only expected to be received by services.

Triggered when the peer opened a session using a_ipc_msg_ipc_open_session_req

Create using a_ipc_init_ipc_session_opened_ind().

Message type is A_IPC_MSG_IPC_SESSION_OPENED_IND.

◆ a_ipc_msg_ipc_session_closed_ind

struct a_ipc_msg_ipc_session_closed_ind

Received when the peer closed the session.

Either due to an explicit request or a timeout (e.g. other peer exited).

Create using a_ipc_init_ipc_session_closed_ind().

Message type is A_IPC_MSG_IPC_SESSION_CLOSED_IND.

Data Fields
a_ipc_enum_ipc_session_closed_reason reason Reason why the session was closed.

◆ a_ipc_msg_ipc_debug_command_req_norsp

struct a_ipc_msg_ipc_debug_command_req_norsp

Internal IPC debugging functions.

Create using a_ipc_init_ipc_debug_command_req_norsp().

Message type is A_IPC_MSG_IPC_DEBUG_COMMAND_REQ_NORSP.

Data Fields
a_ipc_enum_ipc_debug_command command Command to send to other side.

Enumeration Type Documentation

◆ a_ipc_enum_ipc_debug_command

Command sent to IPC implementation for remote debugging functions.

Enumerator
A_IPC_ENUM_IPC_DEBUG_COMMAND_DEBUG_DUMP_USAGE 

Dump IPC usage statistics.

A_IPC_ENUM_IPC_DEBUG_COMMAND_DEBUG_RESERVED 

Empty command.

◆ a_ipc_enum_ipc_send_error_reason

Reason for why sending a message failed.

Enumerator
A_IPC_ENUM_IPC_SEND_ERROR_REASON_SEND_FAILED 

Generic send failure.

A_IPC_ENUM_IPC_SEND_ERROR_REASON_PEER_UNREACHABLE 

The peer was not reachable.

A_IPC_ENUM_IPC_SEND_ERROR_REASON_TRANSPORT_ERROR 

Error in the underlying transport protocol.

A_IPC_ENUM_IPC_SEND_ERROR_REASON_NO_SESSION 

No active sesion, but one is needed.

See a_ipc_msg_ipc_open_session_req.

A_IPC_ENUM_IPC_SEND_ERROR_REASON_SESSION_EXISTS 

A session is already open towards the peer.

◆ a_ipc_enum_ipc_subscribe_result

Result of subscribing.

Enumerator
A_IPC_ENUM_IPC_SUBSCRIBE_RESULT_OK 

Successfully subscribed.

A_IPC_ENUM_IPC_SUBSCRIBE_RESULT_ERROR 

Failed to subscribe.

Function Documentation

◆ a_ipc_init_ipc_close_session_req_norsp()

A_IPC_RESULT a_ipc_init_ipc_close_session_req_norsp ( a_ipc_msg msg)

Initialize the message buffer to contain a_ipc_msg_ipc_close_session_req_norsp.

msg->info.type will be A_IPC_MSG_IPC_CLOSE_SESSION_REQ_NORSP.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize

◆ a_ipc_init_ipc_debug_command_req_norsp()

A_IPC_RESULT a_ipc_init_ipc_debug_command_req_norsp ( a_ipc_msg msg)

Initialize the message buffer to contain a_ipc_msg_ipc_debug_command_req_norsp.

msg->info.type will be A_IPC_MSG_IPC_DEBUG_COMMAND_REQ_NORSP.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize

◆ a_ipc_init_ipc_open_session_req()

A_IPC_RESULT a_ipc_init_ipc_open_session_req ( a_ipc_msg msg)

Initialize the message buffer to contain a_ipc_msg_ipc_open_session_req.

msg->info.type will be A_IPC_MSG_IPC_OPEN_SESSION_REQ.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize

◆ a_ipc_init_ipc_open_session_rsp()

A_IPC_RESULT a_ipc_init_ipc_open_session_rsp ( a_ipc_msg msg)

Initialize the message buffer to contain a_ipc_msg_ipc_open_session_rsp.

msg->info.type will be A_IPC_MSG_IPC_OPEN_SESSION_RSP.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize

◆ a_ipc_init_ipc_send_error_ind()

A_IPC_RESULT a_ipc_init_ipc_send_error_ind ( a_ipc_msg msg)

Initialize the message buffer to contain a_ipc_msg_ipc_send_error_ind.

msg->info.type will be A_IPC_MSG_IPC_SEND_ERROR_IND.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize

◆ a_ipc_init_ipc_session_closed_ind()

A_IPC_RESULT a_ipc_init_ipc_session_closed_ind ( a_ipc_msg msg)

Initialize the message buffer to contain a_ipc_msg_ipc_session_closed_ind.

msg->info.type will be A_IPC_MSG_IPC_SESSION_CLOSED_IND.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize

◆ a_ipc_init_ipc_session_opened_ind()

A_IPC_RESULT a_ipc_init_ipc_session_opened_ind ( a_ipc_msg msg)

Initialize the message buffer to contain a_ipc_msg_ipc_session_opened_ind.

msg->info.type will be A_IPC_MSG_IPC_SESSION_OPENED_IND.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize

Variable Documentation

◆ command

a_ipc_enum_ipc_debug_command a_ipc_msg_ipc_debug_command_req_norsp::command

Command to send to other side.

◆ msg_type

int32_t a_ipc_msg_ipc_send_error_ind::msg_type

Type ID of the sent message.

◆ reason [1/2]

a_ipc_enum_ipc_send_error_reason a_ipc_msg_ipc_send_error_ind::reason

Reason why the message could not be delivered.

◆ reason [2/2]

a_ipc_enum_ipc_session_closed_reason a_ipc_msg_ipc_session_closed_ind::reason

Reason why the session was closed.

◆ result

a_ipc_enum_ipc_open_session_result a_ipc_msg_ipc_open_session_rsp::result

The result of trying to open the session.