INSQUE(3) | Library Functions Manual | INSQUE(3) |
insque
, remque
— insert/remove element from a queue
#include
<search.h>
void
insque
(void
*elem, void
*pred);
void
remque
(void
*elem);
insque
() and
remque
() manipulate queues built from doubly linked
lists. The queue can be either circular or linear. Each element in the queue
must be of the following form:
struct qelem { struct qelem *q_forw; struct qelem *q_back; char q_data[]; };
The first two elements in the struct must be pointers of the same type that point to the previous and next elements in the queue respectively. Any subsequent data in the struct is application-dependent.
The insque
() function inserts
elem into a queue immediately after
pred.
The remque
() function removes
elem from the queue.
These functions are not atomic unless that machine architecture allows it.
The insque
() and
remque
() functions conform to the X/Open System
Interfaces option of the IEEE Std 1003.1-2008
(“POSIX.1”) specification.
The insque
() and
remque
() functions are derived from the
insque
and remque
instructions on the VAX. They first appeared in
4.2BSD.
November 30, 2014 | OpenBSD-current |