Manual Pages


ck_queue(3)              BSD Library Functions Manual              ck_queue(3)

NAME
     CK_LIST_EMPTY, CK_LIST_ENTRY, CK_LIST_FIRST, CK_LIST_FOREACH,
     CK_LIST_FOREACH_SAFE, CK_LIST_HEAD, CK_LIST_HEAD_INITIALIZER,
     CK_LIST_INIT, CK_LIST_INSERT_AFTER, CK_LIST_INSERT_BEFORE,
     CK_LIST_INSERT_HEAD, CK_LIST_MOVE, CK_LIST_NEXT, CK_LIST_REMOVE,
     CK_LIST_SWAP, CK_SLIST_EMPTY, CK_SLIST_ENTRY, CK_SLIST_FIRST,
     CK_SLIST_FOREACH, CK_SLIST_FOREACH_PREVPTR, CK_SLIST_FOREACH_SAFE,
     CK_SLIST_HEAD, CK_SLIST_HEAD_INITIALIZER, CK_SLIST_INIT,
     CK_SLIST_INSERT_AFTER, CK_SLIST_INSERT_HEAD, CK_SLIST_MOVE,
     CK_SLIST_NEXT, CK_SLIST_REMOVE, CK_SLIST_REMOVE_AFTER,
     CK_SLIST_REMOVE_HEAD, CK_SLIST_SWAP, CK_STAILQ_CONCAT, CK_STAILQ_EMPTY,
     CK_STAILQ_ENTRY, CK_STAILQ_FIRST, CK_STAILQ_FOREACH,
     CK_STAILQ_FOREACH_SAFE, CK_STAILQ_HEAD, CK_STAILQ_HEAD_INITIALIZER,
     CK_STAILQ_INIT, CK_STAILQ_INSERT_AFTER, CK_STAILQ_INSERT_HEAD,
     CK_STAILQ_INSERT_TAIL, CK_STAILQ_MOVE, CK_STAILQ_NEXT, CK_STAILQ_REMOVE,
     CK_STAILQ_REMOVE_AFTER, CK_STAILQ_REMOVE_HEAD, CK_STAILQ_SWAP -- multi-
     reader single-writer singly-linked lists, singly-linked tail queues and
     lists

LIBRARY
     Concurrency Kit (libck, -lck)

SYNOPSIS
     #include <ck_queue.h>

     CK_LIST_EMPTY();

     CK_LIST_ENTRY();

     CK_LIST_FIRST();

     CK_LIST_FOREACH();

     CK_LIST_FOREACH_SAFE();

     CK_LIST_HEAD();

     CK_LIST_HEAD_INITIALIZER();

     CK_LIST_INIT();

     CK_LIST_INSERT_AFTER();

     CK_LIST_INSERT_BEFORE();

     CK_LIST_INSERT_HEAD();

     CK_LIST_MOVE();

     CK_LIST_NEXT();

     CK_LIST_REMOVE();

     CK_LIST_SWAP();

     CK_SLIST_EMPTY();

     CK_SLIST_ENTRY();

     CK_SLIST_FIRST();

     CK_SLIST_FOREACH();

     CK_SLIST_FOREACH_PREVPTR();

     CK_SLIST_FOREACH_SAFE();

     CK_SLIST_HEAD();

     CK_SLIST_HEAD_INITIALIZER();

     CK_SLIST_INIT();

     CK_SLIST_INSERT_AFTER();

     CK_SLIST_INSERT_HEAD();

     CK_SLIST_MOVE();

     CK_SLIST_NEXT();

     CK_SLIST_REMOVE();

     CK_SLIST_REMOVE_AFTER();

     CK_SLIST_REMOVE_HEAD();

     CK_SLIST_SWAP();

     CK_STAILQ_CONCAT();

     CK_STAILQ_EMPTY();

     CK_STAILQ_ENTRY();

     CK_STAILQ_FIRST();

     CK_STAILQ_FOREACH();

     CK_STAILQ_FOREACH_SAFE();

     CK_STAILQ_HEAD();

     CK_STAILQ_HEAD_INITIALIZER();

     CK_STAILQ_INIT();

     CK_STAILQ_INSERT_AFTER();

     CK_STAILQ_INSERT_HEAD();

     CK_STAILQ_INSERT_TAIL();

     CK_STAILQ_MOVE();

     CK_STAILQ_NEXT();

     CK_STAILQ_REMOVE();

     CK_STAILQ_REMOVE_AFTER();

     CK_STAILQ_REMOVE_HEAD();

     CK_STAILQ_SWAP();

DESCRIPTION
     See your system's manual page for queue for additional information.
     ck_queue is a queue.h-compatible implementation of many-reader-single-
     writer queues. It allows for safe concurrent iteration, peeking and read-
     side access in the presence of a single concurrent writer without any
     usage of locks. In many cases, adoption of ck_queue will simply require
     prefixing all queue operations with CK_.

SEE ALSO
     queue

     Additional information available at http://concurrencykit.org/

                                July 28, 2013.