LIBRARY

SYNOPSIS

STANDARDS

Interfaces documented on this reference page conform to industry
standards as follows:

insque(), remque(): XPG4-UNIX

Refer to the standards(5) reference page for more information
about industry standards and associated tags.

PARAMETERS

Points to the element in the queue immediately before
the element to be inserted.
Points to the element to be inserted or deleted.

DESCRIPTION

The insque() and remque() functions
manipulate queues built from doubly-linked lists. The queue can be
either circular or linear.

An application using these functions must define a structure in which the
first two members are pointers to the same type of structure and any
further members are application-specific. The first member of the
structure is a forward pointer to the next entry in the queue. The
second member is a backward pointer to the previous entry in the queue.
If the queue is linear, it is terminated with null pointers.

The insque() function inserts the element pointed to by
element into a queue immediately after the element pointed to by
pred.

The remque() function removed the element pointed to by
element from a queue.

When using the queue as a linear list, the forward and backward pointers
of element can be initialized to null pointers by invoking

insque (&element, NULL);

where element is the initial element of the queue.

When using the queue as a circular list, the application must initialize
the forward pointer and the backward pointer of the initial element of
the queue to the element's own address.