/* Do not change this file without reading Documentation/versioning.md */
IBVERBS_1.0 {
	global:
		ibv_get_device_list;
		ibv_free_device_list;
		ibv_get_device_name;
		ibv_get_device_guid;
		ibv_open_device;
		ibv_close_device;
		ibv_get_async_event;
		ibv_ack_async_event;
		ibv_query_device;
		ibv_query_port;
		ibv_query_gid;
		ibv_query_pkey;
		ibv_alloc_pd;
		ibv_dealloc_pd;
		ibv_reg_mr;
		ibv_dereg_mr;
		ibv_create_comp_channel;
		ibv_destroy_comp_channel;
		ibv_create_cq;
		ibv_resize_cq;
		ibv_destroy_cq;
		ibv_get_cq_event;
		ibv_ack_cq_events;
		ibv_create_srq;
		ibv_modify_srq;
		ibv_query_srq;
		ibv_destroy_srq;
		ibv_create_qp;
		ibv_query_qp;
		ibv_modify_qp;
		ibv_destroy_qp;
		ibv_create_ah;
		ibv_destroy_ah;
		ibv_attach_mcast;
		ibv_detach_mcast;
		ibv_rate_to_mult;
		mult_to_ibv_rate;

		/* These historical symbols are now private to libibverbs, but used by
		   other rdma-core libraries. Do not change them. */
		ibv_copy_path_rec_from_kern;
		ibv_copy_path_rec_to_kern;
		ibv_copy_qp_attr_from_kern;
		ibv_get_sysfs_path;
		ibv_read_sysfs_file;

	local: *;
};

IBVERBS_1.1 {
	global:
		ibv_ack_async_event;
		ibv_ack_cq_events;
		ibv_alloc_pd;
		ibv_attach_mcast;
		ibv_close_device;
		ibv_create_ah;
		ibv_create_ah_from_wc;
		ibv_create_cq;
		ibv_create_qp;
		ibv_create_srq;
		ibv_dealloc_pd;
		ibv_dereg_mr;
		ibv_destroy_ah;
		ibv_destroy_cq;
		ibv_destroy_qp;
		ibv_destroy_srq;
		ibv_detach_mcast;
		ibv_dofork_range;
		ibv_dontfork_range;
		ibv_event_type_str;
		ibv_fork_init;
		ibv_free_device_list;
		ibv_get_async_event;
		ibv_get_cq_event;
		ibv_get_device_guid;
		ibv_get_device_list;
		ibv_get_device_name;
		ibv_init_ah_from_wc;
		ibv_modify_qp;
		ibv_modify_srq;
		ibv_node_type_str;
		ibv_open_device;
		ibv_port_state_str;
		ibv_query_device;
		ibv_query_gid;
		ibv_query_pkey;
		ibv_query_port;
		ibv_query_qp;
		ibv_query_srq;
		ibv_rate_to_mbps;
		ibv_reg_mr;
		ibv_register_driver;
		ibv_rereg_mr;
		ibv_resize_cq;
		ibv_resolve_eth_l2_from_gid;
		ibv_wc_status_str;
		mbps_to_ibv_rate;

		/* These historical symbols are now private to libibverbs, but used by
		   other rdma-core libraries. Do not change them. */
		ibv_copy_ah_attr_from_kern;
} IBVERBS_1.0;

IBVERBS_1.5 {
	global:
		ibv_get_pkey_index;
} IBVERBS_1.1;

IBVERBS_1.6 {
	global:
		ibv_qp_to_qp_ex;
} IBVERBS_1.5;

IBVERBS_1.7 {
	global:
		ibv_reg_mr_iova;
} IBVERBS_1.6;

IBVERBS_1.8 {
	global:
		ibv_reg_mr_iova2;
} IBVERBS_1.7;

IBVERBS_1.9 {
	global:
		ibv_get_device_index;
} IBVERBS_1.8;

IBVERBS_1.10 {
	global:
		ibv_import_device;
		ibv_import_mr;
		ibv_import_pd;
		ibv_query_ece;
		ibv_set_ece;
		ibv_unimport_mr;
		ibv_unimport_pd;
} IBVERBS_1.9;

IBVERBS_1.11 {
	global:
		_ibv_query_gid_ex;
		_ibv_query_gid_table;
} IBVERBS_1.10;

IBVERBS_1.12 {
	global:
		ibv_reg_dmabuf_mr;
} IBVERBS_1.11;

IBVERBS_1.13 {
	global:
		ibv_import_dm;
		ibv_is_fork_initialized;
		ibv_unimport_dm;
} IBVERBS_1.12;

IBVERBS_1.14 {
	global:
		ibv_query_qp_data_in_order;
} IBVERBS_1.13;

IBVERBS_1.15 {
	global:
		ibv_alloc_dmah;
		ibv_dealloc_dmah;
		ibv_reg_mr_ex;
} IBVERBS_1.14;

/* If any symbols in this stanza change ABI then the entire staza gets a new symbol
   version. See the top level CMakeLists.txt for this setting. */

IBVERBS_PRIVATE_@IBVERBS_PABI_VERSION@ {
	global:
		/* These historical symbols are now private to libibverbs */
		__ioctl_final_num_attrs;
		__verbs_log;
		_verbs_init_and_alloc_context;
		execute_ioctl;
		ibv_cmd_advise_mr;
		ibv_cmd_alloc_dm;
		ibv_cmd_alloc_dmah;
		ibv_cmd_alloc_mw;
		ibv_cmd_alloc_pd;
		ibv_cmd_attach_mcast;
		ibv_cmd_close_xrcd;
		ibv_cmd_create_ah;
		ibv_cmd_create_counters;
		ibv_cmd_create_cq;
		ibv_cmd_create_cq_ex;
		ibv_cmd_create_cq_ex2;
		ibv_cmd_create_flow;
		ibv_cmd_create_flow_action_esp;
		ibv_cmd_create_qp;
		ibv_cmd_create_qp_ex2;
		ibv_cmd_create_qp_ex;
		ibv_cmd_create_rwq_ind_table;
		ibv_cmd_create_srq;
		ibv_cmd_create_srq_ex;
		ibv_cmd_create_wq;
		ibv_cmd_dealloc_mw;
		ibv_cmd_dealloc_pd;
		ibv_cmd_dereg_mr;
		ibv_cmd_destroy_ah;
		ibv_cmd_destroy_counters;
		ibv_cmd_destroy_cq;
		ibv_cmd_destroy_flow;
		ibv_cmd_destroy_flow_action;
		ibv_cmd_destroy_qp;
		ibv_cmd_destroy_rwq_ind_table;
		ibv_cmd_destroy_srq;
		ibv_cmd_destroy_wq;
		ibv_cmd_detach_mcast;
		ibv_cmd_free_dm;
		ibv_cmd_free_dmah;
		ibv_cmd_get_context;
		ibv_cmd_modify_cq;
		ibv_cmd_modify_flow_action_esp;
		ibv_cmd_modify_qp;
		ibv_cmd_modify_qp_ex;
		ibv_cmd_modify_srq;
		ibv_cmd_modify_wq;
		ibv_cmd_open_qp;
		ibv_cmd_open_xrcd;
		ibv_cmd_poll_cq;
		ibv_cmd_post_recv;
		ibv_cmd_post_send;
		ibv_cmd_post_srq_recv;
		ibv_cmd_query_context;
		ibv_cmd_query_device_any;
		ibv_cmd_query_mr;
		ibv_cmd_query_port;
		ibv_cmd_query_qp;
		ibv_cmd_query_srq;
		ibv_cmd_read_counters;
		ibv_cmd_reg_dm_mr;
		ibv_cmd_reg_dmabuf_mr;
		ibv_cmd_reg_mr;
		ibv_cmd_reg_mr_ex;
		ibv_cmd_req_notify_cq;
		ibv_cmd_rereg_mr;
		ibv_cmd_resize_cq;
		ibv_query_gid_type;
		ibv_read_ibdev_sysfs_file;
		ibv_wr_opcode_str;
		verbs_allow_disassociate_destroy;
		verbs_init_cq;
		verbs_open_device;
		verbs_register_driver_@IBVERBS_PABI_VERSION@;
		verbs_set_ops;
		verbs_uninit_context;
};
