9c7ffa71828ca32c9c21103d6d91ecc8bde99258
[platform/upstream/multipath-tools.git] / libmultipath / libmultipath.version
1 /*
2  * Copyright (c) 2020 SUSE LLC
3  * SPDX-License-Identifier: GPL-2.0-or-later
4  *
5  * libmultipath ABI
6  *
7  * libmultipath doesn't have a stable ABI in the usual sense. In particular,
8  * the library does not attempt to ship different versions of the same symbol
9  * for backward compatibility.
10  *
11  * The ABI versioning only serves to avoid linking with a non-matching ABI, to
12  * cut down the set of exported symbols, and to describe it.
13  * The version string is LIBMULTIPATH_$MAJOR.$MINOR.$REL.
14  *
15  * Policy:
16  *
17  * * Bump $MAJOR for incompatible changes, like:
18  *   - symbols removed
19  *   - parameter list or return values changed for existing functions
20  *   - externally visible data structures changed in incompatible ways
21  *     (like offsets of previously existing struct members)
22  *   In this case, the new version doesn't inherit the previous versions,
23  *   because the new library doesn't provide the full previous ABI any more.
24  *   All predecessors are merged into the new version.
25  *
26  * * Bump $MINOR for compatible changes, like adding symbols.
27  *   The new version inherits the previous ones.
28  *
29  * * Bump $REL to describe deviations from upstream, e.g. in
30  *   multipath-tools packages shipped by distributions.
31  *   The new version inherits the previous ones.
32  */
33
34 LIBMULTIPATH_13.0.0 {
35 global:
36         /* symbols referenced by multipath and multipathd */
37         add_foreign;
38         add_map_with_path;
39         adopt_paths;
40         alloc_multipath;
41         alloc_multipath_layout;
42         alloc_path;
43         alloc_path_layout;
44         alloc_path_with_pathinfo;
45         alloc_strvec;
46         append_strbuf_str;
47         change_foreign;
48         check_alias_settings;
49         check_daemon;
50         checker_clear_message;
51         checker_disable;
52         checker_enable;
53         checker_message;
54         checker_name;
55         checker_state_name;
56         check_foreign;
57         cleanup_charp;
58         cleanup_lock;
59         cleanup_ucharp;
60         close_fd;
61         coalesce_paths;
62         convert_dev;
63         count_active_paths;
64         delete_all_foreign;
65         delete_foreign;
66         dlog;
67         dm_cancel_deferred_remove;
68         dm_enablegroup;
69         dm_fail_path;
70         _dm_flush_map;
71         dm_flush_map_nopaths;
72         dm_flush_maps;
73         dm_geteventnr;
74         dm_get_info;
75         dm_get_major_minor;
76         dm_get_maps;
77         dm_get_multipath;
78         dm_get_uuid;
79         dm_is_mpath;
80         dm_mapname;
81         dm_map_present;
82         dm_prereq;
83         dm_queue_if_no_path;
84         dm_reassign;
85         dm_reinstate_path;
86         dm_simplecmd_noflush;
87         dm_switchgroup;
88         domap;
89         ensure_directories_exist;
90         extract_hwe_from_path;
91         filter_devnode;
92         filter_path;
93         filter_wwid;
94         find_mp_by_alias;
95         find_mp_by_minor;
96         find_mp_by_str;
97         find_mp_by_wwid;
98         find_mpe;
99         find_path_by_dev;
100         find_path_by_devt;
101         find_slot;
102         foreign_multipath_layout;
103         foreign_path_layout;
104         free_config;
105         free_multipath;
106         free_multipathvec;
107         free_path;
108         free_pathvec;
109         free_strvec;
110         get_monotonic_time;
111         get_multipath_config;
112         get_multipath_layout;
113         get_path_layout;
114         get_pgpolicy_id;
115         get_refwwid;
116         get_state;
117         get_strbuf_len;
118         get_strbuf_str;
119         get_udev_device;
120         get_uid;
121         get_used_hwes;
122         get_vpd_sgio;
123         group_by_prio;
124         init_checkers;
125         init_config;
126         init_foreign;
127         init_prio;
128         io_err_stat_handle_pathfail;
129         is_path_valid;
130         is_quote;
131         libmp_dm_task_create;
132         libmp_get_version;
133         libmp_get_multipath_config;
134         libmp_dm_task_run;
135         libmp_put_multipath_config;
136         libmp_udev_set_sync_support;
137         libmp_verbosity;
138         libmultipath_exit;
139         libmultipath_init;
140         load_config;
141         log_thread_reset;
142         log_thread_start;
143         log_thread_stop;
144         logsink;
145         need_io_err_check;
146         normalize_timespec;
147         orphan_path;
148         parse_prkey_flags;
149         pathcount;
150         path_discovery;
151         path_get_tpgs;
152         pathinfo;
153         path_offline;
154         print_all_paths;
155         print_foreign_topology;
156         _print_multipath_topology;
157         print_strbuf;
158         pthread_cond_init_mono;
159         put_multipath_config;
160         recv_packet;
161         reinstate_paths;
162         remember_wwid;
163         remove_map;
164         remove_map_by_alias;
165         remove_maps;
166         remove_wwid;
167         replace_wwids;
168         reset_checker_classes;
169         reset_strbuf;
170         select_all_tg_pt;
171         select_action;
172         select_find_multipaths_timeout;
173         select_no_path_retry;
174         select_path_group;
175         select_reservation_key;
176         send_packet;
177         set_max_fds;
178         __set_no_path_retry;
179         set_path_removed;
180         set_prkey;
181         setup_map;
182         setup_thread_attr;
183         should_multipath;
184         skip_libmp_dm_init;
185         snprint_blacklist_report;
186         __snprint_config;
187         snprint_config;
188         snprint_devices;
189         snprint_foreign_multipaths;
190         snprint_foreign_paths;
191         snprint_foreign_topology;
192         _snprint_multipath;
193         snprint_multipath_header;
194         snprint_multipath_map_json;
195         _snprint_multipath_topology;
196         snprint_multipath_topology_json;
197         _snprint_path;
198         snprint_path_header;
199         snprint_status;
200         snprint_wildcards;
201         stop_io_err_stat_thread;
202         store_path;
203         store_pathinfo;
204         strchop;
205         strlcpy;
206         sync_map_state;
207         sysfs_attr_set_value;
208         sysfs_get_size;
209         sysfs_is_multipathed;
210         timespeccmp;
211         timespecsub;
212         trigger_paths_udev_change;
213         truncate_strbuf;
214         udev;
215         uevent_dispatch;
216         uevent_get_dm_str;
217         uevent_get_env_positive_int;
218         uevent_is_mpath;
219         uevent_listen;
220         uninit_config;
221         update_mpp_paths;
222         update_multipath_strings;
223         update_multipath_table;
224         update_queue_mode_add_path;
225         update_queue_mode_del_path;
226         ux_socket_listen;
227         valid_alias;
228         vector_alloc;
229         vector_alloc_slot;
230         vector_del_slot;
231         vector_free;
232         vector_reset;
233         vector_set_slot;
234         verify_paths;
235
236         /* checkers */
237         checker_is_sync;
238         sg_read;
239         start_checker_thread;
240
241         /* prioritizers */
242         fill_strbuf;
243         get_asymmetric_access_state;
244         get_next_string;
245         get_prio_timeout;
246         get_target_port_group;
247         get_target_port_group_support;
248         libmp_nvme_ana_log;
249         libmp_nvme_get_nsid;
250         libmp_nvme_identify_ns;
251         log_nvme_errcode;
252         nvme_id_ctrl_ana;
253         set_wakeup_fn;
254         snprint_host_wwnn;
255         snprint_host_wwpn;
256         snprint_path_serial;
257         snprint_tgt_wwnn;
258         snprint_tgt_wwpn;
259         sysfs_get_asymmetric_access_state;
260
261         /* foreign */
262         free_scandir_result;
263         sysfs_attr_get_value;
264
265 local:
266         *;
267 };