APR Rings. More...
#include "apr_general.h"
Go to the source code of this file.
Defines | |
#define | APR_RING_ENTRY(elem) |
#define | APR_RING_HEAD(head, elem) |
#define | APR_RING_SENTINEL(hp, elem, link) (struct elem *)((char *)(&(hp)->next) - APR_OFFSETOF(struct elem, link)) |
#define | APR_RING_FIRST(hp) (hp)->next |
#define | APR_RING_LAST(hp) (hp)->prev |
#define | APR_RING_NEXT(ep, link) (ep)->link.next |
#define | APR_RING_PREV(ep, link) (ep)->link.prev |
#define | APR_RING_INIT(hp, elem, link) |
#define | APR_RING_EMPTY(hp, elem, link) (APR_RING_FIRST((hp)) == APR_RING_SENTINEL((hp), elem, link)) |
#define | APR_RING_ELEM_INIT(ep, link) |
#define | APR_RING_SPLICE_BEFORE(lep, ep1, epN, link) |
#define | APR_RING_SPLICE_AFTER(lep, ep1, epN, link) |
#define | APR_RING_INSERT_BEFORE(lep, nep, link) APR_RING_SPLICE_BEFORE((lep), (nep), (nep), link) |
#define | APR_RING_INSERT_AFTER(lep, nep, link) APR_RING_SPLICE_AFTER((lep), (nep), (nep), link) |
#define | APR_RING_SPLICE_HEAD(hp, ep1, epN, elem, link) |
#define | APR_RING_SPLICE_TAIL(hp, ep1, epN, elem, link) |
#define | APR_RING_INSERT_HEAD(hp, nep, elem, link) APR_RING_SPLICE_HEAD((hp), (nep), (nep), elem, link) |
#define | APR_RING_INSERT_TAIL(hp, nep, elem, link) APR_RING_SPLICE_TAIL((hp), (nep), (nep), elem, link) |
#define | APR_RING_CONCAT(h1, h2, elem, link) |
#define | APR_RING_PREPEND(h1, h2, elem, link) |
#define | APR_RING_UNSPLICE(ep1, epN, link) |
#define | APR_RING_REMOVE(ep, link) APR_RING_UNSPLICE((ep), (ep), link) |
#define | APR_RING_FOREACH(ep, head, elem, link) |
#define | APR_RING_FOREACH_SAFE(ep1, ep2, head, elem, link) |
#define | APR_RING_CHECK_ONE(msg, ptr) |
#define | APR_RING_CHECK(hp, elem, link, msg) |
#define | APR_RING_CHECK_CONSISTENCY(hp, elem, link) |
#define | APR_RING_CHECK_ELEM(ep, elem, link, msg) |
#define | APR_RING_CHECK_ELEM_CONSISTENCY(ep, elem, link) |
APR Rings.