It’s a marker in a function declaration.
#define IDNAME void*
Implements textpos_t.incrcolumn_textpos.
#define incrcolumn_textpos( txtpos ) ((void)(++(txtpos)->column))
Implements textpos_t.incrline_textpos.
#define incrline_textpos( txtpos ) do { textpos_t * _tpos = (txtpos) ; _tpos->prevlastcolumn = _tpos->column ; _tpos->column = 0 ; ++ _tpos->line ; } while (0)
Implements arraysf_mwaybranch_t.init_arraysfmwaybranch.
#define init_arraysfmwaybranch( branch, _shift, pos1, childnode1, pos2, childnode2 ) do { memset((branch)->child, 0, sizeof((branch)->child)) ; (branch)->child[0x03u & ((pos1) >> (_shift))] = childnode1 ; (branch)->child[0x03u & ((pos2) >> (_shift))] = childnode2 ; (branch)->shift = (uint8_t) _shift ; (branch)->used = 2 ; } while(0)
Implements arraystf_mwaybranch_t.init_arraystfmwaybranch.
#define init_arraystfmwaybranch( branch, _offset, _shift, data1, childnode1, data2, childnode2 ) do { memset((branch)->child, 0, sizeof((branch)->child)) ; (branch)->child[0x03u & ((data1) >> (_shift))] = childnode1 ; (branch)->child[0x03u & ((data2) >> (_shift))] = childnode2 ; (branch)->offset = _offset ; (branch)->shift = (uint8_t) _shift ; (branch)->used = 2 ; } while(0)
Implements dlist_t.init_dlist.
#define init_dlist( list ) ((void)(*(list) = (dlist_t)dlist_INIT))
Initializes the OpenGL part of win in an OS specific way.
#define INIT_GLWINDOW( win, disp, gconf ) initx11_eglwindow(&gl_window(win), gl_display(disp), gl_gconfig(gconf), &win->oswindow)
Implements iobj_t.init_iobj.
#define init_iobj( iobj, _object, _iimpl ) do { typeof(iobj) _obj = (iobj) ; _obj->object = (_object) ; _obj->iimpl = (_iimpl) ; } while (0)
Implement mutex_t.init_mutex as a no op if !defined(KONFIG_SUBSYS_THREAD)
#define init_mutex( mutex ) (0)
Initializes the OpenGL part of the graphic display in an OS specific way.
#define INIT_OPENGL( disp ) initx11_egldisplay(&(disp)->gldisplay, &(disp)->osdisplay)
Initializes the graphic display in an OS specific way.
#define INIT_OSDISPLAY( disp, display_selector ) (s_display_noext ? init2_x11display(&(disp)->osdisplay, display_selector, false) : init_x11display(&(disp)->osdisplay, display_selector))
Initializes the native window oswindow in an OS specific way.
#define INIT_OSWINDOW( oswindow, disp, screennr, eventhandler, visualid, winattr ) initvid_x11window(oswindow, os_display(disp), screennr, genericcast_x11windowevh(eventhandler, window_t), (uint32_t)visualid, winattr)
Implements patriciatrie_t.init_patriciatrie.
#define init_patriciatrie( tree, nodeadp ) ((void)(*(tree) = (patriciatrie_t) patriciatrie_INIT(0, *(nodeadp))))
Implements queue_t.init_queue.
#define init_queue( queue ) (*(queue) = (queue_t) queue_INIT, 0)
Implements redblacktree_t.init_redblacktree.
#define init_redblacktree( tree, nodeadp ) ((void)(*(tree) = (redblacktree_t) redblacktree_INIT(0, *(nodeadp))))
Implements rwlock_t.init_rwlock.
#define init_rwlock( rwlock ) ((void)(*(rwlock) = (rwlock_t) rwlock_INIT))
Implements slist_t.init_slist.
#define init_slist( list ) ((void)(*(list) = (slist_t)slist_INIT))
Implements splaytree_t.init_splaytree.
#define init_splaytree( tree ) ((void)(*(tree) = (splaytree_t) splaytree_INIT(0)))
Implements syncqueue_t.init_syncqueue.
#define init_syncqueue( syncqueue ) ((void)(*(syncqueue) = (syncqueue_t) syncqueue_INIT))
Implements syncthread_t.init_syncthread.
#define init_syncthread( sthread, mainfct, state ) ((void)(*(sthread) = (syncthread_t) syncthread_INIT(mainfct, state)))
Implements syncwait_t.init_syncwait.
#define init_syncwait( syncwait, thread, _event, continuelabel ) do { typeof(syncwait) _sw = (syncwait) ; *_sw = (syncwait_t) { *(thread), (_event), (continuelabel) } ; _sw->event->waiting = _sw ; } while(0)
Implement sysuser_t.init_sysuser as noop if !defined(KONFIG_SUBSYS_SYSUSER)
#define init_sysuser( sysuser ) ((*(sysuser)) = (sysuser_t) sysuser_FREE, 0)
Implements test_errortimer_t.init_testerrortimer.
#define init_testerrortimer( errtimer, timercount, errcode ) ((void) (*(errtimer) = (test_errortimer_t){ timercount, errcode }))
Implements textpos_t.init_textpos.
#define init_textpos( txtpos, colnr, linenr ) ((void)(*(txtpos) = (textpos_t) { colnr, linenr, 0 }))
Implements thrmutex_t.init_thrmutex.
#define init_thrmutex( mutex ) ((void)(*(mutex) = (thrmutex_t) thrmutex_INIT))
Implements trie_t.init_trie.
#define init_trie( trie ) (*(trie) = (trie_t) trie_INIT, 0)
Implements typeadapt_nodeoffset_t.init_typeadaptnodeoffset.
#define init_typeadaptnodeoffset( nodeoff, nodeoffset ) ((void) (*(nodeoff) = nodeoffset))
Implements utf8validator_t.init_utf8validator.
#define init_utf8validator( utf8validator ) ((void)(*(utf8validator) = (utf8validator_t) utf8validator_INIT))
Implements vmpage_t.init_vmpage.
#define init_vmpage( vmpage, size_in_bytes ) (init2_vmpage((vmpage), (size_in_bytes), accessmode_RDWR|accessmode_PRIVATE))
Implements iobj_t.initcopy_iobj.
#define initcopy_iobj( destiobj, srciobj ) do { typeof(srciobj) _src = (srciobj) ; typeof(destiobj) _dest = (destiobj) ; _dest->object = _src->object ; _dest->iimpl = _src->iimpl ; } while (0)
Implements string_field_t.initdouble_stringfield.
#define initdouble_stringfield( strfield, dval ) ( __extension__ ({ (strfield)->type = string_field_DOUBLE ; (strfield)->val.d = dval ; 0 ; }))
Implements dlist_iterator_t.initfirst_dlistiterator.
#define initfirst_dlistiterator( iter, list ) ( __extension__ ({ typeof(iter) _iter = (iter) ; typeof(list) _list = (list) ; *_iter = (typeof(*_iter)) { first_dlist(_list), _list } ; 0 ; }))
Implements queue_iterator_t.initfirst_queueiterator.
#define initfirst_queueiterator( iter, queue, nodesize ) ( __extension__ ({ typeof(iter) _it = (iter) ; typeof(queue) _qu = (queue) ; uint16_t _ns = (nodesize) ; if (_qu->last && _ns) { *_it = (typeof(*_it)) { (queue_page_t*) _qu->last, (queue_page_t*)((queue_page_t*) _qu->last)->next, ((queue_page_t*)((queue_page_t*) _qu->last)->next)->start_offset, ((queue_page_t*)((queue_page_t*) _qu->last)->next)->end_offset, _ns } ; } else { *_it = (typeof(*_it)) { 0, 0, 0, 0, 1 } ; } 0 ; }))
Implements slist_t.initfirst_slistiterator.
#define initfirst_slistiterator( iter, list ) ( __extension__ ({ typeof(iter) _iter = (iter) ; typeof(list) _list = (list) ; *_iter = (typeof(*_iter)) { first_slist(_list), _list } ; 0 ; }))
Implements string_field_t.initfloat_stringfield.
#define initfloat_stringfield( strfield, fval ) ( __extension__ ({ (strfield)->type = string_field_FLOAT ; (strfield)->val.f = fval ; 0 ; }))
Implements x11videomode_t.initfromvalues_x11videomode.
#define initfromvalues_x11videomode( xvidmode, width_in_pixel, height_in_pixel, modeid ) ((void)(*(xvidmode) = (x11videomode_t) { width_in_pixel, height_in_pixel, modeid }))
Implements process_t.initgeneric_process.
#define initgeneric_process( process, child_main, start_arg, stdfd ) ( __extension__ ({ int (*_child_main) (typeof(start_arg)) ; _child_main = (child_main) ; static_assert( sizeof(start_arg) == sizeof(void*), "same as void*" ) ; init_process( process, (process_task_f) _child_main, (void*)start_arg, stdfd ) ; }))
Initializes iobj.
#define INITIOBJ( module, objtype_t, iobj ) int err ; memblock_t memobject = memblock_FREE ; if (! interface_##module()) { keep static object return 0 ; } ONERROR_testerrortimer( &s_threadcontext_errtimer, &err, ONABORT); err = ALLOCSTATIC_PAGECACHE( sizeof(objtype_t), &memobject) ; if (err) goto ONABORT ; objtype_t * newobj ; newobj = (objtype_t*) memobject.addr ; ONERROR_testerrortimer( &s_threadcontext_errtimer, &err, ONABORT); err = init_##module(newobj) ; if (err) goto ONABORT ; init_iobj(&(iobj), (void*)newobj, interface_##module()) ; return 0 ; ONABORT: FREESTATIC_PAGECACHE(&memobject) ; return err ;
Implements dlist_iterator_t.initlast_dlistiterator.
#define initlast_dlistiterator( iter, list ) ( __extension__ ({ typeof(iter) _iter = (iter) ; typeof(list) _list = (list) ; *_iter = (typeof(*_iter)) { last_dlist(_list), _list } ; 0 ; }))
Implements cstring_t.initmove_cstring.
#define initmove_cstring( dest, source ) do { *(dest) = *(source) ; *(source) = (cstring_t) cstring_FREE ; } while(0)
Implements mmfile_t.initmove_mmfile.
#define initmove_mmfile( destmfile, sourcemfile ) do { mmfile_t * _sourcemfile = (sourcemfile); *(destmfile) = *(_sourcemfile); *(_sourcemfile) = (mmfile_t) mmfile_FREE; } while (0)
Implements syncevent_t.initmove_syncevent.
#define initmove_syncevent( destsyncevent, srcsyncevent ) do { typeof(destsyncevent) _dest = (destsyncevent) ; *_dest = *(srcsyncevent) ; _dest->waiting->event = _dest ; } while(0)
Implements syncwait_t.initmove_syncwait.
#define initmove_syncwait( destsyncwait, srcsyncwait ) do { typeof(destsyncwait) _dest = (destsyncwait) ; *_dest = *(srcsyncwait) ; _dest->event->waiting = _dest ; } while(0)
Implements syncwait_t.initmovesafe_syncevent.
#define initmovesafe_syncevent( destsyncevent, srcsyncevent ) do { typeof(destsyncevent) _dest = (destsyncevent) ; *_dest = *(srcsyncevent) ; if (_dest->waiting) { _dest->waiting->event = _dest ; } } while(0)
Initializes object.
#define INITOBJECT( module, objtype_t, object ) int err ; objtype_t * newobj = 0 ; ONERROR_testerrortimer( &s_processcontext_errtimer, &err, ONABORT); newobj = allocstatic_maincontext( sizeof(objtype_t)) ; if (!newobj) { err = ENOMEM ; goto ONABORT ; } ONERROR_testerrortimer( &s_processcontext_errtimer, &err, ONABORT); err = init_##module(newobj) ; if (err) goto ONABORT ; (object) = newobj ; return 0 ; ONABORT: if (newobj) { freestatic_maincontext(sizeof(objtype_t)) ; } return err ;
Implements errorcontext_t.initonce_errorcontext.
#define initonce_errorcontext( error ) (init_errorcontext(genericcast_errorcontext(error)))
Implement init as a no op if !defined(KONFIG_SUBSYS_THREAD)
#define initonce_signalhandler( ) (0)
Implement init as a no op if defined KONFIG_USERINTERFACE_X11.
#define initonce_X11( ) (0)
Implements slist_t.initsingle_slist.
#define initsingle_slist( list, node ) ((void)(*(list) = (slist_t){ node }, (node)->next = (node)))
Implements string_field_t.initstring_stringfield.
#define initstring_stringfield( strfield, strval ) ( __extension__ ({ (strfield)->type = string_field_STRING ; (strfield)->val.str.addr = (strval)->addr ; (strfield)->val.str.size = (strval)->size ; 0 ; }))
Implements syncqueue_t.insert_syncqueue.
#define insert_syncqueue( syncqueue, newelem ) ( __extension__ ({ syncqueue_t * _sq = (syncqueue) ; typeof(**(newelem)) ** _elem = (newelem) ; int _err = insertlast_queue( genericcast_queue(_sq), (void**)_elem, sizeof(**_elem)) ; _sq->nrelements += (_err == 0) ; _err ; }))
Implements trie_t.insert_trie.
#define insert_trie( trie, keylen, key, uservalue ) (insert2_trie((trie), (keylen), (key), (uservalue), true))
Implements syncqueue_t.insert2_syncqueue.
#define insert2_syncqueue( syncqueue, elemsize, newelem ) ( __extension__ ({ syncqueue_t * _sq = (syncqueue) ; typeof(**(newelem)) ** _elem = (newelem) ; int _err = insertlast_queue( genericcast_queue(_sq), (void**)_elem, elemsize) ; _sq->nrelements += (_err == 0) ; _err ; }))
Implements directory_t.io_directory.
#define io_directory( dir ) (dirfd((DIR*)CONST_CAST(directory_t, dir)))
Implements file_t.io_file.
#define io_file( fileobj ) (fileobj)
Implements ipsocket_t.io_ipsocket.
#define io_ipsocket( ipsock ) (*(ipsock))
Implements logbuffer_t.io_logbuffer.
#define io_logbuffer( logbuf ) ((logbuf)->io)
Implement signalwait_t.io_signalwait.
#define io_signalwait( signalwait ) ((sys_iochannel_t)signalwait)
Implements iobj_t.iobj_DECLARE.
#define iobj_DECLARE( declared_t, typenameprefix ) struct declared_t { struct typenameprefix##_t * object ; struct typenameprefix##_it * iimpl ; }
Static initializer.
#define iobj_FREE { 0, 0 }
Static initializer.
#define iobj_INIT( object, iimpl ) { (object), (iimpl) }
Declares a subtype of iocallback_t, i.e.
#define iocallback_DECLARE( declared_t, iohandler_t ) typedef struct declared_t declared_t ; struct declared_t { iohandler_t * object ; void (* iimpl) ( iohandler_t * iohandler, sys_iochannel_t fd, uint8_t ioevents) ; }
Static initializer.
#define iocallback_FREE iocallback_INIT( 0, )
Static initializer.
#define iocallback_INIT( object, iimpl ) { (object), (iimpl) }
Static initializer.
#define iochannel_FREE sys_iochannel_FREE
Implements filereader_t.ioerror_filereader.
#define ioerror_filereader( frd ) ((frd)->ioerror)
Static initializer.
#define ioevent_INIT_PTR( ioevents, eventid ) { ioevents, { .ptr = eventid } }
Static initializer.
#define ioevent_INIT_VAL32( ioevents, eventid ) { ioevents, { .val32 = eventid } }
Static initializer.
#define ioevent_INIT_VAL64( ioevents, eventid ) { ioevents, { .val64 = eventid } }
Static initializer.
#define iopoll_FREE { sys_iochannel_FREE }
System chooses free port number for you.
#define ipport_ANY 0
Static initializer.
#define ipsocket_async_FREE { ipsocket_FREE, 0 }
Static initializer for ipsocket_t.
#define ipsocket_FREE sys_iochannel_FREE
Implements ptr_t.isaligned_ptr.
#define isaligned_ptr( ptr, nrbits ) (0 == lsbits_ptr(ptr, nrbits))
Returns true if color is black.
#define ISBLACK( node ) (0 != COLOR(node))
Implements arraysf_unode_t.isbranchtype_arraysfunode.
#define isbranchtype_arraysfunode( node ) ( __extension__ ({ const arraysf_unode_t * _node2 = (node) ; ((uintptr_t)(_node2) & 0x01) ; }))
Implements arraystf_unode_t.isbranchtype_arraystfunode.
#define isbranchtype_arraystfunode( node ) ( __extension__ ({ const arraystf_unode_t * _node3 = (node) ; ((uintptr_t)(_node3) & 0x01) ; }))
Implements typeadapt_t.iscalldelete_typeadapt.
#define iscalldelete_typeadapt( typeadp ) (0 != (typeadp)->lifetime.delete_object)
Implements binarystack_t.isempty_binarystack.
#define isempty_binarystack( stack ) ((stack)->freeblocksize == (stack)->blocksize)
Implements dlist_t.isempty_dlist.
#define isempty_dlist( list ) (0 == (list)->last)
Implements exthash_t.isempty_exthash.
#define isempty_exthash( htable ) (0 == ((htable)->nr_nodes))
Implements patriciatrie_t.isempty_patriciatrie.
#define isempty_patriciatrie( tree ) (0 == (tree)->root)
Implements queue_t.isempty_queue.
#define isempty_queue( queue ) (0 == (queue)->last)
Implements redblacktree_t.isempty_redblacktree.
#define isempty_redblacktree( tree ) (0 == (tree)->root)
Implements slist_t.isempty_slist.
#define isempty_slist( list ) (0 == (list)->last)
Implements splaytree_t.isempty_splaytree.
#define isempty_splaytree( tree ) (0 == (tree)->root)
Implements string_t.isempty_string.
#define isempty_string( str ) (0 == (str)->size)
Implements syncwlist_t.isempty_syncwlist.
#define isempty_syncwlist( wlist ) (0 == (wlist)->nrnodes)
Implements test_errortimer_t.isenabled_testerrortimer.
#define isenabled_testerrortimer( errtimer ) ((errtimer)->timercount > 0)
Implements filereader_t.iseof_filereader.
#define iseof_filereader( frd ) ( __extension__ ({ const filereader_t * _f ; _f = (frd) ; (_f->unreadsize == 0 && _f->fileoffset == _f->filesize) ; }))
Implements typeadapt_nodeoffset_t.isequal_typeadaptnodeoffset.
#define isequal_typeadaptnodeoffset( lnodeoff, rnodeoff ) ( __extension__ ({ typeadapt_nodeoffset_t _loff = (lnodeoff) ; typeadapt_nodeoffset_t _roff = (rnodeoff) ; _loff == _roff ; }))
Implements x11display_t.isextxrandr_x11display.
#define isextxrandr_x11display( x11disp ) ((x11disp)->xrandr.isSupported)
Implements memblock_t.isfree_memblock.
#define isfree_memblock( mblock ) (0 == (mblock)->addr && 0 == (mblock)->size)
Implements mmfile_t.isfree_mmfile.
#define isfree_mmfile( mfile ) (0 == addr_mmfile(mfile) && 0 == size_mmfile(mfile))
Returns true in case the OS specific display is already freed.
#define ISFREE_OSDISPLAY( disp ) isfree_x11display(disp)
Returns true in case the OS specific window is already freed.
#define ISFREE_OSWINDOW( oswindow ) isfree_x11window(oswindow)
Implements string_t.isfree_string.
#define isfree_string( str ) (0 == (str)->addr && 0 == (str)->size)
Implements surface_t.isfree_surface.
#define isfree_surface( surf ) (0 == (surf)->glsurface)
Implements syncevent_t.isfree_syncevent.
#define isfree_syncevent( syncevent ) (0 == (syncevent)->waiting)
Implements <vmpage_t.isfree_vmpage>>.
#define isfree_vmpage( vmpage ) (0 == (vmpage)->addr && 0 == (vmpage)->size)
Implements x11display_t.isfree_x11display.
static inline bool isfree_x11display( const x11display_t * x11disp )
Implements x11window_t.isfree_x11window.
static inline bool isfree_x11window( const x11window_t * x11win )
Implements iocallback_t.isinit_iocallback.
#define isinit_iocallback( iocb ) (0 != (iocb)->iimpl)
Implements dlist_t.isinlist_dlist.
#define isinlist_dlist( node ) (0 != (node)->next)
Implements slist_t.isinlist_slist.
#define isinlist_slist( node ) (0 != (node)->next)
Implements testmm_t.isinstalled_testmm.
#define isinstalled_testmm( ) (0 != mmcontext_testmm())
Returns true if parameter points to node of type suffixtree_leaf_t.
#define ISLEAF( leaf ) ((leaf)->str_size & 0x01)
Implements thread_t.ismain_thread.
#define ismain_thread( thread ) ( __extension__ ({ volatile const thread_t * _thr ; _thr = (thread) ; (0 == _thr->tls_addr) ; }))
Implements filereader_t.isnext_filereader.
#define isnext_filereader( frd ) ( __extension__ ({ const filereader_t * _f ; _f = (frd) ; (_f->unreadsize != 0) ; }))
Implements stringstream_t.isnext_stringstream.
#define isnext_stringstream( strstream ) ( __extension__({ typeof(strstream) _strstream = (strstream) ; ((uintptr_t)_strstream->next < (uintptr_t)_strstream->end) ; }))
Implements utf8reader_t.isnext_utf8reader.
#define isnext_utf8reader( utfread ) ((utfread)->next < (utfread)->end)
Implements pagecache_t.isobject_pagecache.
#define isobject_pagecache( pgcache ) (0 != (pgcache)->object)
Implements int_t.ispowerof2_int as a generic function.
#define ispowerof2_int( i ) (!( (typeof(i)) (((i)-1) & (i)) ))
Returns true if color is red.
#define ISRED( node ) (0 == COLOR(node))
Implements memblock_t.isvalid_memblock.
#define isvalid_memblock( mblock ) (0 != (mblock)->size && 0 != (mblock)->addr)
Implements window_t.isvisible_window.
#define isvisible_window( win ) (x11window_state_SHOWN == state_x11window(os_window(win)))
Implements syncevent_t.iswaiting_syncevent.
#define iswaiting_syncevent( syncevent ) (0 != (syncevent)->waiting)
Implements bigint_t.iszero_bigint.
#define iszero_bigint( big ) (0 == (big)->sign_and_used_digits)
Implements decimal_t.iszero_decimal.
#define iszero_decimal( dec ) ((dec)->sign_and_used_digits == 0)