insque

NAME

insque, remque - insert/remove an item from a queue

SYNOPSIS

#include <search.h>
 I void insque(void * elem , void * prev );
I void remque(void * elem );

DESCRIPTION

R insque () and R remque () are functions for manipulating doubly-linked lists. Each element in the list is a structure of which the first two structure elements are a forward and a backward pointer. R insque () inserts the element pointed to by elem immediately after the element pointed to by prev, which must not be NULL. R remque () removes the element pointed to by elem from the doubly-linked list.

CONFORMING TO

POSIX.1-2001

NOTES

Traditionally (e.g., SunOS, Linux libc 4,5) the parameters of these functions were of type struct qelem *, where the struct is defined as
struct qelem {
    struct    qelem *q_forw;
    struct    qelem *q_back;
    char      q_data[1];
};
This is still what you will get if _GNU_SOURCE is defined before including <search.h>. The location of the prototypes for these functions differs among several versions of UNIX. The above is the POSIX version. Some systems place them in <string.h>. Linux libc4,5 placed them in <stdlib.h>.