Macro Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
Q
 query_url
 queue_FREE, queue_t
 queue_IMPLEMENT
 queue_INIT, queue_t
 queue_iterator_FREE, queue_iterator_t
 queue_syncwlist
 queuefromaddr_queue
 queuefromaddr_syncqueue
R
 readmaxsize_windowconfig
 readminsize_windowconfig
 readpos_windowconfig
 readsize_windowconfig
 readtitle_windowconfig
 readtransparency_windowconfig
 readtype_windowconfig
 real_sysuser
 redblacktree_FREE, redblacktree_t
 redblacktree_IMPLEMENT
 redblacktree_INIT, redblacktree_t
 redblacktree_iterator_FREE, redblacktree_iterator_t
 redirecterr_processstdio
 redirectin_processstdio
 redirectout_processstdio
 RELEASE_PAGECACHE
 releasecurrent_gcontext
 releasepage_pagecache
 remove_syncqueue
 remove_trie
 removeall_dlist
 removeall_slist
 removefirst_syncqueue
 removelast_syncqueue
 RESIZE_ERR_MM
 RESIZE_MM
 resize_window
 resourceusage_FREE, resourceusage_t
 retcode_syncrun
 returncode_thread
 reversebits_int
 rwlock_FREE, rwlock_t
 rwlock_INIT, rwlock_t
#define query_url(url) getpart_url(url, url_part_QUERY)
Implements url_t.query_url.
#define queue_FREE queue_INIT
Static initializer.
#define queue_IMPLEMENT(
   _fsuffix,
   object_t
) typedef queue_iterator_t iteratortype##_fsuffix ; typedef object_t * iteratedtype##_fsuffix ; static inline int initfirst##_fsuffix##iterator(/*out*/queue_iterator_t * iter, queue_t * queue) __attribute__ ((always_inline)) ; static inline int free##_fsuffix##iterator(queue_iterator_t * iter) __attribute__ ((always_inline)) ; static inline bool next##_fsuffix##iterator(queue_iterator_t * iter, object_t ** node) __attribute__ ((always_inline)) ; static inline int init##_fsuffix(/*out*/queue_t * queue) __attribute__ ((always_inline)) ; static inline void initmove##_fsuffix(/*out*/queue_t * dest, queue_t * src) __attribute__ ((always_inline)) ; static inline int free##_fsuffix(queue_t * queue) __attribute__ ((always_inline)) ; static inline bool isempty##_fsuffix(const queue_t * queue) __attribute__ ((always_inline)) ; static inline object_t * first##_fsuffix(const queue_t * queue) __attribute__ ((always_inline)) ; static inline object_t * last##_fsuffix(const queue_t * queue) __attribute__ ((always_inline)) ; static inline size_t sizefirst##_fsuffix(const queue_t * queue) __attribute__ ((always_inline)) ; static inline size_t sizelast##_fsuffix(const queue_t * queue) __attribute__ ((always_inline)) ; static inline int insertfirst##_fsuffix(queue_t * queue,/*out*/object_t ** new_node) __attribute__ ((always_inline)) ; static inline int insertlast##_fsuffix(queue_t * queue,/*out*/object_t ** new_node) __attribute__ ((always_inline)) ; static inline int removefirst##_fsuffix(queue_t * queue) __attribute__ ((always_inline)) ; static inline int removelast##_fsuffix(queue_t * queue) __attribute__ ((always_inline)) ; static inline int init##_fsuffix(/*out*/queue_t * queue) { return init_queue(queue) ; } static inline void initmove##_fsuffix(/*out*/queue_t * dest, queue_t * src) { initmove_queue(dest, src) ; } static inline int free##_fsuffix(queue_t * queue) { return free_queue(queue) ; } static inline bool isempty##_fsuffix(const queue_t * queue) { return isempty_queue(queue) ; } static inline object_t * first##_fsuffix(const queue_t * queue) { return first_queue(queue, sizeof(object_t)) ; } static inline object_t * last##_fsuffix(const queue_t * queue) { return last_queue(queue, sizeof(object_t)) ; } static inline size_t sizefirst##_fsuffix(const queue_t * queue) { return sizefirst_queue(queue) ; } static inline size_t sizelast##_fsuffix(const queue_t * queue) { return sizelast_queue(queue) ; } static inline int insertfirst##_fsuffix(queue_t * queue,/*out*/object_t ** new_node) { return insertfirst_queue(queue, (void**)new_node, sizeof(object_t)) ; } static inline int insertlast##_fsuffix(queue_t * queue,/*out*/object_t ** new_node) { return insertlast_queue(queue, (void**)new_node, sizeof(object_t)) ; } static inline int removefirst##_fsuffix(queue_t * queue) { return removefirst_queue(queue, sizeof(object_t)) ; } static inline int removelast##_fsuffix(queue_t * queue) { return removelast_queue(queue, sizeof(object_t)) ; } static inline int initfirst##_fsuffix##iterator(/*out*/queue_iterator_t * iter, queue_t * queue) { return initfirst_queueiterator(iter, queue, sizeof(object_t)) ; } static inline int free##_fsuffix##iterator(queue_iterator_t * iter) { return free_queueiterator(iter) ; } static inline bool next##_fsuffix##iterator(queue_iterator_t * iter, object_t ** node) { return next_queueiterator(iter, (void**)node) ; }
Implements queue_t.queue_IMPLEMENT.
void queue_IMPLEMENT(IDNAME _fsuffix,
TYPENAME object_t) ;
Generates interface of queue_t storing elements of type object_t.
#define queue_INIT { 0 }
Static initializer.
#define queue_iterator_FREE { 0, 0, 0, 0, 0 }
Static initializer.
#define queue_syncwlist(
   wlist
) ( __extension__ ({ syncwlist_t * _wl = (wlist) ; syncqueue_t * _qu = 0 ; if (_wl->nrnodes) { _qu = queuefromaddr_syncqueue( _wl->next) ; } _qu ; }))
Implements syncwlist_t.queue_syncwlist.
#define queuefromaddr_queue(
   nodeaddr
) (((queue_page_t*)((uintptr_t)(nodeaddr) & ~((uintptr_t)pagesizeinbytes_queue()-1u)))->queue)
Implements queue_t.queuefromaddr_queue.
#define queuefromaddr_syncqueue(
   nodeaddr
) ((syncqueue_t*)queuefromaddr_queue(nodeaddr))
Implements syncqueue_t.queuefromaddr_syncqueue.
#define readmaxsize_windowconfig(
   winconf,
   attrindex,
   width,
   height
) readsize_windowconfig(winconf, attrindex, width, height)
Implements windowconfig_t.readmaxsize_windowconfig.
#define readminsize_windowconfig(
   winconf,
   attrindex,
   width,
   height
) readsize_windowconfig(winconf, attrindex, width, height)
Implements windowconfig_t.readminsize_windowconfig.
#define readpos_windowconfig(
   winconf,
   attrindex,
   x,
   y
) { *(x) = winconf[(*(attrindex))++].i32; *(y) = winconf[(*(attrindex))++].i32; }
Implements windowconfig_t.readpos_windowconfig.
#define readsize_windowconfig(
   winconf,
   attrindex,
   width,
   height
) { *(width) = winconf[(*(attrindex))++].u16; *(height) = winconf[(*(attrindex))++].u16; }
Implements windowconfig_t.readsize_windowconfig.
#define readtitle_windowconfig(winconf,
attrindex) (winconf[(*(attrindex))++].str)
Implements windowconfig_t.readtitle_windowconfig.
#define readtransparency_windowconfig(winconf,
attrindex) (winconf[(*(attrindex))++].u8)
Implements windowconfig_t.readtransparency_windowconfig.
#define readtype_windowconfig(
   winconf,
   attrindex
) ((windowconfig_e) winconf[(*(attrindex))++].i32)
Implements windowconfig_t.readtype_windowconfig.
#define real_sysuser(sysusr) ((sysusr)->realuser)
Implement sysuser_t.real_sysuser.
#define redblacktree_FREE redblacktree_INIT(0,
typeadapt_member_FREE)
Static initializer.
#define redblacktree_IMPLEMENT(
   _fsuffix,
   object_t,
   key_t,
   nodename
) typedef redblacktree_iterator_t iteratortype##_fsuffix ; typedef object_t * iteratedtype##_fsuffix ; static inline int initfirst##_fsuffix##iterator(redblacktree_iterator_t * iter, redblacktree_t * tree) __attribute__ ((always_inline)) ; static inline int initlast##_fsuffix##iterator(redblacktree_iterator_t * iter, redblacktree_t * tree) __attribute__ ((always_inline)) ; static inline int free##_fsuffix##iterator(redblacktree_iterator_t * iter) __attribute__ ((always_inline)) ; static inline bool next##_fsuffix##iterator(redblacktree_iterator_t * iter, object_t ** node) __attribute__ ((always_inline)) ; static inline bool prev##_fsuffix##iterator(redblacktree_iterator_t * iter, object_t ** node) __attribute__ ((always_inline)) ; static inline void init##_fsuffix(/*out*/redblacktree_t * tree, const typeadapt_member_t * nodeadp) __attribute__ ((always_inline)) ; static inline int free##_fsuffix(redblacktree_t * tree) __attribute__ ((always_inline)) ; static inline void getinistate##_fsuffix(const redblacktree_t * tree, /*out*/object_t ** root, /*out*/typeadapt_member_t * nodeadp) __attribute__ ((always_inline)) ; static inline bool isempty##_fsuffix(const redblacktree_t * tree) __attribute__ ((always_inline)) ; static inline int find##_fsuffix(redblacktree_t * tree, const key_t key, /*out*/object_t ** found_node) __attribute__ ((always_inline)) ; static inline int insert##_fsuffix(redblacktree_t * tree, object_t * new_node) __attribute__ ((always_inline)) ; static inline int remove##_fsuffix(redblacktree_t * tree, object_t * node) __attribute__ ((always_inline)) ; static inline int removenodes##_fsuffix(redblacktree_t * tree) __attribute__ ((always_inline)) ; static inline int invariant##_fsuffix(redblacktree_t * tree) __attribute__ ((always_inline)) ; static inline redblacktree_node_t * asnode##_fsuffix(object_t * object) { static_assert(&((object_t*)0)->nodename == (redblacktree_node_t*)offsetof(object_t, nodename), "correct type") ; return (redblacktree_node_t *) ((uintptr_t)object + offsetof(object_t, nodename)) ; } static inline object_t * asobject##_fsuffix(redblacktree_node_t * node) { return (object_t *) ((uintptr_t)node - offsetof(object_t, nodename)) ; } static inline object_t * asobjectnull##_fsuffix(redblacktree_node_t * node) { return node ? (object_t *) ((uintptr_t)node - offsetof(object_t, nodename)) : 0 ; } static inline void init##_fsuffix(/*out*/redblacktree_t * tree, const typeadapt_member_t * nodeadp) { init_redblacktree(tree, nodeadp) ; } static inline int free##_fsuffix(redblacktree_t * tree) { return free_redblacktree(tree) ; } static inline void getinistate##_fsuffix(const redblacktree_t * tree, /*out*/object_t ** root, /*out*/typeadapt_member_t * nodeadp) { redblacktree_node_t * rootnode ; getinistate_redblacktree(tree, &rootnode, nodeadp) ; *root = asobjectnull##_fsuffix(rootnode) ; } static inline bool isempty##_fsuffix(const redblacktree_t * tree) { return isempty_redblacktree(tree) ; } static inline int find##_fsuffix(redblacktree_t * tree, const key_t key, /*out*/object_t ** found_node) { int err = find_redblacktree(tree, (void*)key, (redblacktree_node_t**)found_node) ; if (err == 0) *found_node = asobject##_fsuffix(*(redblacktree_node_t**)found_node) ; return err ; } static inline int insert##_fsuffix(redblacktree_t * tree, object_t * new_node) { return insert_redblacktree(tree, asnode##_fsuffix(new_node)) ; } static inline int remove##_fsuffix(redblacktree_t * tree, object_t * node) { int err = remove_redblacktree(tree, asnode##_fsuffix(node)) ; return err ; } static inline int removenodes##_fsuffix(redblacktree_t * tree) { return removenodes_redblacktree(tree) ; } static inline int invariant##_fsuffix(redblacktree_t * tree) { return invariant_redblacktree(tree) ; } static inline int initfirst##_fsuffix##iterator(redblacktree_iterator_t * iter, redblacktree_t * tree) { return initfirst_redblacktreeiterator(iter, tree) ; } static inline int initlast##_fsuffix##iterator(redblacktree_iterator_t * iter, redblacktree_t * tree) { return initlast_redblacktreeiterator(iter, tree) ; } static inline int free##_fsuffix##iterator(redblacktree_iterator_t * iter) { return free_redblacktreeiterator(iter) ; } static inline bool next##_fsuffix##iterator(redblacktree_iterator_t * iter, object_t ** node) { bool isNext = next_redblacktreeiterator(iter, (redblacktree_node_t**)node) ; if (isNext) *node = asobject##_fsuffix(*(redblacktree_node_t**)node) ; return isNext ; } static inline bool prev##_fsuffix##iterator(redblacktree_iterator_t * iter, object_t ** node) { bool isNext = prev_redblacktreeiterator(iter, (redblacktree_node_t**)node) ; if (isNext) *node = asobject##_fsuffix(*(redblacktree_node_t**)node) ; return isNext ; }
Implements redblacktree_t.redblacktree_IMPLEMENT.
void redblacktree_IMPLEMENT(IDNAME _fsuffix,
TYPENAME object_t,
TYPENAME key_t,
IDNAME nodename) ;
Adapts interface of redblacktree_t to nodes of type object_t.
#define redblacktree_INIT(root,
nodeadp) { root, nodeadp }
Static initializer.
#define redblacktree_iterator_FREE { 0 }
Static initializer.
#define redirecterr_processstdio(
   stdfd,
   error_file
) ((void)((stdfd)->std_err = error_file))
Implements process_stdio_t.redirecterr_processstdio.
#define redirectin_processstdio(
   stdfd,
   input_file
) ((void)((stdfd)->std_in = input_file))
Implements process_stdio_t.redirectin_processstdio.
#define redirectout_processstdio(
   stdfd,
   output_file
) ((void)((stdfd)->std_out = output_file))
Implements process_stdio_t.redirectout_processstdio.
#define RELEASE_PAGECACHE(
   page
) (releasepage_pagecache(pagecache_maincontext(), (page)))
Releases previously allocated memory page.
#define releasecurrent_gcontext(
   disp
) releasecurrent_eglcontext(gl_display(disp))
Implements gcontext_t.releasecurrent_gcontext.
#define releasepage_pagecache(
   pgcache,
   page
) ((pgcache).iimpl->releasepage((pgcache).object, (page)))
Implements pagecache_t.releasepage_pagecache.
#define remove_syncqueue(
   syncqueue,
   elem,
   initmove_elem
) ( __extension__ ({ syncqueue_t * _sq = (syncqueue) ; typeof(elem) _elem = (elem) ; typeof(elem) _lastentry = last_queue( genericcast_queue(_sq), sizeof(*_elem)) ; if (_lastentry && _lastentry != _elem) { (initmove_elem)(_elem, _lastentry) ; } int _err = removelast_queue( genericcast_queue(_sq), sizeof(*_elem)) ; _sq->nrelements -= (_err == 0) ; _err ; }))
Implements syncqueue_t.remove_syncqueue.
#define remove_trie(
   trie,
   keylen,
   key,
   uservalue
) (remove2_trie((trie), (keylen), (key), (uservalue), true))
Implements trie_t.remove_trie.
#define removeall_dlist(
   list,
   nodeoffset,
   typeadp
) (free_dlist((list), (nodeoffset), (typeadp)))
Implements dlist_t.removeall_dlist with a call to dlist_t.free_dlist.
#define removeall_slist(list,
nodeoffset,
typeadp) free_slist((list), (nodeoffset), (typeadp))
Implements slist_t.removeall_slist with help of slist_t.free_slist.
#define removefirst_syncqueue(
   syncqueue,
   elemsize
) ( __extension__ ({ syncqueue_t * _sq = (syncqueue) ; int _err = removefirst_queue( genericcast_queue(_sq), elemsize) ; _sq->nrelements -= (_err == 0) ; _err ; }))
Implements syncqueue_t.removefirst_syncqueue.
#define removelast_syncqueue(
   syncqueue,
   elemsize
) ( __extension__ ({ syncqueue_t * _sq = (syncqueue) ; int _err = removelast_queue( genericcast_queue(_sq), elemsize) ; _sq->nrelements -= (_err == 0) ; _err ; }))
Implements syncqueue_t.removelast_syncqueue.
#define RESIZE_ERR_MM(
   errtimer,
   newsize,
   mblock
) ( __extension__ ({ err = process_testerrortimer(errtimer); if (! err) err = RESIZE_MM(newsize, mblock); err ; }))
Resizes memory block with error.
#define RESIZE_MM(newsize,
mblock) mresize_mm(mm_maincontext(), newsize, mblock)
Resizes memory block.
#define resize_window(win,
width,
height) resize_x11window(os_window(win), width, height)
Implements window_t.resize_window.
#define resourceusage_FREE { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
Static initializer.
#define retcode_syncrun(srun) ((srun)->wakeup.retcode)
Implements syncrun_t.retcode_syncrun.
#define returncode_thread(
   threadobj
) ( __extension__ ({ volatile const thread_t * _thr ; _thr = (threadobj) ; _thr->returncode ; }))
Implements thread_t.returncode_thread.
Implements int_t.reversebits_int.
#define rwlock_FREE { { 0 } , { 0 }, 0, 0, 0 }
Static initializer.
#define rwlock_INIT { { 0 } , { 0 }, 0, 0, 0 }
Static initializer.
Close