Home | History | Annotate | Line # | Download | only in x86_64-pc-linux-gnu
      1 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-cds.so.6'>
      2 <!--
      3 SPDX-FileCopyrightText: 2021 EfficiOS Inc.
      4 
      5 SPDX-License-Identifier: CC0-1.0
      6 -->
      7   <elf-needed>
      8     <dependency name='libpthread.so.0'/>
      9     <dependency name='libc.so.6'/>
     10   </elf-needed>
     11   <elf-function-symbols>
     12     <!-- __cds_lfs_init -->
     13     <elf-symbol name='__cds_lfs_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     14     <!-- __cds_lfs_pop -->
     15     <elf-symbol name='__cds_lfs_pop' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     16     <!-- __cds_lfs_pop_all -->
     17     <elf-symbol name='__cds_lfs_pop_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     18     <!-- _cds_lfht_new -->
     19     <elf-symbol name='_cds_lfht_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     20     <!-- _fini -->
     21     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     22     <!-- _init -->
     23     <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     24     <!-- cds_lfht_add -->
     25     <elf-symbol name='cds_lfht_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     26     <!-- cds_lfht_add_replace -->
     27     <elf-symbol name='cds_lfht_add_replace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     28     <!-- cds_lfht_add_unique -->
     29     <elf-symbol name='cds_lfht_add_unique' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     30     <!-- cds_lfht_count_nodes -->
     31     <elf-symbol name='cds_lfht_count_nodes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     32     <!-- cds_lfht_del -->
     33     <elf-symbol name='cds_lfht_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     34     <!-- cds_lfht_destroy -->
     35     <elf-symbol name='cds_lfht_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     36     <!-- cds_lfht_first -->
     37     <elf-symbol name='cds_lfht_first' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     38     <!-- cds_lfht_fls_ulong -->
     39     <elf-symbol name='cds_lfht_fls_ulong' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     40     <!-- cds_lfht_get_count_order_ulong -->
     41     <elf-symbol name='cds_lfht_get_count_order_ulong' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     42     <!-- cds_lfht_is_node_deleted -->
     43     <elf-symbol name='cds_lfht_is_node_deleted' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     44     <!-- cds_lfht_lookup -->
     45     <elf-symbol name='cds_lfht_lookup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     46     <!-- cds_lfht_next -->
     47     <elf-symbol name='cds_lfht_next' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     48     <!-- cds_lfht_next_duplicate -->
     49     <elf-symbol name='cds_lfht_next_duplicate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     50     <!-- cds_lfht_replace -->
     51     <elf-symbol name='cds_lfht_replace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     52     <!-- cds_lfht_resize -->
     53     <elf-symbol name='cds_lfht_resize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     54     <!-- cds_lfq_dequeue_rcu -->
     55     <elf-symbol name='cds_lfq_dequeue_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     56     <!-- cds_lfq_destroy_rcu -->
     57     <elf-symbol name='cds_lfq_destroy_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     58     <!-- cds_lfq_enqueue_rcu -->
     59     <elf-symbol name='cds_lfq_enqueue_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     60     <!-- cds_lfq_init_rcu -->
     61     <elf-symbol name='cds_lfq_init_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     62     <!-- cds_lfq_node_init_rcu -->
     63     <elf-symbol name='cds_lfq_node_init_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     64     <!-- cds_lfs_destroy -->
     65     <elf-symbol name='cds_lfs_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     66     <!-- cds_lfs_empty -->
     67     <elf-symbol name='cds_lfs_empty' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     68     <!-- cds_lfs_init -->
     69     <elf-symbol name='cds_lfs_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     70     <!-- cds_lfs_init_rcu -->
     71     <elf-symbol name='cds_lfs_init_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     72     <!-- cds_lfs_node_init -->
     73     <elf-symbol name='cds_lfs_node_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     74     <!-- cds_lfs_node_init_rcu -->
     75     <elf-symbol name='cds_lfs_node_init_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     76     <!-- cds_lfs_pop_all_blocking -->
     77     <elf-symbol name='cds_lfs_pop_all_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     78     <!-- cds_lfs_pop_blocking -->
     79     <elf-symbol name='cds_lfs_pop_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     80     <!-- cds_lfs_pop_lock -->
     81     <elf-symbol name='cds_lfs_pop_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     82     <!-- cds_lfs_pop_rcu -->
     83     <elf-symbol name='cds_lfs_pop_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     84     <!-- cds_lfs_pop_unlock -->
     85     <elf-symbol name='cds_lfs_pop_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     86     <!-- cds_lfs_push -->
     87     <elf-symbol name='cds_lfs_push' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     88     <!-- cds_lfs_push_rcu -->
     89     <elf-symbol name='cds_lfs_push_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     90     <!-- compat_futex_async -->
     91     <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     92     <!-- compat_futex_noasync -->
     93     <elf-symbol name='compat_futex_noasync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     94     <!-- urcu_workqueue_create -->
     95     <elf-symbol name='urcu_workqueue_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     96     <!-- urcu_workqueue_create_completion -->
     97     <elf-symbol name='urcu_workqueue_create_completion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     98     <!-- urcu_workqueue_create_worker -->
     99     <elf-symbol name='urcu_workqueue_create_worker' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
    100     <!-- urcu_workqueue_destroy -->
    101     <elf-symbol name='urcu_workqueue_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
    102     <!-- urcu_workqueue_destroy_completion -->
    103     <elf-symbol name='urcu_workqueue_destroy_completion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
    104     <!-- urcu_workqueue_flush_queued_work -->
    105     <elf-symbol name='urcu_workqueue_flush_queued_work' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
    106     <!-- urcu_workqueue_pause_worker -->
    107     <elf-symbol name='urcu_workqueue_pause_worker' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
    108     <!-- urcu_workqueue_queue_completion -->
    109     <elf-symbol name='urcu_workqueue_queue_completion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
    110     <!-- urcu_workqueue_queue_work -->
    111     <elf-symbol name='urcu_workqueue_queue_work' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
    112     <!-- urcu_workqueue_resume_worker -->
    113     <elf-symbol name='urcu_workqueue_resume_worker' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
    114     <!-- urcu_workqueue_wait_completion -->
    115     <elf-symbol name='urcu_workqueue_wait_completion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
    116   </elf-function-symbols>
    117   <elf-variable-symbols>
    118     <!-- __urcu_compat_futex_cond -->
    119     <elf-symbol name='__urcu_compat_futex_cond' size='48' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
    120     <!-- __urcu_compat_futex_lock -->
    121     <elf-symbol name='__urcu_compat_futex_lock' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
    122     <!-- cds_lfht_mm_chunk -->
    123     <elf-symbol name='cds_lfht_mm_chunk' size='32' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
    124     <!-- cds_lfht_mm_mmap -->
    125     <elf-symbol name='cds_lfht_mm_mmap' size='32' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
    126     <!-- cds_lfht_mm_order -->
    127     <elf-symbol name='cds_lfht_mm_order' size='32' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
    128   </elf-variable-symbols>
    129   <abi-instr version='1.0' address-size='64' path='rculfqueue.c' comp-dir-path='src' language='LANG_C99'>
    130     <!-- struct cds_lfq_node_rcu -->
    131     <class-decl name='cds_lfq_node_rcu' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='35' column='1' id='type-id-1'>
    132       <data-member access='public' layout-offset-in-bits='0'>
    133         <!-- cds_lfq_node_rcu* cds_lfq_node_rcu::next -->
    134         <var-decl name='next' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='36' column='1'/>
    135       </data-member>
    136       <data-member access='public' layout-offset-in-bits='64'>
    137         <!-- int cds_lfq_node_rcu::dummy -->
    138         <var-decl name='dummy' type-id='type-id-3' visibility='default' filepath='../include/urcu/rculfqueue.h' line='37' column='1'/>
    139       </data-member>
    140     </class-decl>
    141     <!-- cds_lfq_node_rcu* -->
    142     <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
    143     <!-- int -->
    144     <type-decl name='int' size-in-bits='32' id='type-id-3'/>
    145     <!-- struct cds_lfq_queue_rcu -->
    146     <class-decl name='cds_lfq_queue_rcu' size-in-bits='192' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='40' column='1' id='type-id-4'>
    147       <data-member access='public' layout-offset-in-bits='0'>
    148         <!-- cds_lfq_node_rcu* cds_lfq_queue_rcu::head -->
    149         <var-decl name='head' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
    150       </data-member>
    151       <data-member access='public' layout-offset-in-bits='64'>
    152         <!-- cds_lfq_node_rcu* cds_lfq_queue_rcu::tail -->
    153         <var-decl name='tail' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
    154       </data-member>
    155       <data-member access='public' layout-offset-in-bits='128'>
    156         <!-- void (rcu_head*, void (rcu_head*)*)* cds_lfq_queue_rcu::queue_call_rcu -->
    157         <var-decl name='queue_call_rcu' type-id='type-id-5' visibility='default' filepath='../include/urcu/rculfqueue.h' line='42' column='1'/>
    158       </data-member>
    159     </class-decl>
    160     <!-- void -->
    161     <type-decl name='void' id='type-id-6'/>
    162     <!-- struct rcu_head -->
    163     <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-7'>
    164       <data-member access='public' layout-offset-in-bits='0'>
    165         <!-- cds_wfcq_node rcu_head::next -->
    166         <var-decl name='next' type-id='type-id-8' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
    167       </data-member>
    168       <data-member access='public' layout-offset-in-bits='64'>
    169         <!-- void (rcu_head*)* rcu_head::func -->
    170         <var-decl name='func' type-id='type-id-9' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
    171       </data-member>
    172     </class-decl>
    173     <!-- struct cds_wfcq_node -->
    174     <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-8'>
    175       <data-member access='public' layout-offset-in-bits='0'>
    176         <!-- cds_wfcq_node* cds_wfcq_node::next -->
    177         <var-decl name='next' type-id='type-id-10' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
    178       </data-member>
    179     </class-decl>
    180     <!-- cds_wfcq_node* -->
    181     <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-10'/>
    182     <!-- rcu_head* -->
    183     <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-11'/>
    184     <!-- void (rcu_head*)* -->
    185     <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-9'/>
    186     <!-- void (rcu_head*, void (rcu_head*)*)* -->
    187     <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-5'/>
    188     <!-- cds_lfq_queue_rcu* -->
    189     <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-14'/>
    190     <!-- cds_lfq_node_rcu* cds_lfq_dequeue_rcu(cds_lfq_queue_rcu*) -->
    191     <function-decl name='cds_lfq_dequeue_rcu' mangled-name='cds_lfq_dequeue_rcu' filepath='src/rculfqueue.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_dequeue_rcu'>
    192       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
    193       <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='56' column='1'/>
    194       <!-- cds_lfq_node_rcu* -->
    195       <return type-id='type-id-2'/>
    196     </function-decl>
    197     <!-- void cds_lfq_enqueue_rcu(cds_lfq_queue_rcu*, cds_lfq_node_rcu*) -->
    198     <function-decl name='cds_lfq_enqueue_rcu' mangled-name='cds_lfq_enqueue_rcu' filepath='src/rculfqueue.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_enqueue_rcu'>
    199       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
    200       <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='50' column='1'/>
    201       <!-- parameter of type 'cds_lfq_node_rcu*' -->
    202       <parameter type-id='type-id-2' name='node' filepath='src/rculfqueue.c' line='50' column='1'/>
    203       <!-- void -->
    204       <return type-id='type-id-6'/>
    205     </function-decl>
    206     <!-- int cds_lfq_destroy_rcu(cds_lfq_queue_rcu*) -->
    207     <function-decl name='cds_lfq_destroy_rcu' mangled-name='cds_lfq_destroy_rcu' filepath='src/rculfqueue.c' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_destroy_rcu'>
    208       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
    209       <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='45' column='1'/>
    210       <!-- int -->
    211       <return type-id='type-id-3'/>
    212     </function-decl>
    213     <!-- void cds_lfq_init_rcu(cds_lfq_queue_rcu*, void (rcu_head*, void (rcu_head*)*)*) -->
    214     <function-decl name='cds_lfq_init_rcu' mangled-name='cds_lfq_init_rcu' filepath='src/rculfqueue.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_init_rcu'>
    215       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
    216       <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='38' column='1'/>
    217       <!-- parameter of type 'void (rcu_head*, void (rcu_head*)*)*' -->
    218       <parameter type-id='type-id-5' name='queue_call_rcu' filepath='src/rculfqueue.c' line='39' column='1'/>
    219       <!-- void -->
    220       <return type-id='type-id-6'/>
    221     </function-decl>
    222     <!-- void cds_lfq_node_init_rcu(cds_lfq_node_rcu*) -->
    223     <function-decl name='cds_lfq_node_init_rcu' mangled-name='cds_lfq_node_init_rcu' filepath='src/rculfqueue.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_node_init_rcu'>
    224       <!-- parameter of type 'cds_lfq_node_rcu*' -->
    225       <parameter type-id='type-id-2' name='node' filepath='src/rculfqueue.c' line='33' column='1'/>
    226       <!-- void -->
    227       <return type-id='type-id-6'/>
    228     </function-decl>
    229     <!-- void (rcu_head*) -->
    230     <function-type size-in-bits='64' id='type-id-12'>
    231       <!-- parameter of type 'rcu_head*' -->
    232       <parameter type-id='type-id-11'/>
    233       <!-- void -->
    234       <return type-id='type-id-6'/>
    235     </function-type>
    236     <!-- void (rcu_head*, void (rcu_head*)*) -->
    237     <function-type size-in-bits='64' id='type-id-13'>
    238       <!-- parameter of type 'rcu_head*' -->
    239       <parameter type-id='type-id-11'/>
    240       <!-- parameter of type 'void (rcu_head*)*' -->
    241       <parameter type-id='type-id-9'/>
    242       <!-- void -->
    243       <return type-id='type-id-6'/>
    244     </function-type>
    245   </abi-instr>
    246   <abi-instr version='1.0' address-size='64' path='rculfstack.c' comp-dir-path='src' language='LANG_C99'>
    247     <!-- struct cds_lfs_node_rcu -->
    248     <class-decl name='cds_lfs_node_rcu' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/rculfstack.h' line='37' column='1' id='type-id-15'>
    249       <data-member access='public' layout-offset-in-bits='0'>
    250         <!-- cds_lfs_node_rcu* cds_lfs_node_rcu::next -->
    251         <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/rculfstack.h' line='38' column='1'/>
    252       </data-member>
    253     </class-decl>
    254     <!-- cds_lfs_node_rcu* -->
    255     <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
    256     <!-- struct cds_lfs_stack_rcu -->
    257     <class-decl name='cds_lfs_stack_rcu' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/rculfstack.h' line='41' column='1' id='type-id-17'>
    258       <data-member access='public' layout-offset-in-bits='0'>
    259         <!-- cds_lfs_node_rcu* cds_lfs_stack_rcu::head -->
    260         <var-decl name='head' type-id='type-id-16' visibility='default' filepath='../include/urcu/rculfstack.h' line='42' column='1'/>
    261       </data-member>
    262     </class-decl>
    263     <!-- cds_lfs_stack_rcu* -->
    264     <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/>
    265     <!-- cds_lfs_node_rcu* cds_lfs_pop_rcu(cds_lfs_stack_rcu*) -->
    266     <function-decl name='cds_lfs_pop_rcu' mangled-name='cds_lfs_pop_rcu' filepath='src/rculfstack.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_rcu'>
    267       <!-- parameter of type 'cds_lfs_stack_rcu*' -->
    268       <parameter type-id='type-id-18' name='s' filepath='src/rculfstack.c' line='53' column='1'/>
    269       <!-- cds_lfs_node_rcu* -->
    270       <return type-id='type-id-16'/>
    271     </function-decl>
    272     <!-- int cds_lfs_push_rcu(cds_lfs_stack_rcu*, cds_lfs_node_rcu*) -->
    273     <function-decl name='cds_lfs_push_rcu' mangled-name='cds_lfs_push_rcu' filepath='src/rculfstack.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_push_rcu'>
    274       <!-- parameter of type 'cds_lfs_stack_rcu*' -->
    275       <parameter type-id='type-id-18' name='s' filepath='src/rculfstack.c' line='47' column='1'/>
    276       <!-- parameter of type 'cds_lfs_node_rcu*' -->
    277       <parameter type-id='type-id-16' name='node' filepath='src/rculfstack.c' line='48' column='1'/>
    278       <!-- int -->
    279       <return type-id='type-id-3'/>
    280     </function-decl>
    281     <!-- void cds_lfs_init_rcu(cds_lfs_stack_rcu*) -->
    282     <function-decl name='cds_lfs_init_rcu' mangled-name='cds_lfs_init_rcu' filepath='src/rculfstack.c' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_init_rcu'>
    283       <!-- parameter of type 'cds_lfs_stack_rcu*' -->
    284       <parameter type-id='type-id-18' name='s' filepath='src/rculfstack.c' line='42' column='1'/>
    285       <!-- void -->
    286       <return type-id='type-id-6'/>
    287     </function-decl>
    288     <!-- void cds_lfs_node_init_rcu(cds_lfs_node_rcu*) -->
    289     <function-decl name='cds_lfs_node_init_rcu' mangled-name='cds_lfs_node_init_rcu' filepath='src/rculfstack.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_node_init_rcu'>
    290       <!-- parameter of type 'cds_lfs_node_rcu*' -->
    291       <parameter type-id='type-id-16' name='node' filepath='src/rculfstack.c' line='37' column='1'/>
    292       <!-- void -->
    293       <return type-id='type-id-6'/>
    294     </function-decl>
    295   </abi-instr>
    296   <abi-instr version='1.0' address-size='64' path='lfstack.c' comp-dir-path='src' language='LANG_C99'>
    297     <!-- struct cds_lfs_head -->
    298     <class-decl name='cds_lfs_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='69' column='1' id='type-id-19'>
    299       <data-member access='public' layout-offset-in-bits='0'>
    300         <!-- cds_lfs_node cds_lfs_head::node -->
    301         <var-decl name='node' type-id='type-id-20' visibility='default' filepath='../include/urcu/lfstack.h' line='70' column='1'/>
    302       </data-member>
    303     </class-decl>
    304     <!-- struct cds_lfs_node -->
    305     <class-decl name='cds_lfs_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='59' column='1' id='type-id-20'>
    306       <data-member access='public' layout-offset-in-bits='0'>
    307         <!-- cds_lfs_node* cds_lfs_node::next -->
    308         <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/lfstack.h' line='60' column='1'/>
    309       </data-member>
    310     </class-decl>
    311     <!-- cds_lfs_node* -->
    312     <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-21'/>
    313     <!-- cds_lfs_head* -->
    314     <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-22'/>
    315     <!-- union __anonymous_union__ -->
    316     <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='87' column='1' id='type-id-23'>
    317       <data-member access='private'>
    318         <!-- __cds_lfs_stack* __anonymous_union__::_s -->
    319         <var-decl name='_s' type-id='type-id-24' visibility='default' filepath='../include/urcu/lfstack.h' line='88' column='1'/>
    320       </data-member>
    321       <data-member access='private'>
    322         <!-- cds_lfs_stack* __anonymous_union__::s -->
    323         <var-decl name='s' type-id='type-id-25' visibility='default' filepath='../include/urcu/lfstack.h' line='89' column='1'/>
    324       </data-member>
    325     </union-decl>
    326     <!-- struct __cds_lfs_stack -->
    327     <class-decl name='__cds_lfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='73' column='1' id='type-id-26'>
    328       <data-member access='public' layout-offset-in-bits='0'>
    329         <!-- cds_lfs_head* __cds_lfs_stack::head -->
    330         <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../include/urcu/lfstack.h' line='74' column='1'/>
    331       </data-member>
    332     </class-decl>
    333     <!-- __cds_lfs_stack* -->
    334     <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-24'/>
    335     <!-- struct cds_lfs_stack -->
    336     <class-decl name='cds_lfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='77' column='1' id='type-id-27'>
    337       <data-member access='public' layout-offset-in-bits='0'>
    338         <!-- cds_lfs_head* cds_lfs_stack::head -->
    339         <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../include/urcu/lfstack.h' line='78' column='1'/>
    340       </data-member>
    341       <data-member access='public' layout-offset-in-bits='64'>
    342         <!-- pthread_mutex_t cds_lfs_stack::lock -->
    343         <var-decl name='lock' type-id='type-id-28' visibility='default' filepath='../include/urcu/lfstack.h' line='79' column='1'/>
    344       </data-member>
    345     </class-decl>
    346     <!-- union __anonymous_union__ -->
    347     <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-29'>
    348       <data-member access='private'>
    349         <!-- __pthread_mutex_s __anonymous_union__::__data -->
    350         <var-decl name='__data' type-id='type-id-30' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
    351       </data-member>
    352       <data-member access='private'>
    353         <!-- char __anonymous_union__::__size[40] -->
    354         <var-decl name='__size' type-id='type-id-31' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
    355       </data-member>
    356       <data-member access='private'>
    357         <!-- long int __anonymous_union__::__align -->
    358         <var-decl name='__align' type-id='type-id-32' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
    359       </data-member>
    360     </union-decl>
    361     <!-- struct __pthread_mutex_s -->
    362     <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-30'>
    363       <data-member access='public' layout-offset-in-bits='0'>
    364         <!-- int __pthread_mutex_s::__lock -->
    365         <var-decl name='__lock' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
    366       </data-member>
    367       <data-member access='public' layout-offset-in-bits='32'>
    368         <!-- unsigned int __pthread_mutex_s::__count -->
    369         <var-decl name='__count' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
    370       </data-member>
    371       <data-member access='public' layout-offset-in-bits='64'>
    372         <!-- int __pthread_mutex_s::__owner -->
    373         <var-decl name='__owner' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
    374       </data-member>
    375       <data-member access='public' layout-offset-in-bits='96'>
    376         <!-- unsigned int __pthread_mutex_s::__nusers -->
    377         <var-decl name='__nusers' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
    378       </data-member>
    379       <data-member access='public' layout-offset-in-bits='128'>
    380         <!-- int __pthread_mutex_s::__kind -->
    381         <var-decl name='__kind' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
    382       </data-member>
    383       <data-member access='public' layout-offset-in-bits='160'>
    384         <!-- short int __pthread_mutex_s::__spins -->
    385         <var-decl name='__spins' type-id='type-id-34' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
    386       </data-member>
    387       <data-member access='public' layout-offset-in-bits='176'>
    388         <!-- short int __pthread_mutex_s::__elision -->
    389         <var-decl name='__elision' type-id='type-id-34' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
    390       </data-member>
    391       <data-member access='public' layout-offset-in-bits='192'>
    392         <!-- __pthread_list_t __pthread_mutex_s::__list -->
    393         <var-decl name='__list' type-id='type-id-35' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
    394       </data-member>
    395     </class-decl>
    396     <!-- unsigned int -->
    397     <type-decl name='unsigned int' size-in-bits='32' id='type-id-33'/>
    398     <!-- short int -->
    399     <type-decl name='short int' size-in-bits='16' id='type-id-34'/>
    400     <!-- struct __pthread_internal_list -->
    401     <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-36'>
    402       <data-member access='public' layout-offset-in-bits='0'>
    403         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
    404         <var-decl name='__prev' type-id='type-id-37' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
    405       </data-member>
    406       <data-member access='public' layout-offset-in-bits='64'>
    407         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
    408         <var-decl name='__next' type-id='type-id-37' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
    409       </data-member>
    410     </class-decl>
    411     <!-- __pthread_internal_list* -->
    412     <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
    413     <!-- typedef __pthread_internal_list __pthread_list_t -->
    414     <typedef-decl name='__pthread_list_t' type-id='type-id-36' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-35'/>
    415     <!-- char -->
    416     <type-decl name='char' size-in-bits='8' id='type-id-38'/>
    417     <!-- unsigned long int -->
    418     <type-decl name='unsigned long int' size-in-bits='64' id='type-id-39'/>
    419 
    420     <!-- char[40] -->
    421     <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='320' id='type-id-31'>
    422       <!-- <anonymous range>[40] -->
    423       <subrange length='40' type-id='type-id-39' id='type-id-40'/>
    424 
    425     </array-type-def>
    426     <!-- long int -->
    427     <type-decl name='long int' size-in-bits='64' id='type-id-32'/>
    428     <!-- typedef __anonymous_union__ pthread_mutex_t -->
    429     <typedef-decl name='pthread_mutex_t' type-id='type-id-29' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-28'/>
    430     <!-- cds_lfs_stack* -->
    431     <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-25'/>
    432     <!-- typedef __anonymous_union__ cds_lfs_stack_ptr_t -->
    433     <typedef-decl name='cds_lfs_stack_ptr_t' type-id='type-id-23' filepath='../include/urcu/lfstack.h' line='90' column='1' id='type-id-41'/>
    434     <!-- cds_lfs_head* __cds_lfs_pop_all(cds_lfs_stack_ptr_t) -->
    435     <function-decl name='__cds_lfs_pop_all' mangled-name='__cds_lfs_pop_all' filepath='src/lfstack.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_pop_all'>
    436       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
    437       <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='88' column='1'/>
    438       <!-- cds_lfs_head* -->
    439       <return type-id='type-id-22'/>
    440     </function-decl>
    441     <!-- cds_lfs_node* __cds_lfs_pop(cds_lfs_stack_ptr_t) -->
    442     <function-decl name='__cds_lfs_pop' mangled-name='__cds_lfs_pop' filepath='src/lfstack.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_pop'>
    443       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
    444       <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='83' column='1'/>
    445       <!-- cds_lfs_node* -->
    446       <return type-id='type-id-21'/>
    447     </function-decl>
    448     <!-- void cds_lfs_pop_unlock(cds_lfs_stack*) -->
    449     <function-decl name='cds_lfs_pop_unlock' mangled-name='cds_lfs_pop_unlock' filepath='src/lfstack.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_unlock'>
    450       <!-- parameter of type 'cds_lfs_stack*' -->
    451       <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
    452       <!-- void -->
    453       <return type-id='type-id-6'/>
    454     </function-decl>
    455     <!-- void cds_lfs_pop_lock(cds_lfs_stack*) -->
    456     <function-decl name='cds_lfs_pop_lock' mangled-name='cds_lfs_pop_lock' filepath='src/lfstack.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_lock'>
    457       <!-- parameter of type 'cds_lfs_stack*' -->
    458       <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
    459       <!-- void -->
    460       <return type-id='type-id-6'/>
    461     </function-decl>
    462     <!-- cds_lfs_head* cds_lfs_pop_all_blocking(cds_lfs_stack*) -->
    463     <function-decl name='cds_lfs_pop_all_blocking' mangled-name='cds_lfs_pop_all_blocking' filepath='src/lfstack.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_all_blocking'>
    464       <!-- parameter of type 'cds_lfs_stack*' -->
    465       <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='68' column='1'/>
    466       <!-- cds_lfs_head* -->
    467       <return type-id='type-id-22'/>
    468     </function-decl>
    469     <!-- cds_lfs_node* cds_lfs_pop_blocking(cds_lfs_stack*) -->
    470     <function-decl name='cds_lfs_pop_blocking' mangled-name='cds_lfs_pop_blocking' filepath='src/lfstack.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_blocking'>
    471       <!-- parameter of type 'cds_lfs_stack*' -->
    472       <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='63' column='1'/>
    473       <!-- cds_lfs_node* -->
    474       <return type-id='type-id-21'/>
    475     </function-decl>
    476     <!-- bool -->
    477     <type-decl name='bool' size-in-bits='8' id='type-id-42'/>
    478     <!-- bool cds_lfs_push(cds_lfs_stack_ptr_t, cds_lfs_node*) -->
    479     <function-decl name='cds_lfs_push' mangled-name='cds_lfs_push' filepath='src/lfstack.c' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_push'>
    480       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
    481       <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='58' column='1'/>
    482       <!-- parameter of type 'cds_lfs_node*' -->
    483       <parameter type-id='type-id-21' name='node' filepath='src/lfstack.c' line='58' column='1'/>
    484       <!-- bool -->
    485       <return type-id='type-id-42'/>
    486     </function-decl>
    487     <!-- bool cds_lfs_empty(cds_lfs_stack_ptr_t) -->
    488     <function-decl name='cds_lfs_empty' mangled-name='cds_lfs_empty' filepath='src/lfstack.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_empty'>
    489       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
    490       <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='53' column='1'/>
    491       <!-- bool -->
    492       <return type-id='type-id-42'/>
    493     </function-decl>
    494     <!-- void __cds_lfs_init(__cds_lfs_stack*) -->
    495     <function-decl name='__cds_lfs_init' mangled-name='__cds_lfs_init' filepath='src/lfstack.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_init'>
    496       <!-- parameter of type '__cds_lfs_stack*' -->
    497       <parameter type-id='type-id-24' name='s' filepath='src/lfstack.c' line='48' column='1'/>
    498       <!-- void -->
    499       <return type-id='type-id-6'/>
    500     </function-decl>
    501     <!-- void cds_lfs_destroy(cds_lfs_stack*) -->
    502     <function-decl name='cds_lfs_destroy' mangled-name='cds_lfs_destroy' filepath='src/lfstack.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_destroy'>
    503       <!-- parameter of type 'cds_lfs_stack*' -->
    504       <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
    505       <!-- void -->
    506       <return type-id='type-id-6'/>
    507     </function-decl>
    508     <!-- void cds_lfs_init(cds_lfs_stack*) -->
    509     <function-decl name='cds_lfs_init' mangled-name='cds_lfs_init' filepath='src/lfstack.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_init'>
    510       <!-- parameter of type 'cds_lfs_stack*' -->
    511       <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
    512       <!-- void -->
    513       <return type-id='type-id-6'/>
    514     </function-decl>
    515     <!-- void cds_lfs_node_init(cds_lfs_node*) -->
    516     <function-decl name='cds_lfs_node_init' mangled-name='cds_lfs_node_init' filepath='src/lfstack.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_node_init'>
    517       <!-- parameter of type 'cds_lfs_node*' -->
    518       <parameter type-id='type-id-21' name='node' filepath='src/lfstack.c' line='33' column='1'/>
    519       <!-- void -->
    520       <return type-id='type-id-6'/>
    521     </function-decl>
    522   </abi-instr>
    523   <abi-instr version='1.0' address-size='64' path='workqueue.c' comp-dir-path='src' language='LANG_C99'>
    524     <!-- struct urcu_workqueue -->
    525     <class-decl name='urcu_workqueue' size-in-bits='2048' is-struct='yes' visibility='default' filepath='src/workqueue.c' line='54' column='1' id='type-id-43'>
    526       <data-member access='public' layout-offset-in-bits='0'>
    527         <!-- cds_wfcq_tail urcu_workqueue::cbs_tail -->
    528         <var-decl name='cbs_tail' type-id='type-id-44' visibility='default' filepath='src/workqueue.c' line='61' column='1'/>
    529       </data-member>
    530       <data-member access='public' layout-offset-in-bits='64'>
    531         <!-- cds_wfcq_head urcu_workqueue::cbs_head -->
    532         <var-decl name='cbs_head' type-id='type-id-45' visibility='default' filepath='src/workqueue.c' line='62' column='1'/>
    533       </data-member>
    534       <data-member access='public' layout-offset-in-bits='448'>
    535         <!-- unsigned long int urcu_workqueue::flags -->
    536         <var-decl name='flags' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='63' column='1'/>
    537       </data-member>
    538       <data-member access='public' layout-offset-in-bits='512'>
    539         <!-- int32_t urcu_workqueue::futex -->
    540         <var-decl name='futex' type-id='type-id-46' visibility='default' filepath='src/workqueue.c' line='64' column='1'/>
    541       </data-member>
    542       <data-member access='public' layout-offset-in-bits='576'>
    543         <!-- unsigned long int urcu_workqueue::qlen -->
    544         <var-decl name='qlen' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='65' column='1'/>
    545       </data-member>
    546       <data-member access='public' layout-offset-in-bits='640'>
    547         <!-- pthread_t urcu_workqueue::tid -->
    548         <var-decl name='tid' type-id='type-id-47' visibility='default' filepath='src/workqueue.c' line='66' column='1'/>
    549       </data-member>
    550       <data-member access='public' layout-offset-in-bits='704'>
    551         <!-- int urcu_workqueue::cpu_affinity -->
    552         <var-decl name='cpu_affinity' type-id='type-id-3' visibility='default' filepath='src/workqueue.c' line='67' column='1'/>
    553       </data-member>
    554       <data-member access='public' layout-offset-in-bits='768'>
    555         <!-- unsigned long int urcu_workqueue::loop_count -->
    556         <var-decl name='loop_count' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='68' column='1'/>
    557       </data-member>
    558       <data-member access='public' layout-offset-in-bits='832'>
    559         <!-- void* urcu_workqueue::priv -->
    560         <var-decl name='priv' type-id='type-id-48' visibility='default' filepath='src/workqueue.c' line='69' column='1'/>
    561       </data-member>
    562       <data-member access='public' layout-offset-in-bits='896'>
    563         <!-- void (urcu_workqueue*, void*)* urcu_workqueue::grace_period_fct -->
    564         <var-decl name='grace_period_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='70' column='1'/>
    565       </data-member>
    566       <data-member access='public' layout-offset-in-bits='960'>
    567         <!-- void (urcu_workqueue*, void*)* urcu_workqueue::initialize_worker_fct -->
    568         <var-decl name='initialize_worker_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='71' column='1'/>
    569       </data-member>
    570       <data-member access='public' layout-offset-in-bits='1024'>
    571         <!-- void (urcu_workqueue*, void*)* urcu_workqueue::finalize_worker_fct -->
    572         <var-decl name='finalize_worker_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='72' column='1'/>
    573       </data-member>
    574       <data-member access='public' layout-offset-in-bits='1088'>
    575         <!-- void (urcu_workqueue*, void*)* urcu_workqueue::worker_before_pause_fct -->
    576         <var-decl name='worker_before_pause_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='73' column='1'/>
    577       </data-member>
    578       <data-member access='public' layout-offset-in-bits='1152'>
    579         <!-- void (urcu_workqueue*, void*)* urcu_workqueue::worker_after_resume_fct -->
    580         <var-decl name='worker_after_resume_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='74' column='1'/>
    581       </data-member>
    582       <data-member access='public' layout-offset-in-bits='1216'>
    583         <!-- void (urcu_workqueue*, void*)* urcu_workqueue::worker_before_wait_fct -->
    584         <var-decl name='worker_before_wait_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='75' column='1'/>
    585       </data-member>
    586       <data-member access='public' layout-offset-in-bits='1280'>
    587         <!-- void (urcu_workqueue*, void*)* urcu_workqueue::worker_after_wake_up_fct -->
    588         <var-decl name='worker_after_wake_up_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='76' column='1'/>
    589       </data-member>
    590     </class-decl>
    591     <!-- struct cds_wfcq_tail -->
    592     <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-44'>
    593       <data-member access='public' layout-offset-in-bits='0'>
    594         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
    595         <var-decl name='p' type-id='type-id-10' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
    596       </data-member>
    597     </class-decl>
    598     <!-- struct cds_wfcq_head -->
    599     <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-45'>
    600       <data-member access='public' layout-offset-in-bits='0'>
    601         <!-- cds_wfcq_node cds_wfcq_head::node -->
    602         <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
    603       </data-member>
    604       <data-member access='public' layout-offset-in-bits='64'>
    605         <!-- pthread_mutex_t cds_wfcq_head::lock -->
    606         <var-decl name='lock' type-id='type-id-28' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
    607       </data-member>
    608     </class-decl>
    609     <!-- typedef int __int32_t -->
    610     <typedef-decl name='__int32_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-50'/>
    611     <!-- typedef __int32_t int32_t -->
    612     <typedef-decl name='int32_t' type-id='type-id-50' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-46'/>
    613     <!-- typedef unsigned long int pthread_t -->
    614     <typedef-decl name='pthread_t' type-id='type-id-39' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-47'/>
    615     <!-- void* -->
    616     <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-48'/>
    617     <!-- urcu_workqueue* -->
    618     <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-51'/>
    619     <!-- void (urcu_workqueue*, void*)* -->
    620     <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-49'/>
    621     <!-- void urcu_workqueue_create_worker(urcu_workqueue*) -->
    622     <function-decl name='urcu_workqueue_create_worker' mangled-name='urcu_workqueue_create_worker' filepath='src/workqueue.c' line='458' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create_worker'>
    623       <!-- parameter of type 'urcu_workqueue*' -->
    624       <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
    625       <!-- void -->
    626       <return type-id='type-id-6'/>
    627     </function-decl>
    628     <!-- void urcu_workqueue_resume_worker(urcu_workqueue*) -->
    629     <function-decl name='urcu_workqueue_resume_worker' mangled-name='urcu_workqueue_resume_worker' filepath='src/workqueue.c' line='451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_resume_worker'>
    630       <!-- parameter of type 'urcu_workqueue*' -->
    631       <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='451' column='1'/>
    632       <!-- void -->
    633       <return type-id='type-id-6'/>
    634     </function-decl>
    635     <!-- void urcu_workqueue_pause_worker(urcu_workqueue*) -->
    636     <function-decl name='urcu_workqueue_pause_worker' mangled-name='urcu_workqueue_pause_worker' filepath='src/workqueue.c' line='440' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_pause_worker'>
    637       <!-- parameter of type 'urcu_workqueue*' -->
    638       <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='451' column='1'/>
    639       <!-- void -->
    640       <return type-id='type-id-6'/>
    641     </function-decl>
    642     <!-- void urcu_workqueue_flush_queued_work(urcu_workqueue*) -->
    643     <function-decl name='urcu_workqueue_flush_queued_work' mangled-name='urcu_workqueue_flush_queued_work' filepath='src/workqueue.c' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_flush_queued_work'>
    644       <!-- parameter of type 'urcu_workqueue*' -->
    645       <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
    646       <!-- void -->
    647       <return type-id='type-id-6'/>
    648     </function-decl>
    649     <!-- struct urcu_workqueue_completion -->
    650     <class-decl name='urcu_workqueue_completion' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.c' line='79' column='1' id='type-id-53'>
    651       <data-member access='public' layout-offset-in-bits='0'>
    652         <!-- int urcu_workqueue_completion::barrier_count -->
    653         <var-decl name='barrier_count' type-id='type-id-3' visibility='default' filepath='src/workqueue.c' line='80' column='1'/>
    654       </data-member>
    655       <data-member access='public' layout-offset-in-bits='32'>
    656         <!-- int32_t urcu_workqueue_completion::futex -->
    657         <var-decl name='futex' type-id='type-id-46' visibility='default' filepath='src/workqueue.c' line='81' column='1'/>
    658       </data-member>
    659       <data-member access='public' layout-offset-in-bits='64'>
    660         <!-- urcu_ref urcu_workqueue_completion::ref -->
    661         <var-decl name='ref' type-id='type-id-54' visibility='default' filepath='src/workqueue.c' line='82' column='1'/>
    662       </data-member>
    663     </class-decl>
    664     <!-- struct urcu_ref -->
    665     <class-decl name='urcu_ref' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/ref.h' line='23' column='1' id='type-id-54'>
    666       <data-member access='public' layout-offset-in-bits='0'>
    667         <!-- long int urcu_ref::refcount -->
    668         <var-decl name='refcount' type-id='type-id-32' visibility='default' filepath='../include/urcu/ref.h' line='24' column='1'/>
    669       </data-member>
    670     </class-decl>
    671     <!-- urcu_workqueue_completion* -->
    672     <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-55'/>
    673     <!-- void urcu_workqueue_queue_completion(urcu_workqueue*, urcu_workqueue_completion*) -->
    674     <function-decl name='urcu_workqueue_queue_completion' mangled-name='urcu_workqueue_queue_completion' filepath='src/workqueue.c' line='410' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_queue_completion'>
    675       <!-- parameter of type 'urcu_workqueue*' -->
    676       <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='410' column='1'/>
    677       <!-- parameter of type 'urcu_workqueue_completion*' -->
    678       <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='411' column='1'/>
    679       <!-- void -->
    680       <return type-id='type-id-6'/>
    681     </function-decl>
    682     <!-- void urcu_workqueue_wait_completion(urcu_workqueue_completion*) -->
    683     <function-decl name='urcu_workqueue_wait_completion' mangled-name='urcu_workqueue_wait_completion' filepath='src/workqueue.c' line='397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_wait_completion'>
    684       <!-- parameter of type 'urcu_workqueue_completion*' -->
    685       <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='397' column='1'/>
    686       <!-- void -->
    687       <return type-id='type-id-6'/>
    688     </function-decl>
    689     <!-- void urcu_workqueue_destroy_completion(urcu_workqueue_completion*) -->
    690     <function-decl name='urcu_workqueue_destroy_completion' mangled-name='urcu_workqueue_destroy_completion' filepath='src/workqueue.c' line='392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_destroy_completion'>
    691       <!-- parameter of type 'urcu_workqueue_completion*' -->
    692       <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='392' column='1'/>
    693       <!-- void -->
    694       <return type-id='type-id-6'/>
    695     </function-decl>
    696     <!-- urcu_workqueue_completion* urcu_workqueue_create_completion() -->
    697     <function-decl name='urcu_workqueue_create_completion' mangled-name='urcu_workqueue_create_completion' filepath='src/workqueue.c' line='380' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create_completion'>
    698       <!-- urcu_workqueue_completion* -->
    699       <return type-id='type-id-55'/>
    700     </function-decl>
    701     <!-- struct urcu_work -->
    702     <class-decl name='urcu_work' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.h' line='53' column='1' id='type-id-56'>
    703       <data-member access='public' layout-offset-in-bits='0'>
    704         <!-- cds_wfcq_node urcu_work::next -->
    705         <var-decl name='next' type-id='type-id-8' visibility='default' filepath='src/workqueue.h' line='54' column='1'/>
    706       </data-member>
    707       <data-member access='public' layout-offset-in-bits='64'>
    708         <!-- void (urcu_work*)* urcu_work::func -->
    709         <var-decl name='func' type-id='type-id-57' visibility='default' filepath='src/workqueue.h' line='55' column='1'/>
    710       </data-member>
    711     </class-decl>
    712     <!-- urcu_work* -->
    713     <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-58'/>
    714     <!-- void (urcu_work*)* -->
    715     <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-57'/>
    716     <!-- void urcu_workqueue_queue_work(urcu_workqueue*, urcu_work*, void (urcu_work*)*) -->
    717     <function-decl name='urcu_workqueue_queue_work' mangled-name='urcu_workqueue_queue_work' filepath='src/workqueue.c' line='346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_queue_work'>
    718       <!-- parameter of type 'urcu_workqueue*' -->
    719       <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='346' column='1'/>
    720       <!-- parameter of type 'urcu_work*' -->
    721       <parameter type-id='type-id-58' name='work' filepath='src/workqueue.c' line='347' column='1'/>
    722       <!-- parameter of type 'void (urcu_work*)*' -->
    723       <parameter type-id='type-id-57' name='func' filepath='src/workqueue.c' line='348' column='1'/>
    724       <!-- void -->
    725       <return type-id='type-id-6'/>
    726     </function-decl>
    727     <!-- void urcu_workqueue_destroy(urcu_workqueue*) -->
    728     <function-decl name='urcu_workqueue_destroy' mangled-name='urcu_workqueue_destroy' filepath='src/workqueue.c' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_destroy'>
    729       <!-- parameter of type 'urcu_workqueue*' -->
    730       <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
    731       <!-- void -->
    732       <return type-id='type-id-6'/>
    733     </function-decl>
    734     <!-- urcu_workqueue* urcu_workqueue_create(unsigned long int, int, void*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*) -->
    735     <function-decl name='urcu_workqueue_create' mangled-name='urcu_workqueue_create' filepath='src/workqueue.c' line='269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create'>
    736       <!-- parameter of type 'unsigned long int' -->
    737       <parameter type-id='type-id-39' name='flags' filepath='src/workqueue.c' line='269' column='1'/>
    738       <!-- parameter of type 'int' -->
    739       <parameter type-id='type-id-3' name='cpu_affinity' filepath='src/workqueue.c' line='270' column='1'/>
    740       <!-- parameter of type 'void*' -->
    741       <parameter type-id='type-id-48' name='priv' filepath='src/workqueue.c' line='270' column='1'/>
    742       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
    743       <parameter type-id='type-id-49' name='grace_period_fct' filepath='src/workqueue.c' line='271' column='1'/>
    744       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
    745       <parameter type-id='type-id-49' name='initialize_worker_fct' filepath='src/workqueue.c' line='272' column='1'/>
    746       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
    747       <parameter type-id='type-id-49' name='finalize_worker_fct' filepath='src/workqueue.c' line='273' column='1'/>
    748       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
    749       <parameter type-id='type-id-49' name='worker_before_wait_fct' filepath='src/workqueue.c' line='274' column='1'/>
    750       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
    751       <parameter type-id='type-id-49' name='worker_after_wake_up_fct' filepath='src/workqueue.c' line='275' column='1'/>
    752       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
    753       <parameter type-id='type-id-49' name='worker_before_pause_fct' filepath='src/workqueue.c' line='276' column='1'/>
    754       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
    755       <parameter type-id='type-id-49' name='worker_after_resume_fct' filepath='src/workqueue.c' line='277' column='1'/>
    756       <!-- urcu_workqueue* -->
    757       <return type-id='type-id-51'/>
    758     </function-decl>
    759     <!-- void (urcu_work*) -->
    760     <function-type size-in-bits='64' id='type-id-59'>
    761       <!-- parameter of type 'urcu_work*' -->
    762       <parameter type-id='type-id-58'/>
    763       <!-- void -->
    764       <return type-id='type-id-6'/>
    765     </function-type>
    766     <!-- void (urcu_workqueue*, void*) -->
    767     <function-type size-in-bits='64' id='type-id-52'>
    768       <!-- parameter of type 'urcu_workqueue*' -->
    769       <parameter type-id='type-id-51'/>
    770       <!-- parameter of type 'void*' -->
    771       <parameter type-id='type-id-48'/>
    772       <!-- void -->
    773       <return type-id='type-id-6'/>
    774     </function-type>
    775   </abi-instr>
    776   <abi-instr version='1.0' address-size='64' path='rculfhash.c' comp-dir-path='src' language='LANG_C99'>
    777     <!-- struct cds_lfht -->
    778     <class-decl name='cds_lfht' size-in-bits='5248' is-struct='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='70' column='1' id='type-id-60'>
    779       <data-member access='public' layout-offset-in-bits='0'>
    780         <!-- unsigned long int cds_lfht::max_nr_buckets -->
    781         <var-decl name='max_nr_buckets' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='72' column='1'/>
    782       </data-member>
    783       <data-member access='public' layout-offset-in-bits='64'>
    784         <!-- const cds_lfht_mm_type* cds_lfht::mm -->
    785         <var-decl name='mm' type-id='type-id-61' visibility='default' filepath='../src/rculfhash-internal.h' line='73' column='1'/>
    786       </data-member>
    787       <data-member access='public' layout-offset-in-bits='128'>
    788         <!-- const rcu_flavor_struct* cds_lfht::flavor -->
    789         <var-decl name='flavor' type-id='type-id-62' visibility='default' filepath='../src/rculfhash-internal.h' line='74' column='1'/>
    790       </data-member>
    791       <data-member access='public' layout-offset-in-bits='192'>
    792         <!-- long int cds_lfht::count -->
    793         <var-decl name='count' type-id='type-id-32' visibility='default' filepath='../src/rculfhash-internal.h' line='76' column='1'/>
    794       </data-member>
    795       <data-member access='public' layout-offset-in-bits='256'>
    796         <!-- pthread_mutex_t cds_lfht::resize_mutex -->
    797         <var-decl name='resize_mutex' type-id='type-id-28' visibility='default' filepath='../src/rculfhash-internal.h' line='85' column='1'/>
    798       </data-member>
    799       <data-member access='public' layout-offset-in-bits='576'>
    800         <!-- pthread_attr_t* cds_lfht::resize_attr -->
    801         <var-decl name='resize_attr' type-id='type-id-63' visibility='default' filepath='../src/rculfhash-internal.h' line='86' column='1'/>
    802       </data-member>
    803       <data-member access='public' layout-offset-in-bits='640'>
    804         <!-- unsigned int cds_lfht::in_progress_destroy -->
    805         <var-decl name='in_progress_destroy' type-id='type-id-33' visibility='default' filepath='../src/rculfhash-internal.h' line='87' column='1'/>
    806       </data-member>
    807       <data-member access='public' layout-offset-in-bits='704'>
    808         <!-- unsigned long int cds_lfht::resize_target -->
    809         <var-decl name='resize_target' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='88' column='1'/>
    810       </data-member>
    811       <data-member access='public' layout-offset-in-bits='768'>
    812         <!-- int cds_lfht::resize_initiated -->
    813         <var-decl name='resize_initiated' type-id='type-id-3' visibility='default' filepath='../src/rculfhash-internal.h' line='89' column='1'/>
    814       </data-member>
    815       <data-member access='public' layout-offset-in-bits='800'>
    816         <!-- int cds_lfht::flags -->
    817         <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='../src/rculfhash-internal.h' line='94' column='1'/>
    818       </data-member>
    819       <data-member access='public' layout-offset-in-bits='832'>
    820         <!-- unsigned long int cds_lfht::min_alloc_buckets_order -->
    821         <var-decl name='min_alloc_buckets_order' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='95' column='1'/>
    822       </data-member>
    823       <data-member access='public' layout-offset-in-bits='896'>
    824         <!-- unsigned long int cds_lfht::min_nr_alloc_buckets -->
    825         <var-decl name='min_nr_alloc_buckets' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='96' column='1'/>
    826       </data-member>
    827       <data-member access='public' layout-offset-in-bits='960'>
    828         <!-- ht_items_count* cds_lfht::split_count -->
    829         <var-decl name='split_count' type-id='type-id-64' visibility='default' filepath='../src/rculfhash-internal.h' line='97' column='1'/>
    830       </data-member>
    831       <data-member access='public' layout-offset-in-bits='1024'>
    832         <!-- unsigned long int cds_lfht::size -->
    833         <var-decl name='size' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='102' column='1'/>
    834       </data-member>
    835       <data-member access='public' layout-offset-in-bits='1088'>
    836         <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* cds_lfht::bucket_at -->
    837         <var-decl name='bucket_at' type-id='type-id-65' visibility='default' filepath='../src/rculfhash-internal.h' line='107' column='1'/>
    838       </data-member>
    839       <data-member access='public' layout-offset-in-bits='1152'>
    840         <!-- __anonymous_union__  -->
    841         <var-decl name='' type-id='type-id-66' visibility='default'/>
    842       </data-member>
    843     </class-decl>
    844     <!-- struct cds_lfht_mm_type -->
    845     <class-decl name='cds_lfht_mm_type' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='120' column='1' id='type-id-67'>
    846       <data-member access='public' layout-offset-in-bits='0'>
    847         <!-- cds_lfht* (unsigned long int, unsigned long int)* cds_lfht_mm_type::alloc_cds_lfht -->
    848         <var-decl name='alloc_cds_lfht' type-id='type-id-68' visibility='default' filepath='../include/urcu/rculfhash.h' line='121' column='1'/>
    849       </data-member>
    850       <data-member access='public' layout-offset-in-bits='64'>
    851         <!-- void (cds_lfht*, unsigned long int)* cds_lfht_mm_type::alloc_bucket_table -->
    852         <var-decl name='alloc_bucket_table' type-id='type-id-69' visibility='default' filepath='../include/urcu/rculfhash.h' line='123' column='1'/>
    853       </data-member>
    854       <data-member access='public' layout-offset-in-bits='128'>
    855         <!-- void (cds_lfht*, unsigned long int)* cds_lfht_mm_type::free_bucket_table -->
    856         <var-decl name='free_bucket_table' type-id='type-id-69' visibility='default' filepath='../include/urcu/rculfhash.h' line='124' column='1'/>
    857       </data-member>
    858       <data-member access='public' layout-offset-in-bits='192'>
    859         <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* cds_lfht_mm_type::bucket_at -->
    860         <var-decl name='bucket_at' type-id='type-id-65' visibility='default' filepath='../include/urcu/rculfhash.h' line='125' column='1'/>
    861       </data-member>
    862     </class-decl>
    863     <!-- cds_lfht* -->
    864     <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-70'/>
    865     <!-- cds_lfht* (unsigned long int, unsigned long int)* -->
    866     <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-68'/>
    867     <!-- void (cds_lfht*, unsigned long int)* -->
    868     <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-69'/>
    869     <!-- struct cds_lfht_node -->
    870     <class-decl name='cds_lfht_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='63' column='1' id='type-id-73'>
    871       <data-member access='public' layout-offset-in-bits='0'>
    872         <!-- cds_lfht_node* cds_lfht_node::next -->
    873         <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='64' column='1'/>
    874       </data-member>
    875       <data-member access='public' layout-offset-in-bits='64'>
    876         <!-- unsigned long int cds_lfht_node::reverse_hash -->
    877         <var-decl name='reverse_hash' type-id='type-id-39' visibility='default' filepath='../include/urcu/rculfhash.h' line='65' column='1'/>
    878       </data-member>
    879     </class-decl>
    880     <!-- cds_lfht_node* -->
    881     <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
    882     <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* -->
    883     <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-65'/>
    884     <!-- const cds_lfht_mm_type -->
    885     <qualified-type-def type-id='type-id-67' const='yes' id='type-id-76'/>
    886     <!-- const cds_lfht_mm_type* -->
    887     <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-61'/>
    888     <!-- struct rcu_flavor_struct -->
    889     <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-77'>
    890       <data-member access='public' layout-offset-in-bits='0'>
    891         <!-- void ()* rcu_flavor_struct::read_lock -->
    892         <var-decl name='read_lock' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
    893       </data-member>
    894       <data-member access='public' layout-offset-in-bits='64'>
    895         <!-- void ()* rcu_flavor_struct::read_unlock -->
    896         <var-decl name='read_unlock' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
    897       </data-member>
    898       <data-member access='public' layout-offset-in-bits='128'>
    899         <!-- int ()* rcu_flavor_struct::read_ongoing -->
    900         <var-decl name='read_ongoing' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
    901       </data-member>
    902       <data-member access='public' layout-offset-in-bits='192'>
    903         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
    904         <var-decl name='read_quiescent_state' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
    905       </data-member>
    906       <data-member access='public' layout-offset-in-bits='256'>
    907         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
    908         <var-decl name='update_call_rcu' type-id='type-id-5' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
    909       </data-member>
    910       <data-member access='public' layout-offset-in-bits='320'>
    911         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
    912         <var-decl name='update_synchronize_rcu' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
    913       </data-member>
    914       <data-member access='public' layout-offset-in-bits='384'>
    915         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
    916         <var-decl name='update_defer_rcu' type-id='type-id-80' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
    917       </data-member>
    918       <data-member access='public' layout-offset-in-bits='448'>
    919         <!-- void ()* rcu_flavor_struct::thread_offline -->
    920         <var-decl name='thread_offline' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
    921       </data-member>
    922       <data-member access='public' layout-offset-in-bits='512'>
    923         <!-- void ()* rcu_flavor_struct::thread_online -->
    924         <var-decl name='thread_online' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
    925       </data-member>
    926       <data-member access='public' layout-offset-in-bits='576'>
    927         <!-- void ()* rcu_flavor_struct::register_thread -->
    928         <var-decl name='register_thread' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
    929       </data-member>
    930       <data-member access='public' layout-offset-in-bits='640'>
    931         <!-- void ()* rcu_flavor_struct::unregister_thread -->
    932         <var-decl name='unregister_thread' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
    933       </data-member>
    934       <data-member access='public' layout-offset-in-bits='704'>
    935         <!-- void ()* rcu_flavor_struct::barrier -->
    936         <var-decl name='barrier' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
    937       </data-member>
    938       <data-member access='public' layout-offset-in-bits='768'>
    939         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
    940         <var-decl name='register_rculfhash_atfork' type-id='type-id-81' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
    941       </data-member>
    942       <data-member access='public' layout-offset-in-bits='832'>
    943         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
    944         <var-decl name='unregister_rculfhash_atfork' type-id='type-id-81' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
    945       </data-member>
    946     </class-decl>
    947     <!-- void ()* -->
    948     <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-78'/>
    949     <!-- int ()* -->
    950     <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-79'/>
    951     <!-- void (void*)* -->
    952     <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/>
    953     <!-- void (void (void*)*, void*)* -->
    954     <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-80'/>
    955     <!-- struct urcu_atfork -->
    956     <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-87'>
    957       <data-member access='public' layout-offset-in-bits='0'>
    958         <!-- void (void*)* urcu_atfork::before_fork -->
    959         <var-decl name='before_fork' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
    960       </data-member>
    961       <data-member access='public' layout-offset-in-bits='64'>
    962         <!-- void (void*)* urcu_atfork::after_fork_parent -->
    963         <var-decl name='after_fork_parent' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
    964       </data-member>
    965       <data-member access='public' layout-offset-in-bits='128'>
    966         <!-- void (void*)* urcu_atfork::after_fork_child -->
    967         <var-decl name='after_fork_child' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
    968       </data-member>
    969       <data-member access='public' layout-offset-in-bits='192'>
    970         <!-- void* urcu_atfork::priv -->
    971         <var-decl name='priv' type-id='type-id-48' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
    972       </data-member>
    973     </class-decl>
    974     <!-- urcu_atfork* -->
    975     <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-88'/>
    976     <!-- void (urcu_atfork*)* -->
    977     <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-81'/>
    978     <!-- const rcu_flavor_struct -->
    979     <qualified-type-def type-id='type-id-77' const='yes' id='type-id-90'/>
    980     <!-- const rcu_flavor_struct* -->
    981     <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-62'/>
    982     <!-- union pthread_attr_t -->
    983     <union-decl name='pthread_attr_t' size-in-bits='448' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='56' column='1' id='type-id-91'>
    984       <data-member access='private'>
    985         <!-- char pthread_attr_t::__size[56] -->
    986         <var-decl name='__size' type-id='type-id-92' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='58' column='1'/>
    987       </data-member>
    988       <data-member access='private'>
    989         <!-- long int pthread_attr_t::__align -->
    990         <var-decl name='__align' type-id='type-id-32' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='59' column='1'/>
    991       </data-member>
    992     </union-decl>
    993 
    994     <!-- char[56] -->
    995     <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='448' id='type-id-92'>
    996       <!-- <anonymous range>[56] -->
    997       <subrange length='56' type-id='type-id-39' id='type-id-93'/>
    998 
    999     </array-type-def>
   1000     <!-- typedef pthread_attr_t pthread_attr_t -->
   1001     <typedef-decl name='pthread_attr_t' type-id='type-id-91' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='62' column='1' id='type-id-94'/>
   1002     <!-- pthread_attr_t* -->
   1003     <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-63'/>
   1004     <!-- struct ht_items_count -->
   1005     <class-decl name='ht_items_count' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/rculfhash.c' line='338' column='1' id='type-id-95'>
   1006       <data-member access='public' layout-offset-in-bits='0'>
   1007         <!-- unsigned long int ht_items_count::add -->
   1008         <var-decl name='add' type-id='type-id-39' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
   1009       </data-member>
   1010       <data-member access='public' layout-offset-in-bits='64'>
   1011         <!-- unsigned long int ht_items_count::del -->
   1012         <var-decl name='del' type-id='type-id-39' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
   1013       </data-member>
   1014     </class-decl>
   1015     <!-- ht_items_count* -->
   1016     <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-64'/>
   1017     <!-- union __anonymous_union__ -->
   1018     <union-decl name='__anonymous_union__' size-in-bits='4096' is-anonymous='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='113' column='1' id='type-id-66'>
   1019       <data-member access='private'>
   1020         <!-- cds_lfht_node* __anonymous_union__::tbl_order[64] -->
   1021         <var-decl name='tbl_order' type-id='type-id-96' visibility='default' filepath='../src/rculfhash-internal.h' line='122' column='1'/>
   1022       </data-member>
   1023       <data-member access='private'>
   1024         <!-- cds_lfht_node* __anonymous_union__::tbl_chunk[1] -->
   1025         <var-decl name='tbl_chunk' type-id='type-id-97' visibility='default' filepath='../src/rculfhash-internal.h' line='134' column='1'/>
   1026       </data-member>
   1027       <data-member access='private'>
   1028         <!-- cds_lfht_node* __anonymous_union__::tbl_mmap -->
   1029         <var-decl name='tbl_mmap' type-id='type-id-74' visibility='default' filepath='../src/rculfhash-internal.h' line='140' column='1'/>
   1030       </data-member>
   1031     </union-decl>
   1032 
   1033     <!-- cds_lfht_node*[64] -->
   1034     <array-type-def dimensions='1' type-id='type-id-74' size-in-bits='4096' id='type-id-96'>
   1035       <!-- <anonymous range>[64] -->
   1036       <subrange length='64' type-id='type-id-39' id='type-id-98'/>
   1037 
   1038     </array-type-def>
   1039 
   1040     <!-- cds_lfht_node*[1] -->
   1041     <array-type-def dimensions='1' type-id='type-id-74' size-in-bits='64' id='type-id-97'>
   1042       <!-- <anonymous range>[1] -->
   1043       <subrange length='1' type-id='type-id-39' id='type-id-99'/>
   1044 
   1045     </array-type-def>
   1046     <!-- void cds_lfht_resize(cds_lfht*, unsigned long int) -->
   1047     <function-decl name='cds_lfht_resize' mangled-name='cds_lfht_resize' filepath='src/rculfhash.c' line='2028' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_resize'>
   1048       <!-- parameter of type 'cds_lfht*' -->
   1049       <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='2028' column='1'/>
   1050       <!-- parameter of type 'unsigned long int' -->
   1051       <parameter type-id='type-id-39' name='new_size' filepath='src/rculfhash.c' line='2028' column='1'/>
   1052       <!-- void -->
   1053       <return type-id='type-id-6'/>
   1054     </function-decl>
   1055     <!-- long int* -->
   1056     <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-100'/>
   1057     <!-- unsigned long int* -->
   1058     <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-101'/>
   1059     <!-- void cds_lfht_count_nodes(cds_lfht*, long int*, unsigned long int*, long int*) -->
   1060     <function-decl name='cds_lfht_count_nodes' mangled-name='cds_lfht_count_nodes' filepath='src/rculfhash.c' line='1906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_count_nodes'>
   1061       <!-- parameter of type 'cds_lfht*' -->
   1062       <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1906' column='1'/>
   1063       <!-- parameter of type 'long int*' -->
   1064       <parameter type-id='type-id-100' name='approx_before' filepath='src/rculfhash.c' line='1907' column='1'/>
   1065       <!-- parameter of type 'unsigned long int*' -->
   1066       <parameter type-id='type-id-101' name='count' filepath='src/rculfhash.c' line='1908' column='1'/>
   1067       <!-- parameter of type 'long int*' -->
   1068       <parameter type-id='type-id-100' name='approx_after' filepath='src/rculfhash.c' line='1909' column='1'/>
   1069       <!-- void -->
   1070       <return type-id='type-id-6'/>
   1071     </function-decl>
   1072     <!-- pthread_attr_t** -->
   1073     <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-102'/>
   1074     <!-- int cds_lfht_destroy(cds_lfht*, pthread_attr_t**) -->
   1075     <function-decl name='cds_lfht_destroy' mangled-name='cds_lfht_destroy' filepath='src/rculfhash.c' line='1881' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_destroy'>
   1076       <!-- parameter of type 'cds_lfht*' -->
   1077       <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1881' column='1'/>
   1078       <!-- parameter of type 'pthread_attr_t**' -->
   1079       <parameter type-id='type-id-102' name='attr' filepath='src/rculfhash.c' line='1881' column='1'/>
   1080       <!-- int -->
   1081       <return type-id='type-id-3'/>
   1082     </function-decl>
   1083     <!-- const cds_lfht_node -->
   1084     <qualified-type-def type-id='type-id-73' const='yes' id='type-id-103'/>
   1085     <!-- const cds_lfht_node* -->
   1086     <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-104'/>
   1087     <!-- int cds_lfht_is_node_deleted(const cds_lfht_node*) -->
   1088     <function-decl name='cds_lfht_is_node_deleted' mangled-name='cds_lfht_is_node_deleted' filepath='src/rculfhash.c' line='1838' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_is_node_deleted'>
   1089       <!-- parameter of type 'const cds_lfht_node*' -->
   1090       <parameter type-id='type-id-104' name='node' filepath='src/rculfhash.c' line='1838' column='1'/>
   1091       <!-- int -->
   1092       <return type-id='type-id-3'/>
   1093     </function-decl>
   1094     <!-- int cds_lfht_del(cds_lfht*, cds_lfht_node*) -->
   1095     <function-decl name='cds_lfht_del' mangled-name='cds_lfht_del' filepath='src/rculfhash.c' line='1822' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_del'>
   1096       <!-- parameter of type 'cds_lfht*' -->
   1097       <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1822' column='1'/>
   1098       <!-- parameter of type 'cds_lfht_node*' -->
   1099       <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1822' column='1'/>
   1100       <!-- int -->
   1101       <return type-id='type-id-3'/>
   1102     </function-decl>
   1103     <!-- struct cds_lfht_iter -->
   1104     <class-decl name='cds_lfht_iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='69' column='1' id='type-id-105'>
   1105       <data-member access='public' layout-offset-in-bits='0'>
   1106         <!-- cds_lfht_node* cds_lfht_iter::node -->
   1107         <var-decl name='node' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
   1108       </data-member>
   1109       <data-member access='public' layout-offset-in-bits='64'>
   1110         <!-- cds_lfht_node* cds_lfht_iter::next -->
   1111         <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
   1112       </data-member>
   1113     </class-decl>
   1114     <!-- cds_lfht_iter* -->
   1115     <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-106'/>
   1116     <!-- int (cds_lfht_node*, void*)* -->
   1117     <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-108'/>
   1118     <!-- typedef int (cds_lfht_node*, void*)* cds_lfht_match_fct -->
   1119     <typedef-decl name='cds_lfht_match_fct' type-id='type-id-108' filepath='../include/urcu/rculfhash.h' line='98' column='1' id='type-id-109'/>
   1120     <!-- int cds_lfht_replace(cds_lfht*, cds_lfht_iter*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
   1121     <function-decl name='cds_lfht_replace' mangled-name='cds_lfht_replace' filepath='src/rculfhash.c' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_replace'>
   1122       <!-- parameter of type 'cds_lfht*' -->
   1123       <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1801' column='1'/>
   1124       <!-- parameter of type 'cds_lfht_iter*' -->
   1125       <parameter type-id='type-id-106' name='old_iter' filepath='src/rculfhash.c' line='1802' column='1'/>
   1126       <!-- parameter of type 'unsigned long int' -->
   1127       <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1803' column='1'/>
   1128       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
   1129       <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1804' column='1'/>
   1130       <!-- parameter of type 'void*' -->
   1131       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1805' column='1'/>
   1132       <!-- parameter of type 'cds_lfht_node*' -->
   1133       <parameter type-id='type-id-74' name='new_node' filepath='src/rculfhash.c' line='1806' column='1'/>
   1134       <!-- int -->
   1135       <return type-id='type-id-3'/>
   1136     </function-decl>
   1137     <!-- cds_lfht_node* cds_lfht_add_replace(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
   1138     <function-decl name='cds_lfht_add_replace' mangled-name='cds_lfht_add_replace' filepath='src/rculfhash.c' line='1778' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add_replace'>
   1139       <!-- parameter of type 'cds_lfht*' -->
   1140       <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1778' column='1'/>
   1141       <!-- parameter of type 'unsigned long int' -->
   1142       <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1779' column='1'/>
   1143       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
   1144       <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1780' column='1'/>
   1145       <!-- parameter of type 'void*' -->
   1146       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1781' column='1'/>
   1147       <!-- parameter of type 'cds_lfht_node*' -->
   1148       <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1782' column='1'/>
   1149       <!-- cds_lfht_node* -->
   1150       <return type-id='type-id-74'/>
   1151     </function-decl>
   1152     <!-- cds_lfht_node* cds_lfht_add_unique(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
   1153     <function-decl name='cds_lfht_add_unique' mangled-name='cds_lfht_add_unique' filepath='src/rculfhash.c' line='1761' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add_unique'>
   1154       <!-- parameter of type 'cds_lfht*' -->
   1155       <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1778' column='1'/>
   1156       <!-- parameter of type 'unsigned long int' -->
   1157       <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1779' column='1'/>
   1158       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
   1159       <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1780' column='1'/>
   1160       <!-- parameter of type 'void*' -->
   1161       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1781' column='1'/>
   1162       <!-- parameter of type 'cds_lfht_node*' -->
   1163       <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1782' column='1'/>
   1164       <!-- cds_lfht_node* -->
   1165       <return type-id='type-id-74'/>
   1166     </function-decl>
   1167     <!-- void cds_lfht_add(cds_lfht*, unsigned long int, cds_lfht_node*) -->
   1168     <function-decl name='cds_lfht_add' mangled-name='cds_lfht_add' filepath='src/rculfhash.c' line='1750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add'>
   1169       <!-- parameter of type 'cds_lfht*' -->
   1170       <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1750' column='1'/>
   1171       <!-- parameter of type 'unsigned long int' -->
   1172       <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1750' column='1'/>
   1173       <!-- parameter of type 'cds_lfht_node*' -->
   1174       <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1751' column='1'/>
   1175       <!-- void -->
   1176       <return type-id='type-id-6'/>
   1177     </function-decl>
   1178     <!-- void cds_lfht_first(cds_lfht*, cds_lfht_iter*) -->
   1179     <function-decl name='cds_lfht_first' mangled-name='cds_lfht_first' filepath='src/rculfhash.c' line='1739' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_first'>
   1180       <!-- parameter of type 'cds_lfht*' -->
   1181       <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1739' column='1'/>
   1182       <!-- parameter of type 'cds_lfht_iter*' -->
   1183       <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1739' column='1'/>
   1184       <!-- void -->
   1185       <return type-id='type-id-6'/>
   1186     </function-decl>
   1187     <!-- void cds_lfht_next(cds_lfht*, cds_lfht_iter*) -->
   1188     <function-decl name='cds_lfht_next' mangled-name='cds_lfht_next' filepath='src/rculfhash.c' line='1715' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_next'>
   1189       <!-- parameter of type 'cds_lfht*' -->
   1190       <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1715' column='1'/>
   1191       <!-- parameter of type 'cds_lfht_iter*' -->
   1192       <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1716' column='1'/>
   1193       <!-- void -->
   1194       <return type-id='type-id-6'/>
   1195     </function-decl>
   1196     <!-- void cds_lfht_next_duplicate(cds_lfht*, cds_lfht_match_fct, void*, cds_lfht_iter*) -->
   1197     <function-decl name='cds_lfht_next_duplicate' mangled-name='cds_lfht_next_duplicate' filepath='src/rculfhash.c' line='1680' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_next_duplicate'>
   1198       <!-- parameter of type 'cds_lfht*' -->
   1199       <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1680' column='1'/>
   1200       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
   1201       <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1681' column='1'/>
   1202       <!-- parameter of type 'void*' -->
   1203       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1682' column='1'/>
   1204       <!-- parameter of type 'cds_lfht_iter*' -->
   1205       <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1682' column='1'/>
   1206       <!-- void -->
   1207       <return type-id='type-id-6'/>
   1208     </function-decl>
   1209     <!-- void cds_lfht_lookup(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_iter*) -->
   1210     <function-decl name='cds_lfht_lookup' mangled-name='cds_lfht_lookup' filepath='src/rculfhash.c' line='1640' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_lookup'>
   1211       <!-- parameter of type 'cds_lfht*' -->
   1212       <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1640' column='1'/>
   1213       <!-- parameter of type 'unsigned long int' -->
   1214       <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1640' column='1'/>
   1215       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
   1216       <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1641' column='1'/>
   1217       <!-- parameter of type 'void*' -->
   1218       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1641' column='1'/>
   1219       <!-- parameter of type 'cds_lfht_iter*' -->
   1220       <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1642' column='1'/>
   1221       <!-- void -->
   1222       <return type-id='type-id-6'/>
   1223     </function-decl>
   1224     <!-- cds_lfht* _cds_lfht_new(unsigned long int, unsigned long int, unsigned long int, int, const cds_lfht_mm_type*, const rcu_flavor_struct*, pthread_attr_t*) -->
   1225     <function-decl name='_cds_lfht_new' mangled-name='_cds_lfht_new' filepath='src/rculfhash.c' line='1581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_cds_lfht_new'>
   1226       <!-- parameter of type 'unsigned long int' -->
   1227       <parameter type-id='type-id-39' name='init_size' filepath='src/rculfhash.c' line='1581' column='1'/>
   1228       <!-- parameter of type 'unsigned long int' -->
   1229       <parameter type-id='type-id-39' name='min_nr_alloc_buckets' filepath='src/rculfhash.c' line='1582' column='1'/>
   1230       <!-- parameter of type 'unsigned long int' -->
   1231       <parameter type-id='type-id-39' name='max_nr_buckets' filepath='src/rculfhash.c' line='1583' column='1'/>
   1232       <!-- parameter of type 'int' -->
   1233       <parameter type-id='type-id-3' name='flags' filepath='src/rculfhash.c' line='1584' column='1'/>
   1234       <!-- parameter of type 'const cds_lfht_mm_type*' -->
   1235       <parameter type-id='type-id-61' name='mm' filepath='src/rculfhash.c' line='1585' column='1'/>
   1236       <!-- parameter of type 'const rcu_flavor_struct*' -->
   1237       <parameter type-id='type-id-62' name='flavor' filepath='src/rculfhash.c' line='1586' column='1'/>
   1238       <!-- parameter of type 'pthread_attr_t*' -->
   1239       <parameter type-id='type-id-63' name='attr' filepath='src/rculfhash.c' line='1587' column='1'/>
   1240       <!-- cds_lfht* -->
   1241       <return type-id='type-id-70'/>
   1242     </function-decl>
   1243     <!-- int cds_lfht_get_count_order_ulong(unsigned long int) -->
   1244     <function-decl name='cds_lfht_get_count_order_ulong' mangled-name='cds_lfht_get_count_order_ulong' filepath='src/rculfhash.c' line='598' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_get_count_order_ulong'>
   1245       <!-- parameter of type 'unsigned long int' -->
   1246       <parameter type-id='type-id-39' name='x' filepath='src/rculfhash.c' line='598' column='1'/>
   1247       <!-- int -->
   1248       <return type-id='type-id-3'/>
   1249     </function-decl>
   1250     <!-- unsigned int cds_lfht_fls_ulong(unsigned long int) -->
   1251     <function-decl name='cds_lfht_fls_ulong' mangled-name='cds_lfht_fls_ulong' filepath='src/rculfhash.c' line='572' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_fls_ulong'>
   1252       <!-- parameter of type 'unsigned long int' -->
   1253       <parameter type-id='type-id-39' name='x' filepath='src/rculfhash.c' line='572' column='1'/>
   1254       <!-- unsigned int -->
   1255       <return type-id='type-id-33'/>
   1256     </function-decl>
   1257     <!-- cds_lfht* (unsigned long int, unsigned long int) -->
   1258     <function-type size-in-bits='64' id='type-id-71'>
   1259       <!-- parameter of type 'unsigned long int' -->
   1260       <parameter type-id='type-id-39'/>
   1261       <!-- parameter of type 'unsigned long int' -->
   1262       <parameter type-id='type-id-39'/>
   1263       <!-- cds_lfht* -->
   1264       <return type-id='type-id-70'/>
   1265     </function-type>
   1266     <!-- cds_lfht_node* (cds_lfht*, unsigned long int) -->
   1267     <function-type size-in-bits='64' id='type-id-75'>
   1268       <!-- parameter of type 'cds_lfht*' -->
   1269       <parameter type-id='type-id-70'/>
   1270       <!-- parameter of type 'unsigned long int' -->
   1271       <parameter type-id='type-id-39'/>
   1272       <!-- cds_lfht_node* -->
   1273       <return type-id='type-id-74'/>
   1274     </function-type>
   1275     <!-- int () -->
   1276     <function-type size-in-bits='64' id='type-id-83'>
   1277       <!-- int -->
   1278       <return type-id='type-id-3'/>
   1279     </function-type>
   1280     <!-- int (cds_lfht_node*, void*) -->
   1281     <function-type size-in-bits='64' id='type-id-107'>
   1282       <!-- parameter of type 'cds_lfht_node*' -->
   1283       <parameter type-id='type-id-74'/>
   1284       <!-- parameter of type 'void*' -->
   1285       <parameter type-id='type-id-48'/>
   1286       <!-- int -->
   1287       <return type-id='type-id-3'/>
   1288     </function-type>
   1289     <!-- void () -->
   1290     <function-type size-in-bits='64' id='type-id-82'>
   1291       <!-- void -->
   1292       <return type-id='type-id-6'/>
   1293     </function-type>
   1294     <!-- void (cds_lfht*, unsigned long int) -->
   1295     <function-type size-in-bits='64' id='type-id-72'>
   1296       <!-- parameter of type 'cds_lfht*' -->
   1297       <parameter type-id='type-id-70'/>
   1298       <!-- parameter of type 'unsigned long int' -->
   1299       <parameter type-id='type-id-39'/>
   1300       <!-- void -->
   1301       <return type-id='type-id-6'/>
   1302     </function-type>
   1303     <!-- void (urcu_atfork*) -->
   1304     <function-type size-in-bits='64' id='type-id-89'>
   1305       <!-- parameter of type 'urcu_atfork*' -->
   1306       <parameter type-id='type-id-88'/>
   1307       <!-- void -->
   1308       <return type-id='type-id-6'/>
   1309     </function-type>
   1310     <!-- void (void (void*)*, void*) -->
   1311     <function-type size-in-bits='64' id='type-id-86'>
   1312       <!-- parameter of type 'void (void*)*' -->
   1313       <parameter type-id='type-id-85'/>
   1314       <!-- parameter of type 'void*' -->
   1315       <parameter type-id='type-id-48'/>
   1316       <!-- void -->
   1317       <return type-id='type-id-6'/>
   1318     </function-type>
   1319     <!-- void (void*) -->
   1320     <function-type size-in-bits='64' id='type-id-84'>
   1321       <!-- parameter of type 'void*' -->
   1322       <parameter type-id='type-id-48'/>
   1323       <!-- void -->
   1324       <return type-id='type-id-6'/>
   1325     </function-type>
   1326   </abi-instr>
   1327   <abi-instr version='1.0' address-size='64' path='rculfhash-mm-order.c' comp-dir-path='src' language='LANG_C99'>
   1328     <!-- const cds_lfht_mm_type cds_lfht_mm_order -->
   1329     <var-decl name='cds_lfht_mm_order' type-id='type-id-76' mangled-name='cds_lfht_mm_order' visibility='default' filepath='../include/urcu/rculfhash.h' line='129' column='1' elf-symbol-id='cds_lfht_mm_order'/>
   1330   </abi-instr>
   1331   <abi-instr version='1.0' address-size='64' path='rculfhash-mm-chunk.c' comp-dir-path='src' language='LANG_C99'>
   1332     <!-- const cds_lfht_mm_type cds_lfht_mm_chunk -->
   1333     <var-decl name='cds_lfht_mm_chunk' type-id='type-id-76' mangled-name='cds_lfht_mm_chunk' visibility='default' filepath='../include/urcu/rculfhash.h' line='130' column='1' elf-symbol-id='cds_lfht_mm_chunk'/>
   1334   </abi-instr>
   1335   <abi-instr version='1.0' address-size='64' path='rculfhash-mm-mmap.c' comp-dir-path='src' language='LANG_C99'>
   1336     <!-- const cds_lfht_mm_type cds_lfht_mm_mmap -->
   1337     <var-decl name='cds_lfht_mm_mmap' type-id='type-id-76' mangled-name='cds_lfht_mm_mmap' visibility='default' filepath='../include/urcu/rculfhash.h' line='131' column='1' elf-symbol-id='cds_lfht_mm_mmap'/>
   1338   </abi-instr>
   1339   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
   1340     <!-- pthread_mutex_t __urcu_compat_futex_lock -->
   1341     <var-decl name='__urcu_compat_futex_lock' type-id='type-id-28' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
   1342     <!-- union __anonymous_union__ -->
   1343     <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-110'>
   1344       <data-member access='private'>
   1345         <!-- __pthread_cond_s __anonymous_union__::__data -->
   1346         <var-decl name='__data' type-id='type-id-111' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
   1347       </data-member>
   1348       <data-member access='private'>
   1349         <!-- char __anonymous_union__::__size[48] -->
   1350         <var-decl name='__size' type-id='type-id-112' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
   1351       </data-member>
   1352       <data-member access='private'>
   1353         <!-- long long int __anonymous_union__::__align -->
   1354         <var-decl name='__align' type-id='type-id-113' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
   1355       </data-member>
   1356     </union-decl>
   1357     <!-- struct __pthread_cond_s -->
   1358     <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-111'>
   1359       <data-member access='public' layout-offset-in-bits='0'>
   1360         <!-- __anonymous_union__  -->
   1361         <var-decl name='' type-id='type-id-114' visibility='default'/>
   1362       </data-member>
   1363       <data-member access='public' layout-offset-in-bits='128'>
   1364         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
   1365         <var-decl name='__g_refs' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
   1366       </data-member>
   1367       <data-member access='public' layout-offset-in-bits='192'>
   1368         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
   1369         <var-decl name='__g_size' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
   1370       </data-member>
   1371       <data-member access='public' layout-offset-in-bits='256'>
   1372         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
   1373         <var-decl name='__g1_orig_size' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
   1374       </data-member>
   1375       <data-member access='public' layout-offset-in-bits='288'>
   1376         <!-- unsigned int __pthread_cond_s::__wrefs -->
   1377         <var-decl name='__wrefs' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
   1378       </data-member>
   1379       <data-member access='public' layout-offset-in-bits='320'>
   1380         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
   1381         <var-decl name='__g_signals' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
   1382       </data-member>
   1383     </class-decl>
   1384     <!-- union __anonymous_union__ -->
   1385     <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-114'>
   1386       <data-member access='private'>
   1387         <!-- long long unsigned int __anonymous_union__::__wseq -->
   1388         <var-decl name='__wseq' type-id='type-id-116' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
   1389       </data-member>
   1390       <data-member access='private'>
   1391         <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
   1392         <var-decl name='__wseq32' type-id='type-id-117' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
   1393       </data-member>
   1394     </union-decl>
   1395     <!-- long long unsigned int -->
   1396     <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-116'/>
   1397     <!-- struct __anonymous_struct__ -->
   1398     <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-117'>
   1399       <data-member access='public' layout-offset-in-bits='0'>
   1400         <!-- unsigned int __anonymous_struct__::__low -->
   1401         <var-decl name='__low' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
   1402       </data-member>
   1403       <data-member access='public' layout-offset-in-bits='32'>
   1404         <!-- unsigned int __anonymous_struct__::__high -->
   1405         <var-decl name='__high' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
   1406       </data-member>
   1407     </class-decl>
   1408 
   1409     <!-- unsigned int[2] -->
   1410     <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='64' id='type-id-115'>
   1411       <!-- <anonymous range>[2] -->
   1412       <subrange length='2' type-id='type-id-39' id='type-id-118'/>
   1413 
   1414     </array-type-def>
   1415 
   1416     <!-- char[48] -->
   1417     <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='384' id='type-id-112'>
   1418       <!-- <anonymous range>[48] -->
   1419       <subrange length='48' type-id='type-id-39' id='type-id-119'/>
   1420 
   1421     </array-type-def>
   1422     <!-- long long int -->
   1423     <type-decl name='long long int' size-in-bits='64' id='type-id-113'/>
   1424     <!-- typedef __anonymous_union__ pthread_cond_t -->
   1425     <typedef-decl name='pthread_cond_t' type-id='type-id-110' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-120'/>
   1426     <!-- pthread_cond_t __urcu_compat_futex_cond -->
   1427     <var-decl name='__urcu_compat_futex_cond' type-id='type-id-120' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
   1428     <!-- int32_t* -->
   1429     <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-121'/>
   1430     <!-- struct timespec -->
   1431     <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-122'>
   1432       <data-member access='public' layout-offset-in-bits='0'>
   1433         <!-- __time_t timespec::tv_sec -->
   1434         <var-decl name='tv_sec' type-id='type-id-123' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
   1435       </data-member>
   1436       <data-member access='public' layout-offset-in-bits='64'>
   1437         <!-- __syscall_slong_t timespec::tv_nsec -->
   1438         <var-decl name='tv_nsec' type-id='type-id-124' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
   1439       </data-member>
   1440     </class-decl>
   1441     <!-- typedef long int __time_t -->
   1442     <typedef-decl name='__time_t' type-id='type-id-32' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-123'/>
   1443     <!-- typedef long int __syscall_slong_t -->
   1444     <typedef-decl name='__syscall_slong_t' type-id='type-id-32' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-124'/>
   1445     <!-- const timespec -->
   1446     <qualified-type-def type-id='type-id-122' const='yes' id='type-id-125'/>
   1447     <!-- const timespec* -->
   1448     <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-126'/>
   1449     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
   1450     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
   1451       <!-- parameter of type 'int32_t*' -->
   1452       <parameter type-id='type-id-121' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
   1453       <!-- parameter of type 'int' -->
   1454       <parameter type-id='type-id-3' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
   1455       <!-- parameter of type 'typedef int32_t' -->
   1456       <parameter type-id='type-id-46' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
   1457       <!-- parameter of type 'const timespec*' -->
   1458       <parameter type-id='type-id-126' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
   1459       <!-- parameter of type 'int32_t*' -->
   1460       <parameter type-id='type-id-121' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
   1461       <!-- parameter of type 'typedef int32_t' -->
   1462       <parameter type-id='type-id-46' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
   1463       <!-- int -->
   1464       <return type-id='type-id-3'/>
   1465     </function-decl>
   1466     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
   1467     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
   1468       <!-- parameter of type 'int32_t*' -->
   1469       <parameter type-id='type-id-121' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
   1470       <!-- parameter of type 'int' -->
   1471       <parameter type-id='type-id-3' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
   1472       <!-- parameter of type 'typedef int32_t' -->
   1473       <parameter type-id='type-id-46' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
   1474       <!-- parameter of type 'const timespec*' -->
   1475       <parameter type-id='type-id-126' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
   1476       <!-- parameter of type 'int32_t*' -->
   1477       <parameter type-id='type-id-121' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
   1478       <!-- parameter of type 'typedef int32_t' -->
   1479       <parameter type-id='type-id-46' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
   1480       <!-- int -->
   1481       <return type-id='type-id-3'/>
   1482     </function-decl>
   1483   </abi-instr>
   1484 </abi-corpus>
   1485