...
OS_MSG_Qs
are used inside two additional data structures: OS_Q
and OS_TCB
. Recall that an OS_Q
is declared when creating a message queue object. An OS_TCB
is a task control block and, as previously mentioned, each OS_TCB
can have its own message queue when the configuration constant OS_CFG_TASK_Q_EN
is set to 1 DEF_ENABLED
in os_cfg.h
. The figure below shows the contents of an OS_Q
and partial contents of an OS_TCB
containing an OS_MSG_Q
. The OS_MSG_Q
data structure is shown as an “exploded view” to emphasize the structure within the structure.