Message Queues
Input/Output Methods 6-19
Internally, MSGQ references its configuration via the MSGQ_config variable.
If the MSGQ module is enabled (via the .tcf configuration file) but the
application does not provide the MSGQ_config variable, the application
cannot be linked successfully.
In the MSGQ_Config structure, and array of MSGQ_TransportObj items
defines transport objects with the following structure:
typedef struct MSGQ_TransportObj {
MSGQ_MqtInit initFxn; /* Transport init func */
MSGQ_TransportFxns *fxns; /* Interface funcs */
Ptr params; /* Setup parameters */
Ptr object; /* Transport-specific object */
Uint16 procId; /* Processor Id talked to */
} MSGQ_TransportObj;
The following table describes the fields in the MSGQ_TransportObj structure:
transports MSGQ_TransportObj * Array of transport objects. The fields of each object must be
initialized.
numMsgqQueues Uint16 Length of the msgqQueues array.
numProcessors Uint16 Length of the transports array.
startUninitialized Uint16 Index of the first message queue to initialize in the msgq-
Queue array. This should be set to 0.
errorQueue MSGQ_Queue Message queue to receive transport errors. Initialize to
MSGQ_INVALIDMSGQ.
errorPoolId Uint16 Allocator to allocate transport errors. Initialize to
POOL_INVALIDID.
Field Type Description
initFxn MSGQ_MqtInit Initialization function for this transport. This function is called during
DSP/BIOS startup. More explicitly it is called before main().
fxns MSGQ_TransportFxns * Pointer to the transport's interface functions.
params Ptr Pointer to the transport's parameters. This field is transport-specific.
Please see documentation provided with your transport for a
description of this field.
Field Type Description