#include<libfvde.h>
Support functions
constchar*libfvde_get_version(void);
intlibfvde_get_access_flags_read(void);
intlibfvde_get_codepage(int*codepage, libfvde_error_t**error);
intlibfvde_set_codepage(intcodepage, libfvde_error_t**error);
intlibfvde_check_volume_signature(constchar*filename, libfvde_error_t**error);
Available when compiled with wide character string support:
intlibfvde_check_volume_signature_wide(constwchar_t*filename, libfvde_error_t**error);
Available when compiled with libbfio support:
intlibfvde_check_volume_signature_file_io_handle(libbfio_handle_t*file_io_handle, libfvde_error_t**error);
Notify functions
voidlibfvde_notify_set_verbose(intverbose);
intlibfvde_notify_set_stream(FILE*stream, libfvde_error_t**error);
intlibfvde_notify_stream_open(constchar*filename, libfvde_error_t**error);
intlibfvde_notify_stream_close(libfvde_error_t**error);
Error functions
voidlibfvde_error_free(libfvde_error_t**error);
intlibfvde_error_fprint(libfvde_error_t*error, FILE*stream);
intlibfvde_error_sprint(libfvde_error_t*error, char*string, size_tsize);
intlibfvde_error_backtrace_fprint(libfvde_error_t*error, FILE*stream);
intlibfvde_error_backtrace_sprint(libfvde_error_t*error, char*string, size_tsize);
Volume functions
intlibfvde_volume_initialize(libfvde_volume_t**volume, libfvde_error_t**error);
intlibfvde_volume_free(libfvde_volume_t**volume, libfvde_error_t**error);
intlibfvde_volume_signal_abort(libfvde_volume_t*volume, libfvde_error_t**error);
intlibfvde_volume_open(libfvde_volume_t*volume, constchar*filename, intaccess_flags,
libfvde_error_t**error);
intlibfvde_volume_open_physical_volume_files(libfvde_volume_t*volume, char*constfilenames[],
intnumber_of_filenames, libfvde_error_t**error);
intlibfvde_volume_close(libfvde_volume_t*volume, libfvde_error_t**error);
intlibfvde_volume_read_encrypted_root_plist(libfvde_volume_t*volume, constchar*filename,
libfvde_error_t**error);
intlibfvde_volume_get_volume_group(libfvde_volume_t*volume, libfvde_volume_group_t**volume_group,
libfvde_error_t**error);
Available when compiled with wide character string support:
intlibfvde_volume_open_wide(libfvde_volume_t*volume, constwchar_t*filename, intaccess_flags,
libfvde_error_t**error);
intlibfvde_volume_open_physical_volume_files_wide(libfvde_volume_t*volume, wchar_t*constfilenames[],
intnumber_of_filenames, libfvde_error_t**error);
intlibfvde_volume_read_encrypted_root_plist_wide(libfvde_volume_t*volume, constwchar_t*filename,
libfvde_error_t**error);
Available when compiled with libbfio support:
intlibfvde_volume_open_file_io_handle(libfvde_volume_t*volume, libbfio_handle_t*file_io_handle,
intaccess_flags, libfvde_error_t**error);
intlibfvde_volume_open_physical_volume_files_file_io_pool(libfvde_volume_t*volume,
libbfio_pool_t*file_io_pool, libfvde_error_t**error);
intlibfvde_volume_read_encrypted_root_plist_file_io_handle(libfvde_volume_t*volume,
libbfio_handle_t*file_io_handle, libfvde_error_t**error);
Volume group functions
intlibfvde_volume_group_free(libfvde_volume_group_t**volume_group, libfvde_error_t**error);
intlibfvde_volume_group_get_identifier(libfvde_volume_group_t*volume_group, uint8_t*uuid_data,
size_tuuid_data_size, libfvde_error_t**error);
intlibfvde_volume_group_get_utf8_name_size(libfvde_volume_group_t*volume_group, size_t*utf8_string_size,
libfvde_error_t**error);
intlibfvde_volume_group_get_utf8_name(libfvde_volume_group_t*volume_group, uint8_t*utf8_string,
size_tutf8_string_size, libfvde_error_t**error);
intlibfvde_volume_group_get_utf16_name_size(libfvde_volume_group_t*volume_group, size_t*utf16_string_size,
libfvde_error_t**error);
intlibfvde_volume_group_get_utf16_name(libfvde_volume_group_t*volume_group, uint16_t*utf16_string,
size_tutf16_string_size, libfvde_error_t**error);
intlibfvde_volume_group_get_number_of_physical_volumes(libfvde_volume_group_t*volume_group,
int*number_of_physical_volumes, libfvde_error_t**error);
intlibfvde_volume_group_get_physical_volume_by_index(libfvde_volume_group_t*volume_group, intvolume_index,
libfvde_physical_volume_t**physical_volume, libfvde_error_t**error);
intlibfvde_volume_group_get_number_of_logical_volumes(libfvde_volume_group_t*volume_group,
int*number_of_logical_volumes, libfvde_error_t**error);
intlibfvde_volume_group_get_logical_volume_by_index(libfvde_volume_group_t*volume_group, intvolume_index,
libfvde_logical_volume_t**logical_volume, libfvde_error_t**error);
Physical volume functions
intlibfvde_physical_volume_free(libfvde_physical_volume_t**physical_volume, libfvde_error_t**error);
intlibfvde_physical_volume_get_identifier(libfvde_physical_volume_t*physical_volume, uint8_t*uuid_data,
size_tuuid_data_size, libfvde_error_t**error);
intlibfvde_physical_volume_get_encryption_method(libfvde_physical_volume_t*physical_volume,
uint32_t*encryption_method, libfvde_error_t**error);
intlibfvde_physical_volume_get_size(libfvde_physical_volume_t*physical_volume, size64_t*size,
libfvde_error_t**error);
Logical volume functions
intlibfvde_logical_volume_free(libfvde_logical_volume_t**logical_volume, libfvde_error_t**error);
intlibfvde_logical_volume_unlock(libfvde_logical_volume_t*logical_volume, libfvde_error_t**error);
ssize_tlibfvde_logical_volume_read_buffer(libfvde_logical_volume_t*logical_volume, void*buffer,
size_tbuffer_size, libfvde_error_t**error);
ssize_tlibfvde_logical_volume_read_buffer_at_offset(libfvde_logical_volume_t*logical_volume, void*buffer,
size_tbuffer_size, off64_toffset, libfvde_error_t**error);
off64_tlibfvde_logical_volume_seek_offset(libfvde_logical_volume_t*logical_volume, off64_toffset, intwhence,
libfvde_error_t**error);
intlibfvde_logical_volume_get_offset(libfvde_logical_volume_t*logical_volume, off64_t*offset,
libfvde_error_t**error);
intlibfvde_logical_volume_get_identifier(libfvde_logical_volume_t*logical_volume, uint8_t*uuid_data,
size_tuuid_data_size, libfvde_error_t**error);
intlibfvde_logical_volume_get_utf8_name_size(libfvde_logical_volume_t*logical_volume,
size_t*utf8_string_size, libfvde_error_t**error);
intlibfvde_logical_volume_get_utf8_name(libfvde_logical_volume_t*logical_volume, uint8_t*utf8_string,
size_tutf8_string_size, libfvde_error_t**error);
intlibfvde_logical_volume_get_utf16_name_size(libfvde_logical_volume_t*logical_volume,
size_t*utf16_string_size, libfvde_error_t**error);
intlibfvde_logical_volume_get_utf16_name(libfvde_logical_volume_t*logical_volume, uint16_t*utf16_string,
size_tutf16_string_size, libfvde_error_t**error);
intlibfvde_logical_volume_get_size(libfvde_logical_volume_t*logical_volume, size64_t*size,
libfvde_error_t**error);
intlibfvde_logical_volume_is_locked(libfvde_logical_volume_t*logical_volume, libfvde_error_t**error);
intlibfvde_logical_volume_set_key(libfvde_logical_volume_t*logical_volume,
constuint8_t*volume_master_key, size_tvolume_master_key_size, libfvde_error_t**error);
intlibfvde_logical_volume_set_utf8_password(libfvde_logical_volume_t*logical_volume,
constuint8_t*utf8_string, size_tutf8_string_length, libfvde_error_t**error);
intlibfvde_logical_volume_set_utf16_password(libfvde_logical_volume_t*logical_volume,
constuint16_t*utf16_string, size_tutf16_string_length, libfvde_error_t**error);
intlibfvde_logical_volume_set_utf8_recovery_password(libfvde_logical_volume_t*logical_volume,
constuint8_t*utf8_string, size_tutf8_string_length, libfvde_error_t**error);
intlibfvde_logical_volume_set_utf16_recovery_password(libfvde_logical_volume_t*logical_volume,
constuint16_t*utf16_string, size_tutf16_string_length, libfvde_error_t**error);
LVF encryption context and EncryptedRoot.plist file functions
intlibfvde_encryption_context_plist_initialize(libfvde_encryption_context_plist_t**plist,
libfvde_error_t**error);
intlibfvde_encryption_context_plist_free(libfvde_encryption_context_plist_t**plist,
libfvde_error_t**error);
intlibfvde_encryption_context_plist_get_data_size(libfvde_encryption_context_plist_t*plist,
size64_t*data_size, libfvde_error_t**error);
intlibfvde_encryption_context_plist_copy_data(libfvde_encryption_context_plist_t*plist, uint8_t*data,
size_tdata_size, libfvde_error_t**error);
intlibfvde_encryption_context_plist_decrypt(libfvde_encryption_context_plist_t*plist, constuint8_t*key,
size_tkey_bit_size, libfvde_error_t**error);
Available when compiled with libbfio support:
intlibfvde_encryption_context_plist_read_file_io_handle(libfvde_encryption_context_plist_t*plist,
libbfio_handle_t*file_io_handle, libfvde_error_t**error);