Provided by: manpages-pt-dev_20040726-4_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 *.