NAME
msg_rpc - hybrid call of message send and message receive

SYNOPSIS
#include <sys/message.h>
#include <sys/port.h>

msg_return_t msg_rpc(header, option, rcv_size, send_timeout, rcv_timeout)
msg_header_t *header; /* in/out */
msg_option_t option;
msg_size_t rcv_size;
msg_timeout_t send_timeout;
msg_timeout_t rcv_timeout;

ARGUMENTS
header Address of a message buffer which will be used for
both msg_send and msg_receive. This buffer contains
a message header followed by the data for the
message to be sent. The msg_remote_port field
specifies the port to which the message is to be
sent. The msg_local_port field specifies the port
on which a message is then to be received; if this
port is the special value PORT_DEFAULT, it will be
replaced by the value PORT_NULL for the purposes of
the msg_send operation.

option A union of the option parameters for the component
operations (see msg_send and msg_receive).

rcv_size The maximum size allowed for the received message;
this must be less than or equal to the size of the
message buffer. The msg_size field in the header
specifies the size of the message to be sent.

send_timeout;rcv_timeout
The timeout values to be applied to the component
operations. These are only used if the options
SEND_TIMEOUT and/or RCV_TIMEOUT are specified.

DESCRIPTION
msg_rpc is a hybrid call which performs a msg_send followed by a
msg_receive, using the same message buffer.

DIAGNOSTICS
RPC_SUCCESS Message was successfully sent and a reply was
received.

FAILURES Are the same as those for msg_send and msg_receive;
any error during the msg_send portion will terminate
the call.

FILES
/usr/include/sys/message.h
/usr/include/sys/port.h
/usr/include/sys/notify.h

SEE ALSO
msg_receive(2), msg_send(2)