The <sys/queue.h> header file provides a set of macros that define and operate on the following data structures:
- singly linked lists (SLIST)
- doubly linked lists (LIST)
- singly linked tail queues (STAILQ)
- doubly linked tail queues (TAILQ)
- doubly linked circular queues (CIRCLEQ)
All structures support the following functionality:
- Insertion of a new entry at the head of the list.
- Insertion of a new entry after any element in the list.
- O(1) removal of an entry from the head of the list.
- Forward traversal through the list.
Code size and execution time depend on the complexity of the data structure being used, so programmers should take care to choose the appropriate one.
Not in POSIX.1, POSIX.1-2001 or POSIX.1-2008. Present on the BSDs. <sys/queue.h> macros first appeared in 4.4BSD.
circleq(3), insque(3), list(3), slist(3), stailq(3), tailq(3)
This page is part of release 5.10 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
circleq(3), insque(3), pobj_list_head(3), rc_find_pids(3), rc_stringlist(3), slist(3), stailq(3), tailq(3).
The man page queue(3) is an alias of queue(7).