libewf.h(3) Library to access the Expert Witness Compression Format (EWF) file format

LIBRARY

Lb libewf

SYNOPSIS

In libewf.h

Support functions Ft const char * Fn libewf_get_version void Ft int Fn libewf_get_access_flags_read Ft int Fn libewf_get_access_flags_read_write Ft int Fn libewf_get_access_flags_write Ft int Fn libewf_get_access_flags_write_resume Ft int Fn libewf_get_codepage int *codepage, libewf_error_t **error Ft int Fn libewf_set_codepage int codepage, libewf_error_t **error Ft int Fn libewf_check_file_signature const char *filename, libewf_error_t **error Ft int Fn libewf_glob const char *filename, size_t filename_length, uint8_t format, char **filenames[], int *number_of_filenames, libewf_error_t **error Ft int Fn libewf_glob_free char *filenames[], int number_of_filenames, libewf_error_t **error

Available when compiled with wide character string support: Ft int Fn libewf_check_file_signature_wide const wchar_t *filename, libewf_error_t **error Ft int Fn libewf_glob_wide const wchar_t *filename, size_t filename_length, uint8_t format, wchar_t **filenames[], int *number_of_filenames, libewf_error_t **error Ft int Fn libewf_glob_wide_free wchar_t *filenames[], int number_of_filenames, libewf_error_t **error

Available when compiled with libbfio support: Ft int Fn libewf_check_file_signature_file_io_handle libbfio_handle_t *file_io_handle, libewf_error_t **error

Notify functions Ft void Fn libewf_notify_set_verbose int verbose Ft int Fn libewf_notify_set_stream FILE *stream, libewf_error_t **error Ft int Fn libewf_notify_stream_open const char *filename, libewf_error_t **error Ft int Fn libewf_notify_stream_close libewf_error_t **error

Error functions Ft void Fn libewf_error_free libewf_error_t **error Ft int Fn libewf_error_fprint libewf_error_t *error, FILE *stream Ft int Fn libewf_error_sprint libewf_error_t *error, char *string, size_t size Ft int Fn libewf_error_backtrace_fprint libewf_error_t *error, FILE *stream Ft int Fn libewf_error_backtrace_sprint libewf_error_t *error, char *string, size_t size

File/Handle functions Ft int Fn libewf_handle_initialize libewf_handle_t **handle, libewf_error_t **error Ft int Fn libewf_handle_free libewf_handle_t **handle, libewf_error_t **error Ft int Fn libewf_handle_signal_abort libewf_handle_t *handle, libewf_error_t **error Ft int Fn libewf_handle_clone libewf_handle_t **destination_handle, libewf_handle_t *source_handle, libewf_error_t **error Ft int Fn libewf_handle_open libewf_handle_t *handle, char * const filenames[], int number_of_filenames, int access_flags, libewf_error_t **error Ft int Fn libewf_handle_close libewf_handle_t *handle, libewf_error_t **error Ft ssize_t Fn libewf_handle_prepare_read_chunk libewf_handle_t *handle, void *chunk_buffer, size_t chunk_buffer_size, void *uncompressed_chunk_buffer, size_t *uncompressed_chunk_buffer_size, int8_t is_compressed, uint32_t chunk_checksum, int8_t chunk_io_flags, libewf_error_t **error Ft ssize_t Fn libewf_handle_read_chunk libewf_handle_t *handle, void *chunk_buffer, size_t chunk_buffer_size, int8_t *is_compressed, void *checksum_buffer, uint32_t *chunk_checksum, int8_t *chunk_io_flags, libewf_error_t **error Ft ssize_t Fn libewf_handle_read_buffer libewf_handle_t *handle, void *buffer, size_t buffer_size, libewf_error_t **error Ft ssize_t Fn libewf_handle_read_random libewf_handle_t *handle, void *buffer, size_t buffer_size, off64_t offset, libewf_error_t **error Ft ssize_t Fn libewf_handle_prepare_write_chunk libewf_handle_t *handle, void *chunk_buffer, size_t chunk_buffer_size, void *compressed_chunk_buffer, size_t *compressed_chunk_buffer_size, int8_t *is_compressed, uint32_t *chunk_checksum, int8_t *chunk_io_flags, libewf_error_t **error Ft ssize_t Fn libewf_handle_write_chunk libewf_handle_t *handle, void *chunk_buffer, size_t chunk_buffer_size, size_t data_size, int8_t is_compressed, const void *checksum_buffer, uint32_t chunk_checksum, int8_t chunk_io_flags, libewf_error_t **error Ft ssize_t Fn libewf_handle_write_buffer libewf_handle_t *handle, const void *buffer, size_t buffer_size, libewf_error_t **error Ft ssize_t Fn libewf_handle_write_random libewf_handle_t *handle, const void *buffer, size_t buffer_size, off64_t offset, libewf_error_t **error Ft ssize_t Fn libewf_handle_write_finalize libewf_handle_t *handle, libewf_error_t **error Ft off64_t Fn libewf_handle_seek_offset libewf_handle_t *handle, off64_t offset, int whence, libewf_error_t **error Ft off64_t Fn libewf_handle_get_offset libewf_handle_t *handle, libewf_error_t **error Ft int Fn libewf_handle_set_maximum_number_of_open_handles libewf_handle_t *handle, int maximum_number_of_open_handles, libewf_error_t **error Ft int Fn libewf_handle_get_segment_filename_size libewf_handle_t *handle, size_t *filename_size, libewf_error_t **error Ft int Fn libewf_handle_get_segment_filename libewf_handle_t *handle, char *filename, size_t filename_size, libewf_error_t **error Ft int Fn libewf_handle_set_segment_filename libewf_handle_t *handle, const char *filename, size_t filename_length, libewf_error_t **error Ft int Fn libewf_handle_set_maximum_segment_size libewf_handle_t *handle, size64_t *maximum_segment_size, libewf_error_t **error Ft int Fn libewf_handle_set_maximum_segment_size libewf_handle_t *handle, size64_t maximum_segment_size, libewf_error_t **error Ft int Fn libewf_handle_get_delta_segment_filename_size libewf_handle_t *handle, size_t *filename_size, libewf_error_t **error Ft int Fn libewf_handle_get_delta_segment_filename libewf_handle_t *handle, char *filename, size_t filename_size, libewf_error_t **error Ft int Fn libewf_handle_set_delta_segment_filename libewf_handle_t *handle, const char *filename, size_t filename_length, libewf_error_t **error Ft int Fn libewf_handle_get_maximum_delta_segment_size libewf_handle_t *handle, size64_t *maximum_delta_segment_size, libewf_error_t **error Ft int Fn libewf_handle_set_maximum_delta_segment_size libewf_handle_t *handle, size64_t maximum_delta_segment_size, libewf_error_t **error Ft int Fn libewf_handle_segment_files_corrupted libewf_handle_t *handle, libewf_error_t **error Ft int Fn libewf_handle_segment_files_encrypted libewf_handle_t *handle, libewf_error_t **error Ft int Fn libewf_handle_get_filename_size libewf_handle_t *handle, size_t *filename_size, libewf_error_t **error Ft int Fn libewf_handle_get_filename libewf_handle_t *handle, char *filename, size_t filename_size, libewf_error_t **error

Available when compiled with wide character string support: Ft int Fn libewf_handle_open_wide libewf_handle_t *handle, wchar_t * const filenames[], int number_of_filenames, int access_flags, libewf_error_t **error Ft int Fn libewf_handle_get_segment_filename_size_wide libewf_handle_t *handle, size_t *filename_size, libewf_error_t **error Ft int Fn libewf_handle_get_segment_filename_wide libewf_handle_t *handle, wchar_t *filename, size_t filename_size, libewf_error_t **error Ft int Fn libewf_handle_set_segment_filename_wide libewf_handle_t *handle, const wchar_t *filename, size_t filename_length, libewf_error_t **error Ft int Fn libewf_handle_get_delta_segment_filename_size_wide libewf_handle_t *handle, size_t *filename_size, libewf_error_t **error Ft int Fn libewf_handle_get_delta_segment_filename_wide libewf_handle_t *handle, wchar_t *filename, size_t filename_size, libewf_error_t **error Ft int Fn libewf_handle_set_delta_segment_filename_wide libewf_handle_t *handle, const wchar_t *filename, size_t filename_length, libewf_error_t **error Ft int Fn libewf_handle_get_filename_size_wide libewf_handle_t *handle, size_t *filename_size, libewf_error_t **error Ft int Fn libewf_handle_get_filename_wide libewf_handle_t *handle, wchar_t *filename, size_t filename_size, libewf_error_t **error

Available when compiled with libbfio support: Ft int Fn libewf_handle_open_file_io_pool libewf_handle_t *handle, libbfio_pool_t *file_io_pool, int access_flags, libewf_error_t **error Ft int Fn libewf_handle_get_file_io_handle libewf_handle_t *handle, libbfio_handle_t **file_io_handle, libewf_error_t **error

Meta data functions Ft int Fn libewf_handle_get_sectors_per_chunk libewf_handle_t *handle, uint32_t *sectors_per_chunk, libewf_error_t **error Ft int Fn libewf_handle_set_sectors_per_chunk libewf_handle_t *handle, uint32_t sectors_per_chunk, libewf_error_t **error Ft int Fn libewf_handle_get_bytes_per_sector libewf_handle_t *handle, uint32_t *bytes_per_sector, libewf_error_t **error Ft int Fn libewf_handle_set_bytes_per_sector libewf_handle_t *handle, uint32_t bytes_per_sector, libewf_error_t **error Ft int Fn libewf_handle_get_number_of_sectors libewf_handle_t *handle, uint64_t *number_of_sectors, libewf_error_t **error Ft int Fn libewf_handle_get_chunk_size libewf_handle_t *handle, size32_t *chunk_size, libewf_error_t **error, libewf_error_t **error Ft int Fn libewf_handle_get_error_granularity libewf_handle_t *handle, uint32_t *error_granularity, libewf_error_t **error Ft int Fn libewf_handle_set_error_granularity libewf_handle_t *handle, uint32_t error_granularity, libewf_error_t **error Ft int Fn libewf_handle_get_compression_method libewf_handle_t *handle, uint16_t *compression_method, libewf_error_t **error Ft int Fn libewf_handle_set_compression_method libewf_handle_t *handle, uint16_t compression_method, libewf_error_t **error Ft int Fn libewf_handle_get_compression_values libewf_handle_t *handle, int8_t *compression_level, uint8_t *compression_flags, libewf_error_t **error Ft int Fn libewf_handle_set_compression_values libewf_handle_t *handle, int8_t compression_level, uint8_t compression_flags, libewf_error_t **error Ft int Fn libewf_handle_get_media_size libewf_handle_t *handle, size64_t *media_size, libewf_error_t **error Ft int Fn libewf_handle_set_media_size libewf_handle_t *handle, size64_t media_size, libewf_error_t **error Ft int Fn libewf_handle_get_media_type libewf_handle_t *handle, uint8_t *media_type, libewf_error_t **error Ft int Fn libewf_handle_set_media_type libewf_handle_t *handle, uint8_t media_type, libewf_error_t **error Ft int Fn libewf_handle_get_media_flags libewf_handle_t *handle, uint8_t *media_flags, libewf_error_t **error Ft int Fn libewf_handle_set_media_flags libewf_handle_t *handle, uint8_t media_flags, libewf_error_t **error Ft int Fn libewf_handle_get_format libewf_handle_t *handle, uint8_t* format, libewf_error_t **error Ft int Fn libewf_handle_set_format libewf_handle_t *handle, uint8_t format, libewf_error_t **error Ft int Fn libewf_handle_get_segment_file_version libewf_handle_t *handle, uint8_t *major_version, uint8_t *minor_version, libewf_error_t **error Ft int Fn libewf_handle_get_segment_file_set_identifier libewf_handle_t *handle, uint8_t *set_identifier, size_t size, libewf_error_t **error Ft int Fn libewf_handle_set_segment_file_set_identifier libewf_handle_t *handle, uint8_t *set_identifier, size_t size, libewf_error_t **error Ft int Fn libewf_handle_get_md5_hash libewf_handle_t *handle, uint8_t *md5_hash, size_t size, libewf_error_t **error Ft int Fn libewf_handle_set_md5_hash libewf_handle_t *handle, const uint8_t *md5_hash, size_t size, libewf_error_t **error Ft int Fn libewf_handle_get_sha1_hash libewf_handle_t *handle, uint8_t *sha1_hash, size_t size, libewf_error_t **error Ft int Fn libewf_handle_set_sha1_hash libewf_handle_t *handle, const uint8_t *sha1_hash, size_t size, libewf_error_t **error Ft int Fn libewf_handle_set_read_zero_chunk_on_error libewf_handle_t *handle, uint8_t zero_on_error, libewf_error_t **error Ft int Fn libewf_handle_copy_media_values libewf_handle_t *destination_handle, libewf_handle_t *source_handle, libewf_error_t **error Ft int Fn libewf_handle_get_number_of_acquiry_errors libewf_handle_t *handle, uint32_t *number_of_errors, libewf_error_t **error Ft int Fn libewf_handle_get_acquiry_error libewf_handle_t *handle, uint32_t index, uint64_t *start_sector, uint64_t *number_of_sectors, libewf_error_t **error Ft int Fn libewf_handle_append_acquiry_error libewf_handle_t *handle, uint64_t start_sector, uint64_t number_of_sectors, libewf_error_t **error Ft int Fn libewf_handle_get_number_of_checksum_errors libewf_handle_t *handle, uint32_t *number_of_errors, libewf_error_t **error Ft int Fn libewf_handle_get_checksum_error libewf_handle_t *handle, uint32_t index, uint64_t *start_sector, uint64_t *number_of_sectors, libewf_error_t **error Ft int Fn libewf_handle_append_checksum_error libewf_handle_t *handle, uint64_t start_sector, uint64_t number_of_sectors, libewf_error_t **error Ft int Fn libewf_handle_get_number_of_sessions libewf_handle_t *handle, uint32_t *number_of_sessions, libewf_error_t **error Ft int Fn libewf_handle_get_session libewf_handle_t *handle, uint32_t index, uint64_t *start_sector, uint64_t *number_of_sectors, libewf_error_t **error Ft int Fn libewf_handle_append_session libewf_handle_t *handle, uint64_t start_sector, uint64_t number_of_sectors, libewf_error_t **error Ft int Fn libewf_handle_get_number_of_tracks libewf_handle_t *handle, uint32_t *number_of_tracks, libewf_error_t **error Ft int Fn libewf_handle_get_track libewf_handle_t *handle, uint32_t index, uint64_t *start_sector, uint64_t *number_of_sectors, libewf_error_t **error Ft int Fn libewf_handle_append_track libewf_handle_t *handle, uint64_t start_sector, uint64_t number_of_sectors, libewf_error_t **error Ft int Fn libewf_handle_get_header_codepage libewf_handle_t *handle, int *codepage, libewf_error_t **error Ft int Fn libewf_handle_set_header_codepage libewf_handle_t *handle, int codepage, libewf_error_t **error Ft int Fn libewf_handle_get_header_values_data_format libewf_handle_t *handle, int date_format, libewf_error_t **error Ft int Fn libewf_handle_set_header_values_data_format libewf_handle_t *handle, int date_format, libewf_error_t **error Ft int Fn libewf_handle_get_number_of_header_values libewf_handle_t *handle, uint32_t *number_of_values, libewf_error_t **error Ft int Fn libewf_handle_get_header_value_identifier_size libewf_handle_t *handle, uint32_t index, size_t *identifier_size, libewf_error_t **error Ft int Fn libewf_handle_get_header_value_identifier libewf_handle_t *handle, uint32_t index, uint8_t *identifier, size_t identifier_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_header_value_size libewf_handle_t *handle, const uint8_t *identifier, size_t identifier_length, size_t *utf8_string_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_header_value libewf_handle_t *handle, const uint8_t *identifier, size_t identifier_length, uint8_t *utf8_string, size_t utf8_string_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_header_value_case_number libewf_handle_t *handle, uint8_t *value, size_t value_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_header_value_description libewf_handle_t *handle, uint8_t *value, size_t value_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_header_value_examiner_name libewf_handle_t *handle, uint8_t *value, size_t value_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_header_value_evidence_number libewf_handle_t *handle, uint8_t *value, size_t value_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_header_value_notes libewf_handle_t *handle, uint8_t *value, size_t value_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_header_value_acquiry_date libewf_handle_t *handle, uint8_t *value, size_t value_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_header_value_system_date libewf_handle_t *handle, uint8_t *value, size_t value_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_header_value_acquiry_operating_system libewf_handle_t *handle, uint8_t *value, size_t value_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_header_value_acquiry_software_version libewf_handle_t *handle, uint8_t *value, size_t value_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_header_value_password libewf_handle_t *handle, uint8_t *value, size_t value_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_header_value_compression_level libewf_handle_t *handle, uint8_t *value, size_t value_size, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_header_value libewf_handle_t *handle, const uint8_t *identifier, const uint8_t *utf8_string, size_t utf8_string_length Ft int Fn libewf_handle_set_utf8_header_value_case_number libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_header_value_description libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_header_value_examiner_name libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_header_value_evidence_number libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_header_value_notes libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_header_value_acquiry_date libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_header_value_system_date libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_header_value_acquiry_operating_system libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_header_value_acquiry_software_version libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_header_value_password libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_header_value_compression_level libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_header_value_model libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_header_value_serial_number libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_get_utf16_header_value_size libewf_handle_t *handle, const uint8_t *identifier, size_t identifier_length, size_t *utf16_string_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf16_header_value libewf_handle_t *handle, const uint8_t *identifier, size_t identifier_length, uint16_t *utf16_string, size_t utf16_string_size, libewf_error_t **error Ft int Fn libewf_handle_set_utf16_header_value libewf_handle_t *handle, const uint8_t *identifier, const uint16_t *utf16_string, size_t utf16_string_length Ft int Fn libewf_handle_copy_header_values libewf_handle_t *destination_handle, libewf_handle_t *source_handle, libewf_error_t **error Ft int Fn libewf_handle_get_number_of_hash_values libewf_handle_t *handle, uint32_t *number_of_values, libewf_error_t **error Ft int Fn libewf_handle_get_hash_value_identifier_size libewf_handle_t *handle, uint32_t index, size_t *identifier_size, libewf_error_t **error Ft int Fn libewf_handle_get_hash_value_identifier libewf_handle_t *handle, uint32_t index, uint8_t *identifier, size_t identifier_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_hash_value_size libewf_handle_t *handle, const uint8_t *identifier, size_t identifier_length, size_t *utf8_string_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_hash_value libewf_handle_t *handle, const uint8_t *identifier, size_t identifier_length, uint8_t *utf8_string, size_t utf8_string_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_hash_value_md5 libewf_handle_t *handle, uint8_t *value, size_t value_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf8_hash_value_sha1 libewf_handle_t *handle, uint8_t *value, size_t value_size, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_hash_value libewf_handle_t *handle, const uint8_t *identifier, size_t identifier_length, const uint8_t *utf8_string, size_t utf8_string_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_hash_value_md5 libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_set_utf8_hash_value_sha1 libewf_handle_t *handle, const uint8_t *value, size_t value_length, libewf_error_t **error Ft int Fn libewf_handle_get_utf16_hash_value_size libewf_handle_t *handle, const uint8_t *identifier, size_t identifier_length, size_t *utf16_string_size, libewf_error_t **error Ft int Fn libewf_handle_get_utf16_hash_value libewf_handle_t *handle, const uint8_t *identifier, size_t identifier_length, uint16_t *utf16_string, size_t utf16_string_size, libewf_error_t **error Ft int Fn libewf_handle_set_utf16_hash_value libewf_handle_t *handle, const uint8_t *identifier, size_t identifier_length, const uint16_t *utf16_string, size_t utf16_string_length, libewf_error_t **error Ft int libewf_handle_get_root_file_entry libewf_handle_t *handle, libewf_file_entry_t **root_file_entry, libewf_error_t **error Ft int libewf_file_get_file_entry_by_utf8_path libewf_handle_t *handle, const uint8_t *utf8_string, size_t utf8_string_length, libewf_file_entry_t **file_entry, libewf_error_t **error Ft int libewf_file_get_file_entry_by_utf16_path libewf_handle_t *handle, const uint16_t *utf16_string, size_t utf16_string_length, libewf_file_entry_t **file_entry, libewf_error_t **error

Single file entry functions Ft int Fn libewf_file_entry_free libewf_file_entry_t **file_entry, libewf_error_t **error Ft int Fn libewf_file_entry_get_type libewf_file_entry_t *file_entry, uint8_t *type, libewf_error_t **error Ft int Fn libewf_file_entry_get_flags libewf_file_entry_t *file_entry, uint32_t *flags, libewf_error_t **error Fn int Ft libewf_file_entry_get_media_data_offset libewf_file_entry_t *file_entry, off64_t *media_data_offset, libewf_error_t **error Fn int Ft libewf_file_entry_get_media_data_size libewf_file_entry_t *file_entry, size64_t *media_data_size, libewf_error_t **error Fn int Ft libewf_file_entry_get_duplicate_media_data_offset libewf_file_entry_t *file_entry, off64_t *duplicate_media_data_offset, libewf_error_t **error Ft int Fn libewf_file_entry_get_utf8_name_size libewf_file_entry_t *file_entry, size_t *utf8_string_size, libewf_error_t **error Ft int Fn libewf_file_entry_get_utf8_name libewf_file_entry_t *file_entry, uint8_t *utf8_string, size_t utf8_string_size, libewf_error_t **error Ft int Fn libewf_file_entry_get_utf16_name_size libewf_file_entry_t *file_entry, size_t *utf16_string_size, libewf_error_t **error Ft int Fn libewf_file_entry_get_utf16_name libewf_file_entry_t *file_entry, uint16_t *utf16_string, size_t utf16_string_size, libewf_error_t **error Ft int Fn libewf_file_entry_get_size libewf_file_entry_t *file_entry, size64_t *size, libewf_error_t **error Ft int Fn libewf_file_entry_get_creation_time libewf_file_entry_t *file_entry, uint32_t *creation_time, libewf_error_t **error Ft int Fn libewf_file_entry_get_modification_time libewf_file_entry_t *file_entry, uint32_t *modification_time, libewf_error_t **error Ft int Fn libewf_file_entry_get_access_time libewf_file_entry_t *file_entry, uint32_t *access_time, libewf_error_t **error Ft int Fn libewf_file_entry_get_entry_modification_time libewf_file_entry_t *file_entry, uint32_t *entry_modification_time, libewf_error_t **error Ft int Fn libewf_file_entry_get_utf8_hash_value_md5 libewf_file_entry_t *file_entry, uint8_t *utf8_string, size_t utf8_string_size, libewf_error_t **error Ft int Fn libewf_file_entry_get_utf16_hash_value_md5 libewf_file_entry_t *file_entry, uint8_t *utf16_string, size_t utf16_string_size, libewf_error_t **error Ft int Fn libewf_file_entry_get_utf8_hash_value_sha1 libewf_file_entry_t *file_entry, uint8_t *utf8_string, size_t utf8_string_size, libewf_error_t **error Ft int Fn libewf_file_entry_get_utf16_hash_value_sha1 libewf_file_entry_t *file_entry, uint8_t *utf16_string, size_t utf16_string_size, libewf_error_t **error Ft ssize_t Fn libewf_file_entry_read_buffer libewf_file_entry_t *file_entry, void *buffer, size_t buffer_size, libewf_error_t **error Ft ssize_t Fn libewf_file_entry_read_random libewf_file_entry_t *file_entry, void *buffer, size_t buffer_size, off64_t offset, libewf_error_t **error Ft off64_t Fn libewf_file_entry_seek_offset libewf_file_entry_t *file_entry, off64_t offset, int whence, libewf_error_t **error Ft int Fn libewf_file_entry_get_offset libewf_file_entry_t *file_entry, off64_t *offset, libewf_error_t **error Ft int Fn libewf_file_entry_get_number_of_sub_file_entries libewf_file_entry_t *file_entry, int *number_of_sub_file_entries, libewf_error_t **error Ft int Fn libewf_file_entry_get_sub_file_entry libewf_file_entry_t *file_entry, int sub_file_entry_index, libewf_file_entry_t **sub_file_entry, libewf_error_t **error Ft int Fn libewf_file_entry_get_sub_file_entry_by_utf8_name libewf_file_entry_t *file_entry, const uint8_t *utf8_string, size_t utf8_string_length, libewf_file_entry_t **sub_file_entry, libewf_error_t **error Ft int Fn libewf_file_entry_get_sub_file_entry_by_utf8_path libewf_file_entry_t *file_entry, const uint8_t *utf8_string, size_t utf8_string_length, libewf_file_entry_t **sub_file_entry, libewf_error_t **error Ft int Fn libewf_file_entry_get_sub_file_entry_by_utf16_name libewf_file_entry_t *file_entry, const uint16_t *utf16_string, size_t utf16_string_length, libewf_file_entry_t **sub_file_entry, libewf_error_t **error Ft int Fn libewf_file_entry_get_sub_file_entry_by_utf16_path libewf_file_entry_t *file_entry, const uint16_t *utf16_string, size_t utf16_string_length, libewf_file_entry_t **sub_file_entry, libewf_error_t **error

DESCRIPTION

The Fn libewf_get_version function is used to retrieve the library version.

The Fn libewf_get_flags_* functions are used to get the values of the flags for read and/or write.

The Fn libewf_check_file_signature and Fn libewf_check_file_signature_wide functions are used to test if the EWF file signature is present within a certain filename.

The Fn libewf_glob and Fn libewf_glob_wide functions glob filenames using the filename and the format according to the EWF segment file naming schema. If the format is known the filename should contain the base of the filename otherwise the function will try to determine the format based on the extension.

The Fn libewf_handle_signal_abort function signals the handle to aborts it current activity.

The Fn libewf_handle_open , Fn libewf_handle_open_wide , Fn libewf_handle_close , Fn libewf_handle_read_buffer , Fn libewf_handle_read_random , Fn libewf_handle_write_buffer , Fn libewf_handle_write_random , Fn libewf_handle_seek_offset functions can be used to open, seek in, read from, write to and close a set of EWF files.

The Fn libewf_handle_write_finalize function needs to be called after writing a set of EWF files without knowing the input size upfront, e.g. reading from a pipe. Fn libewf_handle_write_finalize will the necessary correction to the set of EWF files.

The Fn libewf_handle_prepare_read_chunk , Fn libewf_handle_read_chunk functions can be used to read chunks to a set of EWF files.

The Fn libewf_handle_prepare_write_chunk , Fn libewf_handle_write_chunk functions can be used to write chunks to a set of EWF files.

The Fn libewf_handle_get_* functions can be used to retrieve information from the handle. This information is read from a set of EWF files when Fn libewf_handle_open or Fn libewf_handle_open_wide is used.

The Fn libewf_handle_set_* functions can be used to set information in the handle. This information is written to a set of EWF files when Fn libewf_handle_write_buffer is used.

The Fn libewf_handle_append_acquiry_error function can be used to append an acquiry error (a read error during acquiry) to be written into a set of EWF files.

The Fn libewf_handle_append_checksum_error function can be used to append an Adler-32 checksum error (a validation error in a chunk in a set of EWF files) to be set in the handle.

The Fn libewf_handle_append_session function can be used to append a sesssion to be written into a set of EWF files. Note that the only the start offset is stored in a set of EWF files. Libewf ignores the number of sectors on write and determines the session sizes using the available session and media information on read.

The Fn libewf_handle_copy_* functions copy information from the source_handle to the destination_handle.

The Fn libewf_notify_set_verbose , Fn libewf_notify_set_stream functions can be used to direct the warning, verbose and debug output from the library.

RETURN VALUES

Most of the functions return NULL or -1 on error, dependent on the return type. For the actual return values refer to libewf.h

To determine the cause of an error pass a reference to libewf_error_t *error = NULL. libewf will create an error object that must be freed with the libewf_error_free function. If the error reference is NULL libewf will not create an error object.

ENVIRONMENT

None

FILES

None

NOTES

libewf supports both UTF-8 and UTF-16 encoded strings except for filenames. Some platforms like WINAPI require wide character support for Unicode filenames. To compile libewf with wide character support use ./configure --enable-wide-character-type=yes or pass the definition _UNICODE
 or UNICODE
 to the compiler (i.e. in case of Microsoft Visual Studio (MSVS) C++).

To have other code to determine if libewf was compiled with wide character support it defines LIBEWF_HAVE_WIDE_CHARACTER_TYPE
 in libewf/features.h.

The header in a set of EWF files contains an extended ASCII string using the codepage of the system it was created on. The function libewf_handle_set_header_codepage
 allows to set the required codepage for reading and writing. The default codepage is ASCII and replaces all extended characters to the Unicode replacement character (U+fffd) when reading and the ASCII substitude character (0x1a) when writing. 

The header2 contains UTF-16 little endian stream and the xheader and xhash contain a UTF-8 stream without or with byte order mark (as of version 20080903).

libewf allows to be compiled with chained IO support using libbfio. libewf will automatically detect if a compatible version of libbfio is available.

To have other code to determine if libewf was compiled with libbfio support it defines LIBEWF_HAVE_BFIO
 in libewf/features.h.

BUGS

Please report bugs of any kind to <[email protected]> or on the project website: http://code.google.com/p/libewf/

AUTHOR

These man pages were written by Joachim Metz.

COPYRIGHT

Copyright 2006-2014, Joachim Metz <[email protected]>. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.