23 #ifndef POSIX_MSG_QUEUE_H
24 #define POSIX_MSG_QUEUE_H
36 #define MQ_PERMISSIONS 0660
41 #define MQ_MAX_MESSAGES 10
46 #define MQ_MAX_MSG_SIZE 2048
51 #define MQ_MSG_BUFFER_SIZE (MQ_MAX_MSG_SIZE + 32)
56 #define MSG_PRIO_DEFAULT 10
63 typedef enum NvPSFMsgQueEndpointType_t {
75 typedef enum NvPSFMsgQueBlockingMode_t {
84 typedef enum NvPSFMsgQueErr_t {
93 typedef union NvPSFMsgQueRetCode_t {
106 typedef struct NvPSFMsgQueStatus_t {
NvPSFMsgQueStatus NvPSFMsgQueCreate(const char *name, const NvPSFMsgQueEndpointType endpointType, const NvPSFMsgQueBlockingMode blockingMode)
Create a message queue.
NvPSFMsgQueStatus NvPSFMsgQueReceive(mqd_t mqdes, char *buffer, size_t bufferLen, unsigned int *priority)
Receive a message from the message queue.
NvPSFMsgQueStatus NvPSFMsgQueClose(mqd_t mqdes)
Close a message queue.
NvPSFMsgQueStatus NvPSFMsgQueUnlink(const char *name)
Unlink (delete) a message queue.
NvPSFMsgQueBlockingMode
Definition: posix_msg_que.h:75
@ NON_BLOCKING
Definition: posix_msg_que.h:77
@ BLOCKING
Definition: posix_msg_que.h:76
NvPSFMsgQueStatus NvPSFMsgQueSend(mqd_t mqdes, const char *msg, size_t msgLen, unsigned int priority)
Send a message over the message queue.
NvPSFMsgQueErr
Definition: posix_msg_que.h:84
@ NvPSFMSGQ_FAIL
Definition: posix_msg_que.h:86
@ NvPSFMSGQ_SUCCESS
Definition: posix_msg_que.h:85
NvPSFMsgQueEndpointType
Definition: posix_msg_que.h:63
@ MSG_QUE_SENDER
Definition: posix_msg_que.h:65
@ MSG_QUE_RECEIVER
Definition: posix_msg_que.h:64
@ MSG_QUE_BIDIRECTIONAL
Definition: posix_msg_que.h:66
Definition: posix_msg_que.h:106
NvPSFMsgQueRetCode retCode
Definition: posix_msg_que.h:108
NvPSFMsgQueErr err
Definition: posix_msg_que.h:107
Definition: posix_msg_que.h:93
int recvd_bytes
Definition: posix_msg_que.h:96
int errCode
Definition: posix_msg_que.h:95
int mqd
Definition: posix_msg_que.h:94