Base {
	global:
		dm_dir;
		dm_format_dev;
		dm_get_library_version;
		dm_get_next_target;
		dm_lib_exit;
		dm_lib_release;
		dm_log_init;
		dm_log_init_verbose;
		dm_set_dev_dir;
		dm_task_add_target;
		dm_task_create;
		dm_task_destroy;
		dm_task_get_deps;
		dm_task_get_driver_version;
		dm_task_get_info;
		dm_task_get_name;
		dm_task_get_names;
		dm_task_get_uuid;
		dm_task_get_versions;
		dm_task_run;
		dm_task_set_event_nr;
		dm_task_set_major;
		dm_task_set_message;
		dm_task_set_minor;
		dm_task_set_name;
		dm_task_set_newname;
		dm_task_set_ro;
		dm_task_set_sector;
		dm_task_set_uuid;
};

DEVMAPPER_1.01.01 {
	global:
		dm_task_no_open_count;
};

DEVMAPPER_1.02.02 {
	global:
		dm_bit_get_first;
		dm_bit_get_next;
		dm_bitset_create;
		dm_bitset_destroy;
		dm_bit_union;
		dm_bounds_check_debug;
		dm_driver_version;
		dm_dump_memory_debug;
		dm_free_aux;
		dm_hash_create;
		dm_hash_destroy;
		dm_hash_get_data;
		dm_hash_get_first;
		dm_hash_get_key;
		dm_hash_get_next;
		dm_hash_get_num_entries;
		dm_hash_insert;
		dm_hash_insert_binary;
		dm_hash_iter;
		dm_hash_lookup;
		dm_hash_lookup_binary;
		dm_hash_remove;
		dm_hash_remove_binary;
		dm_hash_wipe;
		dm_is_dm_major;
		dm_malloc_aux;
		dm_malloc_aux_debug;
		dm_mknodes;
		dm_pool_abandon_object;
		dm_pool_alloc;
		dm_pool_alloc_aligned;
		dm_pool_begin_object;
		dm_pool_create;
		dm_pool_destroy;
		dm_pool_empty;
		dm_pool_end_object;
		dm_pool_free;
		dm_pool_grow_object;
		dm_pool_strdup;
		dm_pool_strndup;
		dm_pool_zalloc;
		dm_realloc_aux;
		dm_set_selinux_context;
		dm_strdup;
		dm_task_skip_lockfs;
		dm_task_suppress_identical_reload;
		dm_task_update_nodes;
		dm_tree_activate_children;
		dm_tree_add_dev;
		dm_tree_add_new_dev;
		dm_tree_children_use_uuid;
		dm_tree_create;
		dm_tree_deactivate_children;
		dm_tree_find_node;
		dm_tree_find_node_by_uuid;
		dm_tree_free;
		dm_tree_next_child;
		dm_tree_next_parent;
		dm_tree_node_add_error_target;
		dm_tree_node_add_linear_target;
		dm_tree_node_add_mirror_target;
		dm_tree_node_add_mirror_target_log;
		dm_tree_node_add_snapshot_origin_target;
		dm_tree_node_add_snapshot_target;
		dm_tree_node_add_striped_target;
		dm_tree_node_add_target_area;
		dm_tree_node_add_zero_target;
		dm_tree_node_get_context;
		dm_tree_node_get_info;
		dm_tree_node_get_name;
		dm_tree_node_get_uuid;
		dm_tree_node_num_children;
		dm_tree_node_num_parents;
		dm_tree_preload_children;
		dm_tree_suspend_children;
};

DEVMAPPER_1.02.12 {
    global:
        dm_log;
        dm_snprintf;
        dm_split_lvm_name;
        dm_split_words;
        dm_strdup_aux;
        dm_task_no_flush;
        dm_task_set_geometry;
        dm_task_set_gid;
        dm_task_set_mode;
        dm_task_set_uid;
        dm_tree_skip_lockfs;
};


DEVMAPPER_1.02.15 {
    global:
        dm_asprintf;
        dm_basename;
        dm_report_field_int;
        dm_report_field_int32;
        dm_report_field_set_value;
        dm_report_field_string;
        dm_report_field_uint32;
        dm_report_field_uint64;
        dm_report_free;
        dm_report_init;
        dm_report_object;
        dm_report_output;
        dm_tree_use_no_flush_suspend;
};

DEVMAPPER_1.02.19 {
    global:
        dm_regex_create;
        dm_regex_match;
};

DEVMAPPER_1.02.22 {
    global:
        dm_create_dir;
        dm_fclose;
};

DEVMAPPER_1.02.24 {
    global:
        dm_task_get_read_ahead;
        dm_task_set_read_ahead;
        dm_tree_node_set_read_ahead;
};

DEVMAPPER_1.02.27 {
    global:
        dm_report_set_output_field_name_prefix;
};

DEVMAPPER_1.02.31 {
	global:
		dm_list_init;
		dm_list_add;
		dm_list_add_h;
		dm_list_del;
		dm_list_move;
		dm_list_empty;
		dm_list_start;
		dm_list_end;
		dm_list_first;
		dm_list_last;
		dm_list_prev;
		dm_list_next;
		dm_list_size;
};

DEVMAPPER_1.02.36 {
	global:
		dm_cookie_supported;
		dm_log_is_non_default;
		dm_log_with_errno;
		dm_log_with_errno_init;
		dm_task_set_cookie;
		dm_task_set_major_minor;
		dm_tree_get_cookie;
		dm_tree_node_add_crypt_target;
		dm_tree_node_size_changed;
		dm_tree_set_cookie;
		dm_udev_complete;
		dm_udev_get_sync_support;
		dm_udev_set_sync_support;
		dm_udev_wait;
};

DEVMAPPER_1.02.39 {
	global:
		dm_tree_add_new_dev_with_udev_flags;
};

DEVMAPPER_1.02.44 {
    global:
		dm_task_query_inactive_table;
		dm_tree_add_dev_with_udev_flags;
		dm_udev_create_cookie;
		dm_udev_get_checking;
		dm_udev_set_checking;
		dm_tree_node_add_snapshot_merge_target;
};

DEVMAPPER_1.02.54 {
    global:
		dm_bit_and;
		dm_bitset_equal;
		dm_create_lockfile;
		dm_regex_fingerprint;
		dm_tree_node_set_presuspend_node;
		dm_list_splice;
    local:
		*;
};

DEVMAPPER_1.02.56 {
    global:
		dm_zalloc_aux;
		dm_task_set_newuuid;
    local:
		*;
};

DEVMAPPER_1.02.60 {
    global:
		dm_prepare_selinux_context;
    local:
		*;
};

DEVMAPPER_1.02.62 {
    global:
                dm_task_set_add_node;
    local:
                *;
};
