Computer Science
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 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 October 30, 1996 1
Back to the index