Provided by: manpages-pt-dev_20040726-5_all bug

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 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.

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                                             October 30, 1996                                       INSQUE(3)