Initial public release.

This commit is contained in:
Joe Kearney 2025-02-01 19:22:12 -06:00
parent 7b169e8116
commit dac4af8d25
255 changed files with 68595 additions and 2 deletions

View file

@ -0,0 +1,49 @@
/** \file
* \brief This file contains definitions and prototypes for messaging using inter-processor
* communication (IPC).
*/
#ifndef COMM_IPC_MESSAGES_H
#define COMM_IPC_MESSAGES_H
#ifdef __cplusplus
extern "C" {
#endif
/* Include Files */
/* Preprocessor and Type Definitions */
typedef enum
{
//! This is not an actual message. Upon receipt, do nothing.
COMM_SMM_DefaultNoMessage = 0,
//! Reboot the system immediately upon receipt of this message (Data is "don't care").
COMM_SMM_RebootImmediately,
//! This is not an actual message. Upon receipt, do nothing.
COMM_SMM_NoMessage = 0xFFFFFFFF,
} COMM_IPCMessageID_T;
typedef struct
{
//! The client ID number is the index into the callback array.
uint32_t ClientID;
//! The message ID represents the meaning of the message being sent.
COMM_IPCMessageID_T MessageID;
//! The contents of Data are different for each message ID. See #COMM_IPCMessageID_T for more details.
void * Data;
} COMM_IPCMessage_T;
/* Public Variables */
/* Public Functions */
void COMM_InitIPCMessages(void);
bool COMM_SendMessageToOtherCore(COMM_IPCMessageID_T message_ID, void * message_data);
#ifdef __cplusplus
}
#endif
#endif // COMM_IPC_MESSAGES_H