MSGQ Module
2-230
MSGQ_Attrs MSGQ_ATTRS = {
NULL, /* notifyHandle */
(MSGQ_Pend)SYS_zero, /* NOP pend */
FXN_F_nop /* NOP post */
};
/* Attributes for message queue location */
typedef struct MSGQ_LocateAttrs {
Uns timeout;
} MSGQ_LocateAttrs;
MSGQ_LocateAttrs MSGQ_LOCATEATTRS = {SYS_FOREVER};
/* Attrs for asynchronous message queue location */
typedef struct MSGQ_LocateAsyncAttrs {
Uint16 poolId;
Arg arg;
} MSGQ_LocateAttrs;
MSGQ_LocateAsyncAttrs MSGQ_LOCATEASYNCATTRS = {0, 0};
/* Configuration structure */
typedef struct MSGQ_Config {
MSGQ_Obj *msgqQueues; /* Array of MSGQ handles */
MSGQ_TransportObj *transports; /* Transport array */
Uint16 numMsgqQueues; /* Number of MSGQ handles */
Uint16 numProcessors; /* Number of processors */
Uint16 startUninitialized; /* 1st MSGQ to init */
MSGQ_Queue errorQueue; /* Receives transport err */
Uint16 errorPoolId; /* Alloc errors from poolId */
} MSGQ_Config;
/* Asynchronous locate message */
typedef struct MSGQ_AsyncLocateMsg {
MSGQ_MsgHeader header;
MSGQ_Queue msgqQueue;
Arg arg;
} MSGQ_AsyncLocateMsg;
/* Asynchronous error message */
typedef struct MSGQ_AsyncErrorMsg {
MSGQ_MsgHeader header;
MSGQ_MqtError errorType;
Uint16 mqtId;
Uint16 parameter;
} MSGQ_AsyncErrorMsg;