1/* Copyright (C) 2019-2024 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 19LIBCTF_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 173LIBCTF_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 195LIBCTF_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