Implements sysuser_info_t.name_sysuserinfo.
#define name_sysuserinfo( usrinfo ) ((usrinfo)->name)
Implements bigint_t.negate_bigint.
#define negate_bigint( big ) do { (big)->sign_and_used_digits = (int16_t) ( - (big)->sign_and_used_digits) ; } while (0)
Implements decimal_t.negate_decimal.
#define negate_decimal( dec ) do { (dec)->sign_and_used_digits = (int8_t) ( - (dec)->sign_and_used_digits) ; } while (0)
Implements thread_t.newgeneric_thread.
#define newgeneric_thread( threadobj, thread_main, main_arg ) ( __extension__ ({ int (*_thread_main) (typeof(main_arg)) ; _thread_main = (thread_main) ; static_assert( sizeof(main_arg) == sizeof(void*), "same as void*") ; new_thread( threadobj, (thread_f)_thread_main, (void*)main_arg) ; }))
Same as new_thread except that it accepts functions with generic argument type.
int newgeneric_thread( /*out*/thread_t ** threadobj, thread_f thread_main, void * main_arg ) ;
Implements convert_wchar_t.next_convertwchar.
#define next_convertwchar( conv, next_wchar ) (__extension__ ({ size_t bytes = (size_t)((conv)->len ? mbrtowc( next_wchar, (conv)->next, (conv)->len, &(conv)->internal_state) : (unsigned)(*(next_wchar) = 0)) ; int _result_ ; if (bytes > (conv)->len) { _result_ = EILSEQ ; } else { (conv)->len -= bytes ; (conv)->next += bytes ; _result_ = 0 ; } _result_ ; }))
Implements dlist_t.next_dlist.
#define next_dlist( node ) ((node)->next)
Implements dlist_iterator_t.next_dlistiterator.
#define next_dlistiterator( iter, node ) ( __extension__ ({ typeof(iter) _iter = (iter) ; bool _isNext = (0 != _iter->next) ; if (_isNext) { *(node) = _iter->next ; if (_iter->list->last == _iter->next) _iter->next = 0 ; else _iter->next = next_dlist(_iter->next) ; } _isNext ; }))
Implements queue_iterator_t.next_queueiterator.
#define next_queueiterator( iter, node ) ( __extension__ ({ bool _isnext ; typeof(iter) _it = (iter) ; typeof(node) _nd = (node) ; for (;;) { uint32_t _nextoff = _it->next_offset + _it->nodesize ; if (_nextoff <= _it->end_offset) { *_nd = (uint8_t*)_it->nextpage + _it->next_offset ; _it->next_offset = _nextoff ; _isnext = true ; break ; } if (_it->nextpage == _it->lastpage) { _isnext = false ; break ; } _it->nextpage = (queue_page_t*) _it->nextpage->next ; _it->next_offset = _it->nextpage->start_offset ; _it->end_offset = _it->nextpage->end_offset ; } _isnext ; }))
Implements slist_t.next_slist.
#define next_slist( node ) ((node)->next)
Implements slist_t.next_slistiterator.
#define next_slistiterator( iter, node ) ( __extension__ ({ typeof(iter) _iter = (iter) ; typeof(node) _nd = (node) ; bool _isNext = (0 != _iter->next) ; if (_isNext) { *_nd = _iter->next ; if (_iter->list->last == _iter->next) _iter->next = 0 ; else _iter->next = next_slist(_iter->next) ; } _isNext ; }))
Implements stringstream_t.next_stringstream.
#define next_stringstream( strstream ) ((strstream)->next)
Implements stringstream_t.nextbyte_stringstream.
#define nextbyte_stringstream( strstream ) (*((strstream)->next ++))
Implements utf8reader_t.nextbyte_utf8reader.
#define nextbyte_utf8reader( utfread, nextbyte ) ( __extension__ ({ int _err ; typeof(utfread) _rd = (utfread) ; if (isnext_utf8reader(_rd)) { incrcolumn_textpos(&_rd->pos) ; const uint8_t _b = *(_rd->next ++) ; *(nextbyte) = _b ; if ('\n' == _b) { incrline_textpos(&_rd->pos) ; } _err = 0 ; } else { _err = ENODATA ; } _err ; }))
Implements utf8reader_t.nextchar_utf8reader.
#define nextchar_utf8reader( utfread, nxtchar ) ( __extension__ ({ typeof(utfread) _rd1 = (utfread) ; int _err2 = nextutf8_stringstream( genericcast_stringstream(_rd1), (nxtchar)) ; if (0 == _err2) { incrcolumn_textpos(&_rd1->pos) ; if ('\n' == *(nxtchar)) { incrline_textpos(&_rd1->pos) ; } } _err2 ; }))
Implements queue_iterator_t.nextskip_queueiterator.
#define nextskip_queueiterator( iter, extrasize ) ( __extension__ ({ bool _isskip ; typeof(iter) _it = (iter) ; uint16_t _es = (extrasize) ; uint32_t _nextoff = _it->next_offset + _es ; if (_nextoff <= _it->end_offset) { _it->next_offset = _nextoff ; _isskip = true ; } else { _isskip = false ; } _isskip ; }))
Implements arraysf_unode_t.node_arraysfunode.
#define node_arraysfunode( node ) ( __extension__ ({ arraysf_unode_t * _node3 = (node) ; (arraysf_node_t*) _node3 ; }))
Implements arraystf_unode_t.node_arraystfunode.
#define node_arraystfunode( node ) ( __extension__ ({ arraystf_unode_t * _node2 = (node) ; (arraystf_node_t*) _node2 ; }))
Implements arraysf_unode_t.nodecast_arraysfunode.
static inline arraysf_unode_t * nodecast_arraysfunode( arraysf_node_t * node )
Casts both nodes to type typeadapt_object_t and calls callcmpobj_typeadapt.
#define NODECOMPARE( lnode, rnode ) callcmpobj_typeadaptmember(&tree->nodeadp, memberasobject_typeadaptmember(&tree->nodeadp, lnode), memberasobject_typeadaptmember(&tree->nodeadp, rnode))
Implements csvfilereader_t.nrcolumns_csvfilereader.
#define nrcolumns_csvfilereader( csvfile ) ((csvfile)->nrcolumns)
Implements bigint_t.nrdigits_bigint.
#define nrdigits_bigint( big ) ((uint16_t)( (big)->sign_and_used_digits < 0 ? - (big)->sign_and_used_digits : (big)->sign_and_used_digits ))
Implements bigint_t.nrdigitsmax_bigint.
#define nrdigitsmax_bigint( ) (0x7fff)
Implements decimal_t.nrdigitsmax_decimal.
#define nrdigitsmax_decimal( ) ((uint16_t)(digitsperint_decimal() * sizemax_decimal()))
Implements exthash_t.nrelements_exthash.
#define nrelements_exthash( htable ) ((htable)->nr_nodes)
Implements csvfilereader_t.nrrows_csvfilereader.
#define nrrows_csvfilereader( csvfile ) ((csvfile)->nrrows)
Implements x11screen_t.number_x11screen.
#define number_x11screen( x11screen ) ((x11screen)->nrscreen)
Casts node to type typeadapt_object_t and calls callcmpobj_typeadapt.
#define OBJCOMPARE( keyobject, node ) callcmpobj_typeadapt(typeadp, keyobject, memberasobject_typeadaptnodeoffset(nodeoffset, node))
Imeplements typeadapt_member_t.objectasmember_typeadaptmember.
#define objectasmember_typeadaptmember( nodeadp, object ) objectasmember_typeadaptnodeoffset((nodeadp)->nodeoff, object)
Implements typeadapt_nodeoffset_t.objectasmember_typeadaptnodeoffset.
#define objectasmember_typeadaptnodeoffset( nodeoff, object ) ( __extension__ ({ uint32_t _off = (nodeoff); (void*) ((uintptr_t)(object) + _off); }))
Static initializer.
#define objectcache_FREE iobj_FREE
Static initializer.
#define objectcache_impl_FREE { vmpage_FREE }
Implements objectcache_it.objectcache_it_DECLARE.
#define objectcache_it_DECLARE( declared_it, objectcache_t ) typedef struct declared_it declared_it ; struct declared_it { void (*lock_iobuffer) (objectcache_t * cache, /*out*/struct memblock_t ** iobuffer); void (*unlock_iobuffer) (objectcache_t * cache, struct memblock_t ** iobuffer) ; }
Declares a function table for accessing an objectcache service.
void objectcache_it_DECLARE( TYPENAME declared_it, TYPENAME objectcache_t ) ;
Inline implementation of maincontext_t.objectcache_maincontext.
#define objectcache_maincontext( ) (tcontext_maincontext()->objectcache)
Declares the maximum value of type off_t.
#define OFF_MAX INT64_MAX
Implements test_errortimer_t.ONERROR_testerrortimer.
#define ONERROR_testerrortimer( errtimer, err, ONERROR_LABEL ) do { typeof(err) _eret = (err); int _err2; _err2 = process_testerrortimer(errtimer); if (_err2) { *_eret = _err2; goto ONERROR_LABEL; } } while(0)
Implements display_t.os_display.
#define os_display( disp ) (&(disp)->osdisplay)
Implements window_t.os_window.
#define os_window( win ) (&(win)->oswindow)
Defines default display name to connect with the default screen.
#define OSDISPLAY_DEFAULTNAME 0
Initializes outconfig_fctparam_t with a name, value and format.
#define outconfig_fctparam_INIT( name, value, format ) { arraystf_node_INIT(name.size, name.addr), value, format }