RTEMS Logo

RTEMS 4.6.5 On-Line Library


Message Buffer Manager tsnd_mbf - Send Message to Message Buffer with Timeout

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

6.4.5: tsnd_mbf - Send Message to Message Buffer with Timeout

CALLING SEQUENCE:

ER ercd =tsnd_mbf(
  ID mbfid,
  VP msg,
  INT msgsz,
  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 (msgsz is 0 or less; msgsz is larger than maxmsz; values unsuitable for msg; tmout is -2 or less)

E_DLT - The object being waited for was deleted (the message buffer of interest 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; implementation dependent for psnd_mbf and tsnd_mbf(tmout=TMO_POL))

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

EN_CTXID - Specified an object on another node when the system call was issued from a task in dispatch disabled state or from a task-independent portion (implementation-dependent; applicable to psnd_mbf and tsnd_mbf (tmout=TMO_POL) only)

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 msgsz and/or tmout)

DESCRIPTION:

The tsnd_mbf system call has the same function as snd_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 sufficient buffer space becoming available).

Only positive values can be specified for tmout. Specifying TMO_POL = 0 to tsnd_mbf for tmout indicates that a timeout value of 0 be used, resulting in exactly the same processing as psnd_mbf. Specifying TMO_FEVR = -1 to tsnd_mbf for tmout indicates that an infinite timeout value be used, resulting in exactly the same processing as snd_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