#include<libmsiecf.h>
Support functions
constchar*libmsiecf_get_version(void);
intlibmsiecf_get_access_flags_read(void);
intlibmsiecf_get_codepage(int*codepage,libmsiecf_error_t**error);
intlibmsiecf_set_codepage(intcodepage,libmsiecf_error_t**error);
intlibmsiecf_check_file_signature(constchar*filename,libmsiecf_error_t**error);
Available when compiled with wide character string support:
intlibmsiecf_check_file_signature_wide(constwchar_t*filename,libmsiecf_error_t**error);
Available when compiled with libbfio support:
intlibmsiecf_check_file_signature_file_io_handle(libbfio_handle_t*file_io_handle,libmsiecf_error_t**error);
Notify functions
voidlibmsiecf_notify_set_verbose(intverbose);
intlibmsiecf_notify_set_stream(FILE*stream,libmsiecf_error_t**error);
intlibmsiecf_notify_stream_open(constchar*filename,libmsiecf_error_t**error);
intlibmsiecf_notify_stream_close(libmsiecf_error_t**error);
Error functions
voidlibmsiecf_error_free(libmsiecf_error_t**error);
intlibmsiecf_error_fprint(libmsiecf_error_t*error,FILE*stream);
intlibmsiecf_error_sprint(libmsiecf_error_t*error,char*string,size_tsize);
intlibmsiecf_error_backtrace_fprint(libmsiecf_error_t*error,FILE*stream);
intlibmsiecf_error_backtrace_sprint(libmsiecf_error_t*error,char*string,size_tsize);
File functions
intlibmsiecf_file_initialize(libmsiecf_file_t**file,libmsiecf_error_t**error);
intlibmsiecf_file_free(libmsiecf_file_t**file,libmsiecf_error_t**error);
intlibmsiecf_file_signal_abort(libmsiecf_file_t*file,libmsiecf_error_t**error);
intlibmsiecf_file_open(libmsiecf_file_t*file,constchar*filename,intaccess_flags,libmsiecf_error_t**error);
intlibmsiecf_file_close(libmsiecf_file_t*file,libmsiecf_error_t**error);
intlibmsiecf_file_get_size(libmsiecf_file_t*file,size64_t*size,libmsiecf_error_t**error);
intlibmsiecf_file_get_ascii_codepage(libmsiecf_file_t*file,int*ascii_codepage,libmsiecf_error_t**error);
intlibmsiecf_file_set_ascii_codepage(libmsiecf_file_t*file,intascii_codepage,libmsiecf_error_t**error);
intlibmsiecf_file_get_format_version(libmsiecf_file*_tiluei,nt8*_tajor_versiouni,nt8*_tinor_versiolni,bmsiecf_error*_terror);
intlibmsiecf_file_get_number_of_unallocated_blocks(libmsiecf_f*i*nlfiueinm_tbtee,r_of_unallocated_blolcikbsm,siecf_erro*r*_trror);
intlibmsiecf_file_get_unallocated_block(libmsiecf_fil*efu_intlnaetl,located_block_indoefxf,6*4o_tfsseitz,e6*4s_ltzieb,msiecf_erro*r*_trror);
intlibmsiecf_file_get_number_of_cache_directories(libmsiecf_fi**lfineinu_tmteb,er_of_cache_directorileisb,msiecf_erro*r*_trror);
intlibmsiecf_file_get_cache_directory_name(libmsiecf_fil*efc_iatlnceth,e_directory_indc*ehsxat,rrisnigzs,et_ting_sliizbem,siecf_err*o*re_tror);
intlibmsiecf_file_get_number_of_items(libmsiecf_file_t*file,int*number_of_items,libmsiecf_error_t**error);
intlibmsiecf_file_get_item_by_index(libmsiecf_file_t*filei,nittem_indexl,ibmsiecf_item_t*iteml,ibmsiecf_error_t*error);
intlibmsiecf_file_get_number_of_recovered_items(libmsiecf_fil*ef*_intlnuetm,ber_of_recovered_itemlsi,bmsiecf_error*_terror);
intlibmsiecf_file_get_recovered_item_by_index(libmsiecrfe_f*ioifnvliteelr_et,d_item_ilnidbemxs,iecf_i*t*erme_tovered_iitbemms,iecf_e*r*reorrr_tr);
Available when compiled with wide character string support:
intlibmsiecf_file_open_wide(libmsiecf_file_t*file,constwchar_t*filename,intaccess_flags,libmsiecf_error_t**error);
Available when compiled with libbfio support:
intlibmsiecf_file_open_file_io_handle(libmsiecf_file*_tillei,bbfio_handl*ef_tle_io_hanadiclncete,ss_flalgisb,msiecf_erro*r*_trror);
Item functions
intlibmsiecf_item_free(libmsiecf_item_t**item,libmsiecf_error_t**error);
intlibmsiecf_item_get_type(libmsiecf_item_t*item,uint8_t*item_type,libmsiecf_error_t**error);
intlibmsiecf_item_get_flags(libmsiecf_item_t*item,uint8_t*item_flags,libmsiecf_error_t**error);
intlibmsiecf_item_get_offset(libmsiecf_item_t*item,off64_t*offset,libmsiecf_error_t**error);
intlibmsiecf_item_get_offset_range(libmsiecf_item_t*item,off64_t*offset,size64_t*size,libmsiecf_error_t**error);
URL item functions
intlibmsiecf_url_get_type(libmsiecf_item_t*url,uint8_t*url_item_type,libmsiecf_error_t**error);
intlibmsiecf_url_get_primary_time(libmsiecf_item_t*url,uint64_t*filetime,libmsiecf_error_t**error);
intlibmsiecf_url_get_secondary_time(libmsiecf_item_t*url,uint64_t*filetime,libmsiecf_error_t**error);
intlibmsiecf_url_get_expiration_time(libmsiecf_item_t*url,uint64_t*expiration_time,libmsiecf_error_t**error);
intlibmsiecf_url_get_last_checked_time(libmsiecf_item_t*url,uint32_t*fat_date_time,libmsiecf_error_t**error);
intlibmsiecf_url_get_cached_file_size(libmsiecf_item_t*url,uint64_t*cached_file_size,libmsiecf_error_t**error);
intlibmsiecf_url_get_cache_directory_index(libmsiecf_item*_truli,nt8_tcache_directory_indexl,ibmsiecf_error_t*error);
intlibmsiecf_url_get_number_of_hits(libmsiecf_item_t*url,uint32_t*number_of_hits,libmsiecf_error_t**error);
intlibmsiecf_url_get_location_size(libmsiecf_item_t*url,size_t*string_size,libmsiecf_error_t**error);
intlibmsiecf_url_get_location(libmsiecf_item_t*url,char*string,size_tstring_size,libmsiecf_error_t**error);
intlibmsiecf_url_get_utf8_location_size(libmsiecf_item_t*url,size_t*utf8_string_size,libmsiecf_error_t**error);
intlibmsiecf_url_get_utf8_location(libmsiecf_item*_truli,nt8*_ttf8_strings,ize_ttf8_string_sizel,ibmsiecf_error_t*error);
intlibmsiecf_url_get_utf16_location_size(libmsiecf_item_t*url,size_t*utf16_string_size,libmsiecf_error_t**error);
intlibmsiecf_url_get_utf16_location(libmsiecf_item*_truli,nt16*_ttf16_strinsgi,zeu_tf16_string_sizlei,bmsiecf_error*_terror);
intlibmsiecf_url_get_filename_size(libmsiecf_item_t*url,size_t*string_size,libmsiecf_error_t**error);
intlibmsiecf_url_get_filename(libmsiecf_item_t*url,char*string,size_tstring_size,libmsiecf_error_t**error);
intlibmsiecf_url_get_utf8_filename_size(libmsiecf_item_t*url,size_t*utf8_string_size,libmsiecf_error_t**error);
intlibmsiecf_url_get_utf8_filename(libmsiecf_item_turlu,int8_tutf8_strings,izeu_tf8_string_sizlei,bmsiecf_error*_terror);
intlibmsiecf_url_get_utf16_filename_size(libmsiecf_item_t*url,size_t*utf16_string_size,libmsiecf_error_t**error);
intlibmsiecf_url_get_utf16_filename(libmsiecf_item*_truli,nt16*_ttf16_strinsgi,zeu_tf16_string_sizlei,bmsiecf_error*_terror);
intlibmsiecf_url_get_data_size(libmsiecf_item_t*url,size_t*data_size,libmsiecf_error_t**error);
intlibmsiecf_url_get_data(libmsiecf_item_t*url,uint8_t*data,size_tdata_size,libmsiecf_error_t**error);
Redirected item functions
intlibmsiecf_redirected_get_location_size(libmsiecf_item_t*redirected,size_t*string_sizel,ibmsiecf_error_t*error);
intlibmsiecf_redirected_get_location(libmsiecf_item_tredirectedc,ha*rstrings,ize_ttring_sizel,ibmsiecf_error_t**error);
intlibmsiecf_redirected_get_utf8_location_size(libmsiecf_item*_tedirectesdi,ze*_ttf8_string_silzieb,msiecf_erro*r*_trror);
intlibmsiecf_redirected_get_utf8_location(libmsiecf_it*erme_tirecutien*dtu,8t_t8_strisnigzu,et_t8_string_silzieb,msiecf_erro*r*_trror);
intlibmsiecf_redirected_get_utf16_location_size(libmsiecf_item*_tedirectseidz*,eu_tf16_string_silzieb,msiecf_erro*r*_trror);
intlibmsiecf_redirected_get_utf16_location(libmsiecf_it*erme_tirecutiendt*,1u6t_t16_strsiiunztgef,_t6_string_sliizbem,siecf_err*o*re_tror);
Leak item functions
intlibmsiecf_leak_get_cached_file_size(libmsiecf_item_t*leak,uint64_t*cached_file_size,libmsiecf_error_t**error);
intlibmsiecf_leak_get_cache_directory_index(libmsiecf_item*_teauki,nt8*_tache_directory_indelxi,bmsiecf_error_t*error);
intlibmsiecf_leak_get_filename_size(libmsiecf_item_t*leak,size_t*string_size,libmsiecf_error_t**error);
intlibmsiecf_leak_get_filename(libmsiecf_item_t*leak,char*string,size_tstring_size,libmsiecf_error_t**error);
intlibmsiecf_leak_get_utf8_filename_size(libmsiecf_item_t*leak,size_t*utf8_string_size,libmsiecf_error_t**error);
intlibmsiecf_leak_get_utf8_filename(libmsiecf_item_tleaku,int8*_ttf8_strinsgi,zeu_tf8_string_sizlei,bmsiecf_error*_terror);
intlibmsiecf_leak_get_utf16_filename_size(libmsiecf_item_tleaks,ize_t*utf16_string_size,libmsiecf_error_t**error);
intlibmsiecf_leak_get_utf16_filename(libmsiecf_item*_teauki,nt16*_ttf16_strinsgi,zeu_tf16_string_silzieb,msiecf_erro*r*_trror);