msgrcv function
Retrieve a message from the queue.
Declaration
function msgrcv(msqid: cint; msgp: PMSGbuf; msgsz: size_t;
msgtyp: clong; msgflg: cint): cintDescription
msgrcv retrieves a message of type
msgtyp from the message
queue with ID
msqid.
msgtyp corresponds to the
mtype
field of the
TMSGbuf record. The message is stored in the
MSGbuf
structure pointed to by
msgp.
The msgflg parameter can be used to control the behaviour of the
msgrcv call. It consists of an ORed combination of the following
flags:
- 0
- No special meaning.
- IPC_NOWAIT
- if no messages are available, then the call returns
immediately, with the
ENOMSGerror. - MSG_NOERROR
- If the message size is wrong (too large), no error is generated, instead the message is truncated. Normally, in such cases, the call returns an error (E2BIG)
The function returns True if the message was received correctly,
False otherwise.
For an example, see msgctl.
Errors
In case of error,
False is returned, and
IPCerror is set.
See also
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
