/* 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;

IBVERBS_1.16 {
	global:
		ibv_dm_export_dmabuf_fd;
		ibv_query_port_speed;
} IBVERBS_1.15;

IBVERBS_1.17 {
	global:
		ibv_alloc_buf;
		ibv_free_buf;
		ibv_reg_buf_mr;
} IBVERBS_1.16;

IBVERBS_1.18 {
	global:
		_ibv_query_comp_cntr_caps;
		ibv_create_comp_cntr;
		ibv_destroy_comp_cntr;
		ibv_export_buf_dmabuf_fd;
		ibv_inc_comp_cntr;
		ibv_inc_err_comp_cntr;
		ibv_qp_attach_comp_cntr;
		ibv_read_comp_cntr;
		ibv_read_err_comp_cntr;
		ibv_set_comp_cntr;
		ibv_set_err_comp_cntr;
} IBVERBS_1.17;

/* 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_comp_cntr;
		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_comp_cntr;
		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_export_dmabuf_fd;
		ibv_cmd_free_dm;
		ibv_cmd_free_dmah;
		ibv_cmd_get_context;
		ibv_cmd_inc_comp_cntr;
		ibv_cmd_inc_err_comp_cntr;
		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_qp_attach_comp_cntr;
		ibv_cmd_query_comp_cntr_caps;
		ibv_cmd_query_context;
		ibv_cmd_query_device_any;
		ibv_cmd_query_mr;
		ibv_cmd_query_port;
		ibv_cmd_query_port_speed;
		ibv_cmd_query_qp;
		ibv_cmd_query_srq;
		ibv_cmd_read_comp_cntr;
		ibv_cmd_read_counters;
		ibv_cmd_read_err_comp_cntr;
		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_cmd_set_comp_cntr;
		ibv_cmd_set_err_comp_cntr;
		ibv_dmabuf_heap_alloc;
		ibv_dmabuf_heap_cc_shared_init;
		ibv_dmabuf_heap_destroy;
		ibv_dmabuf_heap_free;
		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;
};
