RTEMS Logo

RTEMS 4.6.0 On-Line Library


Message Buffer Manager rcv_mbf - Receive Message from Message Buffer

PREV UP NEXT Bookshelf RTEMS ITRON 3.0 API User's Guide

6.4.6: rcv_mbf - Receive Message from Message Buffer

CALLING SEQUENCE:

ER rcv_mbf(
  VP msg,
  INT *p_msgsz,
  ID mbfid
);

STATUS CODES:

E_OK - Normal Completion

E_ID - Invalid ID number (mbfid was invalid or could not be used)

E_NOEXS - Object does not exist (the message buffer specified by mbfid does not exist)

E_OACV - Object access violation (A mbfid less than -4 was specified from a user task. This is implementation dependent.)

E_PAR - Parameter error (values unsuitable for msg; tmout is -2 or less)

E_DLT - The object being waited for was deleted (the specified message buffer was deleted while waiting)

E_RLWAI - WAIT state was forcibly released (rel_wai was received while waiting)

E_CTX - Context error (issued from task-independent portions or a task in dispatch disabled state)

EN_OBJNO - An object number which could not be accessed on the target node is specified.

EN_PAR - A value outside the range supported by the target node and/or transmission packet format was specified as a parameter (a value outside supported range was specified for tmout)

EN_RPAR - A value outside the range supported by the issuing node and/or transmission packet format was returned as a return parameter (msgsz is outside supported range for requesting node)

DESCRIPTION:

Rcv_mbf receives the message from the message buffer specified by mbfid, and stores it at the memory location given by msg. In other words, the content of the message at the head of the message buffer specified by mbfid is copied into an area which begins from msg and whose size is msgsz.

If the message buffer is empty, the task issuing this system call will wait on a receive message wait queue until a message arrives.

NOTES:

Multiprocessing is not supported. Thus none of the "EN_" status codes will be returned.


PREV UP NEXT Bookshelf RTEMS ITRON 3.0 API User's Guide

Copyright © 1988-2004 OAR Corporation