rmvq(D3) rmvq(D3)
NAME
rmvq - remove a message from a queue
SYNOPSIS
#include <sys/stream.h>
#include <sys/ddi.h>
void rmvq(queue_t *q, mblk_t *mp);
Arguments
q Pointer to the queue containing the message to be
removed.
mp Pointer to the message to remove.
DESCRIPTION
rmvq removes the message specified by mp from the queue
specified by q.
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(D3) should be
used to remove a message from a queue.
Level
Base or Interrupt.
Synchronization Constraints
Does not sleep.
Driver-defined basic locks, read/write locks, and sleep locks
may be held across calls to this function.
The caller must have the stream frozen [see freezestr(D3)]
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.
Examples
See insq(D3) for an example of rmvq.
Copyright 1994 Novell, Inc. Page 1
rmvq(D3) rmvq(D3)
REFERENCES
freezestr(D3), getq(D3), insq(D3), unfreezestr(D3)
NOTICES
Portability
All processors
Applicability
ddi: 1, 2, 3, 4, 5, 5mp, 6, 6mp, 7, 7mp
Copyright 1994 Novell, Inc. Page 2