1/* Copyright (C) 2019-2020 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_file_close; 28 29 ctf_cuname; 30 ctf_cuname_set; 31 ctf_parent_file; 32 ctf_parent_name; 33 ctf_parent_name_set; 34 ctf_type_isparent; 35 ctf_type_ischild; 36 37 ctf_import; 38 ctf_setmodel; 39 ctf_getmodel; 40 41 ctf_setspecific; 42 ctf_getspecific; 43 44 ctf_errno; 45 ctf_errmsg; 46 ctf_version; 47 48 ctf_func_info; 49 ctf_func_args; 50 ctf_func_type_info; 51 ctf_func_type_args; 52 53 ctf_lookup_by_name; 54 ctf_lookup_by_symbol; 55 ctf_lookup_variable; 56 57 ctf_type_resolve; 58 ctf_type_lname; 59 ctf_type_name; 60 ctf_type_aname; 61 ctf_type_aname_raw; 62 ctf_type_size; 63 ctf_type_align; 64 ctf_type_kind; 65 ctf_type_reference; 66 ctf_type_pointer; 67 ctf_type_encoding; 68 ctf_type_visit; 69 ctf_type_cmp; 70 ctf_type_compat; 71 72 ctf_member_info; 73 ctf_array_info; 74 75 ctf_enum_name; 76 ctf_enum_value; 77 78 ctf_label_set; 79 ctf_label_get; 80 81 ctf_label_topmost; 82 ctf_label_info; 83 84 ctf_member_iter; 85 ctf_enum_iter; 86 ctf_type_iter; 87 ctf_type_iter_all; 88 ctf_label_iter; 89 ctf_variable_iter; 90 91 ctf_add_array; 92 ctf_add_const; 93 ctf_add_enum; 94 ctf_add_enum_encoded; 95 ctf_add_float; 96 ctf_add_forward; 97 ctf_add_function; 98 ctf_add_integer; 99 ctf_add_pointer; 100 ctf_add_type; 101 ctf_add_typedef; 102 ctf_add_restrict; 103 ctf_add_slice; 104 ctf_add_struct; 105 ctf_add_union; 106 ctf_add_struct_sized; 107 ctf_add_union_sized; 108 ctf_add_volatile; 109 110 ctf_add_enumerator; 111 ctf_add_member; 112 ctf_add_member_offset; 113 ctf_add_member_encoded; 114 ctf_add_variable; 115 116 ctf_set_array; 117 118 ctf_update; 119 ctf_discard; 120 ctf_snapshot; 121 ctf_rollback; 122 ctf_write; 123 ctf_write_mem; 124 ctf_gzwrite; 125 ctf_compress_write; 126 ctf_getdatasect; 127 128 ctf_arc_write; 129 ctf_arc_write_fd; 130 ctf_arc_open; 131 ctf_arc_close; 132 ctf_arc_open_by_name; 133 ctf_arc_open_by_name_sections; 134 ctf_archive_iter; 135 ctf_archive_raw_iter; 136 ctf_get_arc; 137 138 ctf_dump; 139 140 ctf_setdebug; 141 ctf_getdebug; 142 143 /* Not yet part of the stable API. */ 144 145 ctf_link_add_ctf; 146 ctf_link_add_cu_mapping; 147 ctf_link_set_memb_name_changer; 148 ctf_link; 149 ctf_link_add_strtab; 150 ctf_link_shuffle_syms; 151 ctf_link_write; 152 153 /* In libctf alone. */ 154 155 ctf_fdopen; 156 ctf_open; 157 ctf_bfdopen; 158 ctf_bfdopen_ctfsect; 159 local: 160 *; 161}; 162