Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
libmsiecf(3)		    Library Functions Manual		  libmsiecf(3)

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

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_ha*nfdillee__tio_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_*tredirected,
	   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);

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 re-
       turn type.  For the actual return values	see "libmsiecf.h".

ENVIRONMENT
       None

FILES
       None

NOTES
       libmsiecf can 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 com-
       piled 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-2024,	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			April 18, 2019			  libmsiecf(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=libmsiecf&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help