table of contents
libfvalue(3) | Library Functions Manual | libfvalue(3) |
NAME¶
libfvalue.h
—
Library to support various format value types
SYNOPSIS¶
#include
<libfvalue.h>
Support functions
const char *
libfvalue_get_version
(void);
Error functions
void
libfvalue_error_free
(libfvalue_error_t
**error);
int
libfvalue_error_fprint
(libfvalue_error_t
*error, FILE
*stream);
int
libfvalue_error_sprint
(libfvalue_error_t
*error, char
*string, size_t
size);
int
libfvalue_error_backtrace_fprint
(libfvalue_error_t
*error, FILE
*stream);
int
libfvalue_error_backtrace_sprint
(libfvalue_error_t
*error, char
*string, size_t
size);
Data handle functions
int
libfvalue_data_handle_initialize
(libfvalue_data_handle_t
**data_handle, int
(*read_value_entries)( libfvalue_data_handle_t *data_handle, const uint8_t
*data, size_t data_size, int encoding, uint32_t data_flags,
libfvalue_error_t **error ),
libfvalue_error_t
**error);
int
libfvalue_data_handle_free
(libfvalue_data_handle_t
**data_handle,
libfvalue_error_t
**error);
int
libfvalue_data_handle_clone
(libfvalue_data_handle_t
**destination_data_handle,
libfvalue_data_handle_t
*source_data_handle,
libfvalue_error_t
**error);
int
libfvalue_data_handle_clear
(libfvalue_data_handle_t
*data_handle,
libfvalue_error_t
**error);
int
libfvalue_data_handle_get_data
(libfvalue_data_handle_t
*data_handle, uint8_t
**data, size_t
*data_size, int
*encoding,
libfvalue_error_t
**error);
int
libfvalue_data_handle_set_data
(libfvalue_data_handle_t
*data_handle, const
uint8_t *data, size_t
data_size, int
encoding, uint8_t
flags, libfvalue_error_t
**error);
int
libfvalue_data_handle_get_data_flags
(libfvalue_data_handle_t
*data_handle, uint32_t
*data_flags,
libfvalue_error_t
**error);
int
libfvalue_data_handle_set_data_flags
(libfvalue_data_handle_t
*data_handle, uint32_t
data_flags,
libfvalue_error_t
**error);
int
libfvalue_data_handle_get_number_of_value_entries
(libfvalue_data_handle_t
*data_handle, int
*number_of_value_entries,
libfvalue_error_t
**error);
int
libfvalue_data_handle_get_value_entry_data
(libfvalue_data_handle_t
*data_handle, int
value_entry_index,
uint8_t
**value_entry_data,
size_t
*value_entry_data_size,
int *encoding,
libfvalue_error_t
**error);
int
libfvalue_data_handle_set_value_entry_data
(libfvalue_data_handle_t
*data_handle, int
value_entry_index, const
uint8_t *value_entry_data,
size_t
value_entry_data_size,
int encoding,
libfvalue_error_t
**error);
int
libfvalue_data_handle_append_value_entry_data
(libfvalue_data_handle_t
*data_handle, int
*value_entry_index, const
uint8_t *value_entry_data,
size_t
value_entry_data_size,
int encoding,
libfvalue_error_t
**error);
Integer functions
int
libfvalue_string_size_from_integer
(size_t
*string_size, uint64_t
integer_value, size_t
integer_value_size,
uint32_t
string_format_flags,
libfvalue_error_t
**error);
int
libfvalue_utf8_string_copy_from_integer
(uint8_t
*utf8_string, size_t
utf8_string_size,
uint64_t integer_value,
size_t
integer_value_size,
uint32_t
string_format_flags,
libfvalue_error_t
**error);
int
libfvalue_utf8_string_with_index_copy_from_integer
(uint8_t
*utf8_string, size_t
utf8_string_size, size_t
*utf8_string_index,
uint64_t integer_value,
size_t
integer_value_size,
uint32_t
string_format_flags,
libfvalue_error_t
**error);
int
libfvalue_utf8_string_copy_to_integer
(const
uint8_t *utf8_string,
size_t
utf8_string_length,
uint64_t *integer_value,
size_t
integer_value_size,
uint32_t
string_format_flags,
libfvalue_error_t
**error);
int
libfvalue_utf8_string_with_index_copy_to_integer
(const
uint8_t *utf8_string,
size_t
utf8_string_length,
size_t
*utf8_string_index,
uint64_t *integer_value,
size_t
integer_value_size,
uint32_t
string_format_flags,
libfvalue_error_t
**error);
int
libfvalue_utf16_string_copy_from_integer
(uint16_t
*utf16_string, size_t
utf16_string_size,
uint64_t integer_value,
size_t
integer_value_size,
uint32_t
string_format_flags,
libfvalue_error_t
**error);
int
libfvalue_utf16_string_with_index_copy_from_integer
(uint16_t
*utf16_string, size_t
utf16_string_size, size_t
*utf16_string_index,
uint64_t integer_value,
size_t
integer_value_size,
uint32_t
string_format_flags,
libfvalue_error_t
**error);
int
libfvalue_utf16_string_copy_to_integer
(const
uint16_t *utf16_string,
size_t
utf16_string_length,
uint64_t *integer_value,
size_t
integer_value_size,
uint32_t
string_format_flags,
libfvalue_error_t
**error);
int
libfvalue_utf16_string_with_index_copy_to_integer
(const
uint16_t *utf16_string,
size_t
utf16_string_length,
size_t
*utf16_string_index,
uint64_t *integer_value,
size_t
integer_value_size,
uint32_t
string_format_flags,
libfvalue_error_t
**error);
int
libfvalue_utf32_string_copy_from_integer
(uint32_t
*utf32_string, size_t
utf32_string_size,
uint64_t integer_value,
size_t
integer_value_size,
uint32_t
string_format_flags,
libfvalue_error_t
**error);
int
libfvalue_utf32_string_with_index_copy_from_integer
(uint32_t
*utf32_string, size_t
utf32_string_size, size_t
*utf32_string_index,
uint64_t integer_value,
size_t
integer_value_size,
uint32_t
string_format_flags,
libfvalue_error_t
**error);
int
libfvalue_utf32_string_copy_to_integer
(const
uint32_t *utf32_string,
size_t
utf32_string_length,
uint64_t *integer_value,
size_t
integer_value_size,
uint32_t
string_format_flags,
libfvalue_error_t
**error);
int
libfvalue_utf32_string_with_index_copy_to_integer
(const
uint32_t *utf32_string,
size_t
utf32_string_length,
size_t
*utf32_string_index,
uint64_t *integer_value,
size_t
integer_value_size,
uint32_t
string_format_flags,
libfvalue_error_t
**error);
UTF-8 string functions
int
libfvalue_utf8_string_split
(const
uint8_t *utf8_string,
size_t utf8_string_size,
uint8_t delimiter,
libfvalue_split_utf8_string_t
**split_string,
libfvalue_error_t
**error);
Split UTF-8 string functions
int
libfvalue_split_utf8_string_free
(libfvalue_split_utf8_string_t
**split_string,
libfvalue_error_t
**error);
int
libfvalue_split_utf8_string_get_string
(libfvalue_split_utf8_string_t
*split_string, uint8_t
**utf8_string, size_t
*utf8_string_size,
libfvalue_error_t
**error);
int
libfvalue_split_utf8_string_get_number_of_segments
(libfvalue_split_utf8_string_t
*split_string, int
*number_of_segments,
libfvalue_error_t
**error);
int
libfvalue_split_utf8_string_get_segment_by_index
(libfvalue_split_utf8_string_t
*split_string, int
segment_index, uint8_t
**utf8_string_segment,
size_t
*utf8_string_segment_size,
libfvalue_error_t
**error);
int
libfvalue_split_utf8_string_set_segment_by_index
(libfvalue_split_utf8_string_t
*split_string, int
segment_index, uint8_t
*utf8_string_segment,
size_t
utf8_string_segment_size,
libfvalue_error_t
**error);
UTF-16 string functions
int
libfvalue_utf16_string_split
(const
uint16_t *utf16_string,
size_t utf16_string_size,
uint16_t delimiter,
libfvalue_split_utf16_string_t
**split_string,
libfvalue_error_t
**error);
Split UTF-16 string functions
int
libfvalue_split_utf16_string_free
(libfvalue_split_utf16_string_t
**split_string,
libfvalue_error_t
**error);
int
libfvalue_split_utf16_string_get_string
(libfvalue_split_utf16_string_t
*split_string, uint16_t
**utf16_string, size_t
*utf16_string_size,
libfvalue_error_t
**error);
int
libfvalue_split_utf16_string_get_number_of_segments
(libfvalue_split_utf16_string_t
*split_string, int
*number_of_segments,
libfvalue_error_t
**error);
int
libfvalue_split_utf16_string_get_segment_by_index
(libfvalue_split_utf16_string_t
*split_string, int
segment_index, uint16_t
**utf16_string_segment,
size_t
*utf16_string_segment_size,
libfvalue_error_t
**error);
int
libfvalue_split_utf16_string_set_segment_by_index
(libfvalue_split_utf16_string_t
*split_string, int
segment_index, uint16_t
*utf16_string_segment,
size_t
utf16_string_segment_size,
libfvalue_error_t
**error);
Table functions
int
libfvalue_table_initialize
(libfvalue_table_t
**table, int
number_of_values,
libfvalue_error_t
**error);
int
libfvalue_table_free
(libfvalue_table_t
**table,
libfvalue_error_t
**error);
int
libfvalue_table_empty
(libfvalue_table_t
*table, libfvalue_error_t
**error);
int
libfvalue_table_resize
(libfvalue_table_t
*table, int
number_of_values,
libfvalue_error_t
**error);
int
libfvalue_table_clone
(libfvalue_table_t
**destination_table,
libfvalue_table_t
*source_table,
libfvalue_error_t
**error);
int
libfvalue_table_get_number_of_values
(libfvalue_table_t
*table, int
*number_of_values,
libfvalue_error_t
**error);
int
libfvalue_table_get_index_by_identifier
(libfvalue_table_t
*table, const uint8_t
*identifier, size_t
identifier_size, int
*value_index, uint8_t
flags, libfvalue_error_t
**error);
int
libfvalue_table_get_value_by_index
(libfvalue_table_t
*table, int
value_index,
libfvalue_value_t
**value,
libfvalue_error_t
**error);
int
libfvalue_table_get_value_by_identifier
(libfvalue_table_t
*table, const uint8_t
*identifier, size_t
identifier_size,
libfvalue_value_t
**value, uint8_t
flags, libfvalue_error_t
**error);
int
libfvalue_table_set_value_by_index
(libfvalue_table_t
*table, int
value_index,
libfvalue_value_t *value,
libfvalue_error_t
**error);
int
libfvalue_table_set_value
(libfvalue_table_t
*table, libfvalue_value_t
*value, libfvalue_error_t
**error);
int
libfvalue_table_copy_from_utf8_xml_string
(libfvalue_table_t
*table, const uint8_t
*utf8_string, size_t
utf8_string_size, const
uint8_t *table_name,
size_t table_name_length,
libfvalue_error_t
**error);
Value functions
int
libfvalue_value_initialize
(libfvalue_value_t
**value, const char
*type_string, const char
*type_description,
libfvalue_data_handle_t
*data_handle, int
(*initialize_instance)( intptr_t **instance, libfvalue_error_t **error
), int (*free_instance)(
intptr_t **instance, libfvalue_error_t **error ),
int (*clone_instance)( intptr_t
**destination_instance, intptr_t *source_instance, libfvalue_error_t **error
), int
(*copy_from_byte_stream)( intptr_t *instance, const uint8_t *byte_stream,
size_t byte_stream_size, int encoding, libfvalue_error_t **error ),
int (*copy_to_byte_stream)(
intptr_t *instance, uint8_t *byte_stream, size_t byte_stream_size, int
encoding, libfvalue_error_t **error ),
int (*copy_from_integer)(
intptr_t *instance, uint64_t integer_value, size_t integer_value_size,
libfvalue_error_t **error ),
int (*copy_to_integer)(
intptr_t *instance, uint64_t *integer_value, size_t *integer_value_size,
libfvalue_error_t **error ),
int
(*copy_from_floating_point)( intptr_t *instance, double
floating_point_value, size_t floating_point_value_size, libfvalue_error_t
**error ), int
(*copy_to_floating_point)( intptr_t *instance, double *floating_point_value,
size_t *floating_point_value_size, libfvalue_error_t **error ),
int
(*copy_from_utf8_string_with_index)( intptr_t *instance, const uint8_t
*utf8_string, size_t utf8_string_length, size_t *utf8_string_index, uint32_t
string_format_flags, libfvalue_error_t **error ),
int (*get_utf8_string_size)(
intptr_t *instance, size_t *utf8_string_size, uint32_t string_format_flags,
libfvalue_error_t **error ),
int
(*copy_to_utf8_string_with_index)( intptr_t *instance, uint8_t *utf8_string,
size_t utf8_string_size, size_t *utf8_string_index, uint32_t
string_format_flags, libfvalue_error_t **error ),
int
(*copy_from_utf16_string_with_index)( intptr_t *instance, const uint16_t
*utf16_string, size_t utf16_string_length, size_t *utf16_string_index,
uint32_t string_format_flags, libfvalue_error_t **error ),
int (*get_utf16_string_size)(
intptr_t *instance, size_t *utf16_string_size, uint32_t string_format_flags,
libfvalue_error_t **error ),
int
(*copy_to_utf16_string_with_index)( intptr_t *instance, uint16_t
*utf16_string, size_t utf16_string_size, size_t *utf16_string_index,
uint32_t string_format_flags, libfvalue_error_t **error ),
int
(*copy_from_utf32_string_with_index)( intptr_t *instance, const uint32_t
*utf32_string, size_t utf32_string_length, size_t *utf32_string_index,
uint32_t string_format_flags, libfvalue_error_t **error ),
int (*get_utf32_string_size)(
intptr_t *instance, size_t *utf32_string_size, uint32_t string_format_flags,
libfvalue_error_t **error ),
int
(*copy_to_utf32_string_with_index)( intptr_t *instance, uint32_t
*utf32_string, size_t utf32_string_size, size_t *utf32_string_index,
uint32_t string_format_flags, libfvalue_error_t **error ),
uint8_t flags,
libfvalue_error_t
**error);
int
libfvalue_value_free
(libfvalue_value_t
**value,
libfvalue_error_t
**error);
int
libfvalue_value_clone
(libfvalue_value_t
**destination_value,
libfvalue_value_t
*source_value,
libfvalue_error_t
**error);
int
libfvalue_value_clear
(libfvalue_value_t
*value, libfvalue_error_t
**error);
int
libfvalue_value_get_type
(libfvalue_value_t
*value, int
*value_type,
libfvalue_error_t
**error);
int
libfvalue_value_get_identifier
(libfvalue_value_t
*value, uint8_t
**identifier, size_t
*identifier_size,
libfvalue_error_t
**error);
int
libfvalue_value_set_identifier
(libfvalue_value_t
*value, const uint8_t
*identifier, size_t
identifier_size, uint8_t
flags, libfvalue_error_t
**error);
int
libfvalue_value_get_data_flags
(libfvalue_value_t
*value, uint32_t
*data_flags,
libfvalue_error_t
**error);
int
libfvalue_value_set_data_flags
(libfvalue_value_t
*value, uint32_t
data_flags,
libfvalue_error_t
**error);
int
libfvalue_value_has_data
(libfvalue_value_t
*value, libfvalue_error_t
**error);
int
libfvalue_value_initialize_data
(libfvalue_value_t
*value, size_t
data_size,
libfvalue_error_t
**error);
int
libfvalue_value_get_data_size
(libfvalue_value_t
*value, size_t
*data_size,
libfvalue_error_t
**error);
int
libfvalue_value_get_data
(libfvalue_value_t
*value, uint8_t
**data, size_t
*data_size, int
*encoding,
libfvalue_error_t
**error);
int
libfvalue_value_set_data
(libfvalue_value_t
*value, const uint8_t
*data, size_t
data_size, int
encoding, uint8_t
flags, libfvalue_error_t
**error);
int
libfvalue_value_copy_data
(libfvalue_value_t
*value, uint8_t
*data, size_t
data_size,
libfvalue_error_t
**error);
int
libfvalue_value_get_format_flags
(libfvalue_value_t
*value, uint32_t
*format_flags,
libfvalue_error_t
**error);
int
libfvalue_value_set_format_flags
(libfvalue_value_t
*value, uint32_t
format_flags,
libfvalue_error_t
**error);
int
libfvalue_value_get_number_of_value_entries
(libfvalue_value_t
*value, int
*number_of_value_entries,
libfvalue_error_t
**error);
int
libfvalue_value_get_entry_data
(libfvalue_value_t
*value, int
value_entry_index,
uint8_t **entry_data,
size_t *entry_data_size,
int *encoding,
libfvalue_error_t
**error);
int
libfvalue_value_set_entry_data
(libfvalue_value_t
*value, int
value_entry_index, const
uint8_t *entry_data,
size_t entry_data_size,
int encoding,
libfvalue_error_t
**error);
int
libfvalue_value_append_entry_data
(libfvalue_value_t
*value, int
*value_entry_index, const
uint8_t *entry_data,
size_t entry_data_size,
int encoding,
libfvalue_error_t
**error);
int
libfvalue_value_copy_from_boolean
(libfvalue_value_t
*value, int
value_entry_index,
uint8_t value_boolean,
libfvalue_error_t
**error);
int
libfvalue_value_copy_to_boolean
(libfvalue_value_t
*value, int
value_entry_index,
uint8_t *value_boolean,
libfvalue_error_t
**error);
int
libfvalue_value_copy_from_8bit
(libfvalue_value_t
*value, int
value_entry_index,
uint8_t value_8bit,
libfvalue_error_t
**error);
int
libfvalue_value_copy_to_8bit
(libfvalue_value_t
*value, int
value_entry_index,
uint8_t *value_8bit,
libfvalue_error_t
**error);
int
libfvalue_value_copy_from_16bit
(libfvalue_value_t
*value, int
value_entry_index,
uint16_t value_16bit,
libfvalue_error_t
**error);
int
libfvalue_value_copy_to_16bit
(libfvalue_value_t
*value, int
value_entry_index,
uint16_t *value_16bit,
libfvalue_error_t
**error);
int
libfvalue_value_copy_from_32bit
(libfvalue_value_t
*value, int
value_entry_index,
uint32_t value_32bit,
libfvalue_error_t
**error);
int
libfvalue_value_copy_to_32bit
(libfvalue_value_t
*value, int
value_entry_index,
uint32_t *value_32bit,
libfvalue_error_t
**error);
int
libfvalue_value_copy_from_64bit
(libfvalue_value_t
*value, int
value_entry_index,
uint64_t value_64bit,
libfvalue_error_t
**error);
int
libfvalue_value_copy_to_64bit
(libfvalue_value_t
*value, int
value_entry_index,
uint64_t *value_64bit,
libfvalue_error_t
**error);
int
libfvalue_value_copy_from_float
(libfvalue_value_t
*value, int
value_entry_index, float
value_float,
libfvalue_error_t
**error);
int
libfvalue_value_copy_to_float
(libfvalue_value_t
*value, int
value_entry_index, float
*value_float,
libfvalue_error_t
**error);
int
libfvalue_value_copy_from_double
(libfvalue_value_t
*value, int
value_entry_index, double
value_double,
libfvalue_error_t
**error);
int
libfvalue_value_copy_to_double
(libfvalue_value_t
*value, int
value_entry_index, double
*value_double,
libfvalue_error_t
**error);
int
libfvalue_value_copy_from_utf8_string
(libfvalue_value_t
*value, int
value_entry_index, const
uint8_t *utf8_string,
size_t
utf8_string_length,
libfvalue_error_t
**error);
int
libfvalue_value_get_utf8_string_size
(libfvalue_value_t
*value, int
value_entry_index, size_t
*utf8_string_size,
libfvalue_error_t
**error);
int
libfvalue_value_copy_to_utf8_string
(libfvalue_value_t
*value, int
value_entry_index,
uint8_t *utf8_string,
size_t utf8_string_size,
libfvalue_error_t
**error);
int
libfvalue_value_copy_to_utf8_string_with_index
(libfvalue_value_t
*value, int
value_entry_index,
uint8_t *utf8_string,
size_t utf8_string_size,
size_t
*utf8_string_index,
libfvalue_error_t
**error);
int
libfvalue_value_copy_from_utf16_string
(libfvalue_value_t
*value, int
value_entry_index, const
uint16_t *utf16_string,
size_t
utf16_string_length,
libfvalue_error_t
**error);
int
libfvalue_value_get_utf16_string_size
(libfvalue_value_t
*value, int
value_entry_index, size_t
*utf16_string_size,
libfvalue_error_t
**error);
int
libfvalue_value_copy_to_utf16_string
(libfvalue_value_t
*value, int
value_entry_index,
uint16_t *utf16_string,
size_t utf16_string_size,
libfvalue_error_t
**error);
int
libfvalue_value_copy_to_utf16_string_with_index
(libfvalue_value_t
*value, int
value_entry_index,
uint16_t *utf16_string,
size_t utf16_string_size,
size_t
*utf16_string_index,
libfvalue_error_t
**error);
int
libfvalue_value_copy_from_utf32_string
(libfvalue_value_t
*value, int
value_entry_index, const
uint32_t *utf32_string,
size_t
utf32_string_length,
libfvalue_error_t
**error);
int
libfvalue_value_get_utf32_string_size
(libfvalue_value_t
*value, int
value_entry_index, size_t
*utf32_string_size,
libfvalue_error_t
**error);
int
libfvalue_value_copy_to_utf32_string
(libfvalue_value_t
*value, int
value_entry_index,
uint32_t *utf32_string,
size_t utf32_string_size,
libfvalue_error_t
**error);
int
libfvalue_value_copy_to_utf32_string_with_index
(libfvalue_value_t
*value, int
value_entry_index,
uint32_t *utf32_string,
size_t utf32_string_size,
size_t
*utf32_string_index,
libfvalue_error_t
**error);
ssize_t
libfvalue_value_read_from_file_stream
(libfvalue_value_t
*value, FILE
*file_stream,
libfvalue_error_t
**error);
ssize_t
libfvalue_value_write_to_file_stream
(libfvalue_value_t
*value, FILE
*file_stream,
libfvalue_error_t
**error);
Value type functions
int
libfvalue_value_type_initialize
(libfvalue_value_t
**value, int type,
libfvalue_error_t
**error);
int
libfvalue_value_type_initialize_with_data_handle
(libfvalue_value_t
**value, int type,
libfvalue_data_handle_t
*data_handle, uint8_t
flags, libfvalue_error_t
**error);
ssize_t
libfvalue_value_type_set_data_string
(libfvalue_value_t
*value, const uint8_t
*data, size_t
data_size, int
encoding, uint8_t
flags, libfvalue_error_t
**error);
ssize_t
libfvalue_value_type_append_data_string
(libfvalue_value_t
*value, const uint8_t
*data, size_t
data_size, int
encoding,
libfvalue_error_t
**error);
ssize_t
libfvalue_value_type_set_data_strings_array
(libfvalue_value_t
*value, const uint8_t
*data, size_t
data_size, int
encoding,
libfvalue_error_t
**error);
DESCRIPTION¶
The
libfvalue_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 "libfvalue.h".
ENVIRONMENT¶
None
FILES¶
None
BUGS¶
Please report bugs of any kind on the project issue tracker: https://github.com/libyal/libfvalue/issues
AUTHOR¶
These man pages are generated from "libfvalue.h".
COPYRIGHT¶
Copyright (C) 2010-2022, 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 libfvalue.h include file
April 4, 2019 | libfvalue |