Home | History | Annotate | Line # | Download | only in libctf
      1 /* Copyright (C) 2019-2025 Free Software Foundation, Inc.
      2 
      3    This file is part of libctf.
      4 
      5    libctf is free software; you can redistribute it and/or modify it under
      6    the terms of the GNU General Public License as published by the Free
      7    Software Foundation; either version 3, or (at your option) any later
      8    version.
      9 
     10    This program is distributed in the hope that it will be useful, but
     11    WITHOUT ANY WARRANTY; without even the implied warranty of
     12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     13    See the GNU General Public License for more details.
     14 
     15    You should have received a copy of the GNU General Public License
     16    along with this program; see the file COPYING.  If not see
     17    <http://www.gnu.org/licenses/>.  */
     18 
     19 LIBCTF_1.0 {
     20     global:
     21 	/* In libctf and libctf-nobfd.  */
     22 
     23 	ctf_bufopen;
     24 	ctf_simple_open;
     25 	ctf_create;
     26 	ctf_close;
     27 	ctf_ref;
     28 	ctf_file_close;
     29 
     30 	ctf_cuname;
     31 	ctf_cuname_set;
     32 	ctf_parent_file;
     33 	ctf_parent_name;
     34 	ctf_parent_name_set;
     35 	ctf_type_isparent;
     36 	ctf_type_ischild;
     37 
     38 	ctf_import;
     39 	ctf_setmodel;
     40 	ctf_getmodel;
     41 
     42 	ctf_setspecific;
     43 	ctf_getspecific;
     44 
     45 	ctf_errno;
     46 	ctf_errmsg;
     47 	ctf_version;
     48 
     49 	ctf_func_info;
     50 	ctf_func_args;
     51 	ctf_func_type_info;
     52 	ctf_func_type_args;
     53 
     54 	ctf_lookup_by_name;
     55 	ctf_lookup_by_symbol;
     56 	ctf_lookup_variable;
     57 
     58 	ctf_type_resolve;
     59 	ctf_type_lname;
     60 	ctf_type_name;
     61 	ctf_type_name_raw;
     62 	ctf_type_aname;
     63 	ctf_type_aname_raw;
     64 	ctf_type_size;
     65 	ctf_type_align;
     66 	ctf_type_kind;
     67 	ctf_type_kind_forwarded;
     68 	ctf_type_reference;
     69 	ctf_type_pointer;
     70 	ctf_type_encoding;
     71 	ctf_type_visit;
     72 	ctf_type_cmp;
     73 	ctf_type_compat;
     74 
     75 	ctf_member_info;
     76 	ctf_member_next;
     77 	ctf_array_info;
     78 	ctf_member_count;
     79 
     80 	ctf_enum_name;
     81 	ctf_enum_value;
     82 
     83 	ctf_label_topmost;
     84 	ctf_label_info;
     85 
     86 	ctf_member_iter;
     87 	ctf_enum_iter;
     88 	ctf_enum_next;
     89 	ctf_type_iter;
     90 	ctf_type_next;
     91 	ctf_type_iter_all;
     92 	ctf_label_iter;
     93 	ctf_variable_iter;
     94 	ctf_variable_next;
     95 
     96 	ctf_next_create;
     97 	ctf_next_destroy;
     98 	ctf_next_copy;
     99 
    100 	ctf_add_array;
    101 	ctf_add_const;
    102 	ctf_add_enum;
    103 	ctf_add_enum_encoded;
    104 	ctf_add_float;
    105 	ctf_add_forward;
    106 	ctf_add_function;
    107 	ctf_add_integer;
    108 	ctf_add_pointer;
    109 	ctf_add_type;
    110 	ctf_add_typedef;
    111 	ctf_add_restrict;
    112 	ctf_add_slice;
    113 	ctf_add_struct;
    114 	ctf_add_union;
    115 	ctf_add_struct_sized;
    116 	ctf_add_union_sized;
    117 	ctf_add_volatile;
    118 
    119 	ctf_add_enumerator;
    120 	ctf_add_member;
    121 	ctf_add_member_offset;
    122 	ctf_add_member_encoded;
    123 	ctf_add_variable;
    124 
    125 	ctf_set_array;
    126 
    127 	ctf_update;
    128 	ctf_discard;
    129 	ctf_snapshot;
    130 	ctf_rollback;
    131 	ctf_write;
    132 	ctf_write_mem;
    133 	ctf_gzwrite;
    134 	ctf_compress_write;
    135 	ctf_getdatasect;
    136 
    137 	ctf_arc_write;
    138 	ctf_arc_write_fd;
    139 	ctf_arc_bufopen;
    140 	ctf_arc_close;
    141 	ctf_arc_open_by_name;
    142 	ctf_arc_open_by_name_sections;
    143 	ctf_archive_count;
    144 	ctf_archive_iter;
    145 	ctf_archive_next;
    146 	ctf_archive_raw_iter;
    147 	ctf_get_arc;
    148 
    149 	ctf_dump;
    150 
    151 	ctf_setdebug;
    152 	ctf_getdebug;
    153 	ctf_errwarning_next;
    154 
    155 	ctf_link_add_ctf;
    156 	ctf_link_add_cu_mapping;
    157 	ctf_link_set_memb_name_changer;
    158 	ctf_link_set_variable_filter;
    159 	ctf_link;
    160 	ctf_link_add_strtab;
    161 	ctf_link_shuffle_syms;
    162 	ctf_link_write;
    163 
    164 	ctf_fdopen;                             /* libctf only.  */
    165 	ctf_open;                               /* libctf only.  */
    166 	ctf_arc_open;                           /* libctf only.  */
    167 	ctf_bfdopen;                            /* libctf only.  */
    168 	ctf_bfdopen_ctfsect;                    /* libctf only.  */
    169     local:
    170 	*;
    171 };
    172 
    173 LIBCTF_1.1 {
    174     global:
    175 	ctf_dict_open;
    176 	ctf_dict_open_sections;
    177 	ctf_dict_close;
    178 	ctf_parent_dict;
    179 
    180 	ctf_symbol_next;
    181 	ctf_add_objt_sym;
    182 	ctf_add_func_sym;
    183 
    184 	ctf_link_add_linker_symbol;
    185 
    186 	ctf_arc_lookup_symbol;
    187 	ctf_arc_flush_caches;
    188 
    189 	ctf_getsymsect;
    190 	ctf_getstrsect;
    191 	ctf_symsect_endianness;
    192 	ctf_arc_symsect_endianness;
    193 } LIBCTF_1.0;
    194 
    195 LIBCTF_1.2 {
    196     global:
    197 	ctf_lookup_by_symbol_name;
    198 	ctf_arc_lookup_symbol_name;
    199 	ctf_add_unknown;
    200 } LIBCTF_1.1;
    201 
    202 LIBCTF_1.3 {
    203     global:
    204 	ctf_lookup_enumerator;
    205 	ctf_lookup_enumerator_next;
    206 	ctf_arc_lookup_enumerator_next;
    207 	ctf_dict_set_flag;
    208 	ctf_dict_get_flag;
    209 } LIBCTF_1.2;
    210