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
T
 tabidx, decimal_frombigint_state_t
 tableindex_decimalpowbase
 tableindexfromdecsize_decimalpowbase
 tablesize_csvfilereader
 tablevalues, csvfilereader_t
 Taskmanagement
 tcontext_maincontext
 ternary operations
 test
Global
api/cache/valuecache.hapi/context/errorcontext.hapi/context/errornr.hapi/context/iobj.hapi/context/module.hapi/context/processcontext.hapi/context/threadcontext.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/patriciatrie.hapi/ds/inmem/queue.hapi/ds/inmem/redblacktree.hapi/ds/inmem/slist.hapi/ds/inmem/splaytree.hapi/ds/inmem/suffixtree.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/ds/typeadapt/typeadapt_impl.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/fileutil.hapi/io/filesystem/mmfile.hapi/io/iocallback.hapi/io/iochannel.hapi/io/iopoll.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/logbuffer.hapi/io/writer/log/logmain.hapi/io/writer/log/logwriter.hapi/maincontext.hapi/math/float/decimal.hapi/math/fpu.hapi/math/hash/crc32.hapi/math/hash/sha1.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/mm/mm_impl.hapi/memory/pagecache.hapi/memory/pagecache_impl.hapi/memory/pagecache_macros.hapi/memory/ptr.hapi/memory/vm.hapi/memory/wbuffer.hapi/platform/init.hapi/platform/locale.hapi/platform/malloc.hapi/platform/OpenGL/EGL/egl.hapi/platform/OpenGL/EGL/eglconfig.hapi/platform/OpenGL/EGL/eglcontext.hapi/platform/OpenGL/EGL/egldisplay.hapi/platform/OpenGL/EGL/eglpbuffer.hapi/platform/OpenGL/EGL/eglwindow.hapi/platform/sync/mutex.hapi/platform/sync/rwlock.hapi/platform/sync/semaphore.hapi/platform/sync/signal.hapi/platform/sync/thrmutex.hapi/platform/sync/waitlist.hapi/platform/sysuser.hapi/platform/task/process.hapi/platform/task/thread.hapi/platform/task/thread_tls.hapi/platform/X11/x11.hapi/platform/X11/x11dblbuffer.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/urlencode_string.hapi/string/utf8.hapi/task/syncqueue.hapi/task/syncrun.hapi/task/syncthread.hapi/task/syncwait.hapi/task/syncwlist.hapi/test/assert.hapi/test/errortimer.hapi/test/mm/err_macros.hapi/test/mm/testmm.hapi/test/resourceusage.hapi/test/unittest.hapi/time/sysclock.hapi/time/systimer.hcache/objectcache_impl.ccache/valuecache.ccontext/errorcontext.ccontext/errornr.ccontext/iobj.ccontext/maincontext.ccontext/module.ccontext/processcontext.ccontext/threadcontext.cds/inmem/arraysf.cds/inmem/arraystf.cds/inmem/binarystack.cds/inmem/blockarray.cds/inmem/dlist.cds/inmem/exthash.cds/inmem/patriciatrie.cds/inmem/queue.cds/inmem/redblacktree.cds/inmem/slist.cds/inmem/splaytree.cds/inmem/suffixtree.cds/inmem/trie.cds/typeadapt.cds/typeadapt/comparator.cds/typeadapt/gethash.cds/typeadapt/getkey.cds/typeadapt/lifetime.cds/typeadapt/nodeoffset.cds/typeadapt/typeadapt_impl.cgraphic/display.cgraphic/gconfig.cgraphic/gcontext.cgraphic/pixelbuffer.cgraphic/surface.cgraphic/window.cgraphic/windowconfig.cio/filesystem/fileutil.cio/iocallback.cio/reader/csvfilereader.cio/reader/filereader.cio/reader/utf8reader.cio/reader/utf8scanner.cio/url.cio/writer/log/logbuffer.cio/writer/log/logwriter.cmath/float/decimal.cmath/fpu.cmath/hash/crc32.cmath/hash/sha1.cmath/int/abs.cmath/int/atomic.cmath/int/bigint.cmath/int/bitorder.cmath/int/byteorder.cmath/int/log10.cmath/int/log2.cmath/int/power2.cmath/int/sign.cmath/int/sqroot.cmemory/hwcache.cmemory/memblock.cmemory/memstream.cmemory/mm/mm.cmemory/mm/mm_impl.cmemory/pagecache.cmemory/pagecache_impl.cmemory/pagecache_macros.cmemory/ptr.cmemory/wbuffer.cplatform/Linux/init.cplatform/Linux/io/file.cplatform/Linux/io/filepath.cplatform/Linux/io/iochannel.cplatform/Linux/io/iopoll.cplatform/Linux/io/ipsocket.cplatform/Linux/io/mmfile.cplatform/Linux/locale.cplatform/Linux/malloc.cplatform/Linux/sync/mutex.cplatform/Linux/sync/rwlock.cplatform/Linux/sync/semaphore.cplatform/Linux/sync/signal.cplatform/Linux/sync/thrmutex.cplatform/Linux/sync/waitlist.cplatform/Linux/sysuser.cplatform/Linux/task/process.cplatform/Linux/task/thread.cplatform/Linux/task/thread_tls.cplatform/Linux/time/sysclock.cplatform/Linux/time/systimer.cplatform/OpenGL/EGL/egl.cplatform/OpenGL/EGL/eglconfig.cplatform/OpenGL/EGL/eglcontext.cplatform/OpenGL/EGL/egldisplay.cplatform/OpenGL/EGL/eglpbuffer.cplatform/OpenGL/EGL/eglwindow.cplatform/X11/x11dblbuffer.cplatform/X11/x11display.cplatform/X11/x11drawable.cplatform/X11/x11screen.cplatform/X11/x11videomode.cplatform/X11/x11window.cstring/base64encode_string.cstring/convertwchar.cstring/cstring.cstring/format_string.cstring/splitstring.cstring/string.cstring/stringstream.cstring/textpos.cstring/urlencode_string.cstring/utf8.ctask/syncqueue.ctask/syncrun.ctask/syncthread.ctask/syncwait.ctask/syncwlist.ctest/errortimer.ctest/mm/err_macros.ctest/mm/testmm.ctest/resourceusage.c
directory_texthash_tlogmain_tredblacktree_tsplaytree_tunittest_t
 TEST, unittest_t
 Test architecture size
 Test-Errortimer
 Test-Errortimer impl
 Test-MemoryManager
 Test-MemoryManager impl
 test_call
 test_errortimer_FREE, test_errortimer_t
 test_errortimer_t
 test_example1
 test_fromutf8
 test_generic
 test_initfree
 test_run
 test_run2
 testadapt_t
 Testchildprocess
 testelem_t
 testmm_block_t
 testmm_FREE, testmm_t
 testmm_it
 testmm_page_t
 testmm_t
 TestModule
 testmodule_functable_t
 TestModuleHelper1
 TestModuleHelper1 impl
 TESTP, unittest_t
 TextDB
 textlist, textresource_t
 textpos_FREE, textpos_t
 textpos_INIT, textpos_t
 textpos_t
 textpos_utf8reader
 TextPosition
 TextPosition impl
 Textresource
 TextResource-Compiler
 textresource_condition_t
 textresource_FREE, textresource_t
 textresource_langref_INIT, textresource_langref_t
 textresource_langref_t
 textresource_language_INIT, textresource_language_t
 textresource_language_t
 textresource_parameter_FREE, textresource_parameter_t
 textresource_parameter_t
 textresource_paramtype_INIT, textresource_paramtype_t
 textresource_paramtype_t
 textresource_reader_FREE, textresource_reader_t
 textresource_reader_t
 textresource_t
 textresource_text_t
 textresource_textatom_INIT, textresource_textatom_t
 textresource_textatom_INIT_FCTPARAM, textresource_textatom_t
 textresource_textatom_t
 textresource_writer_FREE, textresource_writer_t
 textresource_writer_t
 thread, syncwait_t
 Thread
 Thread Linux
 thread-lifetime
 thread_f
 thread_FREE, thread_t
 thread_id, threadcontext_t
 thread_startargument_t
 thread_syncwait
 thread_t
 thread_threadtls
 thread_tls_FREE, thread_tls_t
 thread_tls_t
 thread_vars_INIT_STATIC, thread_vars_t
 thread_vars_t
 threadcontext, pagecache_block_t
 ThreadContext
 ThreadContext impl
 threadcontext_FREE, threadcontext_t
 threadcontext_INIT_STATIC, threadcontext_t
 threadcontext_t
 threadid_maincontext
 ThreadLocalStorage
 ThreadLocalStorage impl
 threadstack_threadtls, thread_tls_t
 threadstack_threadtls(const thread_tls_t*tls)
 thrmutex_FREE, thrmutex_t
 thrmutex_INIT, thrmutex_t
 thrmutex_t
 time_sysclock, sysclock_t
 timercount, test_errortimer_t
 timespec_MAXSECONDS
 timespec2timevalue_sysclock
 timespec2timevalue_systimer
 TimeValue
 timevalue_INIT, timevalue_t
 timevalue_t
 title_x11window, x11window_t
 tls_addr, thread_t
 tocstring_decimal, decimal_t
 todouble_bigint, bigint_t
 top_binarystack
 toplevelsize
 total_count, vm_mappedregions_t
 TRACE_ERRLOG
 TRACE_NOARG_ERRLOG
 TRACE2_ERRLOG
 TRACEABORT_ERRLOG
 TRACEABORTFREE_ERRLOG
 TRACECALL_ERRLOG
 TRACEOUTOFMEM_ERRLOG
 TRACESYSCALL_ERRLOG
 transfer_dlist, dlist_t
 transferall_syncwlist, syncwlist_t
 transferfirst_syncwlist, syncwlist_t
 Treadsafe Test
 Trie
 Trie impl
 trie_FREE, trie_t
 trie_INIT, trie_t
 trie_node_t
 trie_nodedata_t
 trie_nodeoffsets_t
 trie_subnode_t
 trie_subnode2_t
 trie_t
 trimmemory_malloc
 truncate_cstring, cstring_t
 truncate_file, file_t
 tryexpand_vmpage, vmpage_t
 tryextendprefix_trienode, trie_node_t
 tryfindobject_x11display, x11display_t
 tryinsert_arraysf, arraysf_t
 tryinsert_arraystf, arraystf_t
 tryinsert_trie
 trypath_directory, directory_t
 tryremove_arraysf, arraysf_t
 tryremove_arraystf, arraystf_t
 tryremove_trie
 tryskipbytes_stringstream
 trysuspend_thread, thread_t
 trywait_signalrt, signalrt_t
 trywakeup_waitlist, waitlist_t
 Type Casts
 type_maincontext
 Typeadapt
 Typeadapt impl
 Typeadapt-Comparator
 Typeadapt-Comparator impl
 Typeadapt-GetHash
 Typeadapt-GetHash impl
 Typeadapt-GetKey
 Typeadapt-GetKey impl
 Typeadapt-Implementation
 Typeadapt-Implementation impl
 Typeadapt-Lifetime
 Typeadapt-Lifetime impl
 Typeadapt-Nodeoffset
 Typeadapt-Nodeoffset impl
 typeadapt_binarykey_FREE, typeadapt_binarykey_t
 typeadapt_binarykey_INIT, typeadapt_binarykey_t
 typeadapt_binarykey_t
 typeadapt_comparator_DECLARE, typeadapt_comparator_it
 typeadapt_comparator_EMBED, typeadapt_comparator_it
 typeadapt_comparator_FREE, typeadapt_comparator_it
 typeadapt_comparator_INIT, typeadapt_comparator_it
 typeadapt_comparator_it
 typeadapt_DECLARE
 typeadapt_EMBED
 typeadapt_FREE, typeadapt_t
 typeadapt_gethash_DECLARE
 typeadapt_gethash_EMBED
 typeadapt_gethash_FREE, typeadapt_gethash_it
 typeadapt_gethash_INIT, typeadapt_gethash_it
 typeadapt_gethash_it
 typeadapt_getkey_DECLARE, typeadapt_getkey_it
 typeadapt_getkey_EMBED, typeadapt_getkey_it
 typeadapt_getkey_FREE, typeadapt_getkey_it
 typeadapt_getkey_INIT, typeadapt_getkey_it
 typeadapt_getkey_it
 typeadapt_impl_FREE, typeadapt_impl_t
 typeadapt_impl_INIT, typeadapt_impl_t
 typeadapt_impl_t
 typeadapt_INIT_CMP, typeadapt_t
 typeadapt_INIT_LIFECMP, typeadapt_t
 typeadapt_INIT_LIFECMPHASH, typeadapt_t
 typeadapt_INIT_LIFECMPHASHKEY, typeadapt_t
 typeadapt_INIT_LIFECMPKEY, typeadapt_t
 typeadapt_INIT_LIFEKEY, typeadapt_t
 typeadapt_INIT_LIFETIME, typeadapt_t
 typeadapt_lifetime_DECLARE, typeadapt_lifetime_it
 typeadapt_lifetime_EMBED, typeadapt_lifetime_it
 typeadapt_lifetime_FREE, typeadapt_lifetime_it
 typeadapt_lifetime_INIT, typeadapt_lifetime_it
 typeadapt_lifetime_it
 typeadapt_member_FREE, typeadapt_member_t
 typeadapt_member_INIT, typeadapt_member_t
 typeadapt_member_t
 typeadapt_nodeoffset_INIT, typeadapt_nodeoffset_t
 typeadapt_nodeoffset_t
 typeadapt_object_t
 typeadapt_t
 typeadp, typeadapt_member_t
 TYPENAME
 TYPEQUALIFIER
 types
 Types
api/cache/objectcache.hapi/cache/objectcache_impl.hapi/cache/valuecache.hapi/context/errorcontext.hapi/context/iobj.hapi/context/module.hapi/context/processcontext.hapi/context/threadcontext.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/node/lrptree_node.hapi/ds/inmem/node/lrtree_node.hapi/ds/inmem/node/patriciatrie_node.hapi/ds/inmem/node/slist_node.hapi/ds/inmem/patriciatrie.hapi/ds/inmem/queue.hapi/ds/inmem/redblacktree.hapi/ds/inmem/slist.hapi/ds/inmem/splaytree.hapi/ds/inmem/suffixtree.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/ds/typeadapt/typeadapt_impl.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/ioevent.hapi/io/iopoll.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/hash/crc32.hapi/math/hash/sha1.hapi/math/int/bigint.hapi/math/int/byteorder.hapi/memory/hwcache.hapi/memory/memblock.hapi/memory/memstream.hapi/memory/mm/mm.hapi/memory/mm/mm_impl.hapi/memory/pagecache.hapi/memory/pagecache_impl.hapi/memory/ptr.hapi/memory/vm.hapi/memory/wbuffer.hapi/platform/init.hapi/platform/OpenGL/EGL/eglconfig.hapi/platform/OpenGL/EGL/eglcontext.hapi/platform/OpenGL/EGL/egldisplay.hapi/platform/OpenGL/EGL/eglpbuffer.hapi/platform/OpenGL/EGL/eglwindow.hapi/platform/sync/mutex.hapi/platform/sync/rwlock.hapi/platform/sync/semaphore.hapi/platform/sync/signal.hapi/platform/sync/thrmutex.hapi/platform/sync/waitlist.hapi/platform/sysuser.hapi/platform/task/process.hapi/platform/task/thread.hapi/platform/task/thread_tls.hapi/platform/X11/x11dblbuffer.hapi/platform/X11/x11display.hapi/platform/X11/x11drawable.hapi/platform/X11/x11screen.hapi/platform/X11/x11videomode.hapi/platform/X11/x11window.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/systimer.hapi/time/timevalue.hds/inmem/blockarray.cds/inmem/suffixtree.cio/reader/csvfilereader.cmain/test/helper/testmodule_helper1.hmath/float/decimal.cmath/int/bigint.cmemory/pagecache_impl.cplatform/Linux/sync/signal.ctask/syncrun.ctask/syncwlist.ctest/mm/testmm.c
unsigned tabidx
References a divisor in s_decimal_powbase.
static inline unsigned tableindex_decimalpowbase(uint32_t bigintsize)
Returns index into table s_decimal_powbase.
static inline unsigned tableindexfromdecsize_decimalpowbase(uint32_t decsize)
Returns index into table s_decimal_powbase.
static inline size_t tablesize_csvfilereader(csvfilereader_t *csvfile)
Returns size in bytes of csvfilereader_t.tablevalues.
struct string_t * tablevalues/*[nrrows][nrcolumns]*/
Table of strings indexing memory mapped file.
All the different tasks C-kern(el) implementation supports.
#define tcontext_maincontext() (sys_context_threadtls())
Inline implementation of maincontext_t.tcontext_maincontext.
threadcontext_t * tcontext_maincontext(void)
Returns threadcontext_t of the current thread.
#define TEST(
   CONDITION
) if ( !(CONDITION) ) { logfailed_unittest(__FILE__, __LINE__, 0); goto ONABORT; }
Tests CONDITION and jumps to label ONABORT in case of false.
Only 32 Bits supported
Implements simple count down until error code is returned.
Implements Test-Errortimer.
Offers interface for allocating & freeing blocks of memory.
Implements TestMemoryManager.
static int test_call(void)
Test call functions of mm_t.
#define test_errortimer_FREE { 0, 0 }
Static initializer.
struct test_errortimer_t
Holds a timer value and an error code.
static int test_example1(void)
Evaluate f(a = 77617, b = 33096)
static int test_fromutf8(void)
static int test_generic(void)
Tests generic functions of iobj_t.
static int test_initfree(void)
Tests lifetime functions of iobj_t.
static int test_run(void)
Test runall_syncrun with all possible state transitions.
static int test_run2(void)
Test correct variable values of a single thread in every posible state.
struct testadapt_t
Implements adapter for type testobject_t.
Test process which is executed as child process by some unittests.
struct testelem_t
Element which is interconnected to a buddy with buddy.
struct testmm_block_t
Describes the header of an allocated memory block.
#define testmm_FREE { 0, 0 }
Static initializer.
Declares testmm_it as subtype of mm_it.
struct testmm_page_t
Holds one big data block consisting of many vm memory pages.
struct testmm_t
Test memory manager for allocating/freeing blocks of memory.
Simple module which is loaded during runtime.
struct testmodule_functable_t
Table of imlemented functions.
Implement some dummy functions called from implementation of TestModule.
Implements TestModuleHelper1.
#define TESTP(
   PRIx,
   CMP,
   FCTCALL
) { typeof(FCTCALL) _r = FCTCALL; if ( !(CMP _r) ) { logfailedunexpected_unittest( __FILE__, __LINE__, "%" PRIx, _r); goto ONABORT; } }
Tests (CMP FCTCALL) jumps to label ONABORT in case of false.
Implements main function and core logic of TextDB.
slist_t textlist
Contains list of textresource_text_t.
#define textpos_FREE { 0, 0, 0 }
Static initializer.
#define textpos_INIT { 0, 1, 0 }
Static initializer.
struct textpos_t
Describes position in text as column and line number.
#define textpos_utf8reader(utfread) (&(utfread)->pos)
Implements utf8reader_t.textpos_utf8reader.
const textpos_t * textpos_utf8reader(const utf8reader_t *utfread)
Returns the current textposition from utfread.
Exports textpos_t which describes position in text as column and line number.
Implements TextPosition.
Describes how texts are described to support internationalization.
Translates text resource descriptions into C files.
struct textresource_condition_t
A condition which selects or deselects the contained textresource_textatom_t.
#define textresource_FREE { 0, 0, 0, slist_INIT, slist_INIT, outconfig_FREE }
Static initializer.
#define textresource_langref_INIT(language) { slist_INIT, 0, (language) }
Static initializer.
struct textresource_langref_t
A reference to a language and container for one or more textresource_condition_t.
#define textresource_language_INIT(
   name
) { string_INIT(name->size, name->addr), 0 }
Static initializer.
struct textresource_language_t
A language selector for textresource_text_t.
#define textresource_parameter_FREE { arraystf_node_INIT(0,0), 0, 0, typemodifier_PLAIN }
Static initializer.
struct textresource_parameter_t
A parameter for textresource_text_t.
#define textresource_paramtype_INIT(
   cstr,
   modifier,
   format
) textresource_paramtype_INIT2(cstr,modifier,format,"")
Static initializer.
struct textresource_paramtype_t
#define textresource_reader_FREE { textresource_FREE, utf8reader_FREE } ;
Static initializer.
struct textresource_reader_t
Reads textual representation of text resource.
struct textresource_t
Defines memory representation of parsed text resource description.
struct textresource_text_t
A single text resource description.
#define textresource_textatom_INIT(
   string
) { 0, textresource_textatom_STRING, { string } }
Static initializer.
#define textresource_textatom_INIT_FCTPARAM(
   fctparam
) { 0, textresource_textatom_FCTPARAM, { .fctparam = { fctparam } } }
Static initializer.
struct textresource_textatom_t
An atomic text element string content referenced by textresource_condition_t.
#define textresource_writer_FREE { 0, file_FREE }
Static initializer.
struct textresource_writer_t
Writes programming language representation of text resource.
syncthread_t thread
Stores the syncthread_t which is waiting.
Encapsulates os specific threading model.
Implements Thread.
typedef int (*thread_f) (void * main_arg)
Defines function type executed by thread_t.
#define thread_FREE { 0, 0, 0, 0, 0, sys_thread_FREE, 0, { .uc_link = 0 } }
Static initializer.
size_t thread_id
Identification number which is incremented every time a thread is created.
struct thread_startargument_t
Startargument of the started system thread.
#define thread_syncwait(syncwait) (&(syncwait)->thread)
Implements syncwait_t.thread_syncwait.
syncthread_t * thread_syncwait(syncwait_t *syncwait)
Returns pointer to syncwait->thread (see syncwait_t.thread).
struct thread_t
Describes a system thread.
#define thread_threadtls(
   tls
) ((thread_t*) ( (tls)->addr + sizeof(threadcontext_t) ))
Implements thread_tls_t.thread_threadtls.
struct thread_t * thread_threadtls(const thread_tls_t *tls)
Returns pointer to thread_t stored in thread local storage.
#define thread_tls_FREE { 0 }
Static initializer.
struct thread_tls_t
#define thread_vars_INIT_STATIC { threadcontext_INIT_STATIC, thread_FREE }
Static initializer.
struct thread_vars_t
Variables stored in thread local storage.
threadcontext_t * threadcontext
Thread which allocated the memory block.
Defines the global (thread local) context of a running system thread.
Implements the global (thread local) context of a running system thread.
#define threadcontext_FREE { 0, iobj_FREE, iobj_FREE, 0, iobj_FREE, iobj_FREE, 0, 0 }
Static initializer for threadcontext_t.
#define threadcontext_INIT_STATIC { &g_maincontext.pcontext, iobj_FREE, iobj_FREE, 0, iobj_FREE, { 0, &g_logmain_interface }, 0, 0 }
Static initializer for threadcontext_t.
struct threadcontext_t
Stores services useable exclusively from one thread.
#define threadid_maincontext() (tcontext_maincontext()->thread_id)
Inline implementation of maincontext_t.threadid_maincontext.
size_t threadid_maincontext(void)
Returns the thread id of the calling thread.
Supports storage (variables and stack space) for every creatd thread and the main thread.
Implements ThreadLocalStorage.
void threadstack_threadtls(const thread_tls_t *tls,
/*out*/struct memblock_t *stackmem)
Returns in stackmem the thread stack from tls.
void threadstack_threadtls(const thread_tls_t *tls,
/*out*/struct memblock_t *stackmem)
Returns the thread stack from tls.
#define thrmutex_FREE { 0, 0, 0 }
Static initializer.
#define thrmutex_INIT { 0, 0, 0 }
Static initializer.
struct thrmutex_t
Mutual exclusion lock.
int time_sysclock(sysclock_e clock_type,
/*out*/struct timevalue_t *clock_time)
Returns the absolute time value of the underlying clock.
uint32_t timercount
The number of times process_testerrortimer returns success.
static inline uint64_t timespec_MAXSECONDS(void)
Returns the maximum value timespec->tv_sec can hold.
static inline void timespec2timevalue_sysclock(/*out*/timevalue_t *tval,
const struct timespec *tspec)
Converts struct timespec into timevalue_t.
static inline void timespec2timevalue_systimer(/*out*/timevalue_t *tval,
const struct timespec *tspec)
Converts struct timespec into timevalue_t.
Export type for specifing a time value.
#define timevalue_INIT(seconds,
nano_secconds) { seconds, nano_secconds }
Static initializer.
struct timevalue_t
The time value specifies either an aboslute time or a relative time offset.
int title_x11window(const x11window_t *x11win,
/*ret*/struct cstring_t *title)
Returns the window title string in title encoded in UTF-8.
uint8_t * tls_addr
Contains start address of thread local storage.
int tocstring_decimal(const decimal_t *dec,
struct cstring_t *cstr)
Converts dec to cstring_t.
double todouble_bigint(const bigint_t *big)
Converts a big integer value into a double.
#define top_binarystack(
   stack
) ((void*)(&(stack)->blockstart[(stack)->freeblocksize]))
Implements binarystack_t.top_binarystack.
void * top_binarystack(binarystack_t *stack)
Returns the start address in memory of the last pushed object.
uint32_t toplevelsize:24
The size of array root.
uint32_t toplevelsize:24
The size of array root.
size_t total_count
Number of stored elements of type vm_region_t.
#define TRACE_ERRLOG(
   FLAGS,
   TEXTID,
   err,
   ...
) TRACE2_ERRLOG(FLAGS, TEXTID, __FUNCTION__, __FILE__, __LINE__, err, __VA_ARGS__)
Logs an TEXTID from C-kern/resource/errlog.text and error number err.
#define TRACE_NOARG_ERRLOG(
   FLAGS,
   TEXTID,
   err
) do { log_header_t _header = log_header_INIT(__FUNCTION__, __FILE__, __LINE__, err) ; PRINTTEXT_NOARG_LOG( log_channel_ERR, FLAGS, &_header, TEXTID ## _ERRLOG) ; } while(0)
Logs an TEXTID from C-kern/resource/errlog.text and error number err.
#define TRACE2_ERRLOG(
   FLAGS,
   TEXTID,
   funcname,
   filename,
   linenr,
   err,
   ...
) do { log_header_t _header = log_header_INIT(funcname, filename, linenr, err) ; PRINTTEXT_LOG(log_channel_ERR, FLAGS, &_header, TEXTID ## _ERRLOG, __VA_ARGS__) ; } while(0)
Logs an TEXTID from C-kern/resource/errlog.text and error number err.
#define TRACEABORT_ERRLOG(
   err
) TRACE_NOARG_ERRLOG(log_flags_END|log_flags_OPTIONALHEADER, FUNCTION_ABORT, err)
Logs the abortion of a function and the its corresponding error code.
#define TRACEABORTFREE_ERRLOG(
   err
) TRACE_NOARG_ERRLOG(log_flags_END|log_flags_OPTIONALHEADER, FUNCTION_ABORT_FREE, err)
Logs that an error occurred during free_XXX or delete_XXX.
#define TRACECALL_ERRLOG(
   fct_name,
   err
) TRACE_ERRLOG(log_flags_START, FUNCTION_CALL, err, fct_name)
Logs reason of failure and name of called app function.
#define TRACEOUTOFMEM_ERRLOG(
   size,
   err
) TRACE_ERRLOG(log_flags_START, MEMORY_OUT_OF, err, size)
Logs “out of memory” reason for function abort.
#define TRACESYSCALL_ERRLOG(
   sys_fctname,
   err
) TRACE_ERRLOG(log_flags_START, FUNCTION_SYSCALL, err, sys_fctname)
Logs reason of failure and name of called system function.
void transfer_dlist(dlist_t *tolist,
dlist_t *fromlist)
Transfer ownership of all nodes from fromlist to tolist.
int transferall_syncwlist(syncwlist_t *towlist,
syncwlist_t *fromwlist)
Transfers all nodes from fromwlist to towlist.
int transferfirst_syncwlist(syncwlist_t *towlist,
syncwlist_t *fromwlist)
Transfers the first node from fromwlist to towlist.
Test (in os specific manner) system library is thread safe.
Implements a trie, a compact prefix tree.
Implements Trie.
#define trie_FREE { 0 }
Static initializer.
#define trie_INIT { 0 }
Static initializer.
struct trie_node_t
Stores decoded information about a trie node in memory.
struct trie_nodedata_t
Describes a flexible structure of trie node data stored in memory.
struct trie_nodeoffsets_t
Stores offsets of every possible member of trie_node_t.
struct trie_subnode_t
Points to 256 childs of type trie_nodedata_t.
struct trie_subnode2_t
Points to up to 8 trie_node_ts.
struct trie_t
Manages an index which associates abinary key with a user defined pointer.
int trimmemory_malloc(void)
Frees preallocated memory which is not in use.
int truncate_cstring(cstring_t *cstr,
size_t new_size)
Adapts size of cstr to a smaller value.
int truncate_file(file_t fileobj,
off_t file_size)
Truncates file to file_size bytes.
int tryexpand_vmpage(vmpage_t *vmpage,
size_t size_in_bytes)
Tries to grow the upper bound of an already mapped address range.
static int tryextendprefix_trienode(trie_node_t *node,
uint8_t len,
uint8_t prefix1[len-1],
uint8_t prefix2/*single digit*/)
Extends prefix with new head prefix1[len-1] + prefix2.
int tryfindobject_x11display(
   x11display_t *x11disp,
   /*out*/struct x11window_t ** object/*could be NULL*/,
   uint32_t objectid
)
Maps an objectid to its associated object pointer.
int tryinsert_arraysf(arraysf_t *array,  
struct arraysf_node_t *node,  
 /*out;  
err*/struct arraysf_node_t **inserted_or_existing_node,  
struct typeadapt_member_t *nodeadp/*0 = >no copy is made*/)
Same as insert_arraysf but no error log in case of EEXIST.
int tryinsert_arraystf(
   arraystf_t *array,  
   struct arraystf_node_t *node,  
    /*out;  
   err*/struct arraystf_node_t **inserted_or_existing_node,  
   struct typeadapt_member_t *nodeadp/*0 = >no copy is made*/
)
Same as insert_arraystf but no error log in case of EEXIST.
#define tryinsert_trie(
   trie,
   keylen,
   key,
   uservalue
) (insert2_trie((trie), (keylen), (key), (uservalue), false))
Implements trie_t.tryinsert_trie.
int tryinsert_trie(trie_t *trie,
uint16_t keylen,
const uint8_t key[keylen],
void *uservalue)
TODO: describe
int trypath_directory(const directory_t *dir/*0 = > current working directory*/,
const char * const file_path  )
Checks that file_path refers to an existing file or directory.
int tryremove_arraysf(arraysf_t *array,
size_t pos,
/*out*/struct arraysf_node_t **removed_node)
Same as remove_arraysf but no error log in case of ESRCH.
int tryremove_arraystf(arraystf_t *array,
size_t size,
const uint8_t keydata[size],
/*out*/struct arraystf_node_t **removed_node)
Same as remove_arraystf but no error log in case of ESRCH.
#define tryremove_trie(
   trie,
   keylen,
   key,
   uservalue
) (remove2_trie((trie), (keylen), (key), (uservalue), false))
Implements trie_t.tryremove_trie.
int tryremove_trie(trie_t *trie,
uint16_t keylen,
const uint8_t key[keylen],
/*out*/void **uservalue)
TODO: describe
Implements stringstream_t.tryskipbytes_stringstream.
int tryskipbytes_stringstream(stringstream_t *strstream,
size_t size)
Same as skipbytes_stringstream but checks the number of unread bytes before.
int trysuspend_thread(void)
The function returns 0 if the calling thread has been resumed.
int trywait_signalrt(signalrt_t nr,
/*out*/uintptr_t *value)
Polls the queue for a single realtime signal.
int trywakeup_waitlist(waitlist_t *wlist,
int (*main_task)(void * main_arg),
void *main_arg)
Tries to wake up the first waiting thread.
The different types of casts which are supported in the interface of the objects.
#define type_maincontext() (self_maincontext()->type)
Inline implementation of maincontext_t.type_maincontext.
maincontext_e type_maincontext(void)
Returns type context_e of current maincontext_t.
Exports typeadapter which allows containers in the data store to manage the lifetime of stored objects or to compare objects and keys.
Implements Typeadapt.
Abstract interface (function table) to adapt a concrete user type to a container which needs comparing nodes and nodes and keys.
Implements Typeadapt-Comparator.
Abstract interface (function table) to adapt a concrete user type to a container which needs to compute the hash value of a node or its associated key.
Implements Typeadapt-GetHash.
Abstract interface (function table) to adapt a concrete user type to a container which needs to get the key from a node as binary string.
Implements Typeadapt-GetKey.
Implements typeadapt_t lifetime services which can be used for simple types.
Implements Typeadapt-Implementation.
Defines generic interface typeadapt_lifetime_it supporting lifetime functions for an object type that wants to be stored in a container.
Implements Typeadapt-Lifetime.
Describes abstract object type typeadapt_object_t.
Implements Typeadapt-Nodeoffset.
#define typeadapt_binarykey_FREE typeadapt_binarykey_INIT(0,
(const uint8_t*)0)
Static initializer.
#define typeadapt_binarykey_INIT(size,
addr) { addr, size }
Inits typeadapt_binarykey_t with size in bytes in start (lowest) memory address.
struct typeadapt_binarykey_t
Describes byte aligned binary data used as key.
#define typeadapt_comparator_DECLARE(
   declared_it,
   typeadapter_t,
   object_t,
   key_t
) static inline void compiletimeassert##declared_it(void) { static_assert(sizeof(key_t)==sizeof(void*), "compatible with cmp_key_object") ; } typedef struct declared_it declared_it ; struct declared_it { typeadapt_comparator_EMBED(typeadapter_t, object_t, key_t) ; }
Declares a derived interface from generic typeadapt_comparator_it.
#define typeadapt_comparator_EMBED(
   typeadapter_t,
   object_t,
   key_t
) int (* cmp_key_object) (typeadapter_t * typeadp, const key_t lkey, const object_t * robject) ; int (* cmp_object) (typeadapter_t * typeadp, const object_t * lobject, const object_t * robject)
Declares a derived interface from generic typeadapt_comparator_it.
#define typeadapt_comparator_FREE { 0, 0 }
Static initializer.
#define typeadapt_comparator_INIT(cmpkeyobj_f,
cmpobj_f) { cmpkeyobj_f, cmpobj_f }
Static initializer.
struct typeadapt_comparator_it
Declares interface for comparing two objects and key with object.
#define typeadapt_DECLARE(
   typeadapter_t,
   object_t,
   key_t
) typedef struct typeadapter_t typeadapter_t ; struct typeadapter_t { typeadapt_EMBED(typeadapter_t, object_t, key_t) ; }
Implements typeadapt_t.typeadapt_DECLARE.
void typeadapt_DECLARE(TYPENAME typeadapter_t,
TYPENAME object_t,
TYPENAME key_t)
Declares a derived interface from generic typeadapt_t.
#define typeadapt_EMBED(
   typeadapter_t,
   object_t,
   key_t
) struct { typeadapt_comparator_EMBED(typeadapter_t, object_t, key_t) ; } comparator ; struct { typeadapt_gethash_EMBED(typeadapter_t, object_t, key_t) ; } gethash ; struct { typeadapt_getkey_EMBED(typeadapter_t, object_t) ; } getkey ; struct { typeadapt_lifetime_EMBED(typeadapter_t, object_t) ; } lifetime
Implements typeadapt_t.typeadapt_EMBED.
void typeadapt_EMBED(TYPENAME typeadapter_t,
TYPENAME object_t,
TYPENAME key_t)
Embeds the public interface part from generic typeadapt_t.
#define typeadapt_FREE { typeadapt_comparator_FREE, typeadapt_gethash_FREE, typeadapt_getkey_FREE, typeadapt_lifetime_FREE }
Static initializer.
#define typeadapt_gethash_DECLARE(
   declared_it,
   typeadapter_t,
   object_t,
   key_t
) static inline void compiletimeassert##declared_it(void) { static_assert(sizeof(key_t)==sizeof(void*), "compatible with hashkey") ; } typedef struct declared_it declared_it ; struct declared_it { typeadapt_gethash_EMBED(typeadapter_t, object_t, key_t) ; }
Implements typeadapt_gethash_it.typeadapt_gethash_DECLARE.
void typeadapt_gethash_DECLARE(TYPENAME declared_it,
TYPENAME typeadapter_t,
TYPENAME object_t,
TYPENAME key_t) ;
Declares a derived interface from generic typeadapt_gethash_it.
#define typeadapt_gethash_EMBED(
   typeadapter_t,
   object_t,
   key_t
) size_t (*hashobject) (typeadapter_t * typeadp, const object_t * node) ; size_t (*hashkey) (typeadapter_t * typeadp, const key_t key)
Implements typeadapt_gethash_it.typeadapt_gethash_EMBED.
void typeadapt_gethash_EMBED(TYPENAME typeadapter_t,
TYPENAME object_t,
TYPENAME key_t) ;
Declares a derived interface from generic typeadapt_gethash_it.
#define typeadapt_gethash_FREE typeadapt_gethash_INIT(0,
)
Static initializer.
#define typeadapt_gethash_INIT(hashobject_f,
hashkey_f) { hashobject_f, hashkey_f }
Static initializer.
struct typeadapt_gethash_it
Declares interface for computing a hash value from key / object.
#define typeadapt_getkey_DECLARE(
   declared_it,
   typeadapter_t,
   object_t
) typedef struct declared_it declared_it ; struct declared_it { typeadapt_getkey_EMBED(typeadapter_t, object_t) ; }
Declares a derived interface from generic typeadapt_getkey_it.
#define typeadapt_getkey_EMBED(
   typeadapter_t,
   object_t
) void (* getbinarykey) (typeadapter_t * typeadp, object_t * node, /*out*/typeadapt_binarykey_t * binkey)
Declares a derived interface from generic typeadapt_getkey_it.
#define typeadapt_getkey_FREE { 0 }
Static initializer.
#define typeadapt_getkey_INIT(getbinarykey_f) { getbinarykey_f }
Static initializer.
struct typeadapt_getkey_it
Declares interface for getting a description of a binary key of the object.
#define typeadapt_impl_FREE { typeadapt_FREE, 0 }
Static initializer.
#define typeadapt_impl_INIT(
   objectsize
) { typeadapt_INIT_LIFETIME(&lifetime_newcopyobj_typeadaptimpl, &lifetime_deleteobj_typeadaptimpl), objectsize }
Static initializer.
struct typeadapt_impl_t
Default implementation of typeadapt_t.
#define typeadapt_INIT_CMP(
   cmpkeyobj_f,
   cmpobj_f
) { typeadapt_comparator_INIT(cmpkeyobj_f, cmpobj_f), typeadapt_gethash_FREE, typeadapt_getkey_FREE, typeadapt_lifetime_FREE }
Static initializer.
#define typeadapt_INIT_LIFECMP(
   newcopyobj_f,
   deleteobj_f,
   cmpkeyobj_f,
   cmpobj_f
) { typeadapt_comparator_INIT(cmpkeyobj_f, cmpobj_f), typeadapt_gethash_FREE, typeadapt_getkey_FREE, typeadapt_lifetime_INIT(newcopyobj_f, deleteobj_f) }
Static initializer.
#define typeadapt_INIT_LIFECMPHASH(
   newcopyobj_f,
   deleteobj_f,
   cmpkeyobj_f,
   cmpobj_f,
   hashobject_f,
   hashkey_f
) { typeadapt_comparator_INIT(cmpkeyobj_f, cmpobj_f), typeadapt_gethash_INIT(hashobject_f, hashkey_f), typeadapt_getkey_FREE, typeadapt_lifetime_INIT(newcopyobj_f, deleteobj_f) }
Static initializer.
#define typeadapt_INIT_LIFECMPHASHKEY(
   newcopyobj_f,
   deleteobj_f,
   cmpkeyobj_f,
   cmpobj_f,
   hashobject_f,
   hashkey_f,
   getbinarykey_f
) { typeadapt_comparator_INIT(cmpkeyobj_f, cmpobj_f), typeadapt_gethash_INIT(hashobject_f, hashkey_f), typeadapt_getkey_INIT(getbinarykey_f), typeadapt_lifetime_INIT(newcopyobj_f, deleteobj_f) }
Static initializer.
#define typeadapt_INIT_LIFECMPKEY(
   newcopyobj_f,
   deleteobj_f,
   cmpkeyobj_f,
   cmpobj_f,
   getbinarykey_f
) { typeadapt_comparator_INIT(cmpkeyobj_f, cmpobj_f), typeadapt_gethash_FREE, typeadapt_getkey_INIT(getbinarykey_f), typeadapt_lifetime_INIT(newcopyobj_f, deleteobj_f) }
Static initializer.
#define typeadapt_INIT_LIFEKEY(
   newcopyobj_f,
   deleteobj_f,
   getbinarykey_f
) { typeadapt_comparator_FREE, typeadapt_gethash_FREE, typeadapt_getkey_INIT(getbinarykey_f), typeadapt_lifetime_INIT(newcopyobj_f, deleteobj_f) }
Static initializer.
#define typeadapt_INIT_LIFETIME(
   newcopyobj_f,
   deleteobj_f
) { typeadapt_comparator_FREE, typeadapt_gethash_FREE, typeadapt_getkey_FREE, typeadapt_lifetime_INIT(newcopyobj_f, deleteobj_f) }
Static initializer.
#define typeadapt_lifetime_DECLARE(
   declared_it,
   typeadapter_t,
   object_t
) typedef struct declared_it declared_it ; struct declared_it { typeadapt_lifetime_EMBED(typeadapter_t, object_t) ; }
Declares a derived interface from generic typeadapt_lifetime_it.
#define typeadapt_lifetime_EMBED(
   typeadapter_t,
   object_t
) int (* newcopy_object) (typeadapter_t * typeadp, /*out*/object_t ** destobject, const object_t * srcobject) ; int (* delete_object) (typeadapter_t * typeadp, object_t ** object)
Declares the function table used to implement typeadapt_lifetime_DECLARE Use typeadapt_lifetime_EMBED if you want to embed the function table directly into another structure.
#define typeadapt_lifetime_FREE { 0, 0 }
Static initializer.
#define typeadapt_lifetime_INIT(newcopyobj_f,
deleteobj_f) { (newcopyobj_f), (deleteobj_f) }
Static initializer.
struct typeadapt_lifetime_it
Declares interface (function table) for managing the lifetime of objects.
#define typeadapt_member_FREE typeadapt_member_INIT(0,
)
Static initializer.
#define typeadapt_member_INIT(
   typeadp,
   nodeoffset
) { typeadp, typeadapt_nodeoffset_INIT(nodeoffset) }
Static initializer.
typedef struct typeadapt_member_t typeadapt_member_t
Export typeadapt_member_t into global namespace.
#define typeadapt_nodeoffset_INIT(nodeoffset) nodeoffset
Static initializer.
typedef uint16_t typeadapt_nodeoffset_t
Describes an offset to a struct member.
typedef struct typeadapt_object_t typeadapt_object_t
Declares abstract object type.
struct typeadapt_t
Interface to services needed by containers in the data store.
typeadapt_t * typeadp
Pointer to typeadapt_t.
#define TYPENAME void*
It’s a marker in a function declaration.
#define TYPEQUALIFIER void*
It’s a marker in a function declaration.
Close