DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
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