Scroll to navigation

libfvalue(3) Library Functions Manual libfvalue(3)

NAME

libfvalue.hLibrary 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 () 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-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 libfvalue.h include file

April 4, 2019 libfvalue