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)