RTEMS Logo

RTEMS 4.7.99.2 On-Line Library


Message Buffer Manager trcv_mbf - Receive Message from Message Buffer with Timeout

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

6.4.8: trcv_mbf - Receive Message from Message Buffer with Timeout

CALLING SEQUENCE:

ER ercd =trcv_mbf(
  VP msg,
  INT *p_msgsz,
  ID mbfid,
  TMO tmout
);

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_TMOUT - Polling failure or timeout

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:

The trcv_mbf system call has the same function as rcv_mbf with an additional timeout feature. A maximum wait time (timeout value) can be specified using the parameter tmout. When a timeout is specified, a timeout error, E_TMOUT, will result and the system call will finish if the period specified by tmout elapses without conditions for releasing wait being satisfied (i.e. without a message arriving).

Only positive values can be specified for tmout. Specifying TMO_POL = 0 to trcv_mbf for tmout indicates that a timeout value of 0 be used, resulting in exactly the same processing as prcv_mbf. Specifying TMO_FEVR = -1 to trcv_mbf for tmout indicates that an infinite timeout value be used, resulting in exactly the same processing as rcv_mbf.

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