Implement mutex_t.unlock_mutex as a no op if !defined(KONFIG_SUBSYS_THREAD)
#define unlock_mutex( mutex ) (0)
Implements thread_t.unlockflag_thread.
#define unlockflag_thread( thread ) (atomicclear_int(&(thread)->lockflag))
Unlocks the locked io buffer and sets the pointer to NULL.
#define UNLOCKIOBUFFER_OBJECTCACHE( iobuffer ) (objectcache_maincontext().iimpl->unlock_iobuffer(objectcache_maincontext().object, (iobuffer)))
Implements utf8reader_t.unread_utf8reader.
#define unread_utf8reader( utfread ) ((utfread)->next)
Implements utf8reader_t.unreadsize_utf8reader.
#define unreadsize_utf8reader( utfread ) ((size_t)((utfread)->end - (utfread)->next))
Implements syncwait_t.update_syncwait.
#define update_syncwait( syncwait, _event, _continuelabel ) do { typeof(syncwait) _sw = (syncwait) ; _sw->event = (_event) ; _sw->continuelabel = (_continuelabel) ; _sw->event->waiting = _sw ; } while(0)
Static initializer.
#define url_parts_FREE { string_FREE, string_FREE, string_FREE, string_FREE, string_FREE, string_FREE, string_FREE }
Implements url_t.user_url.
#define user_url( url ) getpart_url(url, url_part_USER)
Static initializer.
#define utf8reader_FREE { 0, 0, textpos_FREE, mmfile_FREE }
Static initializer.
#define utf8scanner_FREE { 0, 0, splitstring_FREE }
Static initializer.
#define utf8validator_INIT { 0, { 0, 0, 0, 0} }
Validates condition on input parameter.
#define VALIDATE_INPARAM_TEST( _CONDITION, _ONERROR_LABEL, _LOG_VALUE ) if (!(_CONDITION)) { err = EINVAL ; TRACE_ERRLOG( log_flags_START, TEST_INPARAM_FALSE, err, #_CONDITION) ; _LOG_VALUE ; goto _ONERROR_LABEL ; }
Validates that internal invariant object state is valid.
#define VALIDATE_INVARIANT_TEST( _CONDITION, _ONERROR_LABEL, _LOG_VALUE ) if (!(_CONDITION)) { err = EINVARIANT ; TRACE_ERRLOG( log_flags_START, TEST_INVARIANT_FALSE, err, #_CONDITION); _LOG_VALUE ; goto _ONERROR_LABEL ; }
Validates values returned as return stmt or as out param.
#define VALIDATE_OUTPARAM_TEST( _CONDITION, _ONERROR_LABEL, _LOG_VALUE ) if (!(_CONDITION)) { err = EINVAL ; TRACE_ERRLOG( log_flags_START, TEST_OUTPARAM_FALSE, err, #_CONDITION) ; _LOG_VALUE ; goto _ONERROR_LABEL ; }
Validates that the object state is valid.
#define VALIDATE_STATE_TEST( _CONDITION, _ONERROR_LABEL, _LOG_VALUE ) if (!(_CONDITION)) { err = EPROTO ; TRACE_ERRLOG( log_flags_START, TEST_STATE_FALSE, err, #_CONDITION) ; _LOG_VALUE ; goto _ONERROR_LABEL ; }
Implements gconfig_t.value_gconfig.
#define value_gconfig( gconf, display, attribute, value ) value_eglconfig(gl_gconfig(gconf), gl_display(display), attribute, value)
Static initializer.
#define valuecache_FREE { 0, 0 }
Inline implementation of maincontext_t.valuecache_maincontext.
#define valuecache_maincontext( ) (pcontext_maincontext()->valuecache)
Implements gconfig_t.visualid_gconfig.
#define visualid_gconfig( gconf, display, visualid ) visualconfigid_eglconfig(gl_gconfig(gconf), gl_display(display), visualid)
Static initializer: Makes calling free_vmmappedregions safe.
#define vm_mappedregions_FREE { 0, 0, 0, 0, 0 }
Static initializer.
#define vmpage_FREE vmpage_INIT( 0, )
Static initializer.
#define vmpage_INIT( size, addr ) { addr, size }
Removes the volatile from ptr.
#define VOLATILE_CAST( type_t, ptr ) ( __extension__ ({ volatile type_t * _ptr = (ptr) ; (type_t*)((uintptr_t)_ptr) ; }))
Implements syncrun_t.waitforevent_syncrun.
#define waitforevent_syncrun( srun, syncevent ) ( __extension__ ({ __label__ waitlabel ; setstatewait_syncrun((srun), (syncevent), __extension__ && waitlabel) ; return 0 ; waitlabel: (void)0 ; }))
Implements syncrun_t.waitforexit_syncrun.
#define waitforexit_syncrun( srun ) ( __extension__ ({ __label__ waitlabel ; setstatewait_syncrun((srun), srun->running.laststarted, __extension__ && waitlabel) ; return 0 ; waitlabel: retcode_syncrun(srun) ; }))
Implements syncrun_t.waitforlist_syncrun.
#define waitforlist_syncrun( srun, syncwlist ) ( __extension__ ({ __label__ waitlabel ; setstatewaitlist_syncrun((srun), (syncwlist), __extension__ && waitlabel) ; return 0 ; waitlabel: (void)0 ; }))
Implements syncevent_t.waiting_syncevent.
#define waiting_syncevent( syncevent ) ((syncevent)->waiting)
Static initializer.
#define waitlist_FREE { 0, 0, 0 }
Static initializer for invalid wbuffer_t.
#define wbuffer_FREE { 0, 0, 0, 0 }
Static initializer which wraps a cstring_t object into a wbuffer_t.
#define wbuffer_INIT_CSTRING( cstring ) wbuffer_INIT_OTHER(allocatedsize_cstring(cstring), (uint8_t*)str_cstring(cstring), cstring, &g_wbuffer_cstring)
Static initializer which wraps a memblock_t object into a wbuffer_t.
#define wbuffer_INIT_MEMBLOCK( memblock ) wbuffer_INIT_OTHER(size_memblock(memblock), addr_memblock(memblock), memblock, &g_wbuffer_memblock)
Static initializer to adapt wbuffer_t to own memory implementation object.
#define wbuffer_INIT_OTHER( buffer_size, buffer, impl, iimpl_it ) { (buffer), (buffer) + (buffer_size), (impl), (iimpl_it) }
Static initializer which wraps static memory into a wbuffer_t.
#define wbuffer_INIT_STATIC( buffer_size, buffer ) wbuffer_INIT_OTHER(buffer_size, buffer, buffer, &g_wbuffer_static)
Implements window_evh_t.window_evh_DECLARE.
#define window_evh_DECLARE( declared_evh_t, subwindow_t ) typedef struct declared_evh_t declared_evh_t; struct declared_evh_t { void (* onclose) (subwindow_t * win); void (* ondestroy) (subwindow_t * win); void (* onredraw) (subwindow_t * win); void (* onreshape) (subwindow_t * win, uint32_t width, uint32_t height); void (* onvisible) (subwindow_t * win, bool isVisible); }
Static initializer.
#define window_evh_INIT( subwindow_fct_suffix ) { & onclose ## subwindow_fct_suffix, & ondestroy ## subwindow_fct_suffix, & onredraw ## subwindow_fct_suffix, & onreshape ## subwindow_fct_suffix, & onvisible ## subwindow_fct_suffix }
Static initializer.
#define window_FREE { x11window_FREE, surface_FREE_EMBEDDED }
Static initializer to switch on window frame drawn by the window manager.
#define windowconfig_INIT_FRAME { .i32 = windowconfig_FRAME }
Static initializer to set maximum possible size (width, height) of window.
#define windowconfig_INIT_MAXSIZE( maxwidth, maxheight ) { .i32 = windowconfig_MAXSIZE }, { .u16 = maxwidth }, { .u16 = maxheight }
Static initializer to set minimum possible size (width, height) of window.
#define windowconfig_INIT_MINSIZE( minwidth, minheight ) { .i32 = windowconfig_MINSIZE }, { .u16 = minwidth }, { .u16 = minheight }
Static initializer to mark end of configuration list.
#define windowconfig_INIT_NONE { .i32 = windowconfig_NONE }
Static initializer to set initial position (x,y) of window.
#define windowconfig_INIT_POS( x, y ) { .i32 = windowconfig_POS }, { .i32 = x }, { .i32 = y }
Static initializer to set initial size (width, height) of window.
#define windowconfig_INIT_SIZE( width, height ) { .i32 = windowconfig_SIZE }, { .u16 = width }, { .u16 = height }
Static initializer to set initial size of window.
#define windowconfig_INIT_TITLE( title ) { .i32 = windowconfig_TITLE }, { .str = title }
Static initializer to set transparency of window.
#define windowconfig_INIT_TRANSPARENCY( alpha ) { .i32 = windowconfig_TRANSPARENCY }, { .u8 = alpha/*only 0..255*/ }
Static initializer.
#define wlistentry_FREE { 0, 0, syncevent_FREE }
Static initializer.
#define x11dblbuffer_FREE { 0, 0, 0 }
Static initializer.
#define x11display_FREE { .idmap = 0, .sys_display = 0 }
Static initializer.
#define x11drawable_FREE { 0, 0, 0 }
Static initializer.
#define x11drawable_INIT( display, sys_drawable, sys_colormap ) { display, sys_drawable, sys_colormap }
Static initializer.
#define x11screen_FREE { 0, 0 }
Static initializer.
#define x11screen_INIT( display, nrscreen ) { display, nrscreen }
Static initializer.
#define x11videomode_FREE { 0, 0, 0 }
Static initializer.
#define x11videomode_iterator_FREE { 0, 0, 0 }
Implements x11window_evh_t.x11window_evh_DECLARE.
#define x11window_evh_DECLARE( declared_evh_t, subwindow_t ) typedef struct declared_evh_t declared_evh_t; struct declared_evh_t { void (* onclose) (subwindow_t * x11win); void (* ondestroy) (subwindow_t * x11win); void (* onredraw) (subwindow_t * x11win); void (* onreshape) (subwindow_t * x11win, uint32_t width, uint32_t height); void (* onvisible) (subwindow_t * x11win, bool isVisible); }
Static initializer.
#define x11window_evh_INIT( subwindow_fct_suffix ) { & onclose ## subwindow_fct_suffix, & ondestroy ## subwindow_fct_suffix, & onredraw ## subwindow_fct_suffix, & onreshape ## subwindow_fct_suffix, & onvisible ## subwindow_fct_suffix }
Static initializer.
#define x11window_FREE { 0, 0, 0, 0, 0, 0 }
Static initializer.
#define xmlattribute_INIT( name ) { (name), string_FREE }