Man page - libolecf(3)
Packages contains this manual
Manual
libolecf (3) Library Functions Manual libolecf (3)
NAME
libolecf.h ā Library to access the Object Linking and Embedding (OLE) Compound File (CF) format
LIBRARY
library ālibolecfā
SYNOPSIS
#include <libolecf.h>
Support functions
const char *
libolecf_get_version ( void );
uint8_t
libolecf_get_access_flags_read ( void );
int
libolecf_get_codepage ( intĀ *codepage,Ā libolecf_error_tĀ **error );
int
libolecf_set_codepage ( intĀ codepage,Ā libolecf_error_tĀ **error );
int
libolecf_check_file_signature ( const char*filename,libolecf_error_t**error );
Available when compiled with wide character string support:
int
libolecf_check_file_signature_wide ( const wchar_t*filename,libolecf_error_t**error );
Available when compiled with libbfio support:
int
libolecf_check_file_signature_file_io_handle ( libbfio_handle_t *file_io_handle,libolecf_error_t**error );
Notify functions
void
libolecf_notify_set_verbose ( intĀ verbose );
int
libolecf_notify_set_stream ( FILEĀ *stream,Ā libolecf_error_tĀ **error );
int
libolecf_notify_stream_open ( const char*filename,libolecf_error_t**error );
int
libolecf_notify_stream_close ( libolecf_error_tĀ **error );
Error functions
void
libolecf_error_free ( libolecf_error_tĀ **error );
int
libolecf_error_fprint ( libolecf_error_tĀ *error,Ā FILEĀ *stream );
int
libolecf_error_sprint ( libolecf_error_tĀ *error,Ā char *string,size_tsize );
int
libolecf_error_backtrace_fprint ( libolecf_error_tĀ *error,Ā FILEĀ *stream );
int
libolecf_error_backtrace_sprint ( libolecf_error_t *error,char*string,size_tsize );
File functions
int
libolecf_file_initialize ( libolecf_file_t **file,libolecf_error_t**error );
int
libolecf_file_free ( libolecf_file_tĀ **file,Ā libolecf_error_tĀ **error );
int
libolecf_file_signal_abort ( libolecf_file_t *file,libolecf_error_t**error );
int
libolecf_file_open ( libolecf_file_t *file,constchar*filename,intaccess_flags,libolecf_error_t**error );
int
libolecf_file_close ( libolecf_file_tĀ *file,Ā libolecf_error_tĀ **error );
int
libolecf_file_get_sector_size ( libolecf_file_t *file,size32_t*sector_size,libolecf_error_t**error );
int
libolecf_file_get_short_sector_size ( libolecf_file_t *file,size32_t*short_sector_size,libolecf_error_t**error );
int
libolecf_file_get_ascii_codepage ( libolecf_file_t *file,int*ascii_codepage,libolecf_error_t**error );
int
libolecf_file_set_ascii_codepage ( libolecf_file_t *file,intascii_codepage,libolecf_error_t**error );
int
libolecf_file_get_format_version ( libolecf_file_t *file,uint16_t*major_version,uint16_t*minor_version,libolecf_error_t**error );
int
libolecf_file_get_number_of_unallocated_blocks ( libolecf_file_t *file,int*number_of_unallocated_blocks,libolecf_error_t**error );
int
libolecf_file_get_unallocated_block ( libolecf_file_t *file,intunallocated_block_index,off64_t*offset,size64_t*size,libolecf_error_t**error );
int
libolecf_file_get_root_item ( libolecf_file_t *file,libolecf_item_t**root_item,libolecf_error_t**error );
int
libolecf_file_get_item_by_utf8_path ( libolecf_file_t *file,constuint8_t*utf8_string,size_tutf8_string_length,libolecf_item_t**item,libolecf_error_t**error );
int
libolecf_file_get_item_by_utf16_path ( libolecf_file_t *file,constuint16_t*utf16_string,size_tutf16_string_length,libolecf_item_t**item,libolecf_error_t**error );
Available when compiled with wide character string support:
int
libolecf_file_open_wide ( libolecf_file_t *file,constwchar_t*filename,intaccess_flags,libolecf_error_t**error );
Available when compiled with libbfio support:
int
libolecf_file_open_file_io_handle ( libolecf_file_t *file,libbfio_handle_t*file_io_handle,intaccess_flags,libolecf_error_t**error );
Item functions
int
libolecf_item_free ( libolecf_item_tĀ **item,Ā libolecf_error_tĀ **error );
int
libolecf_item_get_type ( libolecf_item_t *item,uint8_t*type,libolecf_error_t**error );
int
libolecf_item_get_utf8_name_size ( libolecf_item_t *item,size_t*utf8_string_size,libolecf_error_t**error );
int
libolecf_item_get_utf8_name ( libolecf_item_t *item,uint8_t*utf8_string,size_tutf8_string_size,libolecf_error_t**error );
int
libolecf_item_get_utf16_name_size ( libolecf_item_t *item,size_t*utf16_string_size,libolecf_error_t**error );
int
libolecf_item_get_utf16_name ( libolecf_item_t *item,uint16_t*utf16_string,size_tutf16_string_size,libolecf_error_t**error );
int
libolecf_item_get_size ( libolecf_item_t *item,uint32_t*size,libolecf_error_t**error );
int
libolecf_item_get_creation_time ( libolecf_item_t *item,uint64_t*filetime,libolecf_error_t**error );
int
libolecf_item_get_modification_time ( libolecf_item_t *item,uint64_t*filetime,libolecf_error_t**error );
int
libolecf_item_get_number_of_sub_items ( libolecf_item_t *item,int*number_of_sub_items,libolecf_error_t**error );
int
libolecf_item_get_sub_item ( libolecf_item_t *item,intsub_item_index,libolecf_item_t**sub_item,libolecf_error_t**error );
int
libolecf_item_get_sub_item_by_utf8_name ( libolecf_item_t *item,constuint8_t*utf8_string,size_tutf8_string_length,libolecf_item_t**sub_item,libolecf_error_t**error );
int
libolecf_item_get_sub_item_by_utf16_name ( libolecf_item_t *item,constuint16_t*utf16_string,size_tutf16_string_length,libolecf_item_t**sub_item,libolecf_error_t**error );
int
libolecf_item_get_sub_item_by_utf8_path ( libolecf_item_t *item,constuint8_t*utf8_string,size_tutf8_string_length,libolecf_item_t**sub_item,libolecf_error_t**error );
int
libolecf_item_get_sub_item_by_utf16_path ( libolecf_item_t *item,constuint16_t*utf16_string,size_tutf16_string_length,libolecf_item_t**sub_item,libolecf_error_t**error );
Stream functions
ssize_t
libolecf_stream_read_buffer ( libolecf_item_t *stream,uint8_t*buffer,size_tsize,libolecf_error_t**error );
off64_t
libolecf_stream_seek_offset ( libolecf_item_t *stream,off64_toffset,intwhence,libolecf_error_t**error );
int
libolecf_stream_get_offset ( libolecf_item_t *stream,off64_t*offset,libolecf_error_t**error );
Property set stream functions
int
libolecf_property_set_stream_get_set ( libolecf_item_t *property_set_stream,libolecf_property_set_t**property_set,libolecf_error_t**error );
Property set functions
int
libolecf_property_set_free ( libolecf_property_set_t **property_set,libolecf_error_t**error );
int
libolecf_property_set_get_class_identifier ( libolecf_property_set_t *property_set,uint8_t*guid_data,size_tguid_data_size,libolecf_error_t**error );
int
libolecf_property_set_get_number_of_sections ( libolecf_property_set_t *property_set,int*number_of_sections,libolecf_error_t**error );
int
libolecf_property_set_get_section_by_index ( libolecf_property_set_t *property_set,intsection_index,libolecf_property_section_t**property_section,libolecf_error_t**error );
Property section functions
int
libolecf_property_section_free ( libolecf_property_section_t **property_section,libolecf_error_t**error );
int
libolecf_property_section_get_class_identifier ( libolecf_property_section_t *property_section,uint8_t*guid_data,size_tguid_data_size,libolecf_error_t**error );
int
libolecf_property_section_get_number_of_properties ( libolecf_property_section_t *property_section,int*number_of_properties,libolecf_error_t**error );
int
libolecf_property_section_get_property_by_index ( libolecf_property_section_t *property_section,intproperty_index,libolecf_property_value_t**property_value,libolecf_error_t**error );
Property value functions
int
libolecf_property_value_free ( libolecf_property_value_t **property_value,libolecf_error_t**error );
int
libolecf_property_value_get_identifier ( libolecf_property_value_t *property_value,uint32_t*identifier,libolecf_error_t**error );
int
libolecf_property_value_get_value_type ( libolecf_property_value_t *property_value,uint32_t*value_type,libolecf_error_t**error );
int
libolecf_property_value_get_data_size ( libolecf_property_value_t *property_value,size_t*data_size,libolecf_error_t**error );
int
libolecf_property_value_get_data ( libolecf_property_value_t *property_value,uint8_t*data,size_tdata_size,libolecf_error_t**error );
int
libolecf_property_value_get_data_as_boolean ( libolecf_property_value_t *property_value,uint8_t*value_boolean,libolecf_error_t**error );
int
libolecf_property_value_get_data_as_16bit_integer ( libolecf_property_value_t *property_value,uint16_t*value_16bit,libolecf_error_t**error );
int
libolecf_property_value_get_data_as_32bit_integer ( libolecf_property_value_t *property_value,uint32_t*value_32bit,libolecf_error_t**error );
int
libolecf_property_value_get_data_as_64bit_integer ( libolecf_property_value_t *property_value,uint64_t*value_64bit,libolecf_error_t**error );
int
libolecf_property_value_get_data_as_filetime ( libolecf_property_value_t *property_value,uint64_t*filetime,libolecf_error_t**error );
int
libolecf_property_value_get_data_as_utf8_string_size ( libolecf_property_value_t *property_value,size_t*utf8_string_size,libolecf_error_t**error );
int
libolecf_property_value_get_data_as_utf8_string ( libolecf_property_value_t *property_value,uint8_t*utf8_string,size_tutf8_string_size,libolecf_error_t**error );
int
libolecf_property_value_get_data_as_utf16_string_size ( libolecf_property_value_t *property_value,size_t*utf16_string_size,libolecf_error_t**error );
int
libolecf_property_value_get_data_as_utf16_string ( libolecf_property_value_t *property_value,uint16_t*utf16_string,size_tutf16_string_size,libolecf_error_t**error );
DESCRIPTION
The libolecf_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 "libolecf.h".
ENVIRONMENT
None
FILES
None
NOTES
libolecf allows to be compiled with wide character support (wchar_t).
To compile
libolecf with wide character support use:
./configure
--enable-wide-character-type=yes
or define:
_UNICODE
or
UNICODE
during compilation.
LIBOLECF_WIDE_CHARACTER_TYPE
in libolecf/features.h can be used to determine if libolecf
was compiled with wide character support.
BUGS
Please report bugs of any kind on the project issue tracker: https://github.com/libyal/libolecf/issues
AUTHOR
These man pages are generated from "libolecf.h".
COPYRIGHT
Copyright (C) 2008-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 libolecf.h include file libolecf January 29, 2017 libolecf (3)