MBX_$PUT_REC_COND Domain/OS MBX_$PUT_REC_COND
NAME
mbx_$put_rec_cond - send a message without waiting
SYNOPSIS (C)
#include <apollo/base.h>
#include <apollo/mbx.h>
void mbx_$put_rec_cond(
void *&mbx_handle,
void *&buffer_pointer,
long &buffer_length,
status_$t *status)
SYNOPSIS (Pascal)
%include '/sys/ins/base.ins.pas';
%include '/sys/ins/mbx.ins.pas';
procedure mbx_$put_rec_cond(
in mbx_handle: univ_ptr;
in buffer_pointer: univ_ptr;
in buffer_length: integer32;
out status: status_$t);
SYNOPSIS (FORTRAN)
%include '/sys/ins/base.ins.ftn'
%include '/sys/ins/mbx.ins.ftn'
integer*4 mbx_handle, buffer_length, status
integer*4 buffer_pointer
character buffer*32760
pointer /buffer_pointer/ buffer
call mbx_$put_rec_cond(mbx_handle, buffer_pointer, buffer_length, status)
DESCRIPTION
Mbx_$put_rec_cond sends a message to the mailbox on mbx_handle. If there
is no room for the message, mbx_$put_rec_cond returns immediately with a
completion status of mbx_$no_room_in_channel.
mbx_handle
A mailbox handle.
buffer_pointer
A pointer to a buffer containing data to be sent in the partial mes-
sage.
buffer_length
The number of bytes to send from the buffer at buffer_pointer.
Buffer_length must be less than mbx_$rec_data_max when
mbx_$put_rec_cond is called by a client, and less than
mbx_$rec_msg_max when mbx_$put_rec is called by a server.
status
The completion status.
NOTE
If a server receives a failing status from mbx_$put_rec or
mbx_$put_rec_cond, it must call mbx_$deallocate for the channel associ-
ated with the failed put. If this call is not performed, the server
channel may become unusable; if the operation continues to fail, the
server will run out of channels.