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
S
 s_arraysf_errtimer
 s_arraystf_errtimer
 s_bigint_errtimer
 s_binarystack_errtimer
 s_decimal_errtimer
 s_decimal_powbase
 s_directory_errtimer, directory_t
 s_display_errtimer
 s_display_noext
 s_eglcontext_errtimer
 s_egldisplay_errtimer
 s_eglpbuffer_errtimer
 s_eglwindow_errtimer
 s_filepathstatic_errtimer
 s_gcontext_errtimer
 s_isprepared_malloc
 s_isurlencode
 s_logwriter_interface
 s_maincontext_errtimer
 s_maincontext_staticmem
 s_mmimpl_interface
 s_objectcacheimpl_interface
 s_pagecacheimpl_interface
 s_pixelbuffer_errtimer
 s_platform_errtimer
 s_pow10
 s_precomputed_crc32
 s_processcontext_errtimer
 s_signalhandler, signalhandler_t
 s_signalhandler_oldmask, signalhandler_t
 s_syncrun_errtimer
 s_syncwlist_errtimer
 s_testmm_interface
 s_thread_errtimer
 s_threadcontext_errtimer
 s_threadcontext_nextid
 s_threadtls_errtimer
 s_trie_errtimer
 s_unittest_singleton, unittest_t
 s_wbuffer_errtimer
 s_window_errtimer
 s_X11_init
 safe-synchronize
 same_resourceusage, resourceusage_t
 save_file
 scanned_token, utf8scanner_t
 scannedtoken_utf8scanner, utf8scanner_t
 scheme, url_t
 SCNuSIZE
 screen
 Screen-Pixel-RGB=Window-Pixel-RGB+(1
 screen_x11window, x11window_t
 search
 seconds, timevalue_t
 seek_mmfile, mmfile_t
 self_maincontext
 self_thread
 Semaphore
 Semaphore Linuximpl
 semaphore_FREE, semaphore_t
 semaphore_t
 send_signalrt, signalrt_t
 send2_signalrt, signalrt_t
 sendclose_window
 sendclose_x11window, x11window_t
 sendredraw_window
 sendredraw_x11window, x11window_t
 set
 set-ops
 SET_PROT
 set_signalhandler, signalhandler_t
 set_x11videomode, x11videomode_t
 setaddr_ipaddr, ipaddr_t
 setbigfirst_bigint, bigint_t
 SETBLACK
 setchild_arraysfmwaybranch
 setchild_arraystfmwaybranch
 setchild_triesubnode, trie_subnode_t
 setcontinue_thread
 setcontinuelabel_syncthread
 setcurrent_eglcontext, eglcontext_t
 setcurrent_gcontext
 setdefault_locale
 setdefault_locale implementation
 setfromchar_decimal, decimal_t
 setfromdouble_bigint, bigint_t
 setfromfloat_decimal, decimal_t
 setfromint32_bigint, bigint_t
 setfromint32_decimal, decimal_t
 setfromint64_decimal, decimal_t
 setfromuint32_bigint, bigint_t
 setfromuint64_bigint, bigint_t
 setignore_signalhandler, signalhandler_t
 setioerror_filereader
 setlittlefirst_bigint, bigint_t
 setmm_threadcontext, threadcontext_t
 setnegative_bigint
 setnegative_decimal
 setnrofparts_splitstring
 SETONERROR_testerrortimer
 setopacity_x11window, x11window_t
 SETPARENT
 SETPARENTBLACK
 SETPARENTRED
 setport_ipaddr, ipaddr_t
 setpos_window
 setpos_x11window, x11window_t
 setpositive_bigint
 setpositive_decimal
 setprotocol_ipaddr, ipaddr_t
 setqueuesize_ipsocket, ipsocket_t
 SETRED
 setreturncode_thread
 setsegv_signalhandler, signalhandler_t
 setsize_splitstring
 setstate, log_it
 SETSTATE_LOG
 setstate_logwriter, logwriter_t
 setstate_syncthread
 setstateabort_syncrun, syncrun_t
 setstateexit_syncrun, syncrun_t
 setstatewait_syncrun, syncrun_t
 setstatewaitlist_syncrun, syncrun_t
 setstring_splitstring
 settask_thread
 setter
 settitle_x11window, x11window_t
 setusers_sysuser, sysuser_t
 SHA-1-Hashcode
 SHA-1-Hashcode impl
 sha1_hash_t
 sha1_hashvalue_t
 shift
 shiftleft_bigint, bigint_t
 shiftleft10p_f
 shiftright_bigint, bigint_t
 show_window
 show_x11window, x11window_t
 shrink, wbuffer_it
 shrink_cstring_wbuffer
 shrink_memblock_wbuffer
 shrink_static_wbuffer
 shrink_vmpage, vmpage_t
 shrink_wbuffer
 shrinkleft_memblock
 shrinkleft_string, string_t
 shrinkprefix_trienodeoffsets, trie_nodeoffsets_t
 shrinkprefixkeephead_trienode, trie_node_t
 shrinkprefixkeeptail_trienode, trie_node_t
 shrinkright_memblock
 shrinkright_string, string_t
 shrinksize_trienode, trie_node_t
 sign_and_used_digits
 sign_bigint
 sign_decimal
 sign_int
 signal
 signal state, syncthread_t
 signal_fpuexcept
 signal_handlers, signalstate_t
 signal_semaphore, semaphore_t
 signalall_syncrun, syncrun_t
 signalevent_syncrun, syncrun_t
 signalfirst_syncrun, syncrun_t
 signalhandler_f
 signalhandler_segv_f
 signalhandler_t
 signalmask, signalstate_t
 signalrt_t
 signalstack_threadtls, thread_tls_t
 signalstate, resourceusage_t
 signalstate_t
 signalwait_FREE, signalwait_t
 signalwait_t
 SingleLinkedList
 SingleLinkedList impl
 SingleLinkedList-Node
 size
 size-calculations
 size_allocated, decimal_t
 size_bigint
 size_binarystack
 size_cstring
 size_cstring_wbuffer
 size_decimal
 size_eglpbuffer, eglpbuffer_t
 size_file, file_t
 size_header, header_t
 size_memblock
 size_memblock_wbuffer
 size_memstream
 size_mmfile
 size_pixelbuffer
 size_splitstring
 size_static_wbuffer
 size_staticmem, maincontext_t
 size_string
 size_stringstream
 size_threadtls
 size_vmmappedregions
 size_wbuffer
 size_window
 size_x11window
 SIZE1NODE, trie_nodeoffsets_t
 SIZE2NODE, trie_nodeoffsets_t
 SIZE3NODE, trie_nodeoffsets_t
 SIZE4NODE, trie_nodeoffsets_t
 SIZE5NODE, trie_nodeoffsets_t
 sizeallocated
 sizeallocated_mm
 SIZEALLOCATED_MM
 sizeallocated_mmimpl, mm_impl_t
 sizeallocated_pagecache
 SIZEALLOCATED_PAGECACHE
 sizeallocated_pagecacheimpl, pagecache_impl_t
 sizeallocated_testmm, testmm_t
 sizeavailableram_vm
 sizebase64decode_string, string_t
 sizebase64encode_string
 sizebuffer_filereader
 sizechar_utf8
 sizedataprefetch_hwcache
 sizeentry_initqueueentry, initqueue_entry_t
 sizefirst_queue
 sizeformat_string, string_t
 sizefree_logbuffer
 sizefree_trienodeoffsets, trie_nodeoffsets_t
 sizefromfirstbyte_utf8
 sizegrowprefix_trienodeoffsets, trie_nodeoffsets_t
 sizelast_queue
 sizemax_decimal
 SIZEMAXNODE, trie_nodeoffsets_t
 sizenode_header, trie_node_t
 sizeof(char)Test
 sizephysram_vm
 sizeprefix_utf8validator
 sizereserved_wbuffer
 sizesignalstack_threadtls
 sizestack_threadtls
 sizestatic
 sizestatic_maincontext
 sizestatic_pagecache
 SIZESTATIC_PAGECACHE
 sizestatic_pagecacheimpl, pagecache_impl_t
 sizeunread_utf8scanner
 sizeurldecode_string, string_t
 sizeurlencode_string, string_t
 sizeusable_malloc
 sizevars_threadtls
 skip_convertwchar, convert_wchar_t
 skip_spaceandcomment, textresource_reader_t
 SKIP_STR_BYTES, suffixtree_leaf_t
 skipascii_utf8reader
 skipbyte_string
 skipbyte_stringstream
 skipbytes_stringstream
 skipbytes_utf8reader
 skipbytes_utf8scanner
 skipchar_utf8
 skipchar_utf8reader
 skipempty_csvfilereaderparsestate, csvfilereader_parsestate_t
 skipillegalutf8_strstream, stringstream_t
 skipline_utf8reader, utf8reader_t
 skipuntilafter_utf8scanner, utf8scanner_t
 skiputf8_stringstream
 sleep_sysclock, sysclock_t
 sleepms_sysclock, sysclock_t
 sleepms_thread, thread_t
 slist_IMPLEMENT
 slist_IMPLEMENT _blocklist
 slist_IMPLEMENT _freeblocklist
 slist_IMPLEMENT_iterlist, suffixtreeiterator_adapter_it
 slist_INIT, slist_t
 slist_iterator_FREE, slist_iterator_t
 slist_iterator_t
 slist_node_EMBED, slist_node_t
 slist_node_INIT, slist_node_t
 slist_node_t
 slist_t
 slock_mutex
 slock_thrmutex
 slockreader_rwlock
 slockwriter_rwlock
 software models
 Some Implementation Details
 Speed Test
 Speedtest
 splaykey_splaytree
 splaynode_splaytree
 Splaytree
 Splaytree impl
 splaytree_FREE, splaytree_t
 splaytree_IMPLEMENT
 splaytree_INIT, splaytree_t
 splaytree_iterator_FREE, splaytree_iterator_t
 splaytree_iterator_t
 splaytree_node_t
 splaytree_t
 splitkey_trienode, trie_node_t
 splitnode_suffixtree
 SplitString
 SplitString impl
 splitstring_FREE, splitstring_t
 splitstring_t
 sqroot_int
 sqroot_int32
 sqroot_int64
 stack
 Standard environment, 4
 Standard Macros, 2
 Standard-Macros
 Standard-Types
 start_offset, queue_page_t
 start_systimer, systimer_t
 startinterval_systimer, systimer_t
 startthread_syncrun, syncrun_t
 startthread2_syncrun, syncrun_t
 state
 State
 state_process, process_t
 state_syncthread
 state_x11window
 static configuration
 static variables
 static-memory
 static_assert
 staticpage_t
 staticpagelist, pagecache_impl_t
 stop_systimer, systimer_t
 storage, ipaddr_storage_t
 STR
 str_cstring
 str_errorcontext
 str_size, suffixtree_leaf_t
 STR_SIZE, suffixtree_leaf_t
 str_start, suffixtree_leaf_t
 STR_START, suffixtree_leaf_t
 STR2
 strdata, errorcontext_t
 Streaming Reader
 string
 String
 String impl
 string_field_e
 string_field_INIT_EMPTY, string_field_t
 string_field_t
 string_FREE, string_t
 string_INIT, string_t
 string_INIT_CSTR, string_t
 string_t
 stringcast_arraystfnode
 stringpart, splitstring_t
 StringStream
 StringStream impl
 stringstream_FREE, stringstream_t
 stringstream_INIT, stringstream_t
 stringstream_t
 stroffset, errorcontext_t
 STRPARAM_filepathstatic
 struct alignedexpandshift_t
 struct arraysf_iterator_t
 struct arraysf_mwaybranch_t
 struct arraysf_node_t
 struct arraysf_t
 struct arraysf_unode_t
 struct arraystf_iterator_t
 struct arraystf_mwaybranch_t
 struct arraystf_node_t
 struct arraystf_t
 struct arraystf_unode_t
 struct bigint_divstate_t
 struct bigint_fixed_t
 struct bigint_t
 struct binarystack_t
 struct blockarray_t
 struct convert_wchar_t
 struct crc32_t
 struct cstring_t
 struct csvfilereader_t
 struct datablock_t
 struct decimal_divstate_t
 struct decimal_frombigint_state_t
 struct decimal_frombigint_t
 struct directory_t
 struct display_t
 struct dlist_iterator_t
 struct dlist_node_t
 struct dlist_t
 struct eglconfig_t
 struct eglcontext_t
 struct egldisplay_t
 struct eglpbuffer_t
 struct eglwindow_t
 struct errorcontext_t
 struct exthash_iterator_t
 struct exthash_node_t
 struct exthash_t
 struct fields
 struct filepath_static_t
 struct filereader_t
 struct freepage_t
 struct gconfig_t
 struct gcontext_t
 struct hwcache_t
 struct initqueue_entry_t
 struct int_t
 struct iobj_it
 struct iobj_t
 struct iocallback_t
 struct iochannel_t
 struct ioevent_t
 struct iopoll_t
 struct ipaddr_list_t
 struct ipaddr_storage_t
 struct ipaddr_t
 struct ipport_t
 struct ipsocket_async_t
 struct log_header_t
 struct log_it
 struct log_t
 struct logbuffer_t
 struct logwriter_chan_t
 struct logwriter_t
 struct lrptree_node_t
 struct lrtree_node_t
 struct maincontext_startparam_t
 struct maincontext_t
 struct memblock_t
 struct memstream_t
 struct mm_impl_t
 struct mm_it
 struct mm_t
 struct mmfile_t
 struct module_t
 struct mutex_t
 struct objectcache_impl_t
 struct objectcache_it
 struct objectcache_t
 struct opengl_config_t
 struct pagecache_block_t
 struct pagecache_blockmap_t
 struct pagecache_impl_t
 struct pagecache_it
 struct pagecache_t
 struct patriciatrie_iterator_t
 struct patriciatrie_node_t
 struct patriciatrie_prefixiter_t
 struct patriciatrie_t
 struct pixelbuffer_t
 struct process_result_t
 struct process_stdio_t
 struct process_t
 struct processcontext_t
 struct ptr_t
 struct ptrblock_t
 struct queue_iterator_t
 struct queue_page_t
 struct queue_t
 struct redblacktree_iterator_t
 struct redblacktree_t
 struct resourceusage_t
 struct run2queue_entry_t
 struct rwlock_t
 struct semaphore_t
 struct sha1_hash_t
 struct signalhandler_t
 struct signalrt_t
 struct signalstate_t
 struct signalwait_t
 struct slist_iterator_t
 struct slist_node_t
 struct slist_t
 struct splaytree_iterator_t
 struct splaytree_t
 struct splitstring_t
 struct staticpage_t
 struct string_field_t
 struct string_t
 struct stringstream_t
 struct suffixtree_addstate_t
 struct suffixtree_iterator_t
 struct suffixtree_leaf_t
 struct suffixtree_node_t
 struct suffixtree_pos_t
 struct suffixtree_t
 struct surface_t
 struct syncevent_t
 struct syncqueue_t
 struct syncrun_t
 struct syncthread_t
 struct syncwait_t
 struct syncwlist_iterator_t
 struct syncwlist_t
 struct sysuser_id_t
 struct sysuser_info_t
 struct sysuser_t
 struct test_errortimer_t
 struct testmm_block_t
 struct testmm_page_t
 struct testmm_t
 struct testmodule_functable_t
 struct textpos_t
 struct thread_t
 struct thread_tls_t
 struct threadcontext_t
 struct thrmutex_t
 struct timevalue_t
 struct trie_t
 struct typeadapt_binarykey_t
 struct typeadapt_comparator_it
 struct typeadapt_gethash_it
 struct typeadapt_getkey_it
 struct typeadapt_impl_t
 struct typeadapt_lifetime_it
 struct typeadapt_nodeoffset_t
 struct typeadapt_t
 struct url_parts_t
 struct url_t
 struct utf8reader_t
 struct utf8scanner_t
 struct utf8validator_t
 struct valuecache_t
 struct vm_mappedregions_t
 struct vm_region_t
 struct vm_regionsarray_t
 struct vmpage_t
 struct wait2queue_entry_t
 struct waitlist_t
 struct waitqueue_entry_t
 struct wbuffer_it
 struct wbuffer_t
 struct window_evh_t
 struct window_t
 struct windowconfig_t
 struct wlistentry_t
 struct x11dblbuffer_t
 struct x11display_t
 struct x11drawable_t
 struct x11extension_t
 struct x11screen_t
 struct x11videomode_iterator_t
 struct x11videomode_t
 struct x11window_evh_t
 struct x11window_t
 Struct&Function Pointer Example
 structof
 Structure
 sub_bigint, bigint_t
 sub_biginthelper
 sub_decimal, decimal_t
 sub_decimalhelper
 submul_biginthelper
 submul_decimalhelper
 subnode_trienodeoffsets, trie_nodeoffsets_t
 substr_string, string_t
 success_ipsocketasync, ipsocket_async_t
 suffix, suffixtree_addstate_t
 Suffix-Tree
 Suffix-Tree impl
 suffix_link, suffixtree_node_t
 suffixtree_addstate_INIT, suffixtree_addstate_t
 suffixtree_addstate_t
 suffixtree_FREE, suffixtree_t
 suffixtree_iterator_t
 suffixtree_leaf_EMBED
 suffixtree_leaf_t
 suffixtree_node_t
 suffixtree_pos_INIT, suffixtree_pos_t
 suffixtree_pos_t
 suffixtree_t
 suffixtreeiterator_adapter_it
 sunlock_mutex
 sunlock_thrmutex
 sunlockreader_rwlock
 sunlockwriter_rwlock
 Supported Function Replacements
 surface_EMBED, surface_t
 surface_FREE, surface_t
 surface_FREE_EMBEDDED, surface_t
 surface_t
 suspend_thread, thread_t
 SWAP
 swapbuffer_eglwindow, eglwindow_t
 swapbuffer_window, window_t
 swapbuffer_x11window, x11window_t
 switch
 switchoff_testmm, testmm_t
 switchon_testmm, testmm_t
 switchtoprivilege_sysuser, sysuser_t
 switchtoreal_sysuser, sysuser_t
 syncevent_FREE, syncevent_t
 syncevent_INIT, syncevent_t
 syncevent_t
 synchronization
 synchronize
 SyncQueue
 SyncQueue impl
 syncqueue_FREE, syncqueue_t
 syncqueue_INIT, syncqueue_t
 syncqueue_t
 syncrun, threadcontext_t
 SyncRun
 SyncRun impl
 syncrun_f
 syncrun_FREE, syncrun_t
 syncrun_maincontext
 syncrun_qid_e
 syncrun_returncode_ABORT
 syncrun_returncode_e
 syncrun_state_ABORT
 syncrun_state_CONTINUE
 syncrun_state_e
 syncrun_state_EXIT
 syncrun_state_WAIT
 syncrun_t
 Syncthread
 SyncThread
 SyncThread impl
 syncthread_f
 syncthread_FREE, syncthread_t
 syncthread_INIT, syncthread_t
 syncthread_signal_ABORT
 syncthread_signal_e
 syncthread_signal_INIT
 syncthread_signal_NULL
 syncthread_signal_WAKEUP
 syncthread_t
 SyncWait
 SyncWait impl
 syncwait_FREE, syncwait_t
 syncwait_t
 SyncWaitlist
 SyncWaitlist impl
 syncwlist_FREE, syncwlist_t
 syncwlist_iterator_FREE, syncwlist_iterator_t
 syncwlist_iterator_t
 syncwlist_t
 sys_colormap
 sys_context_threadtls
 sys_context2_threadtls
 sys_display, x11display_t
 sys_drawable
 sys_iochannel_FREE
 sys_iochannel_STDERR
 sys_iochannel_STDIN
 sys_iochannel_STDOUT
 sys_iochannel_t
 sys_mutex_INIT_DEFAULT
 sys_mutex_t
 sys_pagesize_vm
 sys_path_MAXSIZE
 sys_poll, iopoll_t
 sys_process_FREE
 sys_process_t
 sys_semaphore_FREE
 sys_semaphore_t
 sys_size_threadtls
 sys_socketaddr_MAXSIZE
 sys_socketaddr_t
 sys_sqroot_int64
 sys_thread, thread_t
 sys_thread_FREE
 sys_thread_t
 sys_thread_threadtls
 sys_userid_FREE
 sys_userid_t
 sysclock_e
 sysclock_MONOTONIC
 sysclock_REAL
 sysclock_t
 System Configuration
 System Process
 system specific configurations
 System Specific Definitions, 3
 System Specific Public Types
 System Thread
 SystemClock
 SystemClock Linux
 SystemUser
 SystemUser Linuximpl
 SysTimer
 SysTimer Linux
 systimer_FREE, systimer_t
 systimer_t
 sysuser, processcontext_t
 sysuser_FREE, sysuser_t
 sysuser_id_FREE, sysuser_id_t
 sysuser_id_t
 sysuser_info_t
 sysuser_maincontext
 sysuser_SYS_SERVICE_NAME
 sysuser_t
 sysuser_UNITTEST_PASSWORD
 sysuser_UNITTEST_USERNAME
 sytem specific configurations
static test_errortimer_t s_arraysf_errtimer
Simulates an error in different functions.
static test_errortimer_t s_arraystf_errtimer
Simulates an error in different functions.
static test_errortimer_t s_bigint_errtimer
Simulates an error in different functions.
static test_errortimer_t s_binarystack_errtimer
static test_errortimer_t s_decimal_errtimer
Simulates an error in different functions.
static const bigint_t * s_decimal_powbase[7]
Tables of powers of pow(10,9) used to convert bigint_t, float, double, into decimal_t.
static test_errortimer_t s_directory_errtimer
Simulates an error in path_directory.
static test_errortimer_t s_display_errtimer
Allows to introduce artificial errors.
static bool s_display_noext
Allows to initialize an X11 display without extensions.
static test_errortimer_t s_eglcontext_errtimer
Allows to introduce artificial errors during test.
static test_errortimer_t s_egldisplay_errtimer
Allows to introduce artificial errors during test.
static test_errortimer_t s_eglpbuffer_errtimer
Allows to introduce artificial errors during test.
static test_errortimer_t s_eglwindow_errtimer
Allows to introduce artificial errors during test.
static test_errortimer_t s_filepathstatic_errtimer
Simulates an error in init_filepathstatic.
static test_errortimer_t s_gcontext_errtimer
Allows to introduce artificial errors during test.
static bool s_isprepared_malloc
Remembers if prepare_malloc was called already.
static const uint8_t s_isurlencode[256]
Table of 256 octets (first are 128 ascii codes).
static logwriter_it s_logwriter_interface
Contains single instance of interface logwriter_it.
static test_errortimer_t s_maincontext_errtimer
Simulates an error in maincontext_t.init_maincontext.
static uint8_t s_maincontext_staticmem[maincontext_STATICSIZE + maincontext_STATICTESTSIZE]
Static memory block used in in global maincontext_t.
static mm_impl_it s_mmimpl_interface
Contains single instance of interface mm_impl_it.
static objectcache_impl_it s_objectcacheimpl_interface
Contains single instance of interface objectcache_it.
static pagecache_impl_it s_pagecacheimpl_interface
Stores single instance of interface pagecache_it.
static test_errortimer_t s_pixelbuffer_errtimer
Allows to introduce artificial errors during test.
static test_errortimer_t s_platform_errtimer
Used to simulate an error in platform_t.init_platform.
static uint64_t s_pow10[20]
Contains powers of 10 (10ⁿ).
static uint32_t s_precomputed_crc32[256]
Precomputed remainder for every possible input byte divided by bit reversed polynomial 0x104C11DB7.
static test_errortimer_t s_processcontext_errtimer
Simulates an error in init_processcontext.
static signalhandler_t s_signalhandler[64]
Stores global configuration information for signal handlers.
static sigset_t s_signalhandler_oldmask
Stores old signal mask.
static test_errortimer_t s_syncrun_errtimer
Allows to introduce artificial errors during test.
static test_errortimer_t s_syncwlist_errtimer
Allows to introduce artificial errors during test.
static testmm_it s_testmm_interface
Contains single instance of interface testmm_it.
static test_errortimer_t s_thread_errtimer
Simulates an error in newgroup_thread.
static test_errortimer_t s_threadcontext_errtimer
Simulates an error in init_threadcontext.
static size_t s_threadcontext_nextid
The next id which is assigned to threadcontext_t.thread_id.
static test_errortimer_t s_threadtls_errtimer
Simulates an error in init_threadtls and free_threadtls.
static test_errortimer_t s_trie_errtimer
Simulates an error in different functions.
static unittest_t s_unittest_singleton
Holds the context for all running unit tests.
static test_errortimer_t s_wbuffer_errtimer
Simulates an error in reserve_memblock_wbuffer and reserve_cstring_wbuffer.
static test_errortimer_t s_window_errtimer
Allows to introduce artificial errors during test.
static bool s_X11_init
Remembers if initialization was done.
int same_resourceusage(const resourceusage_t *usage)
Returns 0 if the numbers of resources equals the numbers stored in usage.
int save_file(const char *filepath,
size_t file_size,
const void *file_content/*[filer_size]*/,
struct directory_t *relative_to)
Creates file and writes file_content into it.
splitstring_t scanned_token
Stores the begin and length of a string of a recognized token.
const splitstring_t * scannedtoken_utf8scanner(utf8scanner_t *scan)
Returns the address to an internally stored splitstring_t.
uint16_t scheme
The url scheme.
#define SCNuSIZE "zu"
scanf unsigned int format specifier ‘zu’ for type size_t.
Window-Pixel-Alpha) * Background-Pixel-RGB Before drawing you need to change the color of the pixels to: Window-Pixel-RGB = Window-Pixel-RGB * Window-Pixel-Alpha
uint32_t screen_x11window(const x11window_t *x11win)
Returns the screen number the window is located on.
int64_t seconds
The seconds counted from some point in time.
int seek_mmfile(mmfile_t *mfile,
sys_iochannel_t fd,
off_t file_offset,
accessmode_e mode)
Use it to change offset of the underlying file mapped into memory.
#define self_maincontext() ((maincontext_t*)pcontext_maincontext())
Inline implementation of maincontext_t.self_maincontext.
maincontext_t * self_maincontext(void)
Returns maincontext_t of the current process.
#define self_thread() (sys_thread_threadtls())
Implements thread_t.self_thread.
thread_t * self_thread(void)
Returns a pointer to own thread_t.
Offers interface for accessing semaphores.
Implements Semaphore.
#define semaphore_FREE { sys_semaphore_FREE }
Static initializer.
struct semaphore_t
Describes a system semaphore used between threads.
int send_signalrt(signalrt_t nr,
uintptr_t value)
Sends realtime signal to any thread in the process.
int send2_signalrt(signalrt_t nr,
uintptr_t value,
const struct thread_t *thread)
Sends realtime signal to a specific thread.
#define sendclose_window(win) sendclose_x11window(os_window(win))
Implements window_t.sendclose_window.
int sendclose_window(window_t *win)
Sends a close request to win.
int sendclose_x11window(x11window_t *x11win)
Sends a close request to a window.
#define sendredraw_window(win) sendredraw_x11window(os_window(win))
Implements window_t.sendredraw_window.
int sendredraw_window(window_t *win)
Sends a redraw event to win.
int sendredraw_x11window(x11window_t *x11win)
Sends a redraw event to a window.
#define SET_PROT(
   prot,
   access_mode
) static_assert(0 == accessmode_NONE, "") ; static_assert(0 == PROT_NONE, "") ; if ( accessmode_READ == PROT_READ && accessmode_WRITE == PROT_WRITE && accessmode_EXEC == PROT_EXEC) { prot = access_mode & (accessmode_RDWR|accessmode_EXEC); } else { if (accessmode_READ & access_mode) { prot = PROT_READ ; } else { prot = PROT_NONE ; } if (accessmode_WRITE & access_mode) { prot |= PROT_WRITE ; } if (accessmode_EXEC & access_mode) { prot |= PROT_EXEC ; } }
Converts accessmode_e into POSIX representation.
static int set_signalhandler(unsigned signr,
signalhandler_f sighandler)
Overwrites a previously set signal handler with sighandler.
int set_x11videomode(const x11videomode_t *xvidmode,
struct x11screen_t *x11screen)
Sets a new videomode of x11screen_t.
int setaddr_ipaddr(ipaddr_t *addr,
ipprotocol_e protocol,
uint16_t sock_addr_len,
const sys_socketaddr_t *sock_addr)
Sets the ip number, protocol and port.
int setbigfirst_bigint(bigint_t * restrict *big,
int sign,
uint16_t size,
const uint32_t numbers[size],
uint16_t exponent)
Sets the value of big integer from an array of integers.
#define SETBLACK(
   node
) (node)->parent = (redblacktree_node_t*) (((uintptr_t)1) | (uintptr_t)((node)->parent))
Sets the color of node to black.
#define setchild_arraysfmwaybranch(
   branch,
   childindex,
   childnode
) do { (branch)->child[childindex] = (childnode) ; } while(0)
Implements arraysf_mwaybranch_t.setchild_arraysfmwaybranch.
void setchild_arraysfmwaybranch(arraysf_mwaybranch_t *branch,
unsigned childindex,
arraysf_node_t *childnode)
Changes entries in arry arraysf_mwaybranch_t.child.
#define setchild_arraystfmwaybranch(
   branch,
   childindex,
   childnode
) do { (branch)->child[childindex] = (childnode) ; } while(0)
Implements arraystf_mwaybranch_t.setchild_arraystfmwaybranch.
void setchild_arraystfmwaybranch(arraystf_mwaybranch_t *branch,
unsigned childindex,
arraystf_node_t *childnode)
Changes entries in arry arraystf_mwaybranch_t.child.
static inline void setchild_triesubnode(trie_subnode_t *subnode,
uint8_t digit,
trie_nodedata_t *child)
Sets child as pointer to child node for digit.
#define setcontinue_thread(
   is_abort
) ( __extension__ ({ thread_t * _self ; _self = self_thread() ; setreturncode_thread( _self, 0) ; int _err = getcontext( &_self->continuecontext) ; if (_err) { _err = errno ; TRACESYSCALL_ERRLOG( "getcontext", _err) ; } if (returncode_thread( _self)) { *(is_abort) = true ; } else { *(is_abort) = false ; } _err ; }))
Implements thread_t.setcontinue_thread.
int setcontinue_thread(bool *is_abort)
Stores the current execution context and returns 0 on success.
#define setcontinuelabel_syncthread(
   sthread,
   labelname
) ((void)((sthread)->state = __extension__ && labelname))
Implements syncthread_t.setcontinuelabel_syncthread.
void setcontinuelabel_syncthread(syncthread_t *sthread,
IDNAME labelname)
Calls setstate_syncthread with address of a label.
int setcurrent_eglcontext(const eglcontext_t eglcont,
struct opengl_display_t *egldisp,
struct opengl_surface_t *drawsurf,
struct opengl_surface_t *readsurf)
Setzt den aktuellen OpenGL Kontext für diesen Thread auf eglcont.
#define setcurrent_gcontext(
   cont,
   disp,
   drawsurf,
   readsurf
) setcurrent_eglcontext(gl_gcontext(cont), gl_display(disp), gl_surface(drawsurf), gl_surface(readsurf))
Implements gcontext_t.setcurrent_gcontext.
int setcurrent_gcontext(const gcontext_t cont,
struct display_t *disp,
struct surface_t *drawsurf,
struct surface_t *readsurf)
Setzt den aktuellen OpenGL Kontext für diesen Thread auf cont.
int setdefault_locale(void)
Sets the default locale defined by the program environment.
Calls C99 conforming function »setlocale«.
int setfromchar_decimal(decimal_t *restrict *dec,
const size_t nrchars,
const char decimalstr[nrchars])
Sets decimal dec to the value represented in decimal/scientific notation.
int setfromdouble_bigint(bigint_t *big,
double value)
Sets the value of big to the integer value of the provided parameter.
int setfromfloat_decimal(decimal_t *restrict *dec,
float value)
Sets decimal to floating point value.
void setfromint32_bigint(bigint_t *big,
int32_t value)
Sets the value of big to the value of the provided parameter.
int setfromint32_decimal(decimal_t *restrict *dec,
int32_t value,
int32_t decimal_exponent)
Sets decimal to value mutliplied by pow(10,*decimal_exponent*).
int setfromint64_decimal(decimal_t *restrict *dec,
int64_t value,
int32_t decimal_exponent)
Sets decimal to value mutliplied by pow(10,*decimal_exponent*).
void setfromuint32_bigint(bigint_t *big,
uint32_t value)
Sets the value of big to the positive value of the provided parameter .
void setfromuint64_bigint(bigint_t *big,
uint64_t value)
Sets the value of big to the positive value of the provided parameter .
static int setignore_signalhandler(unsigned signr)
Sets signal handler which consumes and ignores signal signr.
#define setioerror_filereader(frd,
ioerr) ((void)((frd)->ioerror = (ioerr)))
Implements filereader_t.setioerror_filereader.
void setioerror_filereader(filereader_t *frd,
int ioerr)
Sets ioerror of frd.
int setlittlefirst_bigint(bigint_t * restrict *big,
int sign,
uint16_t size,
const uint32_t numbers[size],
uint16_t exponent)
Sets the value of big integer from an array of integers.
void setmm_threadcontext(threadcontext_t *tcontext,
const struct mm_t *new_mm)
Overwrites old mm_t of threadcontext_t with new_mm.
#define setnegative_bigint(
   big
) do { (big)->sign_and_used_digits = (int16_t) ( (big)->sign_and_used_digits < 0 ? (big)->sign_and_used_digits : - (big)->sign_and_used_digits ) ; } while (0)
Implements bigint_t.setnegative_bigint.
void setnegative_bigint(bigint_t *big)
Changes the sign to be negative.
#define setnegative_decimal(
   dec
) do { (dec)->sign_and_used_digits = (int8_t) ( (dec)->sign_and_used_digits < 0 ? (dec)->sign_and_used_digits : - (dec)->sign_and_used_digits ) ; } while (0)
Implements decimal_t.setnegative_decimal.
void setnegative_decimal(decimal_t *dec)
Changes the sign to be negative.
Implements splitstring_t.setnrofparts_splitstring.
void setnrofparts_splitstring(splitstring_t *spstr,
uint8_t number_of_parts)
Sets the nr of parts the string is composed of.
#define SETONERROR_testerrortimer(
   errtimer,
   err
) do { typeof(err) _eret = (err) ; int _err2 ; _err2 = process_testerrortimer(errtimer) ; if (_err2) *_eret = _err2 ; } while(0)
Implements test_errortimer_t.SETONERROR_testerrortimer.
void SETONERROR_testerrortimer(test_errortimer_t *errtimer,
/*err*/int *err)
No op if KONFIG_UNITTEST is not defined.
int setopacity_x11window(x11window_t *x11win,
double opacity)
Sets the opacity of the window and its window manager frame.
#define SETPARENT(
   node,
   newparent
) (node)->parent = (redblacktree_node_t*) (COLOR(node) | (uintptr_t)newparent)
Sets the new parent of node and keeps the encoded color.
#define SETPARENTBLACK(
   node,
   newparent
) (node)->parent = (redblacktree_node_t*) (((uintptr_t)1) | (uintptr_t)newparent)
Sets a new parent for node and sets its color to black.
#define SETPARENTRED(node,
newparent) (node)->parent = newparent
Sets a new parent for node and sets its color to red.
int setport_ipaddr(ipaddr_t *addr,
ipport_t port)
Changes ip address’ port value.
#define setpos_window(
   win,
   screen_x,
   screen_y
) setpos_x11window(os_window(win), screen_x, screen_y)
Implements window_t.setpos_window.
int setpos_window(window_t *win,
int32_t screen_x,
int32_t screen_y)
Changes the position of the window on the screen.
int setpos_x11window(x11window_t *x11win,
int32_t screen_x,
int32_t screen_y)
Changes the position of the window on the screen.
#define setpositive_bigint(big) do
Implements bigint_t.setpositive_bigint.
void setpositive_bigint(bigint_t *big)
Changes the sign to be positive.
#define setpositive_decimal(dec) do
Implements decimal_t.setpositive_decimal.
void setpositive_decimal(decimal_t *dec)
Changes the sign to be positive.
int setprotocol_ipaddr(ipaddr_t *addr,
ipprotocol_e protocol)
Changes ip address’ protocol value.
int setqueuesize_ipsocket(ipsocket_t *ipsock,  
size_t queuesize_read/*0 = > no change*/,
size_t queuesize_write/*0 = > no change*/)
Changes the size of the read and write queue.
#define SETRED(node) (node)->parent = PARENT(node)
Sets the color of node to red.
#define setreturncode_thread(
   thread,
   retcode
) do { volatile typeof(*(thread)) * _thr ; _thr = (thread) ; _thr->returncode = (retcode) ; } while(0)
Implements thread_t.setreturncode_thread.
void setreturncode_thread(thread_t *thread,
int retcode)
Changes value returned by returncode_thread.
int setsegv_signalhandler(signalhandler_segv_f segfault_handler)
Change segmentation fault signal handler.
Implements splitstring_t.setfirstsize_splitstring.
void setsize_splitstring(splitstring_t *spstr,
uint8_t stridx,
size_t stringsize)
Changes the size of the a part of the string at index stridx.
void (*setstate) (void * log, uint8_t channel, uint8_t logstate)
Sets log_state_e logstate for a specific log_channel_e channel.
#define SETSTATE_LOG(
   LOGCHANNEL,
   LOGSTATE
) log_maincontext().iimpl->setstate(log_maincontext().object, LOGCHANNEL, LOGSTATE)
Sets LOGSTATE for LOGCHANNEL.
void setstate_logwriter(logwriter_t *lgwrt,
uint8_t channel,
uint8_t logstate)
Change log_state_e of log_channel_e channel to logstate.
#define setstate_syncthread(sthread,
state_) ((void)((sthread)->state = state_))
Implements syncthread_t.setstate_syncthread.
void setstate_syncthread(syncthread_t *sthread,
void *state)
Sets the state of the thread.
void setstateabort_syncrun(syncrun_t *srun)
Changes state of running thread to syncrun_state_ABORT.
void setstateexit_syncrun(syncrun_t *srun)
Changes state of running thread to syncrun_state_EXIT.
void setstatewait_syncrun(syncrun_t *srun,
struct syncevent_t *event,
void *continuelabel)
Changes state of running thread to syncrun_state_WAIT.
void setstatewaitlist_syncrun(syncrun_t *srun,
struct syncwlist_t *wlist,
void *continuelabel)
Same as setstatewait_syncrun except supports multiple waiting threads.
Implements splitstring_t.setstring_splitstring.
void setstring_splitstring(splitstring_t *spstr,
uint8_t stridx,
size_t stringsize,
const uint8_t stringaddr[stringsize])
Sets the stringaddr and stringsize of a part of the string at index stridx.
#define settask_thread(
   thread,
   _main,
   _main_arg
) do { volatile typeof(*(thread)) * _thr ; _thr = (thread) ; _thr->main_task = (_main) ; _thr->main_arg = (_main_arg) ; } while(0)
Implements thread_t.settask_thread.
void settask_thread(thread_t *thread,
thread_f main,
void *main_arg)
Changes values returned by maintask_thread and mainarg_thread.
int settitle_x11window(const x11window_t *x11win,
const char *title)
Sets the text of the window titile bar.
int setusers_sysuser(sysuser_t *sysusr,
sysuser_id_t realuser,
sysuser_id_t privilegeduser)
Changes realuser and privileged user.
Offers interface to calculate sha1 hash value of data of arbitrary size in bytes.
Implements SHA-1-Hashcode.
struct sha1_hash_t
Stores the data needed to calculate SHA1 hash from binary data.
typedef uint8_t sha1_hashvalue_t[20]
Defines sha1_hashvalue_t as 160 bit value.
uint8_t shift
Position of bit in array index used to branch.
uint8_t shift
Index of bit of key data byte at position offset used to branch.
int shiftleft_bigint(bigint_t **result,
uint32_t shift_count)
Multiplies the number by pow(2, shift_count).
typedef uint32_t (
   *shiftleft10p_f
) (/*inout*/uint32_t * shiftcarry, uint32_t shiftdigit)
A function which computes the decimal left shift of digit.
int shiftright_bigint(bigint_t **result,
uint32_t shift_count)
Divides the number by pow(2, shift_count).
#define show_window(win) show_x11window(os_window(win))
Implements window_t.show_window.
int show_window(window_t *win)
Makes window visible to the user.
int show_x11window(x11window_t *x11win)
Makes window visible to the user.
int (
   *shrink
) (void * impl, size_t new_size, /*inout*/struct memstream_t * memstr)
Free all memory beyond the first new_size bytes.
static int shrink_cstring_wbuffer(void *impl,
size_t new_size,
/*inout*/memstream_t *memstr)
Sets memstr to whole allocated buffer of impl (cstring_t) except for the first new_size bytes.
static int shrink_memblock_wbuffer(void *impl,
size_t new_size,
/*inout*/memstream_t *memstr)
Sets memstr to whole allocated buffer of impl (memblock_t) except for the first new_size bytes.
static int shrink_static_wbuffer(void *impl,
size_t new_size,
/*inout*/memstream_t *memstr)
Sets wbuf->next to start+new_size of static buffer.
int shrink_vmpage(vmpage_t *vmpage,
size_t size_in_bytes)
Shrinks the size of an already mapped virtual memory block.
#define shrink_wbuffer(
   wbuf,
   newsize
) ( __extension__ ({ wbuffer_t * _wb = (wbuf) ; _wb->iimpl->shrink(_wb->impl, (newsize), (struct memstream_t*)_wb); }))
Implements wbuffer_t.shrink_wbuffer.
int shrink_wbuffer(wbuffer_t *wbuf,
size_t newsize)
Removes the last size_wbuffer(wbuf)-newsize bytes from wbuf.
Implements memblock_t.shrinkleft_memblock.
int shrinkleft_memblock(memblock_t *mblock,
size_t addr_increment)
Shrinks the memory block by incr its addr and decr its size.
int shrinkleft_string(string_t *str,
size_t nr_bytes_removed_from_string_start)
Shrinks size of string by skipping bytes from the start.
static void shrinkprefix_trienodeoffsets(trie_nodeoffsets_t *offsets,
uint8_t newprefixlen)
Adapts offsets to newprefixlen.
static void shrinkprefixkeephead_trienode(trie_node_t *node,
uint8_t newprefixlen)
Keeps first newprefixlen bytes of the key prefix.
static void shrinkprefixkeeptail_trienode(trie_node_t *node,
uint8_t newprefixlen)
Keeps last newprefixlen bytes of the key prefix.
Implements memblock_t.shrinkright_memblock.
int shrinkright_memblock(memblock_t *mblock,
size_t size_decrement)
Shrinks the memory block by decrementing only its size.
int shrinkright_string(string_t *str,
size_t nr_bytes_removed_from_string_end)
Shrinks size of string by decrementing its size.
static int shrinksize_trienode(trie_node_t *node)
Resize node to a smaller size.
int16_t sign_and_used_digits
The absolute value of this number is the number of valid digits.
int8_t sign_and_used_digits
The sign of this variable is the sign of the number.
Implements bigint_t.sign_bigint.
int sign_bigint(const bigint_t *big)
Returns -1, 0 or +1 if big is negative, zero or positive.
Implements decimal_t.sign_decimal.
int sign_decimal(const decimal_t *dec)
Returns -1, 0 or +1 if dec is negative, zero or positive.
Implements int_t.sign_int as a generic function.
int sign_int(int i)
Return the sign of an integer (signum function).
int signal_fpuexcept(fpu_except_e exception_flags)
Signals an exceptional condition.
struct sigaction signal_handlers[/*nr_signal_handlers*/]
Stores setting for every signal handler.
int signal_semaphore(semaphore_t *semaobj,
uint32_t signal_count)
Wakes up signal_count waiters.
int signalall_syncrun(syncrun_t *srun,
struct syncwlist_t *syncwlist)
Transfers all nodes of syncwlist to an internal wakup_list.
int signalevent_syncrun(syncrun_t *srun,
struct syncevent_t *syncevent)
Stores the referenced waiting syncthread_t in a wakeup queue.
int signalfirst_syncrun(syncrun_t *srun,
struct syncwlist_t *syncwlist)
Transfers the first entry of syncwlist to an internal wakup_list.
typedef void (*signalhandler_f) (unsigned signr, uintptr_t value)
Export function signature of a signal handler.
typedef void (*signalhandler_segv_f) (void * memaddr, bool ismapped)
Export function signature of segmentation violation (fault) signal handler.
struct signalhandler_t
Stores signal handler for the whole process.
sigset_t signalmask
The signal mask of the current thread.
Supports real time signal numbers.
void signalstack_threadtls(const thread_tls_t *tls,
/*out*/struct memblock_t *stackmem)
Returns in stackmem the signalstack from tls.
struct signalstate_t * signalstate
Stores configuration state of signal subsystem.
struct signalstate_t
Stores current state of all signal handlers and the signal mask.
#define signalwait_FREE sys_iochannel_FREE
Static initializer.
typedef sys_iochannel_t signalwait_t
Manages a set of signals which can be waited on for a read event.
Manages a circularly linked list of objects.
Implements a linear linked list data structure.
Defines node type slist_node_t which can be stored in a list of type slist_t.
size_t size
Length of key in memory in bytes.
uint32_t size
Size in bytes of this block.
uint32_t size
Holds size in bytes of memory buffer.
size_t size
Size in bytes of allocated buffer.
size_t size
Size of memory in bytes addr points to.
size_t size
Size of the mapped memory.
size_t size
Size in bytes of memory.
size_t size
Size in bytes of allocated memory this structure uses.
size_t size
Size in bytes of binary data addr points to.
size_t size
Size of memory in bytes addr points to.
size_t (*size) (void * impl, const struct memstream_t * memstr)
Returns number of used bytes.
uint8_t size_allocated
The number of allocated integers in digits.
#define size_bigint(
   big
) ((uint32_t)exponent_bigint(big) + (uint32_t)nrdigits_bigint(big))
Implements bigint_t.size_bigint.
uint32_t size_bigint(const bigint_t *big)
Returns the sum of exponent_bigint and nrdigits_bigint.
size_t size_binarystack(binarystack_t *stack)
This function walks through all allocated blocks and counts the allocated size.
size_t size_binarystack(binarystack_t *stack)
Returns the size of all pushed objects.
#define size_cstring(cstr) ((cstr)->size)
Implements cstring_t.size_cstring.
size_t size_cstring(const cstring_t *cstr)
Returns the size of the string in bytes.
static size_t size_cstring_wbuffer(void *impl,
const memstream_t *memstr)
Returns size in use of impl (cstring_t).
#define size_decimal(
   dec
) ((uint8_t)( (dec)->sign_and_used_digits < 0 ? - (dec)->sign_and_used_digits : (dec)->sign_and_used_digits))
Implements decimal_t.size_decimal.
uint8_t size_decimal(decimal_t *dec)
Returns number of integers needed to store all decimal digits.
int size_eglpbuffer(const eglpbuffer_t eglpbuf,
struct opengl_display_t *egldisp,
/*out*/uint32_t *width,
/*out*/uint32_t *height)
Returns the width and height of eglpbuf in width and height.
int size_file(const file_t fileobj,
/*out*/off_t *file_size)
Returns the size in bytes of the file.
static uint_fast16_t size_header(unsigned headersize)
Returns the size in bytes of the header size field.
#define size_memblock(mblock) ((mblock)->size)
Implements memblock_t.size_memblock.
size_t size_memblock(const memblock_t *mblock)
Returns size of memory block.
static size_t size_memblock_wbuffer(void *impl,
const memstream_t *memstr)
Returns number of appended bytes of impl (memblock_t).
#define size_memstream(
   memstr
) ( __extension__ ({ const memstream_t * _m ; _m = (memstr) ; (size_t) (_m->end - _m->next) ; }))
Implements memstream_t.size_memstream.
size_t size_memstream(const memstream_t *memstr)
Returns the nuber of unread bytes.
#define size_mmfile(mfile) ((mfile)->size)
Implements mmfile_t.size_mmfile.
size_t size_mmfile(const mmfile_t *mfile)
Returns the size of the mapped memory.
#define size_pixelbuffer(
   pbuf,
   disp,
   width,
   height
) size_eglpbuffer(gl_pixelbuffer(pbuf), gl_display(disp), width, height)
Implements pixelbuffer_t.size_pixelbuffer.
int size_pixelbuffer(const pixelbuffer_t *pbuf,
struct display_t *disp,
/*out*/uint32_t *width,
/*out*/uint32_t *height)
Returns the width and height of pbuf.
Implements splitstring_t.size_splitstring.
size_t size_splitstring(const splitstring_t *spstr,
uint8_t stridx)
Returns size of a part of the string at index stridx.
static size_t size_static_wbuffer(void *impl,
const memstream_t *memstr)
Returns number of appended bytes.
uint16_t size_staticmem
Size in bytes of how much of the static memory is allocated.
#define size_string(str) ((str)->size)
Implements string_t.size_string.
size_t size_string(const string_t *str)
Returns size in bytes of string.
#define size_stringstream(
   strstream
) ((size_t)((strstream)->end - (strstream)->next))
Implements stringstream_t.size_stringstream.
size_t size_stringstream(const stringstream_t *strstream)
Returns the number of unread bytes.
#define size_threadtls() (sys_size_threadtls())
Implements thread_tls_t.size_threadtls.
size_t size_threadtls(void)
Returns the size of the allocated memory block.
#define size_vmmappedregions(mappedregions) ((mappedregions)->total_count)
Returns vm_mappedregions_t->total_count.
size_t size_vmmappedregions(const vm_mappedregions_t *mappedregions)
Returns the total number of contained vm_region_t.
#define size_wbuffer(
   wbuf
) ( __extension__ ({ const wbuffer_t * _wb = (wbuf) ; _wb->iimpl->size(_wb->impl, (const struct memstream_t*)_wb) ; }))
Implements wbuffer_t.size_wbuffer.
size_t size_wbuffer(const wbuffer_t *wbuf)
Returns the number of appended bytes.
#define size_window(win,
width,
height) size_x11window(os_window(win), width, height)
Implements window_t.size_window.
int size_window(const window_t *win,
/*out*/uint32_t *width,
/*out*/uint32_t *height)
Returns the width and height of win in pixels.
#define size_x11window(
   x11win,
   width,
   height
) (geometry_x11window(x11win, 0, 0, width, height))
Implements x11window_t.size_x11window.
int size_x11window(const x11window_t *x11win,
/*out*/uint32_t *width,
/*out*/uint32_t *height)
Returns the width and height of the window in pixels.
#define SIZE1NODE (2*sizeof(trie_node_t*))
Size of trie_node_t if header_t contains header_SIZE1NODE.
#define SIZE2NODE (4*sizeof(trie_node_t*))
Size of trie_node_t if header_t contains header_SIZE2NODE.
#define SIZE3NODE (8*sizeof(trie_node_t*))
Size of trie_node_t if header_t contains header_SIZE3NODE.
#define SIZE4NODE (16*sizeof(trie_node_t*))
Size of trie_node_t if header_t contains header_SIZE4NODE.
#define SIZE5NODE (32*sizeof(trie_node_t*))
Size of trie_node_t if header_t contains header_SIZE5NODE.
size_t (*sizeallocated) (struct mm_t * mman)
See mm_impl_t.sizeallocated_mmimpl for an implementation.
size_t sizeallocated
Number of allocated bytes.
size_t (*sizeallocated) (const pagecache_t * pgcache)
Returns the sum of the size of all allocated pages.
#define sizeallocated_mm(mm) ((mm).iimpl->sizeallocated((mm).object))
Implements mm_t.sizeallocated_mm.
size_t sizeallocated_mm(mm_t mm)
Calls mm->iimpl->sizeallocated with mm->object as first parameter.
#define SIZEALLOCATED_MM() sizeallocated_mm(mm_maincontext())
REturns number of allocated bytes.
size_t sizeallocated_mmimpl(mm_impl_t *mman)
Returns the size in bytes of all allocated memory blocks.
#define sizeallocated_pagecache(
   pgcache
) ((pgcache).iimpl->sizeallocated((pgcache).object))
Implements pagecache_t.sizeallocated_pagecache.
size_t sizeallocated_pagecache(const pagecache_t pgcache)
Calls pgcache->iimpl->sizeallocated with pgcache->object as first parameter.
#define SIZEALLOCATED_PAGECACHE(
   
) (sizeallocated_pagecache(pagecache_maincontext()))
Returns sum of size of all allocated pages.
size_t sizeallocated_pagecacheimpl(const pagecache_impl_t *pgcache)
Returns the sum of the size of all allocated pages.
size_t sizeallocated_testmm(testmm_t *mman)
Returns the size in bytes of all allocated memory blocks.
ramsize_t sizeavailableram_vm(void)
Returns size of available physical memory in bytes
size_t sizebase64decode_string(const struct string_t *str)
Returns the size of the decoded string.
#define sizebase64encode_string(str) (4 * ((2 + (str)->size)/3))
Implements string_t.sizebase64encode_string.
size_t sizebase64encode_string(const struct string_t *str)
Returns the size of the encoded string.
size_t sizebuffer_filereader(void)
TODO: 1.
size_t sizebuffer_filereader(void)
Returns the buffer size in bytes.
Implements utf8.sizechar_utf8.
uint8_t sizechar_utf8(char32_t uchar)
Returns the size in bytes of uchar as encoded mb-sequence.
#define sizedataprefetch_hwcache() (16)
Implements hwcache_t.sizedataprefetch_hwcache.
uint32_t sizedataprefetch_hwcache(void)
Size of aligned memory block transfered to and from data cache.
static inline uint16_t sizeentry_initqueueentry(uint8_t initargsize)
The size in bytes of initqueue_entry_t depending on initargsize.
#define sizefirst_queue(
   queue
) ( __extension__ ({ typeof(queue) _qu = (queue) ; size_t _size ; queue_page_t * _first ; if (_qu->last) { _first = (queue_page_t*) ((queue_page_t*)_qu->last)->next ; _size = _first->end_offset - _first->start_offset ; } else { _size = 0 ; } _size ; }))
Implements queue_t.sizefirst_queue.
size_t sizefirst_queue(const queue_t *queue)
Returns the number of bytes allocated on the first memory page.
int sizeformat_string(/*out*/struct string_t *str,
int dummy)
Returns in string_t.size the size of the formatted output fields.
#define sizefree_logbuffer(
   logbuf
) ( __extension__ ({ const logbuffer_t * _lb ; _lb = (logbuf) ; _lb->size - _lb->logsize ; }))
Implements logbuffer_t.sizefree_logbuffer.
uint32_t sizefree_logbuffer(const logbuffer_t *logbuf)
Returns free size usable by the next written entry.
static uint8_t sizefree_trienodeoffsets(const trie_nodeoffsets_t *offsets)
Calculates unused bytes in node which corresponds to offset.
Implements utf8.sizefromfirstbyte_utf8.
uint8_t sizefromfirstbyte_utf8(const uint8_t firstbyte)
Returns the size in bytes of a correct encoded mb-sequence by means of the value of its first byte.
static uint8_t sizegrowprefix_trienodeoffsets(
   const trie_nodeoffsets_t *offsets
)
Calculates size the prefix could grow without growing the node size.
#define sizelast_queue(
   queue
) ( __extension__ ({ typeof(queue) _qu = (queue) ; size_t _size ; queue_page_t * _last ; if (_qu->last) { _last = (queue_page_t*)_qu->last ; _size = _last->end_offset - _last->start_offset ; } else { _size = 0 ; } _size ; }))
Implements queue_t.sizelast_queue.
size_t sizelast_queue(const queue_t *queue)
Returns the number of bytes allocated on the last memory page.
#define sizemax_decimal() ((uint8_t)127)
Implements decimal_t.sizemax_decimal.
uint8_t sizemax_decimal(void)
Returns the maximum number of integers which can be allocated.
#define SIZEMAXNODE SIZE5NODE
Same as SIZE5NODE.
static inline uint16_t sizenode_header(const header_t header)
Return size in bytes of node.
Asserts that sizeof(char) is 1 byte.
ramsize_t sizephysram_vm(void)
Returns size of all physical memory in bytes.
#define sizeprefix_utf8validator(
   utf8validator
) ((utf8validator)->size_of_prefix)
Implements utf8validator_t.sizeprefix_utf8validator.
uint8_t sizeprefix_utf8validator(const utf8validator_t *utf8validator)
Returns a value != 0 if the last multibyte sequence was not fully contained in the last validated buffer.
#define sizereserved_wbuffer(
   wbuf
) ( __extension__ ({ const wbuffer_t * _wb2 = (wbuf) ; (size_t) (_wb2->end - _wb2->next) ; }))
Implements wbuffer_t.sizereserved_wbuffer.
size_t sizereserved_wbuffer(const wbuffer_t *wbuf)
Returns the number of allocated bytes which are not in use.
static inline size_t sizesignalstack_threadtls(const size_t pagesize)
Returns the minimum size of the signal stack.
static inline size_t sizestack_threadtls(const size_t pagesize)
Returns the default size of the thread stack.
size_t sizestatic
Number of allocated bytes from static memory.
size_t (*sizestatic) (const pagecache_t * pgcache)
Size of memory allocated with allocstatic.
#define sizestatic_maincontext() (self_maincontext()->size_staticmem)
Inline implementation of maincontext_t.sizestatic_maincontext.
uint16_t sizestatic_maincontext(void)
Returns size in bytes of allocated static memory.
#define sizestatic_pagecache(
   pgcache
) ((pgcache).iimpl->sizestatic((pgcache).object))
Implements pagecache_t.sizestatic_pagecache.
size_t sizestatic_pagecache(const pagecache_t pgcache)
Calls pgcache->iimpl->sizestatic with pgcache->object as first parameter.
#define SIZESTATIC_PAGECACHE() (sizestatic_pagecache(pagecache_maincontext()))
Returns size of static allocated memory.
size_t sizestatic_pagecacheimpl(const pagecache_impl_t *pgcache)
Returns wize of memory allocated with allocstatic.
Implements utf8scanner_t.sizeunread_utf8scanner.
size_t sizeunread_utf8scanner(const utf8scanner_t *scan)
The number of bytes which are not read from the current buffer.
size_t sizeurldecode_string(const struct string_t *str)
Determines url decoded length of parameter str.
size_t sizeurlencode_string(const struct string_t *str,
uint8_t except_char)
Determines url encoded length of parameter str.
size_t sizeusable_malloc(void *addr)
Returns number of usable bytes in the allocated memory block addr.
static inline size_t sizevars_threadtls(const size_t pagesize)
Returns the size of all local thread variables on the stack.
extern int skip_convertwchar(convert_wchar_t *conv,
size_t char_count)
Skips the next char_count characters.
static int skip_spaceandcomment(textresource_reader_t *reader)
Skips comments until next non space character.
Increments suffixtree_leaf_t.str_start and decrements suffixtree_leaf_t.str_size with _add.
#define skipascii_utf8reader(
   utfread
) do { typeof(utfread) _rd1 = (utfread) ; bool _isnext = isnext_utf8reader(_rd1) ; if (_isnext) { incrcolumn_textpos(&_rd1->pos) ; if ('\n' == *(_rd1->next ++)) { incrline_textpos(&_rd1->pos) ; } } } while(0)
Implements utf8reader_t.skipascii_utf8reader.
void skipascii_utf8reader(utf8reader_t *utfread)
Skips next ascii character.
#define skipbyte_string(str) do { ++ (str)->addr ; -- (str)->size ; } while(0)
Implements string_t.skipbyte_string.
void skipbyte_string(string_t *str)
Increments the start address of the string by one and decrements its size.
#define skipbyte_stringstream(strstream) do { ++ (strstream)->next ; } while(0)
Implements stringstream_t.skipbyte_stringstream.
void skipbyte_stringstream(stringstream_t *strstream)
Skips the next unread byte in the input stream.
#define skipbytes_stringstream(
   strstream,
   size
) do { (strstream)->next += (size) ; } while(0)
Implements stringstream_t.skipbytes_stringstream.
void skipbytes_stringstream(stringstream_t *strstream,
size_t size)
Skips the next size unread bytes in the input stream.
#define skipbytes_utf8reader(
   utfread,
   nrbytes,
   nrchars
) do { typeof(utfread) _rd1 = (utfread) ; size_t _nrb1 = (nrbytes) ; size_t _size = unreadsize_utf8reader(_rd1) ; if (_size >= _nrb1) { _rd1->next += _nrb1 ; addcolumn_textpos(&_rd1->pos,(nrchars)) ; } } while(0)
Implements utf8reader_t.skipbytes_utf8reader.
void skipbytes_utf8reader(utf8reader_t *utfread,
size_t nrbytes,
size_t nrchars)
Skips next nrbytes bytes.
Implements utf8scanner_t.skipbytes_utf8scanner.
void skipbytes_utf8scanner(utf8scanner_t *scan,
size_t nrbytes)
Increments the read pointer by nrbytes without reading the bytes.
Implements utf8.skipchar_utf8.
uint8_t skipchar_utf8(const uint8_t strstart[/*maxsize_utf8() or big enough*/])
Skips the next utf-8 encoded character.
#define skipchar_utf8reader(
   utfread
) ( __extension__ ({ int _err = 0 ; typeof(utfread) _rd1 = (utfread) ; if (isnext_utf8reader(_rd1)) { uint8_t firstbyte = *(_rd1->next) ; if ('\n' == firstbyte) { incrline_textpos(&_rd1->pos) ; ++ _rd1->next ; } else { uint8_t _sz ; _sz = sizefromfirstbyte_utf8( firstbyte) ; if (_sz > (_rd1->end - _rd1->next)) { _err = EILSEQ ; } else { _rd1->next += _sz + (_sz==0) ; incrcolumn_textpos(&_rd1->pos) ; } } } else { _err = ENODATA ; } _err ; }))
Implements utf8reader_t.skipchar_utf8reader.
int skipchar_utf8reader(utf8reader_t *utfread)
Skips next character.
static void skipempty_csvfilereaderparsestate(csvfilereader_parsestate_t *state)
Increments offset until next non empty data line is found.
void skipillegalutf8_strstream(struct stringstream_t *strstream)
Skips bytes until end of stream or the begin of a valid utf-8 encoding is found.
int skipline_utf8reader(utf8reader_t *utfread)
Skips characters until beginning of next line.
int skipuntilafter_utf8scanner(utf8scanner_t *scan,
struct filereader_t *frd,
char32_t uchar)
Skips characters until the last skipped character equals uchar.
#define skiputf8_stringstream(
   strstream
) ( __extension__ ({ char32_t _uchar ; nextutf8_stringstream( (strstream), &_uchar ) ; }))
Implements stringstream_t.skiputf8_stringstream.
int skiputf8_stringstream(struct stringstream_t *strstream)
Skips next utf-8 encoded character from strstream.
int sleep_sysclock(sysclock_e clock_type,
const struct timevalue_t *relative_time)
Sleeps relative_time seconds (+nanoseconds).
int sleepms_sysclock(sysclock_e clock_type,
uint32_t millisec)
Sleeps millisec milliseconds.
void sleepms_thread(uint32_t msec)
Makes calling thread to sleep msec milli-seconds.
#define slist_IMPLEMENT(
   _fsuffix,
   object_t,
   name_nextptr
) typedef slist_iterator_t iteratortype##_fsuffix ; typedef object_t * iteratedtype##_fsuffix ; static inline int initfirst##_fsuffix##iterator(slist_iterator_t * iter, slist_t * list) __attribute__ ((always_inline)) ; static inline int free##_fsuffix##iterator(slist_iterator_t * iter) __attribute__ ((always_inline)) ; static inline bool next##_fsuffix##iterator(slist_iterator_t * iter, object_t ** node) __attribute__ ((always_inline)) ; static inline void init##_fsuffix(slist_t * list) __attribute__ ((always_inline)) ; static inline int free##_fsuffix(slist_t * list, struct typeadapt_t * typeadp) __attribute__ ((always_inline)) ; static inline int isempty##_fsuffix(const slist_t * list) __attribute__ ((always_inline)) ; static inline object_t * first##_fsuffix(const slist_t * list) __attribute__ ((always_inline)) ; static inline object_t * last##_fsuffix(const slist_t * list) __attribute__ ((always_inline)) ; static inline object_t * next##_fsuffix(object_t * node) __attribute__ ((always_inline)) ; static inline bool isinlist##_fsuffix(object_t * node) __attribute__ ((always_inline)) ; static inline void insertfirst##_fsuffix(slist_t * list, object_t * new_node) __attribute__ ((always_inline)) ; static inline void insertlast##_fsuffix(slist_t * list, object_t * new_node) __attribute__ ((always_inline)) ; static inline void insertafter##_fsuffix(slist_t * list, object_t * prev_node, object_t * new_node) __attribute__ ((always_inline)) ; static inline int removefirst##_fsuffix(slist_t * list, object_t ** removed_node) __attribute__ ((always_inline)) ; static inline int removeafter##_fsuffix(slist_t * list, object_t * prev_node, object_t ** removed_node) __attribute__ ((always_inline)) ; static inline int removeall##_fsuffix(slist_t * list, struct typeadapt_t * typeadp) __attribute__ ((always_inline)) ; static inline slist_node_t * asnode##_fsuffix(object_t * object) { static_assert(&((object_t*)0)->name_nextptr == (slist_node_t**)offsetof(object_t, name_nextptr), "correct type") ; return (slist_node_t *) ((uintptr_t)object + offsetof(object_t, name_nextptr)) ; } static inline object_t * asobject##_fsuffix(slist_node_t * node) { return (object_t *) ((uintptr_t)node - offsetof(object_t, name_nextptr)) ; } static inline object_t * asobjectnull##_fsuffix(slist_node_t * node) { return node ? (object_t *) ((uintptr_t)node - offsetof(object_t, name_nextptr)) : 0 ; } static inline void init##_fsuffix(slist_t * list) { init_slist(list) ; } static inline void initsingle##_fsuffix(slist_t * list, object_t * node) { initsingle_slist(list, asnode##_fsuffix(node)) ; } static inline int free##_fsuffix(slist_t * list, struct typeadapt_t * typeadp) { return free_slist(list, offsetof(object_t, name_nextptr), typeadp) ; } static inline int isempty##_fsuffix(const slist_t * list) { return isempty_slist(list) ; } static inline object_t * first##_fsuffix(const slist_t * list) { return asobjectnull##_fsuffix(first_slist(list)) ; } static inline object_t * last##_fsuffix(const slist_t * list) { return asobjectnull##_fsuffix(last_slist(list)) ; } static inline object_t * next##_fsuffix(object_t * node) { return asobject##_fsuffix(next_slist(asnode##_fsuffix(node))) ; } static inline bool isinlist##_fsuffix(object_t * node) { return isinlist_slist(asnode##_fsuffix(node)) ; } static inline void insertfirst##_fsuffix(slist_t * list, object_t * new_node) { insertfirst_slist(list, asnode##_fsuffix(new_node)) ; } static inline void insertlast##_fsuffix(slist_t * list, object_t * new_node) { insertlast_slist(list, asnode##_fsuffix(new_node)) ; } static inline void insertafter##_fsuffix(slist_t * list, object_t * prev_node, object_t * new_node) { insertafter_slist(list, asnode##_fsuffix(prev_node), asnode##_fsuffix(new_node)) ; } static inline int removefirst##_fsuffix(slist_t * list, object_t ** removed_node) { int err = removefirst_slist(list, (slist_node_t**)removed_node) ; if (!err) *removed_node = asobject##_fsuffix(*(slist_node_t**)removed_node) ; return err ; } static inline int removeafter##_fsuffix(slist_t * list, object_t * prev_node, object_t ** removed_node) { int err = removeafter_slist(list, asnode##_fsuffix(prev_node), (slist_node_t**)removed_node) ; if (!err) *removed_node = asobject##_fsuffix(*(slist_node_t**)removed_node) ; return err ; } static inline int removeall##_fsuffix(slist_t * list, struct typeadapt_t * typeadp) { return removeall_slist(list, offsetof(object_t, name_nextptr), typeadp) ; } static inline int initfirst##_fsuffix##iterator(slist_iterator_t * iter, slist_t * list) { return initfirst_slistiterator(iter, list) ; } static inline int free##_fsuffix##iterator(slist_iterator_t * iter) { return free_slistiterator(iter) ; } static inline bool next##_fsuffix##iterator(slist_iterator_t * iter, object_t ** node) { bool isNext = next_slistiterator(iter, (slist_node_t**)node) ; if (isNext) *node = asobject##_fsuffix(*(slist_node_t**)node) ; return isNext ; }
Implements slist_t.slist_IMPLEMENT.
void slist_IMPLEMENT(IDNAME _fsuffix,
TYPENAME object_t,
IDNAME name_nextptr) ;
Generates interface of single linked list storing elements of type object_t.
Macro generates slist interface FCT_blocklist for pagecache_block_t.
Macro generates slist interface FCT_freeblocklist for pagecache_block_t.
Generates list managing suffixtree_iterator_t -- see slist_IMPLEMENT.
#define slist_INIT { (void*)0 }
Static initializer.
#define slist_iterator_FREE { 0, 0 }
Static initializer.
struct slist_iterator_t
Iterates over elements contained in slist_t.
#define slist_node_EMBED(name_nextptr) slist_node_t * name_nextptr
Allows to embed members of slist_node_t into another structure.
#define slist_node_INIT { 0 }
Static initializer.
struct slist_node_t
Provides the means for linking an object to another of the same type.
struct slist_t
Points to last object in a list of objects.
#define slock_mutex(/*mutex_t **/mutex) (assert(!lock_mutex(mutex))) ;
Implements mutex_t.slock_mutex.
void slock_mutex(mutex_t *mutex)
Same as lock_mutex.
#define slock_thrmutex(mutex) (assert(!lock_thrmutex(mutex)))
Implements thrmutex_t.slock_thrmutex.
void slock_thrmutex(thrmutex_t *mutex)
Calls lock_thrmutex and asserts success.
#define slockreader_rwlock(rwlock) (assert(!lockreader_rwlock(rwlock)))
Implements rwlock_t.slockreader_rwlock.
void slockreader_rwlock(rwlock_t *rwlock)
Asserts that lockreader_rwlock has no error.
#define slockwriter_rwlock(rwlock) (assert(!lockwriter_rwlock(rwlock)))
Implements rwlock_t.slockwriter_rwlock.
void slockwriter_rwlock(rwlock_t *rwlock)
Asserts that lockwriter_rwlock has no error.
Functions to compare execution times of different algorithms.
Runs all tests which measures time.
static int splaykey_splaytree(splaytree_t *tree,
const void *key,
uint16_t nodeoffset,
typeadapt_t *typeadp)
Searches for a node X with key ‘key’ and makes it the new root of the tree.
static int splaynode_splaytree(splaytree_t *tree,
const splaytree_node_t *keynode,
/*out*/int *rootcmp,
uint16_t nodeoffset,
typeadapt_t *typeadp)
Same as splaykey_splaytree except node is used as key.
Interface to splay tree which allows access to a set of sorted elements in O(log n) amortized time.
Implements Splaytree.
#define splaytree_FREE splaytree_INIT()
Static initializer: After assigning you can call free_splaytree without harm.
#define splaytree_IMPLEMENT(
   _fsuffix,
   object_t,
   key_t,
   nodename
) typedef splaytree_iterator_t iteratortype##_fsuffix ; typedef object_t * iteratedtype##_fsuffix ; static inline int initfirst##_fsuffix##iterator(splaytree_iterator_t * iter, splaytree_t * tree, typeadapt_t * typeadp) __attribute__ ((always_inline)) ; static inline int initlast##_fsuffix##iterator(splaytree_iterator_t * iter, splaytree_t * tree, typeadapt_t * typeadp) __attribute__ ((always_inline)) ; static inline int free##_fsuffix##iterator(splaytree_iterator_t * iter) __attribute__ ((always_inline)) ; static inline bool next##_fsuffix##iterator(splaytree_iterator_t * iter, object_t ** node) __attribute__ ((always_inline)) ; static inline bool prev##_fsuffix##iterator(splaytree_iterator_t * iter, object_t ** node) __attribute__ ((always_inline)) ; static inline void init##_fsuffix(/*out*/splaytree_t * tree) __attribute__ ((always_inline)) ; static inline int free##_fsuffix(splaytree_t * tree, typeadapt_t * typeadp) __attribute__ ((always_inline)) ; static inline void getinistate##_fsuffix(const splaytree_t * tree, /*out*/object_t ** root) __attribute__ ((always_inline)) ; static inline bool isempty##_fsuffix(const splaytree_t * tree) __attribute__ ((always_inline)) ; static inline int find##_fsuffix(splaytree_t * tree, const key_t key, /*out*/object_t ** found_node, typeadapt_t * typeadp) __attribute__ ((always_inline)) ; static inline int insert##_fsuffix(splaytree_t * tree, object_t * new_node, typeadapt_t * typeadp) __attribute__ ((always_inline)) ; static inline int remove##_fsuffix(splaytree_t * tree, object_t * node, typeadapt_t * typeadp) __attribute__ ((always_inline)) ; static inline int removenodes##_fsuffix(splaytree_t * tree, typeadapt_t * typeadp) __attribute__ ((always_inline)) ; static inline int invariant##_fsuffix(splaytree_t * tree, typeadapt_t * typeadp) __attribute__ ((always_inline)) ; static inline splaytree_node_t * asnode##_fsuffix(object_t * object) { static_assert(&((object_t*)0)->nodename == (splaytree_node_t*)offsetof(object_t, nodename), "correct type") ; return (splaytree_node_t *) ((uintptr_t)object + offsetof(object_t, nodename)) ; } static inline object_t * asobject##_fsuffix(splaytree_node_t * node) { return (object_t *) ((uintptr_t)node - offsetof(object_t, nodename)) ; } static inline object_t * asobjectnull##_fsuffix(splaytree_node_t * node) { return node ? (object_t *) ((uintptr_t)node - offsetof(object_t, nodename)) : 0 ; } static inline void init##_fsuffix(/*out*/splaytree_t * tree) { init_splaytree(tree) ; } static inline int free##_fsuffix(splaytree_t * tree, typeadapt_t * typeadp) { return free_splaytree(tree, offsetof(object_t, nodename), typeadp) ; } static inline void getinistate##_fsuffix(const splaytree_t * tree, /*out*/object_t ** root) { splaytree_node_t * rootnode ; getinistate_splaytree(tree, &rootnode) ; *root = asobjectnull##_fsuffix(rootnode) ; } static inline bool isempty##_fsuffix(const splaytree_t * tree) { return isempty_splaytree(tree) ; } static inline int find##_fsuffix(splaytree_t * tree, const key_t key, /*out*/object_t ** found_node, typeadapt_t * typeadp) { int err = find_splaytree(tree, (void*)key, (splaytree_node_t**)found_node, offsetof(object_t, nodename), typeadp) ; if (err == 0) *found_node = asobject##_fsuffix(*(splaytree_node_t**)found_node) ; return err ; } static inline int insert##_fsuffix(splaytree_t * tree, object_t * new_node, typeadapt_t * typeadp) { return insert_splaytree(tree, asnode##_fsuffix(new_node), offsetof(object_t, nodename), typeadp) ; } static inline int remove##_fsuffix(splaytree_t * tree, object_t * node, typeadapt_t * typeadp) { int err = remove_splaytree(tree, asnode##_fsuffix(node), offsetof(object_t, nodename), typeadp) ; return err ; } static inline int removenodes##_fsuffix(splaytree_t * tree, typeadapt_t * typeadp) { return removenodes_splaytree(tree, offsetof(object_t, nodename), typeadp) ; } static inline int invariant##_fsuffix(splaytree_t * tree, typeadapt_t * typeadp) { return invariant_splaytree(tree, offsetof(object_t, nodename), typeadp) ; } static inline int initfirst##_fsuffix##iterator(splaytree_iterator_t * iter, splaytree_t * tree, typeadapt_t * typeadp) { return initfirst_splaytreeiterator(iter, tree, offsetof(object_t, nodename), typeadp) ; } static inline int initlast##_fsuffix##iterator(splaytree_iterator_t * iter, splaytree_t * tree, typeadapt_t * typeadp) { return initlast_splaytreeiterator(iter, tree, offsetof(object_t, nodename), typeadp) ; } static inline int free##_fsuffix##iterator(splaytree_iterator_t * iter) { return free_splaytreeiterator(iter) ; } static inline bool next##_fsuffix##iterator(splaytree_iterator_t * iter, object_t ** node) { bool isNext = next_splaytreeiterator(iter, (splaytree_node_t**)node) ; if (isNext) *node = asobject##_fsuffix(*(splaytree_node_t**)node) ; return isNext ; } static inline bool prev##_fsuffix##iterator(splaytree_iterator_t * iter, object_t ** node) { bool isNext = prev_splaytreeiterator(iter, (splaytree_node_t**)node) ; if (isNext) *node = asobject##_fsuffix(*(splaytree_node_t**)node) ; return isNext ; }
Implements splaytree_t.splaytree_IMPLEMENT.
void splaytree_IMPLEMENT(IDNAME _fsuffix,
TYPENAME object_t,
TYPENAME key_t,
IDNAME nodename) ;
Generates interface of splaytree_t storing elements of type object_t.
#define splaytree_INIT(root) { root }
Static initializer.
#define splaytree_iterator_FREE { 0, 0, 0, 0 }
Static initializer.
struct splaytree_iterator_t
Iterates over elements contained in splaytree_t.
typedef struct lrtree_node_t splaytree_node_t
Rename lrtree_node_t into splaytree_node_t.
struct splaytree_t
Implements a splay tree index.
static int splitnode_suffixtree(suffixtree_t *tree,
suffixtree_pos_t *pos)
The node in pos (see suffixtree_pos_t.node) is splitted into two nodes.
Defines a string which can store two substrings.
Implements SplitString.
#define splitstring_FREE { { string_FREE, string_FREE }, 0 }
Static initializer.
struct splitstring_t
Stores two contiguous sub strings.
Implements int_t.sqroot_int.
unsigned sqroot_int(unsigned number)
Returns the square root of an unsigned integer number.
uint16_t sqroot_int32(uint32_t number)
Implements the High School Square Root Algorithm for 32 bit unsigned integer.
uint16_t sqroot_int32(uint32_t number)
Returns the square root from an unsigned 32 bit integer.
uint32_t sqroot_int64(uint64_t number)
Implements the High School Square Root Algorithm for 64 bit unsigned integer.
uint32_t sqroot_int64(uint64_t number)
Returns the square root from an unsigned 64 bit integer.
struct binarystack_t * stack
Remembers last position in tree.
struct binarystack_t * stack
Remembers last position in tree.
Includes all C-kern(el) headers which define the standard runtime and compiletime environment.
Defines some generic C macros useful during preprocessing time of C files.
Declares some printf/scanf format specifiers and type descriptions.
uint32_t start_offset
Offset of first node relative to start address of this object.
int start_systimer(systimer_t timer,
struct timevalue_t *relative_time)
This function starts (arms) a one shot timer.
int startinterval_systimer(systimer_t timer,
struct timevalue_t *interval_time)
This function starts (arms) a periodic timer.
int startthread_syncrun(syncrun_t *srun,
syncrun_f mainfct,
void *initarg)
Starts a new syncthread_t and stores it in srun’s initqueue.
int startthread2_syncrun(syncrun_t *srun,
syncrun_f mainfct,
uint8_t initargsize,
/*out*/void **initarg)
Starts a new syncthread_t and stores it in srun’s initqueue.
decimal_frombigint_state_t state[7]
state[0] holds the result of the first division.
process_state_e state
Either process_state_TERMINATED or process_state_ABORTED.
void * state
Holds pointer to variables, or init argument or execution state internal to mainfct.
uint8_t state
Current state of window (shown, hidden, destroyed).
The current development is the architecture and design phase.
int state_process(process_t *process,
/*out*/process_state_e *current_state)
Returns current state of process.
#define state_syncthread(sthread) ((void*)((sthread)->state))
Implements syncthread_t.state_syncthread.
void * state_syncthread(syncthread_t *sthread)
Returns syncthread_t.state from sthread.
#define state_x11window(x11win) ((x11window_state_e)(x11win)->state)
Implements x11window_t.state_x11window.
x11window_state_e state_x11window(const x11window_t *x11win)
Returns the state of the window as seen by the user.
#define static_assert(C,
S) ((void)(sizeof(char[(C)?1:-1])))
Checks condition to be true during compilation.
struct staticpage_t
Header of last allocated static memory page.
struct { struct dlist_node_t * last ; } staticpagelist
A list of static memory blocks.
int stop_systimer(systimer_t timer)
Stops a timer.
uint8_t storage[sys_socketaddr_MAXSIZE - sizeof(sys_socketaddr_t)]
Additional space used by socket addr version with maximum size.
#define STR(S1) STR2(S1)
Makes string token out of argument.
#define str_cstring(cstr) ((char*)(cstr)->chars)
Implements cstring_t.str_cstring.
char * str_cstring(cstring_t *cstr)
Returns ‘\0’ terminated string.
#define str_errorcontext(
   errcontext,
   errnum
) ( __extension__ ({ unsigned _errnum = (unsigned) (errnum) ; (errcontext).strdata + (errcontext).stroffset[ (_errnum > 511 ? 511 : _errnum)] ; }))
Implements errorcontext_t.str_errorcontext.
const uint8_t * str_errorcontext(const errorcontext_t errcontext,
int errnum)
Returns the error description of errnum as a null terminated C string.
size_t str_size
Length in bytes of str_start.
#define STR_SIZE(leaf) ((leaf)->str_size >> 1)
Returns the size of the string this node or leaf matches.
const uint8_t * str_start
Start address of matched string.
#define STR_START(leaf) ((leaf)->str_start)
Returns the start address of the string this node or leaf matches.
#define STR2(S1) # S1
Used by STR to ensure expansion of arguments.
uint8_t * strdata
String table with system error descriptions in english.
This kind of reader transforms a text file step by step.
Offers type to wrap constant strings or substrings into an object.
Implements String.
#define string_field_INIT_EMPTY { string_field_EMPTY, { 0 } }
Static initializer.
struct string_field_t
#define string_FREE { 0, 0 }
Static initializer.
#define string_INIT(strsize,
straddr) { (straddr), (strsize) }
Static initializer.
#define string_INIT_CSTR(cstr) { (const uint8_t*)(cstr), strlen(cstr) }
Static initializer.
struct string_t
Points to memory which contains a constant string.
#define stringcast_arraystfnode(
   str
) ( __extension__ ({ struct string_t * _str1 = (str) ; (arraystf_node_t*) (_str1) ; }))
Implements arraystf_node_t.stringcast_arraystfnode.
arraystf_node_t * stringcast_arraystfnode(struct string_t *str)
Cast string_t into arraystf_node_t.
string_t stringpart[2]
The array of noncontinuous parts the string is composed of.
Offers interface to read a string of bytes from memory byte-by-byte.
Implements StringStream.
#define stringstream_FREE stringstream_INIT(0,
)
Static initializer.
#define stringstream_INIT(startaddr,
endaddr) { startaddr, endaddr }
Static initializer.
struct stringstream_t
This objects streams a string of bytes byte-by-byte.
uint16_t * stroffset
Table with offset values relative to strdata.
#define STRPARAM_filepathstatic(fpath) (fpath)->workdir, (fpath)->filename
Implements filepath_static_t.STRPARAM_filepathstatic.
void STRPARAM_filepathstatic(const filepath_static_t *fpath)
This macro returns two string parameter describing path of working directory and filename.
typedef struct alignedexpandshift_t alignedexpandshift_t
Export alignedexpandshift_t into global namespace.
typedef struct arraysf_iterator_t arraysf_iterator_t
Export arraysf_iterator_t, iterator type to iterate of contained nodes.
typedef struct arraysf_mwaybranch_t arraysf_mwaybranch_t
Export arraysf_mwaybranch_t.
typedef struct arraysf_node_t arraysf_node_t
Export arraysf_node_t.
typedef struct arraysf_t arraysf_t
Exports arraysf_t.
Export arraysf_unode_t.
typedef struct arraystf_iterator_t arraystf_iterator_t
Export arraystf_iterator_t, iterator type to iterate of contained nodes.
typedef struct arraystf_mwaybranch_t arraystf_mwaybranch_t
Exports <arraystf_mwaybranch_t>i.
typedef struct arraystf_node_t arraystf_node_t
Export arraystf_node_t.
typedef struct arraystf_t arraystf_t
Export arraystf_t.
Export arraystf_unode_t.
typedef struct bigint_divstate_t bigint_divstate_t
Export bigint_divstate_t into global namespace.
typedef struct bigint_fixed_t bigint_fixed_t
Export bigint_fixed_t.
typedef struct bigint_t bigint_t
Export bigint_t.
typedef struct binarystack_t binarystack_t
Export binarystack_t into global namespace.
typedef struct blockarray_t blockarray_t
Export blockarray_t into global namespace.
typedef struct convert_wchar_t convert_wchar_t
Exports convert_wchar_t.
typedef struct crc32_t crc32_t
Export crc32_t into global namespace.
typedef struct cstring_t cstring_t
Export cstring_t.
typedef struct csvfilereader_t csvfilereader_t
Export csvfilereader_t into global namespace.
typedef struct datablock_t datablock_t
Export datablock_t into global namespace.
typedef struct decimal_divstate_t decimal_divstate_t
Export decimal_divstate_t into global namespace.
typedef struct decimal_frombigint_state_t decimal_frombigint_state_t
Export decimal_frombigint_state_t into global namespace.
typedef struct decimal_frombigint_t decimal_frombigint_t
Export decimal_frombigint_t into global namespace.
typedef struct directory_t directory_t
Export opaque directory_t to read/write a directory in the file system.
typedef struct display_t display_t
Export display_t into global namespace.
typedef struct dlist_iterator_t dlist_iterator_t
Export dlist_iterator_t.
typedef struct dlist_node_t dlist_node_t
Export dlist_node_t into global namespace.
typedef struct dlist_t dlist_t
Export dlist_t into global namespace.
Export eglconfig_t into global namespace.
Export eglcontext_t into global namespace.
Export egldisplay_t into global namespace.
Export eglpbuffer_t into global namespace.
Export eglwindow_t into global namespace.
typedef struct errorcontext_t errorcontext_t
Export errorcontext_t into global namespace.
typedef struct exthash_iterator_t exthash_iterator_t
Export exthash_iterator_t into global namespace.
Rename lrptree_node_t into exthash_node_t.
typedef struct exthash_t exthash_t
Export exthash_t into global namespace.
typedef struct filepath_static_t filepath_static_t
Export filepath_static_t into global namespace.
typedef struct filereader_t filereader_t
Export filereader_t into global namespace.
typedef struct freepage_t freepage_t
Export type freepage_t into global namespace.
typedef struct gconfig_t gconfig_t
Export gconfig_t into global namespace.
typedef struct gcontext_t gcontext_t
Export gcontext_t into global namespace.
typedef struct hwcache_t hwcache_t
Export hwcache_t into global namespace.
typedef struct initqueue_entry_t initqueue_entry_t
Exports initqueue_entry_t into global namespace.
typedef struct int_t int_t
Export int_t into global namespace.
typedef struct iobj_it iobj_it
Define generic type iobj_it which is only used in the declaration of iobj_t.
typedef struct iobj_t iobj_t
Export iobj_t into global namespace.
typedef struct iocallback_t iocallback_t
Export iocallback_t.
Make iochannel_t an alias of sys_iochannel_t.
typedef struct ioevent_t ioevent_t
Exports ioevent_t.
typedef struct iopoll_t iopoll_t
Export iopoll_t into global namespace.
typedef struct ipaddr_list_t ipaddr_list_t
Export ipaddr_list_t.
typedef struct ipaddr_storage_t ipaddr_storage_t
Export ipaddr_storage_t to allow static allocation of an ipaddr_t.
typedef struct ipaddr_t ipaddr_t
Export ipaddr_t.
Export ipport_t into global namespace.
typedef struct ipsocket_async_t ipsocket_async_t
Exports ipsocket_async_t to asynchronously establish a connection.
typedef struct log_header_t log_header_t
Export log_header_t.
typedef struct log_it log_it
Export interface log_it.
typedef struct log_t log_t
Export log_t.
typedef struct logbuffer_t logbuffer_t
Export logbuffer_t into global namespace.
typedef struct logwriter_chan_t logwriter_chan_t
Exports logwriter_chan_t.
typedef struct logwriter_t logwriter_t
Exports logwriter_t.
typedef struct lrptree_node_t lrptree_node_t
Export lrptree_node_t into global namespace.
typedef struct lrtree_node_t lrtree_node_t
Export lrtree_node_t into global namespace.
typedef struct maincontext_startparam_t maincontext_startparam_t
Export maincontext_startparam_t.
typedef struct maincontext_t maincontext_t
Export maincontext_t.
typedef struct memblock_t memblock_t
Export memblock_t.
typedef struct memstream_t memstream_t
Export memstream_t into global namespace.
typedef struct mm_impl_t mm_impl_t
Exports mm_impl_t.
typedef struct mm_it mm_it
Export interface mm_it.
typedef struct mm_t mm_t
Export mm_t.
typedef struct mmfile_t mmfile_t
Exports mmfile_t.
typedef struct module_t module_t
Export module_t into global namespace.
Exports mutex_t into global namespace.
typedef struct objectcache_impl_t objectcache_impl_t
Export objectcache_impl_t.
typedef struct objectcache_it objectcache_it
Export interface objectcache_it.
typedef struct objectcache_t objectcache_t
Export objectcache_t.
typedef struct opengl_config_t * opengl_config_t
Export <opengl_config_t > into global namespace.
typedef struct pagecache_block_t pagecache_block_t
Export opaque type pagecache_block_t into global namespace.
typedef struct pagecache_blockmap_t pagecache_blockmap_t
Export type pagecache_blockmap_t into global namespace.
typedef struct pagecache_impl_t pagecache_impl_t
Export pagecache_impl_t into global namespace.
typedef struct pagecache_it pagecache_it
Export pagecache_it into global namespace.
typedef struct pagecache_t pagecache_t
Export pagecache_t into global namespace.
typedef struct patriciatrie_iterator_t patriciatrie_iterator_t
Exports patriciatrie_iterator_t into global namespace.
typedef struct patriciatrie_node_t patriciatrie_node_t
Export patriciatrie_node_t into global namespace.
typedef struct patriciatrie_prefixiter_t patriciatrie_prefixiter_t
Exports patriciatrie_prefixiter_t into global namespace.
typedef struct patriciatrie_t patriciatrie_t
Exports patriciatrie_t into global namespace.
typedef struct pixelbuffer_t pixelbuffer_t
Export pixelbuffer_t into global namespace.
typedef struct process_result_t process_result_t
Export process_result_t into global namespace.
typedef struct process_stdio_t process_stdio_t
Export process_stdio_t into global namespace.
Make process_t an alias of sys_process_t.
typedef struct processcontext_t processcontext_t
Export processcontext_t.
Export ptr_t into global namespace.
typedef struct ptrblock_t ptrblock_t
Export ptrblock_t into global namespace.
typedef struct queue_iterator_t queue_iterator_t
Export queue_iterator_t into global namespace.
typedef struct queue_page_t queue_page_t
Export queue_page_t into global namespace.
typedef struct queue_t queue_t
Export queue_t into global namespace.
typedef struct redblacktree_iterator_t redblacktree_iterator_t
Export redblacktree_iterator_t.
typedef struct redblacktree_t redblacktree_t
Export redblacktree_t into global namespace.
typedef struct resourceusage_t resourceusage_t
Exports resourceusage_t.
typedef struct run2queue_entry_t run2queue_entry_t
Exports run2queue_entry_t into global namespace.
typedef struct rwlock_t rwlock_t
Export rwlock_t into global namespace.
typedef struct semaphore_t semaphore_t
Export semaphore_t.
typedef struct sha1_hash_t sha1_hash_t
Export sha1_hash_t into global namespace.
typedef struct signalhandler_t signalhandler_t
Export signalhandler_t into global namespace.
Define signalrt_t signal type as uint8_t.
typedef struct signalstate_t signalstate_t
Export signalstate_t.
Export signalwait_t into global namespace.
typedef struct slist_iterator_t slist_iterator_t
Export slist_iterator_t.
typedef struct slist_node_t slist_node_t
Exports slist_node_t.
typedef struct slist_t slist_t
Export slist_t.
typedef struct splaytree_iterator_t splaytree_iterator_t
Export splaytree_iterator_t.
typedef struct splaytree_t splaytree_t
Export splaytree_t into global namespace.
typedef struct splitstring_t splitstring_t
Export splitstring_t into global namespace.
typedef struct staticpage_t staticpage_t
Export type staticpage_t into global namespace.
typedef struct string_field_t string_field_t
typedef struct string_t string_t
Export string_t.
typedef struct stringstream_t stringstream_t
Export stringstream_t into global namespace.
typedef struct suffixtree_addstate_t suffixtree_addstate_t
Shortcut for suffixtree_addstate_t.
typedef struct suffixtree_iterator_t suffixtree_iterator_t
Shortcut for suffixtree_iterator_t.
typedef struct suffixtree_leaf_t suffixtree_leaf_t
Shortcut for suffixtree_leaf_t.
typedef struct suffixtree_node_t suffixtree_node_t
Shortcut for suffixtree_node_t.
typedef struct suffixtree_pos_t suffixtree_pos_t
Shortcut for suffixtree_pos_t.
typedef struct suffixtree_t suffixtree_t
Exports suffixtree_t.
typedef struct surface_t surface_t
Export surface_t into global namespace.
typedef struct syncevent_t syncevent_t
Export syncevent_t into global namespace.
typedef struct syncqueue_t syncqueue_t
Export syncqueue_t into global namespace.
typedef struct syncrun_t syncrun_t
Export syncrun_t into global namespace.
typedef struct syncthread_t syncthread_t
Export syncthread_t into global namespace.
typedef struct syncwait_t syncwait_t
Export syncwait_t into global namespace.
typedef struct syncwlist_iterator_t syncwlist_iterator_t
Export syncwlist_iterator_t into global namespace.
typedef struct syncwlist_t syncwlist_t
Export syncwlist_t into global namespace.
Make sysuser_id_t an alias of sys_userid_t.
typedef struct sysuser_info_t sysuser_info_t
Export sysuser_info_t into global namespace.
typedef struct sysuser_t sysuser_t
Export sysuser_t into global namespace.
typedef struct test_errortimer_t test_errortimer_t
Export test_errortimer_t.
typedef struct testmm_block_t testmm_block_t
Shortcut for testmm_block_t.
typedef struct testmm_page_t testmm_page_t
Shortcut for testmm_page_t.
typedef struct testmm_t testmm_t
Exports testmm_t.
typedef struct testmodule_functable_t testmodule_functable_t
Export testmodule_functable_t into global namespace.
typedef struct textpos_t textpos_t
Export textpos_t into global namespace.
typedef struct thread_t thread_t
Export thread_t.
typedef struct thread_tls_t thread_tls_t
Export thread_tls_t into global namespace.
typedef struct threadcontext_t threadcontext_t
Export threadcontext_t.
typedef struct thrmutex_t thrmutex_t
Export thrmutex_t into global namespace.
typedef struct timevalue_t timevalue_t
Exports timevalue_t.
typedef struct trie_t trie_t
Export trie_t into global namespace.
typedef struct typeadapt_binarykey_t typeadapt_binarykey_t
Export typeadapt_binarykey_t into global namespace.
typedef struct typeadapt_comparator_it typeadapt_comparator_it
Export typeadapt_comparator_it into global namespace.
typedef struct typeadapt_gethash_it typeadapt_gethash_it
Export typeadapt_gethash_it into global namespace.
typedef struct typeadapt_getkey_it typeadapt_getkey_it
Export typeadapt_getkey_it into global namespace.
typedef struct typeadapt_impl_t typeadapt_impl_t
Export typeadapt_impl_t into global namespace.
typedef struct typeadapt_lifetime_it typeadapt_lifetime_it
Export typeadapt_lifetime_it into global namespace.
Export typeadapt_nodeoffset_t into global namespace.
typedef struct typeadapt_t typeadapt_t
Export typeadapt_t into global namespace.
Export url_parts_t (array of 7 strings).
typedef struct url_t url_t
Exports url_t.
typedef struct utf8reader_t utf8reader_t
Exports utf8reader_t.
typedef struct utf8scanner_t utf8scanner_t
Export utf8scanner_t into global namespace.
typedef struct utf8validator_t utf8validator_t
Export utf8validator_t into global namespace.
typedef struct valuecache_t valuecache_t
Exports valuecache_t.
typedef struct vm_mappedregions_t vm_mappedregions_t
Exports vm_mappedregions_t, description of all mapped memory.
typedef struct vm_region_t vm_region_t
Exports vm_region_t, describes a single virtual memory region.
typedef struct vm_regionsarray_t vm_regionsarray_t
Internal type used by vm_mappedregions_t.
typedef struct vmpage_t vmpage_t
Exports vmpage_t into global namespace.
typedef struct wait2queue_entry_t wait2queue_entry_t
Exports wait2queue_entry_t into global namespace.
typedef struct waitlist_t waitlist_t
Exports waitlist_t.
typedef struct waitqueue_entry_t waitqueue_entry_t
Exports waitqueue_entry_t into global namespace.
typedef struct wbuffer_it wbuffer_it
Export interface wbuffer_it.
typedef struct wbuffer_t wbuffer_t
Export wbuffer_t.
typedef struct window_evh_t window_evh_t
Export window_evh_t into global namespace.
typedef struct window_t window_t
Export window_t into global namespace.
typedef struct windowconfig_t windowconfig_t
Export windowconfig_t into global namespace.
typedef struct wlistentry_t wlistentry_t
Export wlistentry_t into global namespace.
typedef struct x11dblbuffer_t x11dblbuffer_t
Export x11dblbuffer_t into global namespace.
typedef struct x11display_t x11display_t
Export x11display_t into global namespace.
typedef struct x11drawable_t x11drawable_t
Export x11drawable_t into global namespace.
typedef struct x11extension_t x11extension_t
Export x11extension_t into global namespace.
typedef struct x11screen_t x11screen_t
Export x11screen_t into global namespace.
typedef struct x11videomode_iterator_t x11videomode_iterator_t
Export x11videomode_iterator_t into global namespace.
typedef struct x11videomode_t x11videomode_t
Export x11videomode_t into global namespace.
typedef struct x11window_evh_t x11window_evh_t
Export x11window_evh_t into global namespace.
typedef struct x11window_t x11window_t
Export x11window_t into global namespace.
#define structof(
   struct_t,
   member,
   ptrmember
) ( __extension__ ({ typeof(((struct_t*)0)->member) * _ptr2 ; _ptr2 = (ptrmember) ; (struct_t*) ((uintptr_t)_ptr2 - offsetof(struct_t, member)) ; }))
Converts pointer to member of structure to pointer of containing structure.
The header of a module contains a single test section which contains one or more unittest declarations of the form »int unittest_NAME_OF_TEST(void);«.
int sub_bigint(bigint_t *restrict *result,
const bigint_t *lbig,
const bigint_t *rbig)
Subtracts the third from the 2nd parameter and returns the difference in the first.
static int sub_biginthelper(bigint_t *restrict *result,
const bigint_t *lbig,
const bigint_t *rbig)
Subtracts two integers.
int sub_decimal(decimal_t *restrict *result,
const decimal_t *ldec,
const decimal_t *rdec)
Subracts the third from the second parameter and returns the difference in the first.
static int sub_decimalhelper(decimal_t *restrict *result,
const decimal_t *ldec,
const decimal_t *rdec)
Implements subtraction of two decimal numbers.
static void submul_biginthelper(bigint_divstate_t *state)
Computes ldigits[*]-=nextdigit*rdigits[*] and corrects nextdigits with -1 if necessary.
static void submul_decimalhelper(decimal_divstate_t *state)
Computes »ldigits[*]-=nextdigit*rdigits[*]« and corrects nextdigit with -1 if necessary.
static inline trie_subnode_t ** subnode_trienodeoffsets(
   const trie_nodeoffsets_t *offsets,
   trie_nodedata_t *data
)
Returns address of subnode member.
int substr_string(string_t *str,
size_t start_offset,
size_t size)
The string is made a substring of itself.
int success_ipsocketasync(ipsocket_async_t *ipsockasync)
Returns 0 if async connect completed.
string_t suffix
The string which describes the current suffix.
A suffix tree is a tree which stores all suffixes of a given string.
Implements Suffix-Tree.
suffixtree_node_t * suffix_link
Points to node which matches same string with this node except without the first character.
#define suffixtree_addstate_INIT(
   strsize,
   straddr
) { suffixtree_pos_INIT, string_INIT(strsize,straddr) }
Static initializer.
struct suffixtree_addstate_t
Holds the position in suffixtree_t and the next character to be added.
#define suffixtree_FREE { (void*)0, 0 }
Static initializer.
struct suffixtree_iterator_t
Stores position in suffixtree_t which has to be visited next.
#define suffixtree_leaf_EMBED() suffixtree_node_t * next_child ; const uint8_t * str_start ; size_t str_size
Allows to embed all data fields of suffixtree_leaf_t into another structure.
suffixtree_leaf_EMBED()
Inherit all data fields from suffixtree_leaf_t.
struct suffixtree_leaf_t
A node in suffixtree_t which has no childs.
struct suffixtree_node_t
A node in suffixtree_t which has childs.
#define suffixtree_pos_INIT { 0, NULL, NULL }
Static initializer.
struct suffixtree_pos_t
Describes a position in suffixtree_t.
struct suffixtree_t
A suffix tree contains a set of connected nodes and a reference to the input text.
Defines typeadapt_t to manage memory of suffixtree_iterator_t.
#define sunlock_mutex(/*mutex_t **/mutex) (assert(!unlock_mutex(mutex))) ;
Implements mutex_t.sunlock_mutex.
void sunlock_mutex(mutex_t *mutex)
Same as unlock_mutex.
#define sunlock_thrmutex(mutex) (assert(!unlock_thrmutex(mutex)))
Implements thrmutex_t.sunlock_thrmutex.
void sunlock_thrmutex(thrmutex_t *mutex)
Calls sunlock_thrmutex and asserts success.
#define sunlockreader_rwlock(rwlock) (assert(!unlockreader_rwlock(rwlock)))
Implements rwlock_t.sunlockreader_rwlock.
void sunlockreader_rwlock(rwlock_t *rwlock)
Asserts that unlockreader_rwlock has no error.
#define sunlockwriter_rwlock(rwlock) (assert(!unlockwriter_rwlock(rwlock)))
Implements rwlock_t.sunlockwriter_rwlock.
void sunlockwriter_rwlock(rwlock_t *rwlock)
Asserts that unlockwriter_rwlock has no error.
#define surface_EMBED struct opengl_surface_t * glsurface
Inherits from surface_t by embedding all data fields.
#define surface_FREE { 0 }
Static initializer.
#define surface_FREE_EMBEDDED 0
Static initializer for types which inherit from surface_t with surface_EMBED.
struct surface_t
Wraps a native OpenGL surface (frame buffer).
void suspend_thread(void)
The calling thread will sleep until resume_thread is called.
#define SWAP(
   var1,
   var2
) { typeof(var1) _temp ; _temp = (var1), (var1) = (var2), (var2) = _temp ; }
Swaps content of two local variables.
int swapbuffer_eglwindow(eglwindow_t eglwin,
struct opengl_display_t *egldisp)
Swaps the content of the back and from buffer.
int swapbuffer_window(window_t *win,
struct display_t *disp)
Swaps the content of the fron buffer with the back buffer.
int swapbuffer_x11window(x11window_t *x11win)
Changes the content of the double buffer with the window.
int switchoff_testmm(void)
Restores memory manager of threadcontext_t.
int switchon_testmm(void)
Stores current memory manager of threadcontext_t and installs testmm_t.
int switchtoprivilege_sysuser(sysuser_t *sysusr)
Switches current user to privileged_sysuser.
int switchtoreal_sysuser(sysuser_t *sysusr)
Switches current user to real_sysuser.
#define syncevent_FREE { 0 }
Static initializer.
#define syncevent_INIT(waiting) { waiting }
Static initializer.
struct syncevent_t
Event type stores a pointer to a single waiting syncwait_t.
Adapts type queue_t for use in syncrun_t.
Implements SyncQueue.
#define syncqueue_FREE syncqueue_INIT
Static initializer.
#define syncqueue_INIT { 0, 0 }
Static initializer.
struct syncqueue_t
Internal type to store zero or more syncthread_t + additional information.
struct syncrun_t * syncrun
Thread local syncronous task support.
This object helps to manage a set of syncthread_t in a set of different memory queues.
Implements SyncRun.
typedef int /*err code (
   0 = = OK
)*/ (* syncrun_f) (struct syncthread_t * sthread, uint32_t signalstate)
#define syncrun_FREE { { syncqueue_FREE }, syncwlist_FREE, { 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }
Static initializer.
#define syncrun_maincontext() (tcontext_maincontext()->syncrun)
Inline implementation of maincontext_t.syncrun_maincontext.
struct syncrun_t * syncrun_maincontext(void)
Returns syncrun_t of current maincontext_t.
Index into syncrun_t.queues.
The process was aborted.
Values returned from retcode_syncrun indicating an abnormal condition.
The thread has generated some error and should be aborted.
The thread needs to run at least one mroe time.
The state of the running thread.
The thread has terminated, freed all resources, and wants to be removed from its run queue.
The thread wants to wait for an event.
struct syncrun_t
Manages a set of syncthread_t.
A synchronous, cooperative thread which runs exclusive in a system thread context.
A simple execution context for execution of functions in a cooperative way.
Implements SyncThread.
typedef int /*err code (
   0 = = OK
)*/ (* syncthread_f) (syncthread_t * sthread, uint32_t signalstate)
Function pointer to syncthread implementation.
#define syncthread_FREE { 0, 0 }
Static initializer.
#define syncthread_INIT(mainfct,
state) { mainfct, state }
Static initializer.
Abort signal.
The signal flags delivered as second argument to function syncthread_f.
Initialization signal meaning syncthread_t.state contains a pointer to the function arguments.
No signal indicates normal running mode.
Signal received after syncthread_t waited for some event which has occurred.
struct syncthread_t
A simple function context which is executed in a cooperative way.
Exports the type syncwait_t which extends syncthread_t with additional information to be able to wait for a syncevent_t.
Implements SyncWait.
#define syncwait_FREE { syncthread_FREE, 0, 0 }
Static initializer.
struct syncwait_t
Describes a syncthread_t waiting for a syncevent_t.
Exports type syncwlist_t which implements a list of syncevent_t to support more than one waiting syncthread_t.
Implements SyncWaitlist.
#define syncwlist_FREE { 0, 0, 0 }
Static initializer.
#define syncwlist_iterator_FREE { 0, 0 }
Static initializer.
struct syncwlist_iterator_t
Offers iteration over content of syncwlist_t.
struct syncwlist_t
Implements a double linked list of syncevent_t and stores them in a syncqueue_t.
uint32_t sys_colormap
X window ID.
uint32_t sys_colormap
X window ID.
uint32_t sys_colormap
X window ID.
#define sys_context_threadtls(
   
) ( __extension__ ({ int _addr ; sys_context2_threadtls( &_addr) ; }))
Implements thread_tls_t.sys_context_threadtls.
struct threadcontext_t * sys_context_threadtls(void)
Returns threadcontext_t of the current thread.
#define sys_context2_threadtls(
   local_var
) (threadcontext_t*) ( (uintptr_t)(local_var) & ~(uintptr_t) (sys_size_threadtls()-1) )
Implements thread_tls_t.sys_context2_threadtls.
struct threadcontext_t * sys_context2_threadtls(void *local_var)
Returns threadcontext_t of the current thread.
void * sys_display
The X11 display handle of type »Display*«.
uint32_t sys_drawable
X window ID.
uint32_t sys_drawable
X window ID.
uint32_t sys_drawable
X window ID.
#define sys_iochannel_FREE (-1)
Choose Posix file descriptor type.
#define sys_iochannel_STDERR STDERR_FILENO
Choose Posix STDERR file descriptor number.
#define sys_iochannel_STDIN STDIN_FILENO
Choose Posix STDIN file descriptor number.
#define sys_iochannel_STDOUT STDOUT_FILENO
Choose Posix STDOUT file descriptor number.
#define sys_iochannel_t int
Choose Posix file descriptor type.
#define sys_mutex_INIT_DEFAULT PTHREAD_MUTEX_INITIALIZER
Static initializer for sys_mutex_t.
#define sys_mutex_t pthread_mutex_t
Chooses Posix mutex type.
uint32_t sys_pagesize_vm(void)
Returns the virtual memory page size supported by the underlying system.
#define sys_path_MAXSIZE PATH_MAX
The maximum size in bytes of a file system path.
sys_iochannel_t sys_poll
Handle to the underlying system event queue.
#define sys_process_FREE ()
Static initializer for sys_process_t.
#define sys_process_t pid_t
Chooses Posix process id.
#define sys_semaphore_FREE (-1)
Static initializer for sys_semaphore_t.
#define sys_semaphore_t int
Chooses Posix semaphore handle.
#define sys_size_threadtls() (512*1024)
Implements thread_tls_t.sys_size_threadtls.
size_t sys_size_threadtls(void)
Returns the size in bytes of the thread local storage.
#define sys_socketaddr_MAXSIZE sizeof(struct sockaddr_in6)
Defined as Posix specific size of IPv6 addresses.
#define sys_socketaddr_t struct sockaddr
Chooses Posix socket address type.
#define sys_sqroot_int64 sqrtl
Replaces sqroot_int64 with faster sqrtl (long double version).
sys_thread_t sys_thread
Contains system specific ID of thread.
#define sys_thread_FREE ()
Static initializer for sys_thread_t.
#define sys_thread_t pthread_t
Chooses Posix thread type.
#define sys_thread_threadtls() ((thread_t*)(&sys_context_threadtls()[1]))
Implements thread_tls_t.sys_thread_threadtls.
struct thread_t * sys_thread_threadtls(void)
Returns current thread_t object.
#define sys_userid_FREE ((uid_t)(-1))
Static initializer for sys_userid_t.
#define sys_userid_t uid_t
Chooses Posix system user id.
This value selects the clock type.
Clock that cannot be set and represents monotonic time since some unspecified starting point.
System-wide real-time clock.
struct sysclock_t
Interface to hardware system clock.
To run the test program no special system configuration is required for most of the tests.
Do not use them except for test code.
Do not use them except for test code.
Interface to read (or set) the system clock.
Implements SystemClock.
Offers interface for accessing current system user and authentication of users.
Implements SystemUser.
Offers a timer which signals timeout via input ready state of sys_iochannel_t.
Linux specific implementation of SysTimer.
#define systimer_FREE sys_iochannel_FREE
Static initializer.
typedef sys_iochannel_t systimer_t
Exports systimer_t as alias for sys_iochannel_t.
struct sysuser_t * sysuser
Context for sysuser_t module.
#define sysuser_FREE { sysuser_id_FREE, sysuser_id_FREE, sysuser_id_FREE }
Static initializer.
#define sysuser_id_FREE sys_userid_FREE
Static initializer.
typedef sys_userid_t sysuser_id_t
This type is an alias of sys_userid_t.
struct sysuser_info_t
Stores information about a sysuser_t.
#define sysuser_maincontext() (pcontext_maincontext()->sysuser)
Inline implementation of maincontext_t.sysuser_maincontext.
Returns sysusercontext_t of current maincontext_t.
#define sysuser_SYS_SERVICE_NAME "passwd"
The name of service used during authentication.
struct sysuser_t
Offers functionality to manage system user.
#define sysuser_UNITTEST_PASSWORD "GUEST"
Used in unittest_platform_sysuser to test switchtoprivilege_sysuser.
#define sysuser_UNITTEST_USERNAME "guest"
Used in unittest_platform_sysuser to test switchtoprivilege_sysuser.
Close