SVR5 and SCO OpenServer 5
rmvq(D3str)
rmvq --
remove a message from a queue
Synopsis
#include <sys/stream.h>
#include <sys/ddi.h>
void rmvq(queue_t *q, mblk_t *mp);
Description
rmvq removes the message specified by mp
from the queue specified by q.
Arguments
q-
Pointer to the queue containing the message to be removed.
mp-
Pointer to the message to remove.
Return values
None
Usage
A message can be removed from anywhere in a queue.
To prevent modules and drivers from having to deal with the
internals of message linkage on a queue, either rmvq or
getq(D3str)
should be used to remove a message from a queue.
Context
Base or Interrupt.
Synchronization constraints
Does not block.
Driver-defined basic locks, read/write locks, and sleep locks
may be held across calls to this function.
For DDI drivers,
the caller must have the stream frozen
(see
freezestr(D3str))
when calling this function.
Warnings
mp must point to an existing message
in the queue pointed to by q, or a
system panic will occur.
Hardware applicability
All
Version applicability
ddi:
1, 2, 3, 4, 5, 5mp, 6, 6mp, 7, 7mp, 7.1, 7.1mp, 8, 8mp
oddi:
1, 2, 2mp, 3, 3mp, 4, 4mp, 5, 5mp, 6, 6mp
References
freezestr(D3str),
getq(D3str),
insq(D3str),
unfreezestr(D3str)
Examples
See
insq(D3str)
for an example of rmvq.
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005