INSQUE(E) Linux Programmer's Manual INSQUE(E) NAME insque, remque - insert/remove an item from a queue SYNOPSIS #include <stdlib.h> void insque(struct qelem *elem, struct qelem *prev); void remque(struct qelem *elem); DESCRIPTION insque() and remque() are functions for manipulating queues made from doubly-linked lists. Each element in this list is of type struct qelem The qelem structure is defined as struct qelem { struct qelem *q_forw; struct qelem *q_back; char q_data[1]; }; insque() inserts the element pointed to by elem immedi- ately 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. CONFORMING TO SVR4 BUGS The q_data field is sometimes defined to be type char *, and under solaris 2.x, it doesn't appear to exist at all. The location of the prototypes for these functions differ among several versions of UNIX. Some systems place them in <search.h>, others in <string.h>. Linux places them in <stdlib.h> since that seems to make the most sense. Some versions of UNIX (like HP-UX 10.x) do not define a struct qelem but rather have the arguments to insque() and remque() be of type void *. GNU 1996-10-30 INSQUE(E)