insque, remque - General: Add or remove an element from
the queue
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 );
Specifies the address of the queue header that contains
the element to be manipulated. Specifies the address of
the queue header that contains the element to precede the
one specified by elem in the queue.
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.
None
Routines: spl(9r)
insque(9r)
[ Back ] |