Man page - libmsiecf(3)

Packages contains this manual

Manual


libmsiecf (3) Library Functions Manual libmsiecf (3)

NAME

libmsiecf.h — Library to access the MSIE Cache File (index.dat) format

LIBRARY

library “libmsiecf”

SYNOPSIS

#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_tsize );

int

libmsiecf_error_backtrace_fprint ( libmsiecf_error_t *error, FILE*stream );

int

libmsiecf_error_backtrace_sprint ( libmsiecf_error_t *error,char*string,size_tsize );

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,constchar*filename,intaccess_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,intascii_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,intunallocated_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,intcache_directory_index,char*string,size_tstring_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,intitem_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,intrecovered_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,constwchar_t*filename,intaccess_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,intaccess_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_tstring_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_tutf8_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_tutf16_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_tstring_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_tutf8_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_tutf16_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_tdata_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_tstring_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_tutf8_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_tutf16_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_tstring_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_tutf8_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_tutf16_string_size,libmsiecf_error_t**error );

DESCRIPTION

The libmsiecf_get_version () function is used to retrieve the library version.

RETURN VALUES

Most of the functions return NULL or -1 on error, dependent on the return type. For the actual return values see "libmsiecf.h".

ENVIRONMENT

None

FILES

None

NOTES

libmsiecf allows to be compiled with wide character support (wchar_t).

To compile libmsiecf with wide character support use: ./configure --enable-wide-character-type=yes
or define: _UNICODE
or UNICODE
during compilation.

LIBMSIECF_WIDE_CHARACTER_TYPE
in libmsiecf/features.h can be used to determine if libmsiecf was compiled with wide character support.

BUGS

Please report bugs of any kind on the project issue tracker: https://github.com/libyal/libmsiecf/issues

AUTHOR

These man pages are generated from "libmsiecf.h".

COPYRIGHT

Copyright (C) 2009-2018, Joachim Metz <joachim.metz@gmail.com>.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

the libmsiecf.h include file libmsiecf January 15, 2017 libmsiecf (3)