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
I
 I/O
 id, x11windowmap_entry_t
 ID-manager, x11display_t
 idmap, x11display_t
 IDNAME
 iimpl
 impl, wbuffer_t
 implementation
 Implementation
 Include Files
 incrcolumn_textpos
 incrline_textpos
 init
 init objects
 init_arraysfmwaybranch
 init_arraystfkeyval, arraystf_keyval_t
 init_arraystfmwaybranch
 INIT_AS_LEAF, suffixtree_leaf_t
 INIT_AS_NODE, suffixtree_leaf_t
 init_binarystack, binarystack_t
 init_blockarray, blockarray_t
 init_convertwchar, convert_wchar_t
 init_crc32
 init_cstring, cstring_t
 init_csvfilereader, csvfilereader_t
 init_dlist
 init_eglconfig, eglconfig_t
 init_eglcontext, eglcontext_t
 init_eglpbuffer, eglpbuffer_t
 init_errorcontext, errorcontext_t
 init_exthash, exthash_t
 init_file, file_t
 init_filepathstatic, filepath_static_t
 init_filereader, filereader_t
 init_gconfig, gconfig_t
 init_gcontext, gcontext_t
 INIT_GLWINDOW
 init_initqueueentry, initqueue_entry_t
 init_iobj
 init_iopoll
 init_ipsocket, ipsocket_t
 init_logbuffer, logbuffer_t
 init_logwriter, logwriter_t
 init_maincontext, maincontext_t
 init_mmfile, mmfile_t
 init_mmimpl, mm_impl_t
 init_module, module_t
 init_mutex
 init_objectcacheimpl, objectcache_impl_t
 INIT_OPENGL
 INIT_OSDISPLAY
 INIT_OSWINDOW
 init_pagecacheblockmap, pagecache_blockmap_t
 init_pagecacheimpl, pagecache_impl_t
 init_patriciatrie
 init_pixelbuffer, pixelbuffer_t
 init_platform, platform_t
 init_process, process_t
 init_processcontext, processcontext_t
 init_processstdio2
 init_queue
 init_redblacktree
 init_resourceusage, resourceusage_t
 init_run2queueentry, run2queue_entry_t
 init_runqueueentry, runqueue_entry_t
 init_rwlock
 init_semaphore, semaphore_t
 init_sha1hash, sha1_hash_t
 init_slist
 init_splaytree
 init_staticpage, staticpage_t
 init_string
 init_stringstream, stringstream_t
 init_syncqueue
 init_syncrun, syncrun_t
 init_syncthread
 init_syncwait
 init_syncwlist
 init_systimer, systimer_t
 init_sysuser
 init_testerrortimer
 init_testmm, testmm_t
 init_textpos
 init_textresource, textresource_t
 init_textresourcereader, textresource_reader_t
 init_threadcontext, threadcontext_t
 init_threadtls, thread_tls_t
 init_thrmutex
 init_trie
 init_trienodeoffsets, trie_nodeoffsets_t
 init_typeadaptimpl, typeadapt_impl_t
 init_typeadaptnodeoffset
 init_utf8reader, utf8reader_t
 init_utf8scanner, utf8scanner_t
 init_utf8validator
 init_valuecache, valuecache_t
 init_vmmappedregions, vm_mappedregions_t
 init_vmpage
 init_wait2queueentry, wait2queue_entry_t
 init_waitlist, waitlist_t
 init_waitqueueentry, waitqueue_entry_t
 init_window, window_t
 init_x11dblbuffer, x11dblbuffer_t
 init_x11display, x11display_t
 init_x11screen, x11screen_t
 init_x11videomodeiterator, x11videomode_iterator_t
 init_x11window, x11window_t
 init2_initqueueentry, initqueue_entry_t
 init2_vmpage, vmpage_t
 init2_x11display, x11display_t
 initaccept_ipsocket, ipsocket_t
 initaligned_vmpage, vmpage_t
 initany_ipaddrstorage, ipaddr_storage_t
 initappend_file, file_t
 initasmm_testmm, testmm_t
 initconnect_ipsocket, ipsocket_t
 initconnect_ipsocketasync, ipsocket_async_t
 initcopy_convertwchar, convert_wchar_t
 initcopy_iobj
 initcopy_iochannel, iochannel_t
 initcopy_string
 initcount
 initcreate_file, file_t
 initcurrent_x11videomode, x11videomode_t
 initdecode_trienodeoffsets, trie_nodeoffsets_t
 initdefault_display, display_t
 initdefault_egldisplay, egldisplay_t
 initdiff_arraystfkeyval, arraystf_keyval_t
 initdouble_stringfield
 initexec_process, process_t
 initfile_filereader
 initfiltered_eglconfig, eglconfig_t
 initfiltered_gconfig, gconfig_t
 initfirst_arraysfiterator, arraysf_iterator_t
 initfirst_arraystfiterator, arraystf_iterator_t
 initfirst_dlistiterator
 initfirst_exthashiterator, exthash_iterator_t
 initfirst_patriciatrieiterator, patriciatrie_iterator_t
 initfirst_patriciatrieprefixiter, patriciatrie_prefixiter_t
 initfirst_queueiterator
 initfirst_redblacktreeiterator, redblacktree_iterator_t
 initfirst_slistiterator
 initfirst_splaytreeiterator, splaytree_iterator_t
 initfirst_syncwlistiterator, syncwlist_iterator_t
 initfl_string, string_t
 initfloat_stringfield
 initfromconfigid_eglconfig, eglconfig_t
 initfromconfigid_gconfig, gconfig_t
 initfromio_mmfile, mmfile_t
 initfromstring_cstring, cstring_t
 initfromstring_string, stringstream_t
 initfromstringstream_string, string_t
 initfromvalues_x11videomode
 initgeneric_process
 inithelperX_processcontext
 inithelperX_threadcontext
 INITIOBJ
 initlast_dlistiterator
 initlast_patriciatrieiterator, patriciatrie_iterator_t
 initlast_redblacktreeiterator, redblacktree_iterator_t
 initlast_splaytreeiterator, splaytree_iterator_t
 initlisten_ipsocket, ipsocket_t
 initmain_thread, thread_t
 initmain_threadtls, thread_tls_t
 initmove_cstring
 initmove_file
 initmove_mmfile
 initmove_queue, queue_t
 initmove_run2queueentry, run2queue_entry_t
 initmove_runqueueentry, runqueue_entry_t
 initmove_syncevent
 initmove_syncwait
 initmove_syncwlist, syncwlist_t
 initmove_wait2queueentry, wait2queue_entry_t
 initmove_waitqueueentry, waitqueue_entry_t
 initmove_wlistentry, wlistentry_t
 initmove_x11display, x11display_t
 initmove_x11window, x11window_t
 initmovesafe_syncevent
 initnamed_ipport, ipport_t
 INITOBJECT
 initonce
 initonce_errorcontext
 initonce_locale
 initonce_signalhandler
 initonce_X11
 initpageblock_pagecacheblock
 initprogname_maincontext
 initqueue_entry_t
 initrealtime_signalwait, signalwait_t
 initse_string, string_t
 initshared_egldisplay
 initsingle_filereader, filereader_t
 initsingle_slist
 initsingleton_unittest, unittest_t
 initsplit_mmfile, mmfile_t
 initstart_maincontext, maincontext_t
 initstring_stringfield
 initsubstr_string, string_t
 initthread
 initthread_pagecacheimpl, pagecache_impl_t
 initvid_x11window
 initx11_egldisplay, egldisplay_t
 initx11_eglwindow, eglwindow_t
 inline implementation
api/cache/objectcache.hapi/context/errorcontext.hapi/context/iobj.hapi/context/module.hapi/ds/inmem/arraysf.hapi/ds/inmem/arraystf.hapi/ds/inmem/binarystack.hapi/ds/inmem/blockarray.hapi/ds/inmem/dlist.hapi/ds/inmem/exthash.hapi/ds/inmem/node/arraysf_node.hapi/ds/inmem/node/arraystf_node.hapi/ds/inmem/node/dlist_node.hapi/ds/inmem/patriciatrie.hapi/ds/inmem/queue.hapi/ds/inmem/redblacktree.hapi/ds/inmem/slist.hapi/ds/inmem/splaytree.hapi/ds/inmem/trie.hapi/ds/typeadapt.hapi/ds/typeadapt/comparator.hapi/ds/typeadapt/gethash.hapi/ds/typeadapt/getkey.hapi/ds/typeadapt/lifetime.hapi/ds/typeadapt/nodeoffset.hapi/graphic/display.hapi/graphic/gconfig.hapi/graphic/gcontext.hapi/graphic/pixelbuffer.hapi/graphic/surface.hapi/graphic/window.hapi/graphic/windowconfig.hapi/io/filesystem/directory.hapi/io/filesystem/file.hapi/io/filesystem/filepath.hapi/io/filesystem/mmfile.hapi/io/iocallback.hapi/io/iochannel.hapi/io/ip/ipaddr.hapi/io/ip/ipsocket.hapi/io/reader/csvfilereader.hapi/io/reader/filereader.hapi/io/reader/utf8reader.hapi/io/reader/utf8scanner.hapi/io/url.hapi/io/writer/log/log.hapi/io/writer/log/logbuffer.hapi/io/writer/log/logwriter.hapi/maincontext.hapi/math/float/decimal.hapi/math/fpu.hapi/math/hash/crc32.hapi/math/int/abs.hapi/math/int/atomic.hapi/math/int/bigint.hapi/math/int/bitorder.hapi/math/int/byteorder.hapi/math/int/log10.hapi/math/int/log2.hapi/math/int/power2.hapi/math/int/sign.hapi/math/int/sqroot.hapi/memory/hwcache.hapi/memory/memblock.hapi/memory/memstream.hapi/memory/mm/mm.hapi/memory/pagecache.hapi/memory/ptr.hapi/memory/vm.hapi/memory/wbuffer.hapi/platform/Linux/syscontext.hapi/platform/malloc.hapi/platform/OpenGL/EGL/eglconfig.hapi/platform/sync/mutex.hapi/platform/sync/rwlock.hapi/platform/sync/signal.hapi/platform/sync/thrmutex.hapi/platform/sysuser.hapi/platform/task/process.hapi/platform/task/thread.hapi/platform/task/thread_tls.hapi/platform/X11/x11.hapi/platform/X11/x11display.hapi/platform/X11/x11drawable.hapi/platform/X11/x11screen.hapi/platform/X11/x11videomode.hapi/platform/X11/x11window.hapi/string/base64encode_string.hapi/string/convertwchar.hapi/string/cstring.hapi/string/format_string.hapi/string/splitstring.hapi/string/string.hapi/string/stringstream.hapi/string/textpos.hapi/string/utf8.hapi/task/syncqueue.hapi/task/syncrun.hapi/task/syncthread.hapi/task/syncwait.hapi/task/syncwlist.hapi/test/errortimer.hapi/test/mm/testmm.hapi/test/resourceusage.hapi/time/timevalue.h
 inline implementation\n\
 insert_arraysf, arraysf_t
 insert_arraystf, arraystf_t
 insert_exthash, exthash_t
 insert_patriciatrie, patriciatrie_t
 insert_redblacktree, redblacktree_t
 insert_splaytree, splaytree_t
 insert_syncqueue
 insert_syncwlist, syncwlist_t
 insert_trie
 insert2_syncqueue
 insert2_trie, trie_t
 insertafter_dlist, dlist_t
 insertafter_slist, slist_t
 insertandwait_rwlock
 insertbefore_dlist, dlist_t
 insertchild_trienode, trie_node_t
 insertfirst_dlist, dlist_t
 insertfirst_queue, queue_t
 insertfirst_slist, slist_t
 insertlast_dlist, dlist_t
 insertlast_queue, queue_t
 insertlast_slist, slist_t
 insertobject_x11display, x11display_t
 installnew_testmm
 installold_testmm
 int_t
 int_t Test
 integer
 integer format specifiers
 Interface Example
 interface implementation
 interface-implementation, logmain_t
 INTERFACE_freepagelist, freepage_t
 interface_logwriter, logwriter_t
 interface_mmimpl, mm_impl_t
 interface_objectcacheimpl, objectcache_impl_t
 INTERFACE_rwlocklist
 INTERFACE_staticpagelist, staticpage_t
 INTERFACE_thrmutexlist
 INTERFACE_wlist
 InterfaceableObject
 InterfaceableObject impl
 internal
 internal macros
 Internal Workings
 internal_state, convert_wchar_t
 Internetprotocol-Address
 Internetprotocol-Address Linux
 Internetprotocol-Sockets
 Internetprotocol-Sockets Linux
 InterThreadMutex
 InterThreadMutex impl
 Intop-Abs
 Intop-Abs impl
 Intop-Bitorder
 Intop-Bitorder impl
 Intop-Byteorder
 Intop-Byteorder impl
 Intop-Log10
 Intop-Log10 impl
 Intop-Log2
 Intop-Log2 impl
 Intop-Power2
 Intop-Power2 impl
 Intop-Sign
 Intop-Sign impl
 Intop-SquareRoot
 Intop-SquareRoot impl
 invariant_exthash, exthash_t
 invariant_redblacktree, redblacktree_t
 invariant_splaytree
 io, logbuffer_t
 IO-Accessmode
 io_directory
 io_file
 io_ipsocket
 io_logbuffer
 io_signalwait
 io_x11display, x11display_t
 iobj_DECLARE
 iobj_FREE, iobj_t
 iobj_INIT, iobj_t
 iobj_t
 iobuffer
 IOCallback
 IOCallback impl
 iocallback_DECLARE, iocallback_t
 iocallback_f
 iocallback_FREE, iocallback_t
 iocallback_INIT, iocallback_t
 iocallback_t
 IOChannel
 IOChannel impl
 iochannel_e
 iochannel_FREE, iochannel_t
 iochannel_STDERR
 iochannel_STDIN
 iochannel_STDOUT
 iochannel_t
 ioerror, filereader_t
 ioerror_filereader
 IOEvent
 ioevent_CLOSE
 ioevent_e
 ioevent_ERROR
 ioevent_id_t
 ioevent_INIT_PTR, ioevent_t
 ioevent_INIT_VAL32, ioevent_t
 ioevent_INIT_VAL64, ioevent_t
 ioevent_READ
 ioevent_t
 ioevent_WRITE
 ioevents, ioevent_t
 IOPoll
 IOPoll Linuximpl
 iopoll_FREE, iopoll_t
 iopoll_t
 ipaddr_list_t
 ipaddr_storage_t
 ipaddr_t
 ipport_ANY, ipport_t
 ipport_t
 ipprotocol_ANY
 ipprotocol_e
 ipprotocol_TCP
 ipprotocol_UDP
 ipsock, ipsocket_async_t
 ipsocket_async_FREE, ipsocket_async_t
 ipsocket_async_t
 ipsocket_FREE, ipsocket_t
 ipsocket_t
 ipversion_4
 ipversion_6
 ipversion_ANY
 ipversion_e
 isadmin_sysuserid, sysuser_id_t
 isaligned_ptr
 ISBLACK
 isbranchtype_arraysfunode
 isbranchtype_arraystfunode
 iscalldelete_typeadapt
 ischild_header, trie_node_t
 ischildorsubnode_header, trie_node_t
 isconnected_ipsocket, ipsocket_t
 isempty_binarystack
 isempty_dlist
 isempty_exthash
 isempty_patriciatrie
 isempty_queue
 isempty_redblacktree
 isempty_slist
 isempty_splaytree
 isempty_string
 isempty_syncwlist
 isempty_waitlist, waitlist_t
 isenabled_testerrortimer
 iseof_filereader
 isequal_sysuser, sysuser_t
 isequal_sysuserid, sysuser_id_t
 isequal_typeadapt, typeadapt_t
 isequal_typeadaptgethash, typeadapt_gethash_it
 isequal_typeadaptmember, typeadapt_member_t
 isequal_typeadaptnodeoffset
 isequal_x11screen, x11screen_t
 isequalasciicase_string, string_t
 isexpandable_trienodeoffsets, trie_nodeoffsets_t
 isextxrandr_x11display
 isfirstbyte_utf8
 isfree_blockarray, blockarray_t
 isfree_file
 isfree_filereader, filereader_t
 isfree_iochannel
 isfree_memblock
 isfree_mmfile
 ISFREE_OSDISPLAY
 ISFREE_OSWINDOW
 isfree_pagecacheimpl, pagecache_impl_t
 isfree_splitstring, splitstring_t
 isfree_string
 isfree_surface
 isfree_syncevent
 isfree_syncqueue, syncqueue_t
 isfree_syncrun, syncrun_t
 isfree_syncthread, syncthread_t
 isfree_syncwlist, syncwlist_t
 isfree_thrmutex, thrmutex_t
 isfree_utf8scanner, utf8scanner_t
 isfree_vmpage
 isfree_x11display
 isfree_x11window
 isfreechild_trienode, trie_node_t
 isinit_iocallback
 isinlist_dlist
 isinlist_slist
 isinstalled_testmm
 ISLEAF, suffixtree_leaf_t
 islisten_ipsocket, ipsocket_t
 islocked_thrmutex, thrmutex_t
 ismain_thread
 ismapped_vm
 ismapped_vmmappedregions, vm_mappedregions_t
 isnegative_bigint
 isnegative_decimal
 isnext_filereader
 isnext_stringstream
 isnext_utf8reader
 isnext_utf8scanner
 isobject_pagecache
 ispowerof2_int
 ISRED
 isstatic_processcontext, processcontext_t
 isstatic_threadcontext, threadcontext_t
 isstring_suffixtree, suffixtree_t
 issubnode_header, trie_node_t
 isunmapped_vm
 isunmapped_vmmappedregions, vm_mappedregions_t
 isuservalue_header, trie_node_t
 isvalid, signalhandler_t
 isvalid_file
 isvalid_iochannel, iochannel_t
 isvalid_ipaddr, ipaddr_t
 isvalid_memblock
 isvalid_timevalue
 isvalidfirstbyte_utf8
 isvisible_window
 iswaiting_syncevent
 iswaiting_thrmutex, thrmutex_t
 iswriter_rwlock, rwlock_t
 iszero_bigint
 iszero_decimal
 iterate
 iteratedtype_arraysf, arraysf_t
 iteratedtype_arraystf, arraystf_t
 iteratedtype_dlist, dlist_t
 iteratedtype_exthash, exthash_t
 iteratedtype_patriciatrie, patriciatrie_t
 iteratedtype_queue, queue_t
 iteratedtype_redblacktree, redblacktree_t
 iteratedtype_slist, slist_t
 iteratedtype_splaytree, splaytree_t
 iteratedtype_syncwlist, syncwlist_t
 iterator, x11videomode_iterator_t
 iteratortype_arraysf, arraysf_t
 iteratortype_arraystf, arraystf_t
 iteratortype_dlist, dlist_t
 iteratortype_exthash, exthash_t
 iteratortype_patriciatrie, patriciatrie_t
 iteratortype_queue, queue_t
 iteratortype_redblacktree, redblacktree_t
 iteratortype_slist, slist_t
 iteratortype_splaytree, splaytree_t
 iteratortype_syncwlist, syncwlist_t
uint32_t id
The identification of an object.
struct x11windowmap_t * idmap
Used internally to map an id to an object pointer.
#define IDNAME void*
It’s a marker in a function declaration.
iobj_it * iimpl
A pointer to the implementation of the interface iobj_it.
iocallback_f iimpl
The pointer to callback function iocallback_f.
const wbuffer_it * iimpl
Pointer to interface implementing memory allocation strategy.
void * impl
Points to wrapped object or a static allocated buffer.
#define incrcolumn_textpos(txtpos) ((void)(++(txtpos)->column))
Implements textpos_t.incrcolumn_textpos.
void incrcolumn_textpos(textpos_t *txtpos)
Increments the column number.
#define incrline_textpos(
   txtpos
) do { textpos_t * _tpos = (txtpos) ; _tpos->prevlastcolumn = _tpos->column ; _tpos->column = 0 ; ++ _tpos->line ; } while (0)
Implements textpos_t.incrline_textpos.
void incrline_textpos(textpos_t *txtpos)
Increments the line number.
The init_object function takes as its first out parameter the pointer to the object which is to be initialized (object_t ).
#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 arraysf_mwaybranch_t.init_arraysfmwaybranch.
void init_arraysfmwaybranch(/*out*/arraysf_mwaybranch_t *branch,
unsigned shift,
size_t pos1,
arraysf_unode_t *childnode1,
size_t pos2,
arraysf_unode_t *childnode2)
Initializes a new branch node.
static void init_arraystfkeyval(/*out*/arraystf_keyval_t *keyval,
size_t offset,
arraystf_node_t *node)
Loads next key data byte at offset from node into keyval.
#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 arraystf_mwaybranch_t.init_arraystfmwaybranch.
void init_arraystfmwaybranch(/*out*/arraystf_mwaybranch_t *branch,
size_t offset,
unsigned shift,
size_t data1,
arraystf_unode_t *childnode1,
size_t data2,
arraystf_unode_t *childnode2)
Initializes a new branch node.
Inits the string description fields and sets the type to suffixtree_leaf_t.
Inits the string description fields and sets the type to suffixtree_node_t.
int init_binarystack(/*out*/binarystack_t *stack,
uint32_t preallocate_size)
Initializes stack object and reserves at least preallocate_size bytes.
int init_blockarray(/*out*/blockarray_t *barray,
uint8_t pagesize,
uint16_t elementsize)
Initializes barray to use blocks of memory of size pagesize (see pagesize_e).
extern int init_convertwchar(/*out*/convert_wchar_t *conv,
size_t input_len,
const char *input_string)
Inits convert_wchar_t with a pointer to a mbs string.
Implements crc32_t.init_crc32.
void init_crc32(/*out*/crc32_t *crc)
Initializes object of type crc32_t.
int init_cstring(/*out*/cstring_t *cstr,
size_t preallocate_size)
Inits cstring_t and preallocates memory.
int init_csvfilereader(/*out*/csvfilereader_t *csvfile,
const char *filepath)
Opens file and reads all contained values.
#define init_dlist(list) ((void)(*(list) = (dlist_t)dlist_INIT))
Implements dlist_t.init_dlist.
void init_dlist(/*out*/dlist_t *list)
Initializes a dlist_t object.
int init_eglconfig(/*out*/eglconfig_t *eglconf,
struct opengl_display_t *egldisp,
const int32_t config_attributes[])
Returns a configuration which matches the given attributes.
int init_eglcontext(/*out*/eglcontext_t *eglcont,
struct opengl_display_t *egldisp,
struct opengl_config_t *eglconf,
uint8_t api)
Initializes eglcont with a graphic context.
int init_eglpbuffer(/*out*/eglpbuffer_t *eglpbuf,
struct opengl_display_t *egldisp,
struct opengl_config_t *eglconf,
uint32_t width,
uint32_t height)
Allocates a pixel buffer with size (width, height) in pixels and returns it in eglpbuf.
int init_errorcontext(/*out*/errorcontext_t *errcontext)
Initializes errcontext with static system error string table.
int init_exthash(/*out*/exthash_t *htable,
size_t initial_size,
size_t max_size,
const typeadapt_member_t *nodeadp)
Allocates a hash table of at least size 1.
int init_file(/*out*/file_t *fileobj,  
const char *filepath,  
accessmode_e iomode,  
const struct directory_t *relative_to/*0 = > current working dir*/)
Opens a file identified by its path and name.
void init_filepathstatic(/*out*/filepath_static_t *fpath,
const struct directory_t *workdir,
const char *filename)
Initializes fpath with the path of working directory workdir and filename.
int init_filereader(/*out*/filereader_t *frd,  
const char *filepath,  
const struct directory_t *relative_to/*0 = > current working dir*/)
Opens file for reading into a double buffer.
int init_gconfig(/*out*/gconfig_t *gconf,
struct display_t *display,
const int32_t config_attributes[])
Returns an OpenGL surface configuration for display.
int init_gcontext(/*out*/gcontext_t *cont,
struct display_t *disp,
struct gconfig_t *gconf,
uint8_t api)
Creates a new native OpenGL graphic context.
#define INIT_GLWINDOW(
   win,
   disp,
   gconf
) initx11_eglwindow(&gl_window(win), gl_display(disp), gl_gconfig(gconf), &win->oswindow)
Initializes the OpenGL part of win in an OS specific way.
static inline void init_initqueueentry(initqueue_entry_t *initentry,
syncrun_f mainfct,
void *initarg)
Initialize initentry with mainfct and initarg.
#define init_iobj(
   iobj,
   _object,
   _iimpl
) do { typeof(iobj) _obj = (iobj) ; _obj->object = (_object) ; _obj->iimpl = (_iimpl) ; } while (0)
Implements iobj_t.init_iobj.
void init_iobj(/*out*/iobj_t *iobj,
void *object,
void *iimpl)
Generic initialization.
int init_iopoll(/*out*/iopoll_t *iopoll)
Creates epoll event notification facility.
int init_iopoll(/*out*/iopoll_t *iopoll)
Creates system specific event queue to query for io events (ioevent_t).
int init_ipsocket(/*out*/ipsocket_t *ipsock,
const struct ipaddr_t *localaddr)
Creates a new unconnected UDP network communication endpoint.
int init_logbuffer(/*out*/logbuffer_t *logbuf,
uint32_t buffer_size,
uint8_t buffer_addr[buffer_size],
sys_iochannel_t io)
Initializes object.
int init_logwriter(/*out*/logwriter_t *lgwrt)
Allocates memory for the structure and initializes all variables to default values.
int init_maincontext(const maincontext_e context_type,
int argc,
const char **argv)
Initializes global program context.
int init_mmfile(
   /*out*/mmfile_t *mfile,  
   const char *file_path,  
   off_t file_offset,  
   size_t size,  
   accessmode_e mode,  
   const struct directory_t * relative_to /*0 = >current_working_directory*/
)
Opens a new file and maps it to memory.
int init_mmimpl(/*out*/mm_impl_t *mman)
Initializes a new memory manager.
int init_module(/*out*/module_t *mod,
const char *modulename)
Maps a file as binary executable into memory whose filename is modulename.
#define init_mutex(mutex) (0)
Implement mutex_t.init_mutex as a no op if !defined(KONFIG_SUBSYS_THREAD)
int init_mutex(/*out*/mutex_t *mutex)
Initializer for a mutex with error checking.
int init_objectcacheimpl(/*out*/objectcache_impl_t *objectcache)
Inits objectcache_impl_t and all contained objects.
#define INIT_OPENGL(
   disp
) initx11_egldisplay(&(disp)->gldisplay, &(disp)->osdisplay)
Initializes the OpenGL part of 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 graphic display 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)
Initializes the native window oswindow in an OS specific way.
int init_pagecacheblockmap(/*out*/pagecache_blockmap_t *blockmap)
Allocates a shared hash table of size pagecache_blockmap_FREE.
int init_pagecacheimpl(/*out*/pagecache_impl_t *pgcache)
Preallocates at least 1MB of memory and initializes pgcache.
#define init_patriciatrie(
   tree,
   nodeadp
) ((void)(*(tree) = (patriciatrie_t) patriciatrie_INIT(0, *(nodeadp))))
Implements patriciatrie_t.init_patriciatrie.
void init_patriciatrie(/*out*/patriciatrie_t *tree,
const typeadapt_member_t *nodeadp)
Inits an empty tree object.
int init_pixelbuffer(/*out*/pixelbuffer_t *pbuf,
struct display_t *disp,
struct gconfig_t *gconf,
uint32_t width,
uint32_t height)
Creates a new native OpenGL off-screen pixel buffer.
int init_platform(mainthread_f main_thread,
void *user)
Initialize system context and calls main_thread.
int init_process(/*out*/process_t *process,
process_task_f child_main,
void *start_arg,
process_stdio_t *stdfd)
Creates child process which executes a function.
int init_processcontext(/*out*/processcontext_t *pcontext)
Initializes the current process context.
static int init_processstdio2(/*out*/process_stdfd2_t *stdfd2,
process_stdio_t *stdfd)
Initializes process_stdfd2_t with process_stdio_t and opens devnull.
#define init_queue(queue) (*(queue) = (queue_t) queue_INIT, 0)
Implements queue_t.init_queue.
int init_queue(/*out*/queue_t *queue)
Sets al fields to 0.
#define init_redblacktree(
   tree,
   nodeadp
) ((void)(*(tree) = (redblacktree_t) redblacktree_INIT(0, *(nodeadp))))
Implements redblacktree_t.init_redblacktree.
int init_redblacktree(/*out*/redblacktree_t *tree,
const typeadapt_member_t *nodeadp)
Inits an empty tree object.
int init_resourceusage(/*out*/resourceusage_t *usage)
Stores the number of resources currently in use.
static inline void init_run2queueentry(/*out*/run2queue_entry_t *runentry,
syncthread_t *thread,
syncevent_t *exitevent)
Initializes runentry with thread and exitevent.
static inline void init_runqueueentry(/*out*/runqueue_entry_t *runentry,
const syncthread_t *thread)
Initializes runentry with thread.
#define init_rwlock(rwlock) ((void)(*(rwlock) = (rwlock_t) rwlock_INIT))
Implements rwlock_t.init_rwlock.
void init_rwlock(/*out*/rwlock_t *rwlock)
Initializes data members.
int init_semaphore(/*out*/semaphore_t *semaobj,
uint16_t init_signal_count)
Initializes a semaphore.
void init_sha1hash(/*out*/sha1_hash_t *sha1)
Inits internal fields to start values.
#define init_slist(list) ((void)(*(list) = (slist_t)slist_INIT))
Implements slist_t.init_slist.
void init_slist(/*out*/slist_t *list)
Initializes a single linked list object.
#define init_splaytree(tree) ((void)(*(tree) = (splaytree_t) splaytree_INIT(0)))
Implements splaytree_t.init_splaytree.
void init_splaytree(/*out*/splaytree_t *tree)
Inits an empty tree object.
static inline void init_staticpage(staticpage_t **staticpage,
memblock_t *page)
Initializes a staticpage_t as head of page and returns a pointer to it.
static inline void init_string(/*out*/string_t *str,
size_t size,
const uint8_t string[size])
Implements string_t.init_string.
static inline void init_string(/*out*/string_t *str,
size_t size,
const uint8_t string[size])
Assigns constant string buffer to str.
int init_stringstream(/*out*/stringstream_t *strstream,
const uint8_t *startaddr,
const uint8_t *endaddr)
Initializes stringstream with start and end address.
#define init_syncqueue(
   syncqueue
) ((void)(*(syncqueue) = (syncqueue_t) syncqueue_INIT))
Implements syncqueue_t.init_syncqueue.
void init_syncqueue(/*out*/syncqueue_t *syncqueue)
Initializes syncqueue.
int init_syncrun(/*out*/syncrun_t *srun)
Initializes a set of queues.
#define init_syncthread(
   sthread,
   mainfct,
   state
) ((void)(*(sthread) = (syncthread_t) syncthread_INIT(mainfct, state)))
Implements syncthread_t.init_syncthread.
void init_syncthread(/*out*/syncthread_t *sthread,
syncthread_f mainfct,
void *state)
Initializes sthread with { mainfct, state } .
#define init_syncwait(
   syncwait,
   thread,
   _event,
   continuelabel
) do { typeof(syncwait) _sw = (syncwait) ; *_sw = (syncwait_t) { *(thread), (_event), (continuelabel) } ; _sw->event->waiting = _sw ; } while(0)
Implements syncwait_t.init_syncwait.
void init_syncwait(/*out*/syncwait_t *syncwait,
const syncthread_t *thread,
syncevent_t *event,
void *continuelabel)
Initializes syncwait and registers itself at event.
void init_syncwlist(/*out*/syncwlist_t *wlist)
The double linked list dlist_t will not be stored.
void init_syncwlist(/*out*/syncwlist_t *wlist)
Initializes wlist to an empty list.
int init_systimer(/*out*/systimer_t *timer,
sysclock_e clock_type)
Allocates a new system timer.
#define init_sysuser(sysuser) ((*(sysuser)) = (sysuser_t) sysuser_FREE, 0)
Implement sysuser_t.init_sysuser as noop if !defined(KONFIG_SUBSYS_SYSUSER)
int init_sysuser(/*out*/sysuser_t *sysusr)
Initializes system user of process at process start.
#define init_testerrortimer(
   errtimer,
   timercount,
   errcode
) ((void) (*(errtimer) = (test_errortimer_t){ timercount, errcode }))
Implements test_errortimer_t.init_testerrortimer.
void init_testerrortimer(/*out*/test_errortimer_t *errtimer,
uint32_t timercount,
int errcode)
Inits errtimer with timercount and errcode.
int init_testmm(/*out*/testmm_t *mman)
Initializes a new test memory manager.
#define init_textpos(
   txtpos,
   colnr,
   linenr
) ((void)(*(txtpos) = (textpos_t) { colnr, linenr, 0 }))
Implements textpos_t.init_textpos.
void init_textpos(/*out*/textpos_t *txtpos,
size_t colnr,
size_t linenr)
Sets column and line numbers to arbitrary values.
static int init_textresource(/*out*/textresource_t *textres,
const char *read_from_filename)
Initializes textresource_t object.
static int init_textresourcereader(/*out*/textresource_reader_t *reader,
const char *filename)
Opens file and reads header for the version information.
int init_threadcontext(/*out*/threadcontext_t *tcontext,
struct processcontext_t *pcontext,
uint8_t context_type)
Creates all top level services which are bound to a single thread.
int init_threadtls(/*out*/thread_tls_t *tls)
Allocates a memory block big enoug to hold all thread local storage data.
#define init_thrmutex(mutex) ((void)(*(mutex) = (thrmutex_t) thrmutex_INIT))
Implements thrmutex_t.init_thrmutex.
void init_thrmutex(/*out*/thrmutex_t *mutex)
Sets mutex to thrmutex_INIT.
#define init_trie(trie) (*(trie) = (trie_t) trie_INIT, 0)
Implements trie_t.init_trie.
int init_trie(/*out*/trie_t *trie)
Initializes trie with 0 pointer.
static void init_trienodeoffsets(/*out*/trie_nodeoffsets_t *offsets,
uint16_t prefixlen,
bool isuservalue,
const uint16_t nrchild)
Initializes offsets from prefixlen, optional uservalue, and number of child pointers nrchild.
int init_typeadaptimpl(/*out*/typeadapt_impl_t *typeadp,
size_t objectsize)
Initializes implementation to support objectes of size objectsize.
#define init_typeadaptnodeoffset(nodeoff,
nodeoffset) ((void) (*(nodeoff) = nodeoffset))
Implements typeadapt_nodeoffset_t.init_typeadaptnodeoffset.
void init_typeadaptnodeoffset(/*out*/typeadapt_nodeoffset_t *nodeoff,
uint16_t nodeoffset)
Inits typeadapt_nodeoffset_t structure with offset to struct member.
int init_utf8reader(/*out*/utf8reader_t *utfread,  
const char *filepath,  
const struct directory_t *relative_to/*0 = > current working dir*/)
Opens file at filepath for reading as UTF-8 encoded text.
int init_utf8scanner(/*out*/utf8scanner_t *scan)
Sets all data members to 0.
#define init_utf8validator(
   utf8validator
) ((void)(*(utf8validator) = (utf8validator_t) utf8validator_INIT))
Implements utf8validator_t.init_utf8validator.
void init_utf8validator(/*out*/utf8validator_t *utf8validator)
Same as assigning utf8validator_INIT.
int init_valuecache(/*out*/valuecache_t *valuecache)
Sets values of valuecache.
int init_vmmappedregions(/*out*/vm_mappedregions_t *mappedregions)
Returns in mappedregions the descriptions of all current virtual memory mappings.
#define init_vmpage(
   vmpage,
   size_in_bytes
) (init2_vmpage((vmpage), (size_in_bytes), accessmode_RDWR|accessmode_PRIVATE))
Implements vmpage_t.init_vmpage.
int init_vmpage(/*out*/vmpage_t *vmpage,
size_t size_in_bytes)
Map memory into the virtual address space of the calling process.
static inline void init_wait2queueentry(/*out*/wait2queue_entry_t *waitentry,
syncrun_t *srun,
syncthread_t *thread,
syncevent_t *exitevent)
Initializes waitentry with thread and exitevent and uses srun->waitinfo to read the event and the continuelabel.
int init_waitlist(/*out*/waitlist_t *wlist)
Inits a waiting list.
static inline void init_waitqueueentry(/*out*/waitqueue_entry_t *waitentry,
syncrun_t *srun,
syncthread_t *thread)
Initializes waitentry with thread and uses srun->waitinfo to read the event and the continuelabel.
int init_window(/*out*/window_t *win,
struct display_t *disp,
uint32_t screennr,
const struct window_evh_t *eventhandler,
struct gconfig_t *gconf,
struct windowconfig_t *winattr)
Creates a new native window and its OpenGL extension/wrapper type.
int init_x11dblbuffer(/*out*/x11dblbuffer_t *dblbuf,
struct x11window_t *x11win)
Tries to allocate a double buffer associated with window.
int init_x11display(/*out*/x11display_t *x11disp,
const char *display_server_name)
Connects to a X11 display server and returns the newly created connection.
int init_x11screen(/*out*/x11screen_t *x11screen,
struct x11display_t *display,
uint32_t nrscreen)
Initializes x11screen_t with reference to x11display_t and screen number.
int init_x11videomodeiterator(/*out*/x11videomode_iterator_t *xvidit,
struct x11screen_t *x11screen)
Returns an iterator to a list of all video modes supported by x11screen_t.
int init_x11window(/*out*/x11window_t *x11win,
struct x11display_t *x11disp,
uint32_t screennr,
const struct x11window_evh_t *eventhandler,
const int32_t *gconf_attrib,
const struct windowconfig_t *winconf_attrib)
Create a native X11 window on x11screen and assign it to x11win.
static inline void init2_initqueueentry(initqueue_entry_t *initentry,
syncrun_f mainfct,
uint8_t initargsize)
Initialize initentry with mainfct and initarg and initargsize.
int init2_vmpage(/*out*/vmpage_t *vmpage,
size_t size_in_bytes,
const accessmode_e access_mode)
Map memory into the virtual address space of the calling process.
int init2_x11display(/*out*/x11display_t *x11disp,
const char *display_server_name,
bool isInitExtension)
Same as init_x11display but allows to not initialize any X11 extension.
int initaccept_ipsocket(/*out*/ipsocket_t *ipsock,  
ipsocket_t *listensock,  
struct ipaddr_t *remoteaddr/*0 = > ignored*/)
Waits for an incoming connection request from a peer (client).
int initaligned_vmpage(/*out*/vmpage_t *vmpage,
size_t powerof2_size_in_bytes)
Map new memory into the virtual address space of the calling process.
ipaddr_t * initany_ipaddrstorage(ipaddr_storage_t *addr,
ipprotocol_e protocol,
ipport_t port,
ipversion_e version)
Inits ipaddr_storage_t as an ip addr of type ipaddr_t with given ipversion_e.
int initappend_file(/*out*/file_t *fileobj,  
const char *filepath,  
const struct directory_t *relative_to/*0 = > current working dir*/)
Opens or creates a file to append only.
int initasmm_testmm(/*out*/struct mm_t *testmm)
Calls init_testmm and wraps object into interface object mm_t.
int initconnect_ipsocket(/*out*/ipsocket_t *ipsock,  
const struct ipaddr_t *remoteaddr,  
const struct ipaddr_t *localaddr/*0 = newany_ipaddr*/)
Creates a connected network communication endpoint.
int initconnect_ipsocketasync(/*out*/ipsocket_async_t *ipsockasync,
const struct ipaddr_t *remoteaddr,
const struct ipaddr_t *localaddr)
Same as initconnect_ipsocket except for async operation.
extern int initcopy_convertwchar(/*out*/convert_wchar_t * restrict dest,
const convert_wchar_t * restrict source)
Copies state from source to dest.
#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 iobj_t.initcopy_iobj.
void initcopy_iobj(/*out*/iobj_t *destiobj,
const iobj_t *srciobj)
Generic initialization.
int initcopy_iochannel(/*out*/iochannel_t *ioc,
iochannel_t from_ioc)
Makes ioc a duplicate of from_ioc.
static inline void initcopy_string(/*out*/string_t *str,
const string_t * restrict srcstr)
Implements string_t.initcopy_string.
static inline void initcopy_string(/*out*/string_t *str,
const string_t * restrict srcstr)
Copies content of srcstr to str.
uint16_t initcount
Counts the number of successfull initialized services/subsystems.
size_t initcount
Number of correct initialized objects.
int initcreate_file(/*out*/file_t *fileobj,  
const char *filepath,  
const struct directory_t *relative_to/*0 = > current working dir*/)
Creates a file identified by its path and name.
int initcurrent_x11videomode(/*out*/x11videomode_t *current_xvidmode,
struct x11screen_t *x11screen)
Returns the current active video mode of the default screen.
static int initdecode_trienodeoffsets(/*out*/trie_nodeoffsets_t *offsets,
const trie_nodedata_t *data)
Init offsets from decoded information stored in header.
int initdefault_display(/*out*/display_t *disp)
Initializes disp with a connection to the default display.
int initdefault_egldisplay(/*out*/egldisplay_t *egldisp)
Initializes egldisp with the default display connection.
static int initdiff_arraystfkeyval(/*out*/arraystf_keyval_t *keyval,
arraystf_node_t *node,
arraystf_node_t *key)
Searches the first position where the two keys differ.
#define initdouble_stringfield(
   strfield,
   dval
) ( __extension__ ({ (strfield)->type = string_field_DOUBLE ; (strfield)->val.d = dval ; 0 ; }))
Implements string_field_t.initdouble_stringfield.
int initdouble_stringfield(/*out*/string_field_t *strfield,
double dval)
Inits string_field_t describing a double value.
int initexec_process(/*out*/process_t *process,  
const char *filename,  
const char * const *arguments,  
process_stdio_t * stdfd /*0 = > /dev/null*/)
Executes another program with same environment.
static int initfile_filereader(
   /*out*/file_t *fd,  
   /*out*/off_t *filesize,  
   const char *filepath,  
   const struct directory_t *relative_to/*0 = > current working dir*/
)
Opens file for reading.
int initfiltered_eglconfig(/*out*/eglconfig_t *eglconf,
struct opengl_display_t *egldisp,
const int32_t config_attributes[],
eglconfig_filter_f filter,
void *user)
Same as init_eglconfig except that more than one possible configuration is considered.
int initfiltered_gconfig(/*out*/gconfig_t *gconf,
struct display_t *display,
const int32_t config_attributes[],
gconfig_filter_t *filter)
Same as init_gconfig except that more than one possible configuration is considered.
int initfirst_arraysfiterator(/*out*/arraysf_iterator_t *iter,
arraysf_t *array)
Initializes an iterator for arraysf_t.
int initfirst_arraystfiterator(/*out*/arraystf_iterator_t *iter,
arraystf_t *array)
Initializes an iterator for an arraystf_t.
#define initfirst_dlistiterator(
   iter,
   list
) ( __extension__ ({ typeof(iter) _iter = (iter) ; typeof(list) _list = (list) ; *_iter = (typeof(*_iter)) { first_dlist(_list), _list } ; 0 ; }))
Implements dlist_iterator_t.initfirst_dlistiterator.
int initfirst_dlistiterator(/*out*/dlist_iterator_t *iter,
dlist_t *list)
Initializes an iterator for dlist_t.
int initfirst_exthashiterator(/*out*/exthash_iterator_t *iter,
exthash_t *htable)
Initializes an iterator for exthash_t.
int initfirst_patriciatrieiterator(/*out*/patriciatrie_iterator_t *iter,
patriciatrie_t *tree)
Initializes an iterator for patriciatrie_t.
int initfirst_patriciatrieprefixiter(/*out*/patriciatrie_prefixiter_t *iter,
patriciatrie_t *tree,
size_t keylength,
const uint8_t prefixkey[keylength])
Initializes an iterator for patriciatrie_t for nodes with prefix prefixkey.
#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 queue_iterator_t.initfirst_queueiterator.
int initfirst_queueiterator(/*out*/queue_iterator_t *iter,
queue_t *queue,
uint16_t nodesize)
Initializes an iterator for queue_t.
int initfirst_redblacktreeiterator(/*out*/redblacktree_iterator_t *iter,
redblacktree_t *tree)
Initializes an iterator for redblacktree_t.
#define initfirst_slistiterator(
   iter,
   list
) ( __extension__ ({ typeof(iter) _iter = (iter) ; typeof(list) _list = (list) ; *_iter = (typeof(*_iter)) { first_slist(_list), _list } ; 0 ; }))
Implements slist_t.initfirst_slistiterator.
int initfirst_slistiterator(/*out*/slist_iterator_t *iter,
slist_t *list)
Initializes an iterator for slist_t.
int initfirst_splaytreeiterator(/*out*/splaytree_iterator_t *iter,
splaytree_t *tree,
uint16_t nodeoffset,
typeadapt_t *typeadp)
Initializes an iterator for splaytree_t.
int initfirst_syncwlistiterator(/*out*/syncwlist_iterator_t *iter,
syncwlist_t *wlist)
Initializes an iterator for syncwlist_t.
int initfl_string(/*out*/string_t *str,
const uint8_t *first,
const uint8_t *last)
Assigns static string buffer to str.
#define initfloat_stringfield(
   strfield,
   fval
) ( __extension__ ({ (strfield)->type = string_field_FLOAT ; (strfield)->val.f = fval ; 0 ; }))
Implements string_field_t.initfloat_stringfield.
int initfloat_stringfield(/*out*/string_field_t *strfield,
float fval)
Inits string_field_t describing a float value.
int initfromconfigid_eglconfig(/*out*/eglconfig_t *eglconf,
struct opengl_display_t *egldisp,
const uint32_t id)
Returns a configuration with ID id.
int initfromconfigid_gconfig(/*out*/gconfig_t *gconf,
struct display_t *display,
const uint32_t configid)
Returns an OpenGL surface configuration whose ID matches configid.
int initfromio_mmfile(/*out*/mmfile_t *mfile,
sys_iochannel_t fd,
off_t file_offset,
size_t size,
accessmode_e mode)
Maps a file referenced by sys_iochannel_t into memory.
int initfromstring_cstring(/*out*/cstring_t *cstr,
const struct string_t *copiedfrom)
Inits cstring_t and copies data from string_t.
int initfromstring_string(/*out*/stringstream_t *strstream,
const struct string_t *str)
Initializes stringstream from string_t.
void initfromstringstream_string(/*out*/string_t *str,
const struct stringstream_t *strstream)
Initializes str with content of stringstream_t.
#define initfromvalues_x11videomode(
   xvidmode,
   width_in_pixel,
   height_in_pixel,
   modeid
) ((void)(*(xvidmode) = (x11videomode_t) { width_in_pixel, height_in_pixel, modeid }))
Implements x11videomode_t.initfromvalues_x11videomode.
void initfromvalues_x11videomode(/*out*/x11videomode_t *xvidmode,
uint32_t width_in_pixel,
uint32_t height_in_pixel,
uint16_t modeid)
Initializes xvidmode with the parameter values.
#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 ) ; }))
Implements process_t.initgeneric_process.
int initgeneric_process(/*out*/process_t *process,
process_task_f child_main,
void *start_arg,
process_stdio_t *stdfd)
Same as init_process except that it accepts functions with generic argument type.
#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 ;
Initializes iobj.
#define initlast_dlistiterator(
   iter,
   list
) ( __extension__ ({ typeof(iter) _iter = (iter) ; typeof(list) _list = (list) ; *_iter = (typeof(*_iter)) { last_dlist(_list), _list } ; 0 ; }))
Implements dlist_iterator_t.initlast_dlistiterator.
int initlast_dlistiterator(/*out*/dlist_iterator_t *iter,
dlist_t *list)
Initializes an iterator for dlist_t.
int initlast_patriciatrieiterator(/*out*/patriciatrie_iterator_t *iter,
patriciatrie_t *tree)
Initializes an iterator of patriciatrie_t.
int initlast_redblacktreeiterator(/*out*/redblacktree_iterator_t *iter,
redblacktree_t *tree)
Initializes an iterator of redblacktree_t.
int initlast_splaytreeiterator(/*out*/splaytree_iterator_t *iter,
splaytree_t *tree,
uint16_t nodeoffset,
typeadapt_t *typeadp)
Initializes an iterator of splaytree_t.
int initlisten_ipsocket(/*out*/ipsocket_t *ipsock,
const struct ipaddr_t *localaddr,
uint16_t max_outstanding_connections)
Creates a TCP server socket for accepting connections from peers (clients).
int initmain_thread(/*out*/thread_t *thread)
Initializes main thread.
int initmain_threadtls(/*out*/thread_tls_t *tls,
/*out*/struct memblock_t *threadstack,
/*out*/struct memblock_t *signalstack)
Same as init_threadtls but calls no other functions of C-kern system.
#define initmove_cstring(
   dest,
   source
) do { *(dest) = *(source) ; *(source) = (cstring_t) cstring_FREE ; } while(0)
Implements cstring_t.initmove_cstring.
void initmove_cstring(/*out*/cstring_t * restrict dest,
cstring_t * restrict source)
Inits dest with content of source and sets source to cstring_FREE.
static inline void initmove_file(file_t * restrict destfile,
file_t * restrict sourcefile)
Implements file_t.initmove_file.
static inline void initmove_file(/*out*/file_t * restrict destfile,
file_t * restrict sourcefile)
Moves content of sourcefile to destfile.
#define initmove_mmfile(
   destmfile,
   sourcemfile
) do { mmfile_t * _sourcemfile = (sourcemfile); *(destmfile) = *(_sourcemfile); *(_sourcemfile) = (mmfile_t) mmfile_FREE; } while (0)
Implements mmfile_t.initmove_mmfile.
void initmove_mmfile(/*out*/mmfile_t * restrict destmfile,
mmfile_t * restrict sourcemfile)
Moves content of sourcemfile to destmfile.
void initmove_queue(/*out*/queue_t *dest,
queue_t *src)
Moves the object to another memory address.
static inline void initmove_run2queueentry(/*out*/run2queue_entry_t *dest,
run2queue_entry_t *src)
Initializes dest with src.
static inline void initmove_runqueueentry(/*out*/runqueue_entry_t *dest,
runqueue_entry_t *src)
Initializes dest with src.
#define initmove_syncevent(
   destsyncevent,
   srcsyncevent
) do { typeof(destsyncevent) _dest = (destsyncevent) ; *_dest = *(srcsyncevent) ; _dest->waiting->event = _dest ; } while(0)
Implements syncevent_t.initmove_syncevent.
void initmove_syncevent(/*out*/syncevent_t *destsyncevent,
const syncevent_t *srcsyncevent)
Moves initialized srcsyncevent to destsyncevent.
#define initmove_syncwait(
   destsyncwait,
   srcsyncwait
) do { typeof(destsyncwait) _dest = (destsyncwait) ; *_dest = *(srcsyncwait) ; _dest->event->waiting = _dest ; } while(0)
Implements syncwait_t.initmove_syncwait.
void initmove_syncwait(/*out*/syncwait_t *destsyncwait,
const syncwait_t *srcsyncwait)
Moves initialized (!)
void initmove_syncwlist(/*out*/syncwlist_t *destwlist,
syncwlist_t *srcwlist)
Initializes destwlist with content of scrwlist and clears srcwlist.
static inline void initmove_wait2queueentry(/*out*/wait2queue_entry_t *dest,
wait2queue_entry_t *src)
Moves content of initialized src to dest.
static inline void initmove_waitqueueentry(/*out*/waitqueue_entry_t *dest,
waitqueue_entry_t *src)
Moves content of initialized src to dest.
void initmove_wlistentry(/*out*/wlistentry_t *dest,
wlistentry_t *src)
Moves src to dest.
int initmove_x11display(/*out*/x11display_t *destination,
x11display_t *source)
Must be called if address of x11display_t changes.
int initmove_x11window(/*out*/x11window_t *dest_x11win,
x11window_t *src_x11win)
Must be called if address of x11window_t changes.
#define initmovesafe_syncevent(
   destsyncevent,
   srcsyncevent
) do { typeof(destsyncevent) _dest = (destsyncevent) ; *_dest = *(srcsyncevent) ; if (_dest->waiting) { _dest->waiting->event = _dest ; } } while(0)
Implements syncwait_t.initmovesafe_syncevent.
void initmovesafe_syncevent(/*out*/syncevent_t *destsyncevent,
const syncevent_t *srcsyncevent)
Moves initialized or free srcsyncevent to destsyncevent.
int initnamed_ipport(/*out*/ipport_t *port,
const char *servicename,
ipprotocol_e protocol)
Returns the tcp and udp port numbers of a named IP service.
#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 ;
Initializes object.
#define initonce_errorcontext(
   error
) (init_errorcontext(genericcast_errorcontext(error)))
Implements errorcontext_t.initonce_errorcontext.
int initonce_errorcontext(/*out*/errorcontext_t *error)
Called from maincontext_t.init_maincontext.
int initonce_locale(void)
Called from maincontext_t.init_maincontext.
#define initonce_signalhandler() (0)
Implement init as a no op if !defined(KONFIG_SUBSYS_THREAD)
int initonce_signalhandler(void)
Sets up a process wide signal handler and signal masks at process initialization.
#define initonce_X11() (0)
Implement init as a no op if defined KONFIG_USERINTERFACE_X11.
int initonce_X11(void)
Init Xlib such that calling into it is thread safe.
static inline int initpageblock_pagecacheblock(vmpage_t *pageblock,
size_t blocksize)
Allocates resources of pagecache_block_t stored in pagecache_block_t.pageblock.
static void initprogname_maincontext(const char **progname,
const char *argv0)
Sets *progname to (strrchr(argv0, “/”)+1).
struct initqueue_entry_t
Helds all data needed to construct a new syncthread_t.
int initrealtime_signalwait(/*out*/signalwait_t *signalwait,
signalrt_t minrt,
signalrt_t maxrt)
Initializes a set of realtime signals which can be waited upon.
int initse_string(/*out*/string_t *str,
const uint8_t *start,
const uint8_t *end)
Assigns static string buffer to str.
static inline int initshared_egldisplay(egldisplay_t *egldisp,
EGLDisplay display)
Inits egldisp with display.
int initsingle_filereader(/*out*/filereader_t *frd,  
const char *filepath,  
const struct directory_t *relative_to/*0 = > current working dir*/)
Opens file for reading into a single buffer.
#define initsingle_slist(
   list,
   node
) ((void)(*(list) = (slist_t){ node }, (node)->next = (node)))
Implements slist_t.initsingle_slist.
void initsingle_slist(/*out*/slist_t *list,
slist_node_t *node)
Initializes a single linked list object containing a single node.
int initsingleton_unittest(const char *log_files_directory)
Prepares the single instance of unittest_t to execute tests.
int initsplit_mmfile(/*out*/mmfile_t *destheadmfile,
/*out*/mmfile_t *desttailmfile,
size_t headsize,
mmfile_t *sourcemfile)
Split a memory mapping into two.
int initstart_maincontext(const maincontext_startparam_t *startparam)
Calls platform_t.init_platform, maincontext_t.init_maincontext and runs main_thread.
#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 string_field_t.initstring_stringfield.
int initstring_stringfield(/*out*/string_field_t *strfield,
struct string_t *strval)
Inits string_field_t describing a string value.
int initsubstr_string(/*out*/string_t *str,
const string_t * restrict fromstr,
size_t start_offset,
size_t size)
Initializes str with substring of fromstr.
int initthread_pagecacheimpl(/*out*/struct pagecache_t *pagecache)
Calls init_pagecacheimpl and adds interface pagecache_it to object.
int initvid_x11window(
   out struct x11display_t *x11disp,
   uint32_t screennr,
   const struct x11window_evh_t *eventhandler,
   (X11) VisualID const struct windowconfig_t *winconf_attrib
)
Called from x11window_t.init_x11window.
int initvid_x11window(/*out*/x11window_t *x11win,
struct x11display_t *x11disp,
uint32_t screennr,
const struct x11window_evh_t *eventhandler,
/*(X11) VisualID*/uint32_t config_visualid,
const struct windowconfig_t *winconf_attrib)
Create a native X11 window on x11screen and assign it to x11win.
int initx11_egldisplay(/*out*/egldisplay_t *egldisp,
struct x11display_t *x11disp)
Initializes egldisp with x11disp.
int initx11_eglwindow(/*out*/eglwindow_t *eglwin,
struct opengl_display_t *egldisp,
struct opengl_config_t *eglconf,
struct x11window_t *x11win)
Initializes eglwin with x11win.
int insert_arraysf(
   arraysf_t *array,  
   struct arraysf_node_t *node,  
   /*out*/struct arraysf_node_t **inserted_node/*0 = >not returned*/,
   struct typeadapt_member_t *nodeadp/*0 = >no copy is made*/
)
Inserts new node at position pos into array.
int insert_arraystf(
   arraystf_t *array,  
   struct arraystf_node_t *node,  
   /*out*/struct arraystf_node_t **inserted_node/*0 = >copy not returned*/,
   struct typeadapt_member_t *nodeadp/*0 = >no copy is made*/
)
Inserts new node with string key into array.
int insert_exthash(exthash_t *htable,
exthash_node_t *new_node)
Inserts a new node into the hash table if it is unique.
int insert_patriciatrie(patriciatrie_t *tree,
patriciatrie_node_t *newnode)
Inserts a new node into the tree only if it is unique.
int insert_redblacktree(redblacktree_t *tree,
redblacktree_node_t *new_node)
Inserts a new node into the tree only if it is unique.
int insert_splaytree(splaytree_t *tree,
splaytree_node_t *new_node,
uint16_t nodeoffset,
typeadapt_t *typeadp)
Inserts a new node into the tree only if it is unique.
#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 syncqueue_t.insert_syncqueue.
int insert_syncqueue(syncqueue_t *syncqueue,
IDNAME **newelem)
Add new element of type IDNAME to end of queue (last).
int insert_syncwlist(syncwlist_t *wlist,
struct syncqueue_t *queue,
/*out*/struct syncevent_t **newevent)
Allocates new wlist node and inserts it into wlist.
#define insert_trie(
   trie,
   keylen,
   key,
   uservalue
) (insert2_trie((trie), (keylen), (key), (uservalue), true))
Implements trie_t.insert_trie.
int insert_trie(trie_t *trie,
uint16_t keylen,
const uint8_t key[keylen],
void *uservalue)
TODO: describe
#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 syncqueue_t.insert2_syncqueue.
int insert2_syncqueue(syncqueue_t *syncqueue,
uint8_t elemsize,
IDNAME **newelem)
Add new element to end of queue (last).
int insert2_trie(trie_t *trie,
uint16_t keylen,
const uint8_t key[keylen],
void *uservalue,
bool islog)
TODO: describe
void insertafter_dlist(dlist_t *list,
struct dlist_node_t *prev_node,
struct dlist_node_t *new_node)
Inserts new_node after prev_node into the list.
void insertafter_slist(slist_t *list,
struct slist_node_t *prev_node,
struct slist_node_t *new_node)
Adds new_node after prev_node into list.
static inline void insertandwait_rwlock(rwlock_t *rwlock,
slist_t *waitlist,
thread_t *self)
Adds thread to list of waiting threads in rwlock.
void insertbefore_dlist(struct dlist_node_t *next_node,
struct dlist_node_t *new_node)
Inserts new_node before next_node into the list.
static int insertchild_trienode(trie_node_t *node,
uint8_t digit,
trie_nodedata_t *child,
uint8_t childindex)
Inserts child into node.
void insertfirst_dlist(dlist_t *list,
struct dlist_node_t *new_node)
Makes new_node the new first element of list.
int insertfirst_queue(queue_t *queue,
/*out*/void **nodeaddr,
uint16_t nodesize)
Allocates nodesize bytes on the first memory page.
void insertfirst_slist(slist_t *list,
struct slist_node_t *new_node)
Makes new_node the new first element of list.
void insertlast_dlist(dlist_t *list,
struct dlist_node_t *new_node)
Makes new_node the new last element of list.
int insertlast_queue(queue_t *queue,
/*out*/void **nodeaddr,
uint16_t nodesize)
Allocates nodesize bytes on the last memory page.
void insertlast_slist(slist_t *list,
struct slist_node_t *new_node)
Makes new_node the new last element of list.
int insertobject_x11display(x11display_t *x11disp,
struct x11window_t *object,
uint32_t objectid)
Registers an object under an objectid.
static int installnew_testmm(const mm_t *testmm)
Installs mm_t which must be of type testmm_t.
static int installold_testmm(/*out*/mm_t *testmm)
Installs the previous mm_t if the current mm is of type testmm_t.
struct int_t
Offers some atomic operations on integers.
Asserts that all integer standard types have the correct size and signedness.
Adapts printf/scanf format specifiers to 32/64 bit architectures.
The structure log_it defines the function table, i.e.
Macro dlist_IMPLEMENT generates dlist interface for freepage_t.
struct log_it * interface_logwriter(void)
This function is called from init_threadcontext.
struct mm_it * interface_mmimpl(void)
This function is called from init_threadcontext.
struct objectcache_it * interface_objectcacheimpl(void)
This function is called from init_threadcontext.
Use macro slist_IMPLEMENT to generate an adapted interface of slist_t to thread_t.
Macro dlist_IMPLEMENT generates dlist interface for staticpage_t.
Use macro slist_IMPLEMENT to generate an adapted interface of slist_t to thread_t.
Use macro slist_IMPLEMENT to generate an adapted interface of slist_t to thread_t.
Declares iobj_t which defines the standard structure of an interfaceable object.
Implements InterfaceableObject.
The function maincontext_t.init_maincontext calls processcontext_t.init_processcontext and threadcontext_t.init_threadcontext.
mbstate_t internal_state
Internal state used in conversion.
Implements Internetprotocol-Address on Linux.
ALlows to connect & communicate to other systems via TCP or UDP.
Impplements Internetprotocol-Sockets on Linux.
Offers inter thread mutex which works closely with thread_t
Implements InterThreadMutex.
Calculates the absolute value.
Implements Intop-Abs.
Reverses the bits of an integer.
Implements Intop-Bitorder.
TODO: describe module interface
Implements Intop-Byteorder.
Calculates x = log10 of integer i such that pow(10,x) <= i.
Implements Intop-Log10.
Calculates x = log2 of integer i such that pow(2,x) <= i.
Implements Intop-Log2.
Determines if integer i is: (i == 0) || (i == pow(2,x)) or calculates 2 to the power of x such that (pow(2,x) >= i) && (pow(2,x-1) < i).
Implement unittest_generic_bits_power2.
Calculates sign of integer.
Implements Intop-Sign (only unittest_math_int_sign).
Computes the square root of an integer number.
Implements Intop-SquareRoot.
int invariant_exthash(const exthash_t *htable)
Checks that every bucket points to a correct red black tree.
int invariant_redblacktree(redblacktree_t *tree)
Checks that this tree meets 5 conditions of red-black trees.
int invariant_splaytree(splaytree_t *tree,
uint16_t nodeoffset,
typeadapt_t *typeadp)
Checks that nodes of left subtree are smaller and nodes in right subtree are higher than root node.
int invariant_splaytree(splaytree_t *tree,
uint16_t nodeoffset,
typeadapt_t *typeadp)
Checks that all nodes are stored in correct search order.
sys_iochannel_t io
Holds iochannel the log is written to.
Defines how you can access a data block.
#define io_directory(dir) (dirfd((DIR*)CONST_CAST(directory_t, dir)))
Implements directory_t.io_directory.
sys_iochannel_t io_directory(const directory_t *dir)
Returns iochannel_t (file descriptor) of the opened directory.
#define io_file(fileobj) (fileobj)
Implements file_t.io_file.
sys_iochannel_t io_file(const file_t fileobj)
Returns iochannel_t for a file.
#define io_ipsocket(ipsock) (*(ipsock))
Implements ipsocket_t.io_ipsocket.
sys_iochannel_t io_ipsocket(const ipsocket_t *ipsock)
Returns the file descriptor sys_iochannel_t of the socket.
#define io_logbuffer(logbuf) ((logbuf)->io)
Implements logbuffer_t.io_logbuffer.
sys_iochannel_t io_logbuffer(const logbuffer_t *logbuf)
Returns the iochannel_t the content of the buffer is written to.
#define io_signalwait(signalwait) ((sys_iochannel_t)signalwait)
Implement signalwait_t.io_signalwait.
sys_iochannel_t io_signalwait(const signalwait_t signalwait)
Returns the iochannel_t of signalwait.
sys_iochannel_t io_x11display(const x11display_t *x11disp)
Returns file descriptor of network connection.
#define iobj_DECLARE(
   declared_t,
   typenameprefix
) struct declared_t { struct typenameprefix##_t * object ; struct typenameprefix##_it * iimpl ; }
Implements iobj_t.iobj_DECLARE.
void iobj_DECLARE(TYPENAME declared_t,
IDNAME typenameprefix)
Declares an interfaceable object of type declared_t.
#define iobj_FREE { 0, 0 }
Static initializer.
#define iobj_INIT(object,
iimpl) { (object), (iimpl) }
Static initializer.
struct iobj_t
This type has only template character.
struct { uint8_t * addr ; size_t size ; } iobuffer
Used in ALLOC_PAGECACHE.
Defines the callback signature for a function which handles I/O events.
Implements IOCallback.
#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) ; }
Declares a subtype of iocallback_t, i.e.
typedef void (
   *iocallback_f
) (void * iohandler, sys_iochannel_t fd, uint8_t ioevents)
Callback function for handling ioevent_t.
#define iocallback_FREE iocallback_INIT(0,
)
Static initializer.
#define iocallback_INIT(object,
iimpl) { (object), (iimpl) }
Static initializer.
struct iocallback_t
Declares a pointer to callback interface implementing object.
Describes an input/output channel which is implemented as file descriptor on POSIX systems.
Implements IOChannel.
Standard channels which are usually open at process start by convention.
#define iochannel_FREE sys_iochannel_FREE
Static initializer.
The default standard error (output) channel.
The default standard input channel.
The default standard output channel.
typedef sys_iochannel_t iochannel_t
Describes an input/output channel like a file or network connection.
int ioerror
Safes status of last read access to file.
#define ioerror_filereader(frd) ((frd)->ioerror)
Implements filereader_t.ioerror_filereader.
int ioerror_filereader(const filereader_t *frd)
Returns the I/0 error (>0) or 0 if no error occurred.
Describes list of possible IO events.
The peer of a stream oriented connection (pipe, TCP/IP, ...)
Defines list of IO events.
An error condition is signaled on file descriptor.
union ioevent_id_t
The id value of an event.
#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.
You can read from file descriptor.
struct ioevent_t
Associates one or more ioevent_e with an ioevent_id_t.
You can write to a file descriptor.
uint32_t ioevents
One or more ioevent_e values ored together in one event mask.
Facility to manage a set of sys_iochannel_t and to wait and query for IO events of type ioevent_t.
Implements IOPoll.
#define iopoll_FREE { sys_iochannel_FREE }
Static initializer.
struct iopoll_t
Event manager which stores sys_iochannel_t and returns associated ioevent_t.
struct ipaddr_list_t
Stores list of ipaddr_t.
struct ipaddr_storage_t
Holds enough memory for every possible version of ipaddr_t.
struct ipaddr_t
Stores description of an internet protocol address.
#define ipport_ANY 0
System chooses free port number for you.
The UDP or TCP port number.
Only useful as a filter argument to newdnsquery_ipaddrlist.
Currently supported internet protocols.
Use reliable transmission control protocol to send/receive messages.
Use unreliable datagram protocol to send/receive messages.
ipsocket_t ipsock
A socket of type ipsocket_t.
#define ipsocket_async_FREE { ipsocket_FREE, 0 }
Static initializer.
struct ipsocket_async_t
Allows to make a TCP connection in an async way.
#define ipsocket_FREE sys_iochannel_FREE
Static initializer for ipsocket_t.
typedef sys_iochannel_t ipsocket_t
Defines ipsocket_t as alias for sys_iochannel_t.
Selects IP version 4 address types of the form “A.B.C.D”, e.g.
Selects IP version 6 address types of the form “AABB:CCDD::XXYY” .
Only useful as a filter argument to newdnsquery_ipaddrlist.
Selects the version of the ip address.
bool isadmin_sysuserid(sysuser_id_t uid)
Returns true if this user is administrator (== root).
#define isaligned_ptr(ptr,
nrbits) (0 == lsbits_ptr(ptr, nrbits))
Implements ptr_t.isaligned_ptr.
int isaligned_ptr(const ptr_t ptr,
unsigned nrbits)
Returns true if all nrbits least significant bits of ptr are zero.
#define ISBLACK(node) (0 != COLOR(node))
Returns true if color is black.
#define isbranchtype_arraysfunode(
   node
) ( __extension__ ({ const arraysf_unode_t * _node2 = (node) ; ((uintptr_t)(_node2) & 0x01) ; }))
Implements arraysf_unode_t.isbranchtype_arraysfunode.
int isbranchtype_arraysfunode(const arraysf_unode_t *node)
Returns true in case node is pointer to arraysf_mwaybranch_t.
#define isbranchtype_arraystfunode(
   node
) ( __extension__ ({ const arraystf_unode_t * _node3 = (node) ; ((uintptr_t)(_node3) & 0x01) ; }))
Implements arraystf_unode_t.isbranchtype_arraystfunode.
int isbranchtype_arraystfunode(const arraystf_unode_t *node)
Returns true in case node is pointer to arraystf_mwaybranch_t.
#define iscalldelete_typeadapt(typeadp) (0 != (typeadp)->lifetime.delete_object)
Implements typeadapt_t.iscalldelete_typeadapt.
bool iscalldelete_typeadapt(const typeadapt_t *typeadp)
Returns true if typeadapt_lifetime_it.delete_object is not NULL.
static inline int ischild_header(const header_t header)
Return true in case child and digit array are encoded in trie_node_t.
static inline int ischildorsubnode_header(const header_t header)
Return true in case ischild_header or issubnode_header returns true.
bool isconnected_ipsocket(const ipsocket_t *ipsock)
Returns if the socket is connected to a peer.
#define isempty_binarystack(
   stack
) ((stack)->freeblocksize == (stack)->blocksize)
Implements binarystack_t.isempty_binarystack.
int isempty_binarystack(const binarystack_t *stack)
Returns true if stack contains no more data.
#define isempty_dlist(list) (0 == (list)->last)
Implements dlist_t.isempty_dlist.
int isempty_dlist(const dlist_t *list)
Returns true if list contains no elements else false.
#define isempty_exthash(htable) (0 == ((htable)->nr_nodes))
Implements exthash_t.isempty_exthash.
bool isempty_exthash(const exthash_t *htable)
Returns true if the table contains no element.
#define isempty_patriciatrie(tree) (0 == (tree)->root)
Implements patriciatrie_t.isempty_patriciatrie.
bool isempty_patriciatrie(const patriciatrie_t *tree)
Returns true if tree contains no elements.
#define isempty_queue(queue) (0 == (queue)->last)
Implements queue_t.isempty_queue.
bool isempty_queue(const queue_t *queue)
Returns true if queue contains no elements.
#define isempty_redblacktree(tree) (0 == (tree)->root)
Implements redblacktree_t.isempty_redblacktree.
bool isempty_redblacktree(const redblacktree_t *tree)
Returns true if tree contains no elements.
#define isempty_slist(list) (0 == (list)->last)
Implements slist_t.isempty_slist.
int isempty_slist(const slist_t *list)
Returns true if list contains no nodes.
#define isempty_splaytree(tree) (0 == (tree)->root)
Implements splaytree_t.isempty_splaytree.
bool isempty_splaytree(const splaytree_t *tree)
Returns true if tree contains no elements.
#define isempty_string(str) (0 == (str)->size)
Implements string_t.isempty_string.
bool isempty_string(const string_t *str)
Returns true if string has size 0.
#define isempty_syncwlist(wlist) (0 == (wlist)->nrnodes)
Implements syncwlist_t.isempty_syncwlist.
bool isempty_syncwlist(const syncwlist_t *wlist)
Returns true if wlist contains no elements.
bool isempty_waitlist(waitlist_t *wlist)
Returns true if no thread is waiting else false.
#define isenabled_testerrortimer(errtimer) ((errtimer)->timercount > 0)
Implements test_errortimer_t.isenabled_testerrortimer.
bool isenabled_testerrortimer(const test_errortimer_t *errtimer)
Returns true if timer has not fired.
#define iseof_filereader(
   frd
) ( __extension__ ({ const filereader_t * _f ; _f = (frd) ; (_f->unreadsize == 0 && _f->fileoffset == _f->filesize) ; }))
Implements filereader_t.iseof_filereader.
bool iseof_filereader(const filereader_t *frd)
Returns true if end of file is reached.
bool isequal_sysuser(const sysuser_t *lsysusr,
const sysuser_t *rsysusr)
Returns true if lsysusr equals rsysusr.
bool isequal_sysuserid(sysuser_id_t luid,
sysuser_id_t ruid)
Compares two sysuser_id_t for equality.
bool isequal_typeadapt(const typeadapt_t *ltypeadp,
const typeadapt_t *rtypeadp)
Returns true if both typeadapt_t are equal.
bool isequal_typeadaptgethash(const typeadapt_gethash_it *lgethash,
const typeadapt_gethash_it *rgethash)
Returns true if two typeadapt_gethash_it objects are equal.
bool isequal_typeadaptmember(const typeadapt_member_t *ltypeadp,
const typeadapt_member_t *rtypeadp)
Returns true if both typeadapt_member_ts are equal.
#define isequal_typeadaptnodeoffset(
   lnodeoff,
   rnodeoff
) ( __extension__ ({ typeadapt_nodeoffset_t _loff = (lnodeoff) ; typeadapt_nodeoffset_t _roff = (rnodeoff) ; _loff == _roff ; }))
Implements typeadapt_nodeoffset_t.isequal_typeadaptnodeoffset.
bool isequal_typeadaptnodeoffset(const typeadapt_nodeoffset_t lnodeoff,
const typeadapt_nodeoffset_t rnodeoff)
Returns true if both typeadapt_nodeoffset_ts are equal.
bool isequal_x11screen(const x11screen_t *lx11screen,
const x11screen_t *rx11screen)
Returns true if the two objects refer to the same screen.
bool isequalasciicase_string(const string_t *str,
const string_t *str2)
Returns true if two strings compare equal in a case insensitive way.
static inline int isexpandable_trienodeoffsets(
   const trie_nodeoffsets_t *offsets
)
Returns true if the nodesize is lower than maximum size.
#define isextxrandr_x11display(x11disp) ((x11disp)->xrandr.isSupported)
Implements x11display_t.isextxrandr_x11display.
bool isextxrandr_x11display(const x11display_t *x11disp)
Returns true if xrandr extension is supported.
Implements utf8.isfirstbyte_utf8.
bool isfirstbyte_utf8(const uint8_t firstbyte)
Returns true if this byte is a possible first (start) byte of an utf-8 encoded multibyte sequence.
bool isfree_blockarray(const blockarray_t *barray)
Returns true if barray equals blockarray_FREE.
static inline bool isfree_file(file_t fileobj)
Implements file_t.isfree_file.
static inline bool isfree_file(const file_t fileobj)
Returns true if the file was opened with init_file.
bool isfree_filereader(const filereader_t *frd)
Returns true in case frd == filereader_FREE.
static inline bool isfree_iochannel(iochannel_t ioc)
Implements iochannel_t.isfree_iochannel.
static inline bool isfree_iochannel(const iochannel_t ioc)
Returns true if ioc equals iochannel_FREE.
#define isfree_memblock(mblock) (0 == (mblock)->addr && 0 == (mblock)->size)
Implements memblock_t.isfree_memblock.
bool isfree_memblock(const memblock_t *mblock)
Returns true if mblock equals memblock_FREE.
#define isfree_mmfile(
   mfile
) (0 == addr_mmfile(mfile) && 0 == size_mmfile(mfile))
Implements mmfile_t.isfree_mmfile.
bool isfree_mmfile(const mmfile_t *mfile)
Returns true if mfile == mmfile_FREE.
#define ISFREE_OSDISPLAY(disp) isfree_x11display(disp)
Returns true in case the OS specific display is already freed.
#define ISFREE_OSWINDOW(oswindow) isfree_x11window(oswindow)
Returns true in case the OS specific window is already freed.
bool isfree_pagecacheimpl(const pagecache_impl_t *pgcache)
Returns true if pgcache equals pagecache_impl_FREE.
bool isfree_splitstring(const splitstring_t *spstr)
Returns true if spstr equals splitstring_FREE.
#define isfree_string(str) (0 == (str)->addr && 0 == (str)->size)
Implements string_t.isfree_string.
bool isfree_string(const string_t *str)
Returns true if string has address and size of 0.
#define isfree_surface(surf) (0 == (surf)->glsurface)
Implements surface_t.isfree_surface.
bool isfree_surface(const surface_t *surf)
Returns true if surf->glsurface is set to 0.
#define isfree_syncevent(syncevent) (0 == (syncevent)->waiting)
Implements syncevent_t.isfree_syncevent.
bool isfree_syncevent(const syncevent_t *syncevent)
Returns true if syncevent equals to syncevent_FREE.
bool isfree_syncqueue(const syncqueue_t *syncqueue)
Returns true if syncqueue is equal to syncqueue_FREE.
bool isfree_syncrun(const syncrun_t *srun)
Returns true if *srun equals to syncrun_FREE.
bool isfree_syncthread(const syncthread_t *sthread)
Returns true if sthread is intialized with syncthread_FREE.
bool isfree_syncwlist(const syncwlist_t *wlist)
Returns true if wlist equals syncwlist_FREE.
bool isfree_thrmutex(thrmutex_t *mutex)
Returns true if mutex equals thrmutex_FREE.
bool isfree_utf8scanner(const utf8scanner_t *scan)
Returns true if scan is initialized with utf8scanner_FREE.
#define isfree_vmpage(vmpage) (0 == (vmpage)->addr && 0 == (vmpage)->size)
Implements <vmpage_t.isfree_vmpage>>.
bool isfree_vmpage(vmpage_t *vmpage)
Returns true if vmpage equals vmpage_FREE.
static inline bool isfree_x11display(const x11display_t *x11disp)
Implements x11display_t.isfree_x11display.
static inline bool isfree_x11display(const x11display_t *x11disp)
Returns true if x11disp is set to x11display_FREE.
static inline bool isfree_x11window(const x11window_t *x11win)
Implements x11window_t.isfree_x11window.
static inline bool isfree_x11window(const x11window_t *x11win)
Returns true if x11win is set to x11window_FREE.
static inline bool isfreechild_trienode(trie_node_t *node)
Uses node to check if last child entry is empty.
#define isinit_iocallback(iocb) (0 != (iocb)->iimpl)
Implements iocallback_t.isinit_iocallback.
bool isinit_iocallback(const iocallback_t *iocb)
Returns true if iocallback_t.iimpl is not 0.
#define isinlist_dlist(node) (0 != (node)->next)
Implements dlist_t.isinlist_dlist.
bool isinlist_dlist(const struct dlist_node_t *node)
Returns true if node is stored in a list else false.
#define isinlist_slist(node) (0 != (node)->next)
Implements slist_t.isinlist_slist.
bool isinlist_slist(struct slist_node_t *node)
Returns true if node is stored in a list else false.
#define isinstalled_testmm() (0 != mmcontext_testmm())
Implements testmm_t.isinstalled_testmm.
bool isinstalled_testmm(void)
Returns true if test memory manager is installed.
#define ISLEAF(leaf) ((leaf)->str_size & 0x01)
Returns true if parameter points to node of type suffixtree_leaf_t.
bool islisten_ipsocket(const ipsocket_t *ipsock)
Returns true if the socket listens for incoming connections.
bool islocked_thrmutex(thrmutex_t *mutex)
Returns true if a thread locked the mutex.
#define ismain_thread(
   thread
) ( __extension__ ({ volatile const thread_t * _thr ; _thr = (thread) ; (0 == _thr->tls_addr) ; }))
Implements thread_t.ismain_thread.
bool ismain_thread(const thread_t *thread)
Returns true if the calling thread is the main thread.
bool ismapped_vm(const vmpage_t *vmpage,
accessmode_e protection)
Returns true is vmpage is mapped whose accessmode equals protection.
bool ismapped_vmmappedregions(vm_mappedregions_t *mappedregions,
const vmpage_t *mblock,
accessmode_e protection)
Returns true if mappedregions contains a memory region with correct protection.
Implements bigint_t.isnegative_bigint.
bool isnegative_bigint(const bigint_t *big)
Returns true if big is negative else false.
Implements decimal_t.isnegative_decimal.
bool isnegative_decimal(const decimal_t *dec)
Returns true if dec is negative else false.
#define isnext_filereader(
   frd
) ( __extension__ ({ const filereader_t * _f ; _f = (frd) ; (_f->unreadsize != 0) ; }))
Implements filereader_t.isnext_filereader.
bool isnext_filereader(const filereader_t *frd)
Returns true if there is a free buffer available.
#define isnext_stringstream(
   strstream
) ( __extension__({ typeof(strstream) _strstream = (strstream) ; ((uintptr_t)_strstream->next < (uintptr_t)_strstream->end) ; }))
Implements stringstream_t.isnext_stringstream.
bool isnext_stringstream(const stringstream_t *strstream)
Returns true if there are is at least one more unread bytes.
#define isnext_utf8reader(utfread) ((utfread)->next < (utfread)->end)
Implements utf8reader_t.isnext_utf8reader.
bool isnext_utf8reader(const utf8reader_t *utfread)
Returns true if there is at least one byte to read.
Implements utf8scanner_t.isnext_utf8scanner.
bool isnext_utf8scanner(const utf8scanner_t *scan)
Returns true if the buffer contains at least one more byte.
#define isobject_pagecache(pgcache) (0 != (pgcache)->object)
Implements pagecache_t.isobject_pagecache.
bool isobject_pagecache(const pagecache_t *pgcache)
Returns true if member pagecache_t.object of pgcache is not null.
#define ispowerof2_int(i) (!( (typeof(i)) (((i)-1) & (i)) ))
Implements int_t.ispowerof2_int as a generic function.
int ispowerof2_int(unsigned i)
Determines if argument is of power of 2 or 0.
#define ISRED(node) (0 == COLOR(node))
Returns true if color is red.
bool isstatic_processcontext(const processcontext_t *pcontext)
Returns true if pcontext equals processcontext_INIT_STATIC.
bool isstatic_threadcontext(const threadcontext_t *tcontext)
Returns true if tcontext == threadcontext_INIT_STATIC.
bool isstring_suffixtree(suffixtree_t *tree,
size_t length,
const uint8_t searchstr[length])
Returns true if at least one suffix begins with searchstr.
static inline int issubnode_header(const header_t header)
Return true in case child array points to trie_subnode_t.
bool isunmapped_vm(const vmpage_t *vmpage)
Returns true if memory at vmpage is not mapped.
bool isunmapped_vmmappedregions(vm_mappedregions_t *mappedregions,
const vmpage_t *mblock)
Returns true if mappedregions contains no memory region which overlaps with mblock.
static inline int isuservalue_header(const header_t header)
Return true in case node contains member uservalue.
bool isvalid
Indicates if this structure contains valid information.
bool isvalid_file(file_t fileobj)
Uses fcntl to query file descriptor flags (FD_CLOEXEC).
bool isvalid_file(const file_t fileobj)
Returns true if fileobj is valid.
bool isvalid_iochannel(const iochannel_t ioc)
Returns true if ioc is initialized and valid.
bool isvalid_ipaddr(const ipaddr_t *addr)
Checks that internal fields are ok.
#define isvalid_memblock(mblock) (0 != (mblock)->size && 0 != (mblock)->addr)
Implements memblock_t.isvalid_memblock.
bool isvalid_memblock(const memblock_t *mblock)
Returns true if mblock->addr != 0 and block->size != 0.
Implements timevalue_t.isvalid_timevalue.
bool isvalid_timevalue(timevalue_t *tv)
Returns true if tv contains a valid value.
Implements utf8.isvalidfirstbyte_utf8.
bool isvalidfirstbyte_utf8(const uint8_t firstbyte)
Returns true if the byte is a legal first byte of an utf8 encoded multibyte sequence.
#define isvisible_window(
   win
) (x11window_state_SHOWN == state_x11window(os_window(win)))
Implements window_t.isvisible_window.
bool isvisible_window(const window_t *win)
Returns true if window is visible on the screen.
#define iswaiting_syncevent(syncevent) (0 != (syncevent)->waiting)
Implements syncevent_t.iswaiting_syncevent.
bool iswaiting_syncevent(const syncevent_t *syncevent)
Returns true if there is already a waiting thread.
bool iswaiting_thrmutex(thrmutex_t *mutex)
Returns true if mutex is locked and wait list is not empty.
bool iswriter_rwlock(rwlock_t *rwlock)
Returns true if there is a single writer holding the lock.
#define iszero_bigint(big) (0 == (big)->sign_and_used_digits)
Implements bigint_t.iszero_bigint.
bool iszero_bigint(const bigint_t *big)
Returns true in case big has value 0 else false.
#define iszero_decimal(dec) ((dec)->sign_and_used_digits == 0)
Implements decimal_t.iszero_decimal.
bool iszero_decimal(const decimal_t *dec)
Returns true if dec has value 0 else false.
typedef struct arraysf_node_t * iteratedtype_arraysf
Function declaration to associate arraysf_node_t with arraysf_t.
typedef struct arraystf_node_t * iteratedtype_arraystf
Function declaration to associate arraystf_node_t with arraystf_t.
typedef struct dlist_node_t * iteratedtype_dlist
Declaration to associate dlist_node_t with dlist_t.
typedef exthash_node_t * iteratedtype_exthash
Declaration to associate exthash_node_t with exthash_t.
typedef patriciatrie_node_t * iteratedtype_patriciatrie
Declaration to associate patriciatrie_node_t with patriciatrie_t.
typedef void * iteratedtype_queue
Declaration to associate (void*) with queue_t.
typedef redblacktree_node_t * iteratedtype_redblacktree
Declaration to associate redblacktree_node_t with redblacktree_t.
typedef struct slist_node_t * iteratedtype_slist
Declaration to associate slist_node_t with slist_t.
typedef splaytree_node_t * iteratedtype_splaytree
Declaration to associate splaytree_node_t with splaytree_t.
typedef struct syncevent_t * iteratedtype_syncwlist
Declaration to associate syncevent_t with syncwlist_t.
typedef arraysf_iterator_t iteratortype_arraysf
Declaration to associate arraysf_iterator_t with arraysf_t.
typedef arraystf_iterator_t iteratortype_arraystf
Declaration to associate arraystf_iterator_t with arraystf_t.
typedef dlist_iterator_t iteratortype_dlist
Declaration to associate dlist_iterator_t with dlist_t.
typedef exthash_iterator_t iteratortype_exthash
Declaration to associate exthash_iterator_t with exthash_t.
typedef patriciatrie_iterator_t iteratortype_patriciatrie
Declaration to associate patriciatrie_iterator_t with patriciatrie_t.
typedef queue_iterator_t iteratortype_queue
Declaration to associate queue_iterator_t with queue_t.
typedef redblacktree_iterator_t iteratortype_redblacktree
Declaration to associate redblacktree_iterator_t with redblacktree_t.
typedef slist_iterator_t iteratortype_slist
Declaration to associate slist_iterator_t with slist_t.
typedef splaytree_iterator_t iteratortype_splaytree
Declaration to associate splaytree_iterator_t with splaytree_t.
typedef syncwlist_iterator_t iteratortype_syncwlist
Declaration to associate syncwlist_iterator_t with syncwlist_t.
Close