The T_RMBF structure is filled in by the ref_mbf routine with
status and state information of the message buffer. The structure is
defined as follows:
typedef struct t_rmbf {
VP exinf; /* extended information */
BOOL_ID wtsk; /* waiting task information */
BOOL_ID stsk; /* sending task information */
INT msgsz; /* message size (in bytes) */
INT frbufsz; /* free buffer size (in bytes) */
/* (CPU and/or implementation-dependent information is returned) */
} T_RMBF;
exinf
is for any extended information that the implementation may define.
This implementation does not use this field.
wtsk
is TRUE when there is one or more tasks waiting on this message buffer
to send message. It is FALSE when there is no waiting task. The meaning
of this field is allowed to vary between ITRON implementations. It may
have the ID of a waiting task, the number of tasks waiting, or a boolean
indication that one or more tasks are waiting.
stsk
is TRUE when there is one or more tasks waiting on this message buffer
to receive message. It is FALSE when there is no waiting task. The meaning
of this field is allowed to vary between ITRON implementations. It may
have the ID of a waiting task, the number of tasks waiting, or a boolean
indication that one or more tasks are waiting.
msgsz
is the size of the message that is at the head of the message buffer. If
there is no message on the message queue, msgsz will be returned
as FALSE = 0.
frbufsz
is the amount of free memory in the message buffer.