NAME | SYNOPSIS | FEATURES | API RESTRICTIONS | DESCRIPTION | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO
#include <mipc/chMipc.h>int msgPut(int spaceLid, unsigned int msgQueueId, char *msg, unsigned int prio);
MIPC
The function or functions documented here may not be used safely in all application contexts with all APIs provided in the ChorusOS 5.0 product.
See API(5FEA) for details.
msgPut sends a message to the message queue of index msgQueueId in the message space identified by spaceLid.
msg is the address within the addressing space of the caller of a message which was previously allocated (by msgAllocate(2K)) from the same message space, or which has been retrieved (by msgGet(2K)) from a message queue of the same message space.
prio is the priority of the message. Its value must fall between 0 (the lowest priority) and the specific K_MSG_PRIOMAX constant which is the highest priority. If prio is greater than K_MSG_PRIOMAX, it is silently dropped to K_MSG_PRIOMAX.
If a thread is blocked waiting for a message to arrive, it is awakened, and the message is immediately given to it. Otherwise, the message is inserted in the message queue according to its priority.
Upon successful completion, msgPut returns 0. Otherwise, a negative error code is returned.
spaceLid is not valid.
msgQueueId is not a valid message queue.
msg is not a valid message address, or the corresponding message resource is not in the allocated state.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | FEATURES | API RESTRICTIONS | DESCRIPTION | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO