{
	global:

	# public functions in nvmf.h
	spdk_nvmf_tgt_create;
	spdk_nvmf_tgt_destroy;
	spdk_nvmf_tgt_get_name;
	spdk_nvmf_get_tgt;
	spdk_nvmf_get_first_tgt;
	spdk_nvmf_get_next_tgt;
	spdk_nvmf_tgt_write_config_json;
	spdk_nvmf_tgt_listen;
	spdk_nvmf_tgt_stop_listen;
	spdk_nvmf_tgt_accept;
	spdk_nvmf_poll_group_create;
	spdk_nvmf_get_optimal_poll_group;
	spdk_nvmf_poll_group_destroy;
	spdk_nvmf_poll_group_add;
	spdk_nvmf_poll_group_get_stat;
	spdk_nvmf_qpair_disconnect;
	spdk_nvmf_qpair_get_peer_trid;
	spdk_nvmf_qpair_get_local_trid;
	spdk_nvmf_qpair_get_listen_trid;
	spdk_nvmf_subsystem_create;
	spdk_nvmf_subsystem_destroy;
	spdk_nvmf_subsystem_start;
	spdk_nvmf_subsystem_stop;
	spdk_nvmf_subsystem_pause;
	spdk_nvmf_subsystem_resume;
	spdk_nvmf_tgt_find_subsystem;
	spdk_nvmf_subsystem_get_first;
	spdk_nvmf_subsystem_get_next;
	spdk_nvmf_subsystem_add_host;
	spdk_nvmf_subsystem_remove_host;
	spdk_nvmf_subsystem_set_allow_any_host;
	spdk_nvmf_subsystem_get_allow_any_host;
	spdk_nvmf_subsystem_host_allowed;
	spdk_nvmf_subsystem_get_first_host;
	spdk_nvmf_subsystem_get_next_host;
	spdk_nvmf_host_get_nqn;
	spdk_nvmf_subsystem_add_listener;
	spdk_nvmf_subsystem_remove_listener;
	spdk_nvmf_subsystem_listener_allowed;
	spdk_nvmf_subsystem_get_first_listener;
	spdk_nvmf_subsystem_get_next_listener;
	spdk_nvmf_subsystem_listener_get_trid;
	spdk_nvmf_subsystem_allow_any_listener;
	spdk_nvmf_subsytem_any_listener_allowed;
	spdk_nvmf_ns_opts_get_defaults;
	spdk_nvmf_subsystem_add_ns;
	spdk_nvmf_subsystem_remove_ns;
	spdk_nvmf_subsystem_get_first_ns;
	spdk_nvmf_subsystem_get_next_ns;
	spdk_nvmf_subsystem_get_ns;
	spdk_nvmf_subsystem_get_max_namespaces;
	spdk_nvmf_ns_get_id;
	spdk_nvmf_ns_get_bdev;
	spdk_nvmf_ns_get_opts;
	spdk_nvmf_subsystem_get_sn;
	spdk_nvmf_subsystem_set_sn;
	spdk_nvmf_subsystem_get_mn;
	spdk_nvmf_subsystem_set_mn;
	spdk_nvmf_subsystem_get_nqn;
	spdk_nvmf_subsystem_get_type;
	spdk_nvmf_subsystem_get_max_nsid;
	spdk_nvmf_transport_opts_init;
	spdk_nvmf_transport_create;
	spdk_nvmf_transport_destroy;
	spdk_nvmf_tgt_get_transport;
	spdk_nvmf_transport_get_first;
	spdk_nvmf_transport_get_next;
	spdk_nvmf_get_transport_opts;
	spdk_nvmf_get_transport_type;
	spdk_nvmf_get_transport_name;
	spdk_nvmf_tgt_add_transport;
	spdk_nvmf_transport_listen;
	spdk_nvmf_transport_stop_listen;
	spdk_nvmf_transport_poll_group_get_stat;
	spdk_nvmf_transport_poll_group_free_stat;
	spdk_nvmf_rdma_init_hooks;

	# public functions in nvmf_cmd.h
	spdk_nvmf_ctrlr_identify_ctrlr;
	spdk_nvmf_ctrlr_identify_ns;
	spdk_nvmf_set_custom_admin_cmd_hdlr;
	spdk_nvmf_set_passthru_admin_cmd;
	spdk_nvmf_bdev_ctrlr_nvme_passthru_admin;
	spdk_nvmf_request_get_bdev;
	spdk_nvmf_request_get_ctrlr;
	spdk_nvmf_request_get_subsystem;
	spdk_nvmf_request_get_data;
	spdk_nvmf_request_get_cmd;
	spdk_nvmf_request_get_response;

	# public functions in nvmf_transport.h
	spdk_nvmf_transport_register;
	spdk_nvmf_tgt_new_qpair;
	spdk_nvmf_ctrlr_connect;
	spdk_nvmf_ctrlr_data_init;
	spdk_nvmf_ctrlr_get_regs;
	spdk_nvmf_request_free_buffers;
	spdk_nvmf_request_get_buffers;
	spdk_nvmf_request_get_buffers_multi;
	spdk_nvmf_request_get_dif_ctx;
	spdk_nvmf_request_exec;
	spdk_nvmf_request_exec_fabrics;
	spdk_nvmf_request_free;
	spdk_nvmf_request_complete;
	spdk_nvmf_ctrlr_get_subsystem;
	spdk_nvmf_req_get_xfer;
	spdk_nvmf_poll_group_remove;


	local: *;
};
