ABCDEFGHIJKLMNOPQRSTUVWXYZ

insque

INSQUE(3)                  Linux Programmer's Manual                 INSQUE(3)



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