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