table of contents
- Tumbleweed 20240414-1.3
- Leap-16.0
- Leap-15.6
| libcdata(3) | Library Functions Manual | libcdata(3) |
NAME¶
libcdata.h —
Library to support cross-platform C generic data
functions
SYNOPSIS¶
#include
<libcdata.h>
Support functions
const char *
libcdata_get_version(void);
Error functions
void
libcdata_error_free(libcdata_error_t
**error);
int
libcdata_error_fprint(libcdata_error_t
*error, FILE
*stream);
int
libcdata_error_sprint(libcdata_error_t
*error, char
*string, size_t
size);
int
libcdata_error_backtrace_fprint(libcdata_error_t
*error, FILE
*stream);
int
libcdata_error_backtrace_sprint(libcdata_error_t
*error, char
*string, size_t
size);
Array functions
int
libcdata_array_initialize(libcdata_array_t
**array, int
number_of_entries,
libcdata_error_t
**error);
int
libcdata_array_free(libcdata_array_t
**array, int
(*entry_free_function)( intptr_t **entry, libcdata_error_t **error ),
libcdata_error_t
**error);
int
libcdata_array_empty(libcdata_array_t
*array, int
(*entry_free_function)( intptr_t **entry, libcdata_error_t **error ),
libcdata_error_t
**error);
int
libcdata_array_clear(libcdata_array_t
*array, int
(*entry_free_function)( intptr_t **entry, libcdata_error_t **error ),
libcdata_error_t
**error);
int
libcdata_array_clone(libcdata_array_t
**destination_array,
libcdata_array_t
*source_array, int
(*entry_free_function)( intptr_t **entry, libcdata_error_t **error ),
int (*entry_clone_function)(
intptr_t **destination_entry, intptr_t *source_entry, libcdata_error_t
**error ),
libcdata_error_t
**error);
int
libcdata_array_resize(libcdata_array_t
*array, int
number_of_entries, int
(*entry_free_function)( intptr_t **entry, libcdata_error_t **error ),
libcdata_error_t
**error);
int
libcdata_array_reverse(libcdata_array_t
*array, libcdata_error_t
**error);
int
libcdata_array_get_number_of_entries(libcdata_array_t
*array, int
*number_of_entries,
libcdata_error_t
**error);
int
libcdata_array_get_entry_by_index(libcdata_array_t
*array, int
entry_index, intptr_t
**entry, libcdata_error_t
**error);
int
libcdata_array_get_entry_by_value(libcdata_array_t
*array, intptr_t
*entry, int
(*entry_compare_function)( intptr_t *first_entry, intptr_t *second_entry,
libcdata_error_t **error ),
intptr_t
**existing_entry,
libcdata_error_t
**error);
int
libcdata_array_set_entry_by_index(libcdata_array_t
*array, int
entry_index, intptr_t
*entry, libcdata_error_t
**error);
int
libcdata_array_prepend_entry(libcdata_array_t
*array, intptr_t
*entry, libcdata_error_t
**error);
int
libcdata_array_append_entry(libcdata_array_t
*array, int
*entry_index, intptr_t
*entry, libcdata_error_t
**error);
int
libcdata_array_insert_entry(libcdata_array_t
*array, int
*entry_index, intptr_t
*entry, int
(*entry_compare_function)( intptr_t *first_entry, intptr_t *second_entry,
libcdata_error_t **error ),
uint8_t insert_flags,
libcdata_error_t
**error);
int
libcdata_array_remove_entry(libcdata_array_t
*array, int
entry_index, intptr_t
**entry, libcdata_error_t
**error);
Balanced tree functions
int
libcdata_btree_initialize(libcdata_btree_t
**tree, int
maximum_number_of_sub_nodes,
libcdata_error_t
**error);
int
libcdata_btree_free(libcdata_btree_t
**tree, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
libcdata_error_t
**error);
int
libcdata_btree_get_number_of_values(libcdata_btree_t
*tree, int
*number_of_values,
libcdata_error_t
**error);
int
libcdata_btree_get_value_by_index(libcdata_btree_t
*tree, int
value_index, intptr_t
**value, libcdata_error_t
**error);
int
libcdata_btree_get_value_by_value(libcdata_btree_t
*tree, intptr_t
*value, int
(*value_compare_function)( intptr_t *first_value, intptr_t *second_value,
libcdata_error_t **error ),
libcdata_tree_node_t
**upper_node, intptr_t
**existing_value,
libcdata_error_t
**error);
int
libcdata_btree_insert_value(libcdata_btree_t
*tree, int
*value_index, intptr_t
*value, int
(*value_compare_function)( intptr_t *first_value, intptr_t *second_value,
libcdata_error_t **error ),
libcdata_tree_node_t
**upper_node, intptr_t
**existing_value,
libcdata_error_t
**error);
int
libcdata_btree_replace_value(libcdata_btree_t
*tree,
libcdata_tree_node_t
*upper_node, int
*value_index, intptr_t
*value, int
*replacement_value_index,
intptr_t
*replacement_value,
libcdata_error_t
**error);
int
libcdata_btree_remove_value(libcdata_btree_t
*tree,
libcdata_tree_node_t
*upper_node, int
*value_index, intptr_t
*value, libcdata_error_t
**error);
List functions
int
libcdata_list_initialize(libcdata_list_t
**list, libcdata_error_t
**error);
int
libcdata_list_free(libcdata_list_t
**list, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
libcdata_error_t
**error);
int
libcdata_list_empty(libcdata_list_t
*list, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
libcdata_error_t
**error);
int
libcdata_list_clone(libcdata_list_t
**destination_list,
libcdata_list_t
*source_list, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
int (*value_clone_function)(
intptr_t **destination_value, intptr_t *source_value, libcdata_error_t
**error ),
libcdata_error_t
**error);
int
libcdata_list_get_number_of_elements(libcdata_list_t
*list, int
*number_of_elements,
libcdata_error_t
**error);
int
libcdata_list_get_first_element(libcdata_list_t
*list,
libcdata_list_element_t
**element,
libcdata_error_t
**error);
int
libcdata_list_get_last_element(libcdata_list_t
*list,
libcdata_list_element_t
**element,
libcdata_error_t
**error);
int
libcdata_list_get_element_by_index(libcdata_list_t
*list, int
element_index,
libcdata_list_element_t
**element,
libcdata_error_t
**error);
int
libcdata_list_get_value_by_index(libcdata_list_t
*list, int
element_index, intptr_t
**value, libcdata_error_t
**error);
int
libcdata_list_prepend_element(libcdata_list_t
*list,
libcdata_list_element_t
*element,
libcdata_error_t
**error);
int
libcdata_list_prepend_value(libcdata_list_t
*list, intptr_t
*value, libcdata_error_t
**error);
int
libcdata_list_append_element(libcdata_list_t
*list,
libcdata_list_element_t
*element,
libcdata_error_t
**error);
int
libcdata_list_append_value(libcdata_list_t
*list, intptr_t
*value, libcdata_error_t
**error);
int
libcdata_list_insert_element(libcdata_list_t
*list,
libcdata_list_element_t
*element_to_insert, int
(*value_compare_function)( intptr_t *first, intptr_t *second,
libcdata_error_t **error ),
uint8_t insert_flags,
libcdata_error_t
**error);
int
libcdata_list_insert_element_with_existing(libcdata_list_t
*list,
libcdata_list_element_t
*element_to_insert, int
(*value_compare_function)( intptr_t *first, intptr_t *second,
libcdata_error_t **error ),
uint8_t insert_flags,
libcdata_list_element_t
**existing_element,
libcdata_error_t
**error);
int
libcdata_list_insert_value(libcdata_list_t
*list, intptr_t
*value, int
(*value_compare_function)( intptr_t *first, intptr_t *second,
libcdata_error_t **error ),
uint8_t insert_flags,
libcdata_error_t
**error);
int
libcdata_list_insert_value_with_existing(libcdata_list_t
*list, intptr_t
*value, int
(*value_compare_function)( intptr_t *first, intptr_t *second,
libcdata_error_t **error ),
uint8_t insert_flags,
intptr_t
**existing_value,
libcdata_error_t
**error);
int
libcdata_list_remove_element(libcdata_list_t
*list,
libcdata_list_element_t
*element_to_remove,
libcdata_error_t
**error);
List element functions
int
libcdata_list_element_initialize(libcdata_list_element_t
**element,
libcdata_error_t
**error);
int
libcdata_list_element_free(libcdata_list_element_t
**element, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
libcdata_error_t
**error);
int
libcdata_list_element_get_previous_element(libcdata_list_element_t
*element,
libcdata_list_element_t
**previous_element,
libcdata_error_t
**error);
int
libcdata_list_element_set_previous_element(libcdata_list_element_t
*element,
libcdata_list_element_t
*previous_element,
libcdata_error_t
**error);
int
libcdata_list_element_get_next_element(libcdata_list_element_t
*element,
libcdata_list_element_t
**next_element,
libcdata_error_t
**error);
int
libcdata_list_element_set_next_element(libcdata_list_element_t
*element,
libcdata_list_element_t
*next_element,
libcdata_error_t
**error);
int
libcdata_list_element_get_elements(libcdata_list_element_t
*element,
libcdata_list_element_t
**previous_element,
libcdata_list_element_t
**next_element,
libcdata_error_t
**error);
int
libcdata_list_element_set_elements(libcdata_list_element_t
*element,
libcdata_list_element_t
*previous_element,
libcdata_list_element_t
*next_element,
libcdata_error_t
**error);
int
libcdata_list_element_get_value(libcdata_list_element_t
*element, intptr_t
**value, libcdata_error_t
**error);
int
libcdata_list_element_set_value(libcdata_list_element_t
*element, intptr_t
*value, libcdata_error_t
**error);
Range list functions
int
libcdata_range_list_initialize(libcdata_range_list_t
**range_list,
libcdata_error_t
**error);
int
libcdata_range_list_free(libcdata_range_list_t
**range_list, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
libcdata_error_t
**error);
int
libcdata_range_list_empty(libcdata_range_list_t
*range_list, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
libcdata_error_t
**error);
int
libcdata_range_list_clone(libcdata_range_list_t
**destination_range_list,
libcdata_range_list_t
*source_range_list, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
int (*value_clone_function)(
intptr_t **destination_value, intptr_t *source_value, libcdata_error_t
**error ),
libcdata_error_t
**error);
int
libcdata_range_list_get_number_of_elements(libcdata_range_list_t
*range_list, int
*number_of_elements,
libcdata_error_t
**error);
int
libcdata_range_list_get_first_element(libcdata_range_list_t
*range_list,
libcdata_list_element_t
**element,
libcdata_error_t
**error);
int
libcdata_range_list_get_last_element(libcdata_range_list_t
*range_list,
libcdata_list_element_t
**element,
libcdata_error_t
**error);
int
libcdata_range_list_insert_range(libcdata_range_list_t
*range_list, uint64_t
range_start, uint64_t
range_size, intptr_t
*value, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
int (*value_merge_function)(
intptr_t *destination_value, intptr_t *source_value, libcdata_error_t
**error ),
libcdata_error_t
**error);
int
libcdata_range_list_insert_range_list(libcdata_range_list_t
*range_list,
libcdata_range_list_t
*source_range_list, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
int (*value_merge_function)(
intptr_t *destination_value, intptr_t *source_value, libcdata_error_t
**error ),
libcdata_error_t
**error);
int
libcdata_range_list_remove_range(libcdata_range_list_t
*range_list, uint64_t
range_start, uint64_t
range_size, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
int (*value_split_function)(
intptr_t **destination_value, intptr_t *source_value, uint64_t
split_range_offset, libcdata_error_t **error ),
libcdata_error_t
**error);
int
libcdata_range_list_get_range_by_index(libcdata_range_list_t
*range_list, int
element_index, uint64_t
*range_start, uint64_t
*range_size, intptr_t
**value, libcdata_error_t
**error);
int
libcdata_range_list_get_range_at_offset(libcdata_range_list_t
*range_list, uint64_t
range_offset, uint64_t
*range_start, uint64_t
*range_size, intptr_t
**value, libcdata_error_t
**error);
int
libcdata_range_list_range_is_present(libcdata_range_list_t
*range_list, uint64_t
range_start, uint64_t
range_size,
libcdata_error_t
**error);
int
libcdata_range_list_range_has_overlapping_range(libcdata_range_list_t
*range_list, uint64_t
range_start, uint64_t
range_size,
libcdata_error_t
**error);
int
libcdata_range_list_get_spanning_range(libcdata_range_list_t
*range_list, uint64_t
*range_start, uint64_t
*range_size,
libcdata_error_t
**error);
Tree node functions
int
libcdata_tree_node_initialize(libcdata_tree_node_t
**node, libcdata_error_t
**error);
int
libcdata_tree_node_free(libcdata_tree_node_t
**node, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
libcdata_error_t
**error);
int
libcdata_tree_node_empty(libcdata_tree_node_t
*node, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
libcdata_error_t
**error);
int
libcdata_tree_node_clone(libcdata_tree_node_t
**destination_node,
libcdata_tree_node_t
*source_node, int
(*value_free_function)( intptr_t **value, libcdata_error_t **error ),
int (*value_clone_function)(
intptr_t **destination_value, intptr_t *source_value, libcdata_error_t
**error ),
libcdata_error_t
**error);
int
libcdata_tree_node_get_value(libcdata_tree_node_t
*node, intptr_t
**value, libcdata_error_t
**error);
int
libcdata_tree_node_set_value(libcdata_tree_node_t
*node, intptr_t
*value, libcdata_error_t
**error);
int
libcdata_tree_node_get_parent_node(libcdata_tree_node_t
*node,
libcdata_tree_node_t
**parent_node,
libcdata_error_t
**error);
int
libcdata_tree_node_set_parent_node(libcdata_tree_node_t
*node,
libcdata_tree_node_t
*parent_node,
libcdata_error_t
**error);
int
libcdata_tree_node_get_previous_node(libcdata_tree_node_t
*node,
libcdata_tree_node_t
**previous_node,
libcdata_error_t
**error);
int
libcdata_tree_node_set_previous_node(libcdata_tree_node_t
*node,
libcdata_tree_node_t
*previous_node,
libcdata_error_t
**error);
int
libcdata_tree_node_get_next_node(libcdata_tree_node_t
*node,
libcdata_tree_node_t
**next_node,
libcdata_error_t
**error);
int
libcdata_tree_node_set_next_node(libcdata_tree_node_t
*node,
libcdata_tree_node_t
*next_node,
libcdata_error_t
**error);
int
libcdata_tree_node_get_nodes(libcdata_tree_node_t
*node,
libcdata_tree_node_t
**parent_node,
libcdata_tree_node_t
**previous_node,
libcdata_tree_node_t
**next_node,
libcdata_error_t
**error);
int
libcdata_tree_node_set_nodes(libcdata_tree_node_t
*node,
libcdata_tree_node_t
*parent_node,
libcdata_tree_node_t
*previous_node,
libcdata_tree_node_t
*next_node,
libcdata_error_t
**error);
int
libcdata_tree_node_get_first_sub_node(libcdata_tree_node_t
*node,
libcdata_tree_node_t
**first_sub_node,
libcdata_error_t
**error);
int
libcdata_tree_node_get_last_sub_node(libcdata_tree_node_t
*node,
libcdata_tree_node_t
**last_sub_node,
libcdata_error_t
**error);
int
libcdata_tree_node_append_node(libcdata_tree_node_t
*node,
libcdata_tree_node_t
*node_to_append,
libcdata_error_t
**error);
int
libcdata_tree_node_append_value(libcdata_tree_node_t
*node, intptr_t
*value, libcdata_error_t
**error);
int
libcdata_tree_node_insert_node(libcdata_tree_node_t
*node,
libcdata_tree_node_t
*node_to_insert, int
(*value_compare_function)( intptr_t *first_value, intptr_t *second_value,
libcdata_error_t **error ),
uint8_t insert_flags,
libcdata_error_t
**error);
int
libcdata_tree_node_insert_value(libcdata_tree_node_t
*node, intptr_t
*value, int
(*value_compare_function)( intptr_t *first_value, intptr_t *second_value,
libcdata_error_t **error ),
uint8_t insert_flags,
libcdata_error_t
**error);
int
libcdata_tree_node_replace_node(libcdata_tree_node_t
*node,
libcdata_tree_node_t
*replacement_node,
libcdata_error_t
**error);
int
libcdata_tree_node_remove_node(libcdata_tree_node_t
*node,
libcdata_tree_node_t
*sub_node_to_remove,
libcdata_error_t
**error);
int
libcdata_tree_node_get_number_of_sub_nodes(libcdata_tree_node_t
*node, int
*number_of_sub_nodes,
libcdata_error_t
**error);
int
libcdata_tree_node_get_sub_node_by_index(libcdata_tree_node_t
*node, int
sub_node_index,
libcdata_tree_node_t
**sub_node,
libcdata_error_t
**error);
int
libcdata_tree_node_get_leaf_node_list(libcdata_tree_node_t
*node, libcdata_list_t
**leaf_node_list,
libcdata_error_t
**error);
DESCRIPTION¶
The
libcdata_get_version()
function is used to retrieve the library version.
RETURN VALUES¶
Most of the functions return NULL or -1 on error, dependent on the return type. For the actual return values see "libcdata.h".
ENVIRONMENT¶
None
FILES¶
None
BUGS¶
Please report bugs of any kind on the project issue tracker: https://github.com/libyal/libcdata/issues
AUTHOR¶
These man pages are generated from "libcdata.h".
COPYRIGHT¶
Copyright (C) 2006-2024, Joachim Metz <joachim.metz@gmail.com>.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
SEE ALSO¶
the libcdata.h include file
| January 8, 2023 | libcdata |