The dprecv man page
NAME
dprecv - receive synchronous DP messages
SYNOPSIS
#include
int dprecv(src, data, limit, flags)
DPID *src;
char *data;
int limit;
int flags;
DESCRIPTION
To receive a synchronously sent message from any other DP
process, dprecv() is used. Up to limit bytes of data will be
retrieved from the first message on the incoming message
queue and placed in data. The sender's dpid (described in
the man pages for dpgetpid(3DP)) is placed in src.
DP supports two types of messages: synchronous and asynchro-
nous. The former are also called non-interrupting messages
and are queued upon their arrival at the destination and
must be retrieved explicitly using dprecv().
Asynchronous messages, also termed interrupting messages,
will interrupt their target process upon arrival and are
returned to the application process via the dpgetmsg() call.
The parameter flags tells DP whether the process should
block if no messages are available at the queue. If it is
DPBLOCK, the process will wait on a message. If it is set to
DPNOBLOCK, dprecv() will return with an error code indicat-
ing there is nothing to retrieve.
Care should be taken when transmitting data between machines
that have different byte-ordering schemes (i.e., big-endian
or little-endian). DP does not perform any conversion on
the user data it sends and receives, so the user is respon-
sible for making any necessary conversions. Examples of
big-endian systems are most UNIX workstations (including Sun
SPARCs and IBM RS/6000s), Motorola 68k series, and the KSR
supercomputer. Examples of little-endian systems are Intel
80x86s and DEC workstations.
RETURN VALUES
Upon success, dprecv() returns 0. Otherwise a negative
integer is returned indicating one of the following errors:
DPFAIL General DP failure
DPNOMESSAGE The message queue is empty
REMARK
This is a DP function call.
AUTHOR
David Arnow
FILES
/usr/include/dp/dp.h - DP header file
/usr/lib/libdp.a - DP library file
SEE ALSO
dpgetmsg(3DP), dpsend(3DP), dpwrite(3DP), dpgetpid(3DP)
Essential DP MAN Pages:
General/Essential:
Non-Interrupting Messages:
Interrupting Messages:
dpblock
dpcatchmsg
dpgetmsg
dppause
dpunblock
Other:
Return to
DP For Students
Return to
The DP Project
Return to
David Arnow's Home Page