# mbx.c File Reference

## Detailed Description

Mailbox functions.

Author:
  Paolo Mantegazza

Note:
  Copyright (C) 1999-2003 Paolo Mantegazza <mantegazza@aero.polimi.it>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Include dependency graph for mbx.c:

## Functions

int | _rt_mbx_evdrp (MBX *mbx, void *msg, int msg_size, int space)
| Receives bytes as many as possible leaving the message available for another receive.
int | rt_typed_mbx_init (MBX *mbx, int size, int type)
| Initializes a fully typed mailbox queueing tasks according to the specified type.
int | rt_mbx_init (MBX *mbx, int size)
| Initializes a mailbox.
int | rt_mbx_delete (MBX *mbx)
| Deletes a mailbox.
int | _rt_mbx_send (MBX *mbx, void *msg, int msg_size, int space)
| Sends a message unconditionally.
int | _rt_mbx_send_wp (MBX *mbx, void *msg, int msg_size, int space)
| Sends as many bytes as possible without blocking the calling task.
int | _rt_mbx_send_if (MBX *mbx, void *msg, int msg_size, int space)
| Sends a message, only if the whole message can be passed without blocking the calling task.
int | _rt_mbx_send_until (MBX *mbx, void *msg, int msg_size, RTIME time, int space)
| Sends a message with absolute timeout.
int | _rt_mbx_send_timed (MBX *mbx, void *msg, int msg_size, RTIME delay, int space)
| Sends a message with relative timeout.
int | _rt_mbx_receive (MBX *mbx, void *msg, int msg_size, int space)
| Receives a message unconditionally.
int | _rt_mbx_receive_wp (MBX *mbx, void *msg, int msg_size, int space)
| Receives bytes as many as possible, without blocking the calling task.
int | _rt_mbx_receive_if (MBX *mbx, void *msg, int msg_size, int space)
| Receives a message only if the whole message can be passed without blocking the calling task.
int | _rt_mbx_receive_until (MBX *mbx, void *msg, int msg_size, RTIME time, int space)
| Receives a message with absolute timeout.
int | _rt_mbx_receive_timed (MBX *mbx, void *msg, int msg_size, RTIME delay, int space)
| Receives a message with relative timeout.
int | _rt_mbx_ovrwr_send (MBX *mbx, void *msg, int msg_size, int space)
| Sends a message overwriting what already in the buffer if there is no place for the message.
MBX * | _rt_typed_named_mbx_init (unsigned long mbx_name, int size, int qtype)
| Initializes a specifically typed (fifo queued, priority queued or resource queued) mailbox identified by a name.
int | rt_named_mbx_delete (MBX *mbx)
| Deletes a named mailbox.