Blob Blame History Raw
/*
 * libisns.vers: GNU LD version script for libisns.so
 *
 * Part of open-isns, licensed under GNU LGPL v2.1
 *
 * Structure of this file is as follows:
 *
 *    LIBISNS_X {
 *    global:
 *       ... list of symbols introduced in version X
 *    local:
 *       *;
 *    };
 *    LIBISNS_Y {
 *    global:
 *       ... list of symbols added in version Y
 *    } LIBISNS_X; // this must reference the previous
 *                 // version here
 *    LIBISNS_Z {
 *    global:
 *       ... list of symbols added in version Z
 *    } LIBISNS_Y;
 *    ... more versions
 *    LIBISNS_PRIVATE {
 *    global:
 *       ... list of private symbols used by other isns
 *           tools that shouldn't be used by other
 *           software
 *    } LIBISNS_LATEST; // must reference latest version
 *                      // here
 *
 * See also:
 *   https://sourceware.org/binutils/docs/ld/VERSION.html
 */

LIBISNS_0.96 {
global:
	isns_add_oneshot_timer;
	isns_add_principal;
	isns_add_timer;
	isns_addr_get_port;
	isns_addr_set_port;
	isns_assert_failed;
	isns_assign_string;
	isns_attr_alloc;
	isns_attr_compare;
	isns_attr_decode;
	isns_attr_encode;
	isns_attr_from_string;
	isns_attr_get;
	isns_attr_list_append;
	isns_attr_list_append_attr;
	isns_attr_list_append_int32;
	isns_attr_list_append_ipaddr;
	isns_attr_list_append_list;
	isns_attr_list_append_nil;
	isns_attr_list_append_string;
	isns_attr_list_append_uint32;
	isns_attr_list_append_uint64;
	isns_attr_list_append_value;
	isns_attr_list_contains;
	isns_attr_list_copy;
	isns_attr_list_decode;
	isns_attr_list_decode_delimited;
	isns_attr_list_destroy;
	isns_attr_list_encode;
	isns_attr_list_get_attr;
	isns_attr_list_get_string;
	isns_attr_list_get_uint32;
	isns_attr_list_get_value;
	isns_attr_list_init;
	isns_attr_list_parser_context;
	isns_attr_list_parser_help;
	isns_attr_list_parser_init;
	isns_attr_list_print;
	isns_attr_list_prune;
	isns_attr_list_remove_member;
	isns_attr_list_remove_tag;
	isns_attr_list_replace_attr;
	isns_attr_list_scanner_destroy;
	isns_attr_list_scanner_init;
	isns_attr_list_scanner_next;
	isns_attr_list_split;
	isns_attr_list_update;
	isns_attr_list_update_attr;
	isns_attr_list_update_value;
	isns_attr_list_validate;
	isns_attr_match;
	isns_attr_print;
	isns_attr_print_value;
	isns_attr_release;
	isns_attr_type_by_id;
	isns_attr_type_int32;
	isns_attr_type_ipaddr;
	isns_attr_type_nil;
	isns_attr_type_opaque;
	isns_attr_type_range16;
	isns_attr_type_string;
	isns_attr_type_uint32;
	isns_attr_type_uint64;
	isns_attr_validate;
	isns_bitvector_alloc;
	isns_bitvector_clear_bit;
	isns_bitvector_destroy;
	isns_bitvector_foreach;
	isns_bitvector_free;
	isns_bitvector_init;
	isns_bitvector_intersect;
	isns_bitvector_is_empty;
	isns_bitvector_print;
	isns_bitvector_set_bit;
	isns_bitvector_test_bit;
	isns_build_source_pattern;
	isns_callback_service_ops;
	isns_cancel_timer;
	isns_client_call;
	isns_client_destroy;
	isns_client_get_local_address;
	isns_config;
	isns_config_set;
	isns_connect_to_portal;
	isns_control_security_context;
	isns_create_bound_client_socket;
	isns_create_client;
	isns_create_client_socket;
	isns_create_dd_deregistration;
	isns_create_dd_registration;
	isns_create_default_client;
	isns_create_default_portal_group;
	isns_create_deregistration;
	isns_create_dsa_context;
	isns_create_entity;
	isns_create_entity_for_source;
	isns_create_getnext;
	isns_create_getnext_followup;
	isns_create_iscsi_initiator;
	isns_create_iscsi_target;
	isns_create_keystore;
	isns_create_local_client;
	isns_create_message;
	isns_create_object;
	isns_create_portal;
	isns_create_portal_group;
	isns_create_query;
	isns_create_query2;
	isns_create_registration;
	isns_create_registration2;
	isns_create_reply;
	isns_create_scn;
	isns_create_scn_registration;
	isns_create_scn_registration2;
	isns_create_server;
	isns_create_server_socket;
	isns_create_storage_node;
	isns_create_storage_node2;
	isns_create_systemd_socket;
	isns_db_allocate_index;
	isns_db_begin_transaction;
	isns_db_commit;
	isns_db_expire;
	isns_db_gang_lookup;
	isns_db_generate_eid;
	isns_db_get_control;
	isns_db_get_domainless;
	isns_db_get_next;
	isns_db_insert;
	isns_db_insert_limbo;
	isns_db_lookup;
	isns_db_lookup_source_node;
	isns_db_open;
	isns_db_open_shadow;
	isns_db_print;
	isns_db_purge;
	isns_db_remove;
	isns_db_rollback;
	isns_db_sync;
	isns_db_vlookup;
	isns_dd_get_members;
	isns_dd_load_all;
	isns_dd_template;
	isns_ddset_template;
	isns_debug_auth;
	isns_debug_enabled;
	isns_debug_esi;
	isns_debug_general;
	isns_debug_message;
	isns_debug_protocol;
	isns_debug_scn;
	isns_debug_socket;
	isns_debug_state;
	isns_default_security_context;
	isns_default_service_ops;
	isns_dirname;
	isns_enable_debugging;
	isns_encode_delimiter;
	isns_entity_name;
	isns_entity_template;
	isns_entity_touch;
	isns_enumerate_portals;
	isns_error;
	isns_esi_enabled;
	isns_esi_init;
	isns_esi_register;
	isns_event_string;
	isns_fatal;
	isns_fc_node_template;
	isns_fc_port_template;
	isns_flush_events;
	isns_function_name;
	isns_get_address;
	isns_get_canon_name;
	isns_get_nr_portals;
	isns_getnext_response_get_object;
	isns_init_names;
	isns_iscsi_node_template;
	isns_iscsi_pg_template;
	isns_log_background;
	isns_mark_object;
	isns_message_function;
	isns_message_queue_destroy;
	isns_message_queue_find;
	isns_message_queue_insert_sorted;
	isns_message_queue_move;
	isns_message_release;
	isns_message_security;
	isns_message_set_error;
	isns_message_socket;
	isns_message_status;
	isns_mkdir_recursive;
	isns_notice;
	isns_object_attach;
	isns_object_attr_valid;
	isns_object_clear_membership;
	isns_object_contains;
	isns_object_delete_attr;
	isns_object_detach;
	isns_object_event;
	isns_object_extract_all;
	isns_object_extract_keys;
	isns_object_extract_writable;
	isns_object_find_descendant;
	isns_object_find_descendants;
	isns_object_get;
	isns_object_get_attr;
	isns_object_get_attrlist;
	isns_object_get_descendants;
	isns_object_get_entity;
	isns_object_get_ipaddr;
	isns_object_get_key_attrs;
	isns_object_get_opaque;
	isns_object_get_string;
	isns_object_get_uint32;
	isns_object_get_uint64;
	isns_object_get_visible;
	isns_object_is;
	isns_object_is_dd;
	isns_object_is_ddset;
	isns_object_is_entity;
	isns_object_is_fc_node;
	isns_object_is_fc_port;
	isns_object_is_iscsi_node;
	isns_object_is_pg;
	isns_object_is_policy;
	isns_object_is_portal;
	isns_object_is_valid_container;
	isns_object_last_modified;
	isns_object_list_append;
	isns_object_list_append_list;
	isns_object_list_contains;
	isns_object_list_destroy;
	isns_object_list_gang_lookup;
	isns_object_list_init;
	isns_object_list_lookup;
	isns_object_list_print;
	isns_object_list_remove;
	isns_object_list_uniq;
	isns_object_mark_membership;
	isns_object_match;
	isns_object_print;
	isns_object_prune_attrs;
	isns_object_release;
	isns_object_set_attr;
	isns_object_set_attrlist;
	isns_object_set_ipaddr;
	isns_object_set_nil;
	isns_object_set_scn_mask;
	isns_object_set_string;
	isns_object_set_uint32;
	isns_object_set_uint64;
	isns_object_template_find;
	isns_object_template_for_index_tag;
	isns_object_template_for_key_attrs;
	isns_object_template_for_tag;
	isns_object_template_name;
	isns_object_test_membership;
	isns_object_test_visibility;
	isns_parse_attrs;
	isns_parse_query_attrs;
	isns_portal_equal;
	isns_portal_from_attr_list;
	isns_portal_from_attr_pair;
	isns_portal_from_object;
	isns_portal_from_sockaddr;
	isns_portal_init;
	isns_portal_is_wildcard;
	isns_portal_parse;
	isns_portal_string;
	isns_portal_tcpudp_port;
	isns_portal_template;
	isns_portal_to_attr_list;
	isns_portal_to_object;
	isns_portal_to_sockaddr;
	isns_principal_free;
	isns_principal_name;
	isns_principal_set_name;
	isns_print_attrs;
	isns_print_stdout;
	isns_process_dd_deregistration;
	isns_process_dd_registration;
	isns_process_deregistration;
	isns_process_esi;
	isns_process_getnext;
	isns_process_message;
	isns_process_query;
	isns_process_registration;
	isns_process_scn;
	isns_process_scn_deregistration;
	isns_process_scn_register;
	isns_query_request_attr;
	isns_query_request_attr_tag;
	isns_query_response_get_objects;
	isns_read_config;
	isns_read_initiatorname;
	isns_recv_message;
	isns_register_callback;
	isns_registration_add_object;
	isns_registration_add_object_list;
	isns_registration_response_get_objects;
	isns_registration_set_replace;
	isns_remove_pidfile;
	isns_run_timers;
	isns_scn_init;
	isns_scn_transmit_all;
	isns_security_init;
	isns_security_load_privkey;
	isns_security_load_pubkey;
	isns_security_set_identity;
	isns_security_set_keystore;
	isns_server_set_scn_callback;
	isns_simple_call;
	isns_simple_create;
	isns_simple_decode;
	isns_simple_encode;
	isns_simple_encode_response;
	isns_simple_free;
	isns_simple_get_attrs;
	isns_simple_get_source;
	isns_simple_print;
	isns_simple_response_get_objects;
	isns_simple_transmit;
	isns_socket_call;
	isns_socket_find_server;
	isns_socket_free;
	isns_socket_get_local_addr;
	isns_socket_get_portal_info;
	isns_socket_send;
	isns_socket_set_disconnect_fatal;
	isns_socket_set_report_failure;
	isns_socket_set_security_ctx;
	isns_source_attr;
	isns_source_create;
	isns_source_create_iscsi;
	isns_source_decode;
	isns_source_dummy;
	isns_source_encode;
	isns_source_from_object;
	isns_source_get;
	isns_source_match;
	isns_source_name;
	isns_source_pattern_match;
	isns_source_release;
	isns_source_set_entity;
	isns_source_set_node;
	isns_source_type;
	isns_storage_node_key_attr;
	isns_storage_node_name;
	isns_strerror;
	isns_string_array_append;
	isns_string_array_destroy;
	isns_tag_type_by_id;
	isns_unicast_event;
	isns_update_pidfile;
	isns_warning;
	isns_write_pidfile;

	/* Maybe these functions should be private? But they are
	 * referenced by public headers. */
	__buf_resize;
	buf_alloc;
	buf_clear;
	buf_close;
	buf_compact;
	buf_dup;
	buf_free;
	buf_get;
	buf_get32;
	buf_get64;
	buf_gets;
	buf_init;
	buf_init_empty;
	buf_list_append;
	buf_list_free;
	buf_open;
	buf_put;
	buf_put32;
	buf_put64;
	buf_putc;
	buf_puts;
	buf_seek;
	buf_set;
	buf_split;
	buf_truncate;
	parse_count;
	parse_double;
	parse_int;
	parse_longlong;
	parse_size;
	parse_timeout;
	parser_get_next_line;
	parser_get_next_word;
	parser_get_rest_of_line;
	parser_separators;
	parser_split_line;
	print_size;
local:
	/* Any function not explicitly declared as global in this file
	 * will be marked as hidden (like -fvisibility=hidden) and will
	 * not be able to be imported by programs using the library. */
	*;
};

LIBISNS_PRIVATE {
global:
	/* Private functions, not for general usage. */
	isns_create_db_keystore;
	isns_dsa_encode_public;
	isns_dsa_generate_key;
	isns_dsa_load_public;
	isns_dsa_store_private;
	isns_policy_template;
	isns_slp_build_url;
	isns_slp_register;
	isns_slp_unregister;
} LIBISNS_0.96;