#include<libphdi.h>
Support functions
constchar*libphdi_get_version(void);
intlibphdi_get_access_flags_read(void);
intlibphdi_get_access_flags_read_write(void);
intlibphdi_get_access_flags_write(void);
intlibphdi_get_codepage(int*codepage, libphdi_error_t**error);
intlibphdi_set_codepage(intcodepage, libphdi_error_t**error);
intlibphdi_check_file_signature(constchar*filename, libphdi_error_t**error);
Available when compiled with wide character string support:
intlibphdi_check_file_signature_wide(constwchar_t*filename, libphdi_error_t**error);
Available when compiled with libbfio support:
intlibphdi_check_file_signature_file_io_handle(libbfio_handle_t*file_io_handle, libphdi_error_t**error);
Notify functions
voidlibphdi_notify_set_verbose(intverbose);
intlibphdi_notify_set_stream(FILE*stream, libphdi_error_t**error);
intlibphdi_notify_stream_open(constchar*filename, libphdi_error_t**error);
intlibphdi_notify_stream_close(libphdi_error_t**error);
Error functions
voidlibphdi_error_free(libphdi_error_t**error);
intlibphdi_error_fprint(libphdi_error_t*error, FILE*stream);
intlibphdi_error_sprint(libphdi_error_t*error, char*string, size_tsize);
intlibphdi_error_backtrace_fprint(libphdi_error_t*error, FILE*stream);
intlibphdi_error_backtrace_sprint(libphdi_error_t*error, char*string, size_tsize);
Handle functions
intlibphdi_handle_initialize(libphdi_handle_t**handle, libphdi_error_t**error);
intlibphdi_handle_free(libphdi_handle_t**handle, libphdi_error_t**error);
intlibphdi_handle_signal_abort(libphdi_handle_t*handle, libphdi_error_t**error);
intlibphdi_handle_open(libphdi_handle_t*handle, constchar*filename, intaccess_flags,
libphdi_error_t**error);
intlibphdi_handle_open_extent_data_files(libphdi_handle_t*handle, libphdi_error_t**error);
intlibphdi_handle_close(libphdi_handle_t*handle, libphdi_error_t**error);
ssize_tlibphdi_handle_read_buffer(libphdi_handle_t*handle, void*buffer, size_tbuffer_size,
libphdi_error_t**error);
ssize_tlibphdi_handle_read_buffer_at_offset(libphdi_handle_t*handle, void*buffer, size_tbuffer_size,
off64_toffset, libphdi_error_t**error);
off64_tlibphdi_handle_seek_offset(libphdi_handle_t*handle, off64_toffset, intwhence,
libphdi_error_t**error);
intlibphdi_handle_get_offset(libphdi_handle_t*handle, off64_t*offset, libphdi_error_t**error);
intlibphdi_handle_set_maximum_number_of_open_handles(libphdi_handle_t*handle,
intmaximum_number_of_open_handles, libphdi_error_t**error);
intlibphdi_handle_set_extent_data_files_path(libphdi_handle_t*handle, constchar*path, size_tpath_length,
libphdi_error_t**error);
intlibphdi_handle_get_media_size(libphdi_handle_t*handle, size64_t*media_size, libphdi_error_t**error);
intlibphdi_handle_get_utf8_name_size(libphdi_handle_t*handle, size_t*utf8_string_size,
libphdi_error_t**error);
intlibphdi_handle_get_utf8_name(libphdi_handle_t*handle, uint8_t*utf8_string, size_tutf8_string_size,
libphdi_error_t**error);
intlibphdi_handle_get_utf16_name_size(libphdi_handle_t*handle, size_t*utf16_string_size,
libphdi_error_t**error);
intlibphdi_handle_get_utf16_name(libphdi_handle_t*handle, uint16_t*utf16_string, size_tutf16_string_size,
libphdi_error_t**error);
intlibphdi_handle_get_number_of_extents(libphdi_handle_t*handle, int*number_of_extents,
libphdi_error_t**error);
intlibphdi_handle_get_extent_descriptor_by_index(libphdi_handle_t*handle, intextent_index,
libphdi_extent_descriptor_t**extent_descriptor, libphdi_error_t**error);
intlibphdi_handle_get_number_of_snapshots(libphdi_handle_t*handle, int*number_of_snapshots,
libphdi_error_t**error);
intlibphdi_handle_get_snapshot_by_index(libphdi_handle_t*handle, intsnapshot_index,
libphdi_snapshot_t**snapshot, libphdi_error_t**error);
Available when compiled with wide character string support:
intlibphdi_handle_open_wide(libphdi_handle_t*handle, constwchar_t*filename, intaccess_flags,
libphdi_error_t**error);
intlibphdi_handle_set_extent_data_files_path_wide(libphdi_handle_t*handle, constwchar_t*path,
size_tpath_length, libphdi_error_t**error);
Available when compiled with libbfio support:
intlibphdi_handle_open_file_io_handle(libphdi_handle_t*handle, libbfio_handle_t*file_io_handle,
intaccess_flags, libphdi_error_t**error);
intlibphdi_handle_open_extent_data_files_file_io_pool(libphdi_handle_t*handle,
libbfio_pool_t*file_io_pool, libphdi_error_t**error);
Extent descriptor functions
intlibphdi_extent_descriptor_free(libphdi_extent_descriptor_t**extent_descriptor, libphdi_error_t**error);
intlibphdi_extent_descriptor_get_range(libphdi_extent_descriptor_t*extent_descriptor, off64_t*offset,
size64_t*size, libphdi_error_t**error);
intlibphdi_extent_descriptor_get_number_of_images(libphdi_extent_descriptor_t*extent_descriptor,
int*number_of_images, libphdi_error_t**error);
intlibphdi_extent_descriptor_get_image_descriptor_by_index(libphdi_extent_descriptor_t*extent_descriptor,
intimage_index, libphdi_image_descriptor_t**image_descriptor, libphdi_error_t**error);
Image descriptor functions
intlibphdi_image_descriptor_free(libphdi_image_descriptor_t**image_descriptor, libphdi_error_t**error);
intlibphdi_image_descriptor_get_type(libphdi_image_descriptor_t*image_descriptor, int*type,
libphdi_error_t**error);
intlibphdi_image_descriptor_get_utf8_filename_size(libphdi_image_descriptor_t*image_descriptor,
size_t*utf8_string_size, libphdi_error_t**error);
intlibphdi_image_descriptor_get_utf8_filename(libphdi_image_descriptor_t*image_descriptor,
uint8_t*utf8_string, size_tutf8_string_size, libphdi_error_t**error);
intlibphdi_image_descriptor_get_utf16_filename_size(libphdi_image_descriptor_t*image_descriptor,
size_t*utf16_string_size, libphdi_error_t**error);
intlibphdi_image_descriptor_get_utf16_filename(libphdi_image_descriptor_t*image_descriptor,
uint16_t*utf16_string, size_tutf16_string_size, libphdi_error_t**error);
Snapshot functions
intlibphdi_snapshot_free(libphdi_snapshot_t**snapshot, libphdi_error_t**error);
intlibphdi_snapshot_get_identifier(libphdi_snapshot_t*snapshot, uint8_t*guid_data, size_tguid_data_size,
libphdi_error_t**error);
intlibphdi_snapshot_get_parent_identifier(libphdi_snapshot_t*snapshot, uint8_t*guid_data,
size_tguid_data_size, libphdi_error_t**error);