#include<libregf.h>
Support functions
constchar*libregf_get_version(void);
intlibregf_get_access_flags_read(void);
intlibregf_get_codepage(int*codepage, libregf_error_t**error);
intlibregf_set_codepage(intcodepage, libregf_error_t**error);
intlibregf_check_file_signature(constchar*filename, libregf_error_t**error);
Available when compiled with wide character string support:
intlibregf_check_file_signature_wide(constwchar_t*filename, libregf_error_t**error);
Available when compiled with libbfio support:
intlibregf_check_file_signature_file_io_handle(libbfio_handle_t*bfio_handle, libregf_error_t**error);
Notify functions
voidlibregf_notify_set_verbose(intverbose);
intlibregf_notify_set_stream(FILE*stream, libregf_error_t**error);
intlibregf_notify_stream_open(constchar*filename, libregf_error_t**error);
intlibregf_notify_stream_close(libregf_error_t**error);
Error functions
voidlibregf_error_free(libregf_error_t**error);
intlibregf_error_fprint(libregf_error_t*error, FILE*stream);
intlibregf_error_sprint(libregf_error_t*error, char*string, size_tsize);
intlibregf_error_backtrace_fprint(libregf_error_t*error, FILE*stream);
intlibregf_error_backtrace_sprint(libregf_error_t*error, char*string, size_tsize);
File functions
intlibregf_file_initialize(libregf_file_t**file, libregf_error_t**error);
intlibregf_file_free(libregf_file_t**file, libregf_error_t**error);
intlibregf_file_signal_abort(libregf_file_t*file, libregf_error_t**error);
intlibregf_file_open(libregf_file_t*file, constchar*filename, intaccess_flags, libregf_error_t**error);
intlibregf_file_close(libregf_file_t*file, libregf_error_t**error);
intlibregf_file_is_corrupted(libregf_file_t*file, libregf_error_t**error);
intlibregf_file_get_ascii_codepage(libregf_file_t*file, int*ascii_codepage, libregf_error_t**error);
intlibregf_file_set_ascii_codepage(libregf_file_t*file, intascii_codepage, libregf_error_t**error);
intlibregf_file_get_format_version(libregf_file_t*file, uint32_t*major_version, uint32_t*minor_version,
libregf_error_t**error);
intlibregf_file_get_type(libregf_file_t*file, uint32_t*file_type, libregf_error_t**error);
intlibregf_file_get_root_key(libregf_file_t*file, libregf_key_t**key, libregf_error_t**error);
intlibregf_file_get_key_by_utf8_path(libregf_file_t*file, constuint8_t*utf8_string,
size_tutf8_string_length, libregf_key_t**key, libregf_error_t**error);
intlibregf_file_get_key_by_utf16_path(libregf_file_t*file, constuint16_t*utf16_string,
size_tutf16_string_length, libregf_key_t**key, libregf_error_t**error);
Available when compiled with wide character string support:
intlibregf_file_open_wide(libregf_file_t*file, constwchar_t*filename, intaccess_flags,
libregf_error_t**error);
Available when compiled with libbfio support:
intlibregf_file_open_file_io_handle(libregf_file_t*file, libbfio_handle_t*file_io_handle,
intaccess_flags, libregf_error_t**error);
Key functions
intlibregf_key_free(libregf_key_t**key, libregf_error_t**error);
intlibregf_key_is_corrupted(libregf_key_t*key, libregf_error_t**error);
intlibregf_key_get_offset(libregf_key_t*key, off64_t*offset, libregf_error_t**error);
intlibregf_key_get_name_size(libregf_key_t*key, size_t*name_size, libregf_error_t**error);
intlibregf_key_get_name(libregf_key_t*key, uint8_t*name, size_tname_size, libregf_error_t**error);
intlibregf_key_get_utf8_name_size(libregf_key_t*key, size_t*utf8_string_size, libregf_error_t**error);
intlibregf_key_get_utf8_name(libregf_key_t*key, uint8_t*utf8_string, size_tutf8_string_size,
libregf_error_t**error);
intlibregf_key_get_utf16_name_size(libregf_key_t*key, size_t*utf16_string_size, libregf_error_t**error);
intlibregf_key_get_utf16_name(libregf_key_t*key, uint16_t*utf16_string, size_tutf16_string_size,
libregf_error_t**error);
intlibregf_key_get_class_name_size(libregf_key_t*key, size_t*class_name_size, libregf_error_t**error);
intlibregf_key_get_class_name(libregf_key_t*key, uint8_t*class_name, size_tclass_name_size,
libregf_error_t**error);
intlibregf_key_get_utf8_class_name_size(libregf_key_t*key, size_t*utf8_string_size,
libregf_error_t**error);
intlibregf_key_get_utf8_class_name(libregf_key_t*key, uint8_t*utf8_string, size_tutf8_string_size,
libregf_error_t**error);
intlibregf_key_get_utf16_class_name_size(libregf_key_t*key, size_t*utf16_string_size,
libregf_error_t**error);
intlibregf_key_get_utf16_class_name(libregf_key_t*key, uint16_t*utf16_string, size_tutf16_string_size,
libregf_error_t**error);
intlibregf_key_get_last_written_time(libregf_key_t*key, uint64_t*filetime, libregf_error_t**error);
intlibregf_key_get_security_descriptor_size(libregf_key_t*key, size_t*security_descriptor_size,
libregf_error_t**error);
intlibregf_key_get_security_descriptor(libregf_key_t*key, uint8_t*security_descriptor,
size_tsecurity_descriptor_size, libregf_error_t**error);
intlibregf_key_get_number_of_values(libregf_key_t*key, int*number_of_values, libregf_error_t**error);
intlibregf_key_get_value_by_index(libregf_key_t*key, intvalue_index, libregf_value_t**value,
libregf_error_t**error);
intlibregf_key_get_value_by_utf8_name(libregf_key_t*key, constuint8_t*utf8_string,
size_tutf8_string_length, libregf_value_t**value, libregf_error_t**error);
intlibregf_key_get_value_by_utf16_name(libregf_key_t*key, constuint16_t*utf16_string,
size_tutf16_string_length, libregf_value_t**value, libregf_error_t**error);
intlibregf_key_get_number_of_sub_keys(libregf_key_t*key, int*number_of_sub_keys, libregf_error_t**error);
intlibregf_key_get_sub_key_by_index(libregf_key_t*key, intsub_key_index, libregf_key_t**sub_key,
libregf_error_t**error);
intlibregf_key_get_sub_key_by_utf8_name(libregf_key_t*key, constuint8_t*utf8_string,
size_tutf8_string_length, libregf_key_t**sub_key, libregf_error_t**error);
intlibregf_key_get_sub_key_by_utf8_path(libregf_key_t*key, constuint8_t*utf8_string,
size_tutf8_string_length, libregf_key_t**sub_key, libregf_error_t**error);
intlibregf_key_get_sub_key_by_utf16_name(libregf_key_t*key, constuint16_t*utf16_string,
size_tutf16_string_length, libregf_key_t**sub_key, libregf_error_t**error);
intlibregf_key_get_sub_key_by_utf16_path(libregf_key_t*key, constuint16_t*utf16_string,
size_tutf16_string_length, libregf_key_t**sub_key, libregf_error_t**error);
Value functions
intlibregf_value_free(libregf_value_t**value, libregf_error_t**error);
intlibregf_value_is_corrupted(libregf_value_t*value, libregf_error_t**error);
intlibregf_value_get_offset(libregf_value_t*value, off64_t*offset, libregf_error_t**error);
intlibregf_value_get_name_size(libregf_value_t*value, size_t*name_size, libregf_error_t**error);
intlibregf_value_get_name(libregf_value_t*value, uint8_t*name, size_tname_size, libregf_error_t**error);
intlibregf_value_get_utf8_name_size(libregf_value_t*value, size_t*utf8_string_size,
libregf_error_t**error);
intlibregf_value_get_utf8_name(libregf_value_t*value, uint8_t*utf8_string, size_tutf8_string_size,
libregf_error_t**error);
intlibregf_value_get_utf16_name_size(libregf_value_t*value, size_t*utf16_string_size,
libregf_error_t**error);
intlibregf_value_get_utf16_name(libregf_value_t*value, uint16_t*utf16_string, size_tutf16_string_size,
libregf_error_t**error);
intlibregf_value_get_value_type(libregf_value_t*value, uint32_t*value_type, libregf_error_t**error);
intlibregf_value_get_value_data_size(libregf_value_t*value, size_t*value_data_size,
libregf_error_t**error);
intlibregf_value_get_value_data(libregf_value_t*value, uint8_t*value_data, size_tvalue_data_size,
libregf_error_t**error);
intlibregf_value_get_value_32bit(libregf_value_t*value, uint32_t*value_32bit, libregf_error_t**error);
intlibregf_value_get_value_64bit(libregf_value_t*value, uint64_t*value_64bit, libregf_error_t**error);
intlibregf_value_get_value_utf8_string_size(libregf_value_t*value, size_t*utf8_string_size,
libregf_error_t**error);
intlibregf_value_get_value_utf8_string(libregf_value_t*value, uint8_t*utf8_string,
size_tutf8_string_size, libregf_error_t**error);
intlibregf_value_get_value_utf16_string_size(libregf_value_t*value, size_t*utf16_string_size,
libregf_error_t**error);
intlibregf_value_get_value_utf16_string(libregf_value_t*value, uint16_t*utf16_string,
size_tutf16_string_size, libregf_error_t**error);
intlibregf_value_get_value_binary_data_size(libregf_value_t*value, size_t*size, libregf_error_t**error);
intlibregf_value_get_value_binary_data(libregf_value_t*value, uint8_t*binary_data, size_tsize,
libregf_error_t**error);
intlibregf_value_get_value_multi_string(libregf_value_t*value, libregf_multi_string_t**multi_string,
libregf_error_t**error);
Multi string functions
intlibregf_multi_string_free(libregf_multi_string_t**multi_string, libregf_error_t**error);
intlibregf_multi_string_get_number_of_strings(libregf_multi_string_t*multi_string, int*number_of_strings,
libregf_error_t**error);
intlibregf_multi_string_get_utf8_string_size(libregf_multi_string_t*multi_string, intstring_index,
size_t*utf8_string_size, libregf_error_t**error);
intlibregf_multi_string_get_utf8_string(libregf_multi_string_t*multi_string, intstring_index,
uint8_t*utf8_string, size_tutf8_string_size, libregf_error_t**error);
intlibregf_multi_string_get_utf16_string_size(libregf_multi_string_t*multi_string, intstring_index,
size_t*utf16_string_size, libregf_error_t**error);
intlibregf_multi_string_get_utf16_string(libregf_multi_string_t*multi_string, intstring_index,
uint16_t*utf16_string, size_tutf16_string_size, libregf_error_t**error);