Implements iocallback_t.call_iocallback.
#define call_iocallback( iocb, fd, ioevents ) ((iocb)->iimpl((iocb)->object, (fd), (ioevents)))
Implements syncthread_t.callabort_syncthread.
#define callabort_syncthread( sthread ) ( __extension__ ({ typeof(sthread) _sthread = (sthread) ; _sthread->mainfct(_sthread, syncthread_signal_ABORT) ; }))
Implements typeadapt_t.callcmpkeyobj_typeadapt.
#define callcmpkeyobj_typeadapt( typeadp, ... ) callcmpkeyobj_typeadaptcomparator(&(typeadp)->comparator, typeadp, __VA_ARGS__)
Implements typeadapt_member_t.callcmpkeyobj_typeadaptmember.
#define callcmpkeyobj_typeadaptmember( nodeadp, ... ) callcmpkeyobj_typeadapt((nodeadp)->typeadp, __VA_ARGS__)
Implements typeadapt_t.callcmpobj_typeadapt.
#define callcmpobj_typeadapt( typeadp, ... ) callcmpobj_typeadaptcomparator(&(typeadp)->comparator, typeadp, __VA_ARGS__)
Implements typeadapt_member_t.callcmpobj_typeadaptmember.
#define callcmpobj_typeadaptmember( nodeadp, ... ) callcmpobj_typeadapt((nodeadp)->typeadp, __VA_ARGS__)
Implements typeadapt_t.calldelete_typeadapt.
#define calldelete_typeadapt( typeadp, ... ) calldelete_typeadaptlifetime(&(typeadp)->lifetime, typeadp, __VA_ARGS__)
Implements typeadapt_lifetime_it.calldelete_typeadaptlifetime.
#define calldelete_typeadaptlifetime( adplife, typeadp, object ) ((adplife)->delete_object((typeadp), (object)))
Implements typeadapt_member_t.calldelete_typeadaptmember.
#define calldelete_typeadaptmember( nodeadp, ... ) calldelete_typeadapt((nodeadp)->typeadp, __VA_ARGS__)
Implements typeadapt_t.callgetbinarykey_typeadapt.
#define callgetbinarykey_typeadapt( typeadp, ... ) callgetbinarykey_typeadaptgetkey(&(typeadp)->getkey, typeadp, __VA_ARGS__)
Implements typeadapt_member_t.callgetbinarykey_typeadaptmember.
#define callgetbinarykey_typeadaptmember( nodeadp, ... ) callgetbinarykey_typeadapt((nodeadp)->typeadp, __VA_ARGS__)
Implements typeadapt_t.callhashkey_typeadapt.
#define callhashkey_typeadapt( typeadp, ... ) callhashkey_typeadaptgethash(&(typeadp)->gethash, typeadp, __VA_ARGS__)
Implements typeadapt_gethash_it.callhashkey_typeadaptgethash.
#define callhashkey_typeadaptgethash( gethash, typeadp, key ) ((gethash)->hashkey((typeadp), (key)))
Implements typeadapt_member_t.callhashkey_typeadaptmember.
#define callhashkey_typeadaptmember( nodeadp, ... ) callhashkey_typeadapt((nodeadp)->typeadp, __VA_ARGS__)
Implements typeadapt_t.callhashobject_typeadapt.
#define callhashobject_typeadapt( typeadp, ... ) callhashobject_typeadaptgethash(&(typeadp)->gethash, typeadp, __VA_ARGS__)
Implements typeadapt_gethash_it.callhashobject_typeadaptgethash.
#define callhashobject_typeadaptgethash( gethash, typeadp, node ) ((gethash)->hashobject((typeadp), (node)))
Implements typeadapt_member_t.callhashobject_typeadaptmember.
#define callhashobject_typeadaptmember( nodeadp, ... ) callhashobject_typeadapt((nodeadp)->typeadp, __VA_ARGS__)
Implements syncthread_t.callinit_syncthread.
#define callinit_syncthread( sthread ) ( __extension__ ({ typeof(sthread) _sthread = (sthread) ; _sthread->mainfct(_sthread, syncthread_signal_INIT) ; }))
Implements typeadapt_t.callnewcopy_typeadapt.
#define callnewcopy_typeadapt( typeadp, ... ) callnewcopy_typeadaptlifetime(&(typeadp)->lifetime, typeadp, __VA_ARGS__)
Implements typeadapt_lifetime_it.callnewcopy_typeadaptlifetime.
#define callnewcopy_typeadaptlifetime( adplife, typeadp, destobject, srcobject ) ((adplife)->newcopy_object((typeadp), (destobject), (srcobject)))
Implements typeadapt_member_t.callnewcopy_typeadaptmember.
#define callnewcopy_typeadaptmember( nodeadp, ... ) callnewcopy_typeadapt((nodeadp)->typeadp, __VA_ARGS__)
Implements syncthread_t.callrun_syncthread.
#define callrun_syncthread( sthread ) ( __extension__ ({ typeof(sthread) _sthread = (sthread) ; _sthread->mainfct(_sthread, syncthread_signal_NULL) ; }))
Implements syncthread_t.callwakeup_syncthread.
#define callwakeup_syncthread( sthread ) ( __extension__ ({ typeof(sthread) _sthread = (sthread) ; _sthread->mainfct(_sthread, syncthread_signal_WAKEUP) ; }))
Implements display_t.castfromos_display.
#define castfromos_display( from_osdisplay ) ( __extension__ ({ typeof(((display_t*)0)->osdisplay) * _from = (from_osdisplay); (display_t*) _from; }))
Implements arraysf_mwaybranch_t.childindex_arraysfmwaybranch.
#define childindex_arraysfmwaybranch( branch, pos ) (0x03u & ((pos) >> (branch)->shift))
Implements arraystf_mwaybranch_t.childindex_arraystfmwaybranch.
#define childindex_arraystfmwaybranch( branch, data ) (0x03u & ((data) >> (branch)->shift))
Implements logbuffer_t.clear_logbuffer.
#define clear_logbuffer( logbuf ) ( __extension__ ({ logbuffer_t * _lb ; _lb = (logbuf) ; _lb->addr[0] = 0 ; _lb->logsize = 0 ; }))
Implements memblock_t.clear_memblock.
#define clear_memblock( mblock ) (memset((mblock)->addr, 0, (mblock)->size))
Implements wbuffer_t.clear_wbuffer.
#define clear_wbuffer( wbuf ) do { wbuffer_t * _wb = (wbuf) ; _wb->iimpl->shrink(_wb->impl, 0, (struct memstream_t*)_wb); } while (0)
See CLEARBUFFER_LOG.
#define CLEARBUFFER_ERRLOG( ) CLEARBUFFER_LOG(log_channel_ERR)
Clears log buffer (sets length of logbuffer to 0).
#define CLEARBUFFER_LOG( LOGCHANNEL ) log_maincontext().iimpl->clearbuffer(log_maincontext().object, LOGCHANNEL)
Implements module_t.codeaddr_module.
#define codeaddr_module( mod ) ((mod)->code_addr)
Implements module_t.codesize_module.
#define codesize_module( mod ) ((mod)->code_size)
Implements csvfilereader_t.colname_csvfilereader.
#define colname_csvfilereader( csvfile, column, colname ) (colvalue_csvfilereader((csvfile), 0, (column), (colname)))
Returns the color bit of the node.
#define COLOR( node ) (((uintptr_t)1) & (uintptr_t)((node)->parent))
Implements textpos_t.column_textpos.
#define column_textpos( txtpos ) ((txtpos)->column)
Implements utf8reader_t.column_utf8reader.
#define column_utf8reader( utfread ) (column_textpos(&(utfread)->pos))
Implements syncqueue_t.compact_syncqueue.
#define compact_syncqueue( syncqueue, elem_t, freelist, initmove_elem ) ( __extension__ ({ void (*_im) (elem_t * dest, elem_t * src) ; _im = (initmove_elem) ; compact2_syncqueue( (syncqueue), sizeof(elem_t), (freelist), (void(*)(void*,void*))_im) ; }))
See COMPARE_LOG.
#define COMPARE_ERRLOG( size, logbuffer ) COMPARE_LOG(log_channel_ERR, size, logbuffer)
Compare logbuffer[size] to buffered log entries.
#define COMPARE_LOG( LOGCHANNEL, /*size_t*/size, /*const char[size]*/logbuffer ) log_maincontext().iimpl->compare(log_maincontext().object, LOGCHANNEL, size, logbuffer)
Combines two language tokens into one.
#define CONCAT( S1, S2 ) CONCAT2(S1,S2)
Used by CONCAT to ensure expansion of arguments.
#define CONCAT2( S1, S2 ) S1 ## S2
Implements gconfig_t.configid_gconfig.
#define configid_gconfig( gconf, display, configid ) configid_eglconfig(gl_gconfig(gconf), gl_display(display), configid)
Implements gcontext_t.configid_gcontext.
#define configid_gcontext( cont, disp, configid ) configid_eglcontext(gl_gcontext(cont), gl_display(disp), configid)
Implements pixelbuffer_t.configid_pixelbuffer.
#define configid_pixelbuffer( pbuf, disp, configid ) configid_eglpbuffer(gl_pixelbuffer(pbuf), gl_display(disp), configid)
Removes the const from ptr.
#define CONST_CAST( type_t, ptr ) ( __extension__ ({ const type_t * _ptr1 = (ptr) ; (type_t*) ((uintptr_t)_ptr1) ; }))
Implements thread_tls_t.context_threadtls.
#define context_threadtls( tls ) ((threadcontext_t*) ( (tls)->addr ))
Implements syncthread_t.continue_syncthread.
#define continue_syncthread( sthread ) ((void) ( __extension__ ({ goto *state_syncthread(sthread); 0; })))
Implements syncrun_t.continuelabel_syncrun.
#define continuelabel_syncrun( srun ) ((srun)->wakeup.continuelabel)
Implements syncwait_t.continuelabel_syncwait.
#define continuelabel_syncwait( syncwait ) ((syncwait)->continuelabel)
Static initializer.
#define convert_wchar_FREE convert_wchar_INIT( 0, )
Static initializer, same as init_convertwchar.
#define convert_wchar_INIT( string_len, string ) { .len = (string_len), .next = (string) }
Converts sysclock_e into clockid_t.
#define convertclockid( /*sysclock_e*/clock_type ) ((clockid_t) (clock_type))
Static initializer.
#define crc32_INIT { (uint32_t)-1 }
Static initializer.
#define cstring_FREE { (size_t)0, (size_t)0, (void*)0 }
Static initializer.
#define cstring_INIT { (size_t)0, (size_t)0, (void*)0 }
Static initializer.
#define csvfilereader_FREE { mmfile_FREE, 0, 0, 0, 0 }
Static initializer.
#define csvfilereader_parsestate_INIT( length, data ) { data, length, 0, 0, 1 }
Implements gcontext_t.current_gcontext.
#define current_gcontext( cont, disp, drawsurf, readsurf ) current_eglcontext(cont, disp, drawsurf, readsurf)
Implement sysuser_t.current_sysuser.
#define current_sysuser( sysusr ) ((sysusr)->current)
Implements thread_tls_t.current_threadtls.
#define current_threadtls( local_var ) (thread_tls_t) { (uint8_t*) ( (uintptr_t)(local_var) & ~(uintptr_t) (size_threadtls()-1) ) }
Implements convert_wchar_t.currentpos_convertwchar.
#define currentpos_convertwchar( conv ) ((conv)->next)