removes the oldest message with the highest priority from
the message queue referred to by the descriptor
and places it in the buffer pointed to by
argument specifies the size of the buffer pointed to by
this must be greater than the
attribute of the queue (see
is not NULL, then the buffer to which it points is used
to return the priority associated with the received message.
If the queue is empty, then, by default,
blocks until a message becomes available,
or the call is interrupted by a signal handler.
flag is enabled for the message queue description,
then the call instead fails immediately with the error
behaves just like
except that if the queue is empty and the
flag is not enabled for the message queue description, then
points to a structure which specifies a ceiling on the time for which
the call will block.
This ceiling is an absolute timeout in seconds and nanoseconds
since the Epoch, 1970-01-01 00:00:00 +0000 (UTC), and it is
specified in the following structure: