insque, remque — insert/remove an item from a queue
#include <search.h>
void
insque( |
void * | elem, |
void * | prev) ; |
void
remque( |
void * | elem) ; |
insque
() and remque
() are functions for manipulating
doubly-linked lists. Each element in the list is a structure
of which the first two structure elements are a forward and a
backward pointer.
insque
() inserts the element
pointed to by elem
immediately after the element pointed to by prev
, which must not be
NULL.
remque
() removes the element
pointed to by elem
from the doubly-linked list.
Traditionally (e.g. SunOS, Linux libc 4,5) the parameters of these functions were of type struct qelem *, where the struct is defined as
struct qelem { }; struct qelem * q_forw
;struct qelem * q_back
;char q_data
[1];
This is still what you will get if _GNU_SOURCE is defined before including <search.h>.
The location of the prototypes for these functions differs among several versions of UNIX. The above is the POSIX version. Some systems place them in <string.h>. Linux libc4,5 placed them in <stdlib.h>.
|