#include <libmsiecf.h>
Support functions
const char *
libmsiecf_get_version
(void);
int
libmsiecf_get_access_flags_read
(void);
int
libmsiecf_get_codepage
(int
*codepage,
libmsiecf_error_t
**error);
int
libmsiecf_set_codepage
(int
codepage,
libmsiecf_error_t
**error);
int
libmsiecf_check_file_signature
(const
char *filename,
libmsiecf_error_t
**error);
Available when compiled with wide character string support:
int
libmsiecf_check_file_signature_wide
(const
wchar_t *filename,
libmsiecf_error_t
**error);
Available when compiled with libbfio support:
int
libmsiecf_check_file_signature_file_io_handle
(libbfio_handle_t
*file_io_handle,
libmsiecf_error_t
**error);
Notify functions
void
libmsiecf_notify_set_verbose
(int
verbose);
int
libmsiecf_notify_set_stream
(FILE
*stream,
libmsiecf_error_t
**error);
int
libmsiecf_notify_stream_open
(const
char *filename,
libmsiecf_error_t
**error);
int
libmsiecf_notify_stream_close
(libmsiecf_error_t
**error);
Error functions
void
libmsiecf_error_free
(libmsiecf_error_t
**error);
int
libmsiecf_error_fprint
(libmsiecf_error_t
*error, FILE
*stream);
int
libmsiecf_error_sprint
(libmsiecf_error_t
*error, char
*string, size_t
size);
int
libmsiecf_error_backtrace_fprint
(libmsiecf_error_t
*error, FILE
*stream);
int
libmsiecf_error_backtrace_sprint
(libmsiecf_error_t
*error, char
*string, size_t
size);
File functions
int
libmsiecf_file_initialize
(libmsiecf_file_t
**file, libmsiecf_error_t
**error);
int
libmsiecf_file_free
(libmsiecf_file_t
**file, libmsiecf_error_t
**error);
int
libmsiecf_file_signal_abort
(libmsiecf_file_t
*file, libmsiecf_error_t
**error);
int
libmsiecf_file_open
(libmsiecf_file_t
*file, const char
*filename, int
access_flags,
libmsiecf_error_t
**error);
int
libmsiecf_file_close
(libmsiecf_file_t
*file, libmsiecf_error_t
**error);
int
libmsiecf_file_get_size
(libmsiecf_file_t
*file, size64_t
*size, libmsiecf_error_t
**error);
int
libmsiecf_file_get_ascii_codepage
(libmsiecf_file_t
*file, int
*ascii_codepage,
libmsiecf_error_t
**error);
int
libmsiecf_file_set_ascii_codepage
(libmsiecf_file_t
*file, int
ascii_codepage,
libmsiecf_error_t
**error);
int
libmsiecf_file_get_format_version
(libmsiecf_file_t
*file, uint8_t
*major_version, uint8_t
*minor_version,
libmsiecf_error_t
**error);
int
libmsiecf_file_get_number_of_unallocated_blocks
(libmsiecf_file_t
*file, int
*number_of_unallocated_blocks,
libmsiecf_error_t
**error);
int
libmsiecf_file_get_unallocated_block
(libmsiecf_file_t
*file, int
unallocated_block_index,
off64_t *offset,
size64_t *size,
libmsiecf_error_t
**error);
int
libmsiecf_file_get_number_of_cache_directories
(libmsiecf_file_t
*file, int
*number_of_cache_directories,
libmsiecf_error_t
**error);
int
libmsiecf_file_get_cache_directory_name
(libmsiecf_file_t
*file, int
cache_directory_index,
char *string,
size_t string_size,
libmsiecf_error_t
**error);
int
libmsiecf_file_get_number_of_items
(libmsiecf_file_t
*file, int
*number_of_items,
libmsiecf_error_t
**error);
int
libmsiecf_file_get_item_by_index
(libmsiecf_file_t
*file, int
item_index,
libmsiecf_item_t **item,
libmsiecf_error_t
**error);
int
libmsiecf_file_get_number_of_recovered_items
(libmsiecf_file_t
*file, int
*number_of_recovered_items,
libmsiecf_error_t
**error);
int
libmsiecf_file_get_recovered_item_by_index
(libmsiecf_file_t
*file, int
recovered_item_index,
libmsiecf_item_t
**recovered_item,
libmsiecf_error_t
**error);
Available when compiled with wide character string support:
int
libmsiecf_file_open_wide
(libmsiecf_file_t
*file, const wchar_t
*filename, int
access_flags,
libmsiecf_error_t
**error);
Available when compiled with libbfio support:
int
libmsiecf_file_open_file_io_handle
(libmsiecf_file_t
*file, libbfio_handle_t
*file_io_handle, int
access_flags,
libmsiecf_error_t
**error);
Item functions
int
libmsiecf_item_free
(libmsiecf_item_t
**item, libmsiecf_error_t
**error);
int
libmsiecf_item_get_type
(libmsiecf_item_t
*item, uint8_t
*item_type,
libmsiecf_error_t
**error);
int
libmsiecf_item_get_flags
(libmsiecf_item_t
*item, uint8_t
*item_flags,
libmsiecf_error_t
**error);
int
libmsiecf_item_get_offset
(libmsiecf_item_t
*item, off64_t
*offset,
libmsiecf_error_t
**error);
int
libmsiecf_item_get_offset_range
(libmsiecf_item_t
*item, off64_t
*offset, size64_t
*size, libmsiecf_error_t
**error);
URL item functions
int
libmsiecf_url_get_type
(libmsiecf_item_t
*url, uint8_t
*url_item_type,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_primary_time
(libmsiecf_item_t
*url, uint64_t
*filetime,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_secondary_time
(libmsiecf_item_t
*url, uint64_t
*filetime,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_expiration_time
(libmsiecf_item_t
*url, uint64_t
*expiration_time,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_last_checked_time
(libmsiecf_item_t
*url, uint32_t
*fat_date_time,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_cached_file_size
(libmsiecf_item_t
*url, uint64_t
*cached_file_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_cache_directory_index
(libmsiecf_item_t
*url, uint8_t
*cache_directory_index,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_number_of_hits
(libmsiecf_item_t
*url, uint32_t
*number_of_hits,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_location_size
(libmsiecf_item_t
*url, size_t
*string_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_location
(libmsiecf_item_t
*url, char *string,
size_t string_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_utf8_location_size
(libmsiecf_item_t
*url, size_t
*utf8_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_utf8_location
(libmsiecf_item_t
*url, uint8_t
*utf8_string, size_t
utf8_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_utf16_location_size
(libmsiecf_item_t
*url, size_t
*utf16_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_utf16_location
(libmsiecf_item_t
*url, uint16_t
*utf16_string, size_t
utf16_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_filename_size
(libmsiecf_item_t
*url, size_t
*string_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_filename
(libmsiecf_item_t
*url, char *string,
size_t string_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_utf8_filename_size
(libmsiecf_item_t
*url, size_t
*utf8_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_utf8_filename
(libmsiecf_item_t
*url, uint8_t
*utf8_string, size_t
utf8_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_utf16_filename_size
(libmsiecf_item_t
*url, size_t
*utf16_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_utf16_filename
(libmsiecf_item_t
*url, uint16_t
*utf16_string, size_t
utf16_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_data_size
(libmsiecf_item_t
*url, size_t
*data_size,
libmsiecf_error_t
**error);
int
libmsiecf_url_get_data
(libmsiecf_item_t
*url, uint8_t
*data, size_t
data_size,
libmsiecf_error_t
**error);
Redirected item functions
int
libmsiecf_redirected_get_location_size
(libmsiecf_item_t
*redirected, size_t
*string_size,
libmsiecf_error_t
**error);
int
libmsiecf_redirected_get_location
(libmsiecf_item_t
*redirected, char
*string, size_t
string_size,
libmsiecf_error_t
**error);
int
libmsiecf_redirected_get_utf8_location_size
(libmsiecf_item_t
*redirected, size_t
*utf8_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_redirected_get_utf8_location
(libmsiecf_item_t
*redirected, uint8_t
*utf8_string, size_t
utf8_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_redirected_get_utf16_location_size
(libmsiecf_item_t
*redirected, size_t
*utf16_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_redirected_get_utf16_location
(libmsiecf_item_t
*redirected, uint16_t
*utf16_string, size_t
utf16_string_size,
libmsiecf_error_t
**error);
Leak item functions
int
libmsiecf_leak_get_cached_file_size
(libmsiecf_item_t
*leak, uint64_t
*cached_file_size,
libmsiecf_error_t
**error);
int
libmsiecf_leak_get_cache_directory_index
(libmsiecf_item_t
*leak, uint8_t
*cache_directory_index,
libmsiecf_error_t
**error);
int
libmsiecf_leak_get_filename_size
(libmsiecf_item_t
*leak, size_t
*string_size,
libmsiecf_error_t
**error);
int
libmsiecf_leak_get_filename
(libmsiecf_item_t
*leak, char
*string, size_t
string_size,
libmsiecf_error_t
**error);
int
libmsiecf_leak_get_utf8_filename_size
(libmsiecf_item_t
*leak, size_t
*utf8_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_leak_get_utf8_filename
(libmsiecf_item_t
*leak, uint8_t
*utf8_string, size_t
utf8_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_leak_get_utf16_filename_size
(libmsiecf_item_t
*leak, size_t
*utf16_string_size,
libmsiecf_error_t
**error);
int
libmsiecf_leak_get_utf16_filename
(libmsiecf_item_t
*leak, uint16_t
*utf16_string, size_t
utf16_string_size,
libmsiecf_error_t
**error);