insque, remque - insert/remove element from a queue
#include <search.h>
void
insque(void *elem, void *pred);
void
remque(void *elem);
These interfaces have been superceded by the queue(3) macros
and are pro-
vided for compatibility with legacy code.
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.
queue(3)
The lsearch() and lfind() functions conform to the IEEE Std
1003.1-2001
(``POSIX'') and X/Open Portability Guide Issue 4.3
(``XPG4.3''). specifications.
The insque() and remque() functions are derived from the insque and
remque instructions on a VAX.
OpenBSD 3.6 August 12, 1993
[ Back ] |