Index Index for
Section 9r
Index Alphabetical
listing for I
Bottom of page Bottom of
page

insque(9r)

NAME

insque, remque - General: Add or remove an element from the queue

SYNOPSIS

struct generic_qheader { struct generic_qheader *q_forw; struct generic_qheader *q_back; }; int insque( struct generic_qheader *elem, struct generic_qheader *pred ); int remque( struct generic_qheader *elem );

ARGUMENTS

elem Specifies the address of the queue header that contains the element to be manipulated. pred Specifies the address of the queue header that contains the element to precede the one specified by elem in the queue.

DESCRIPTION

The insque routine adds the element that the elem argument specifies to the queue. The routine inserts elem in the next position after pred in the queue. The remque routine removes the element that the elem argument specifies from the queue it is currently in. Queues are built from doubly linked lists. Each element is linked into the queue through a queue header. All queue headers are of the generic form struct generic_qheader. A given element may have multiple queue headers. This allows each element to be simultaneously linked onto multiple queues. Any driver routine that manipulates these queues must call an appropriate spl routine to ensure that the spl level is high enough to block out any interrupts for other kernel modules that may access these queues.

RETURN VALUES

None

SEE ALSO

Routines: spl(9r)

Index Index for
Section 9r
Index Alphabetical
listing for I
Top of page Top of
page