table of contents
libfwsi(3) | Library Functions Manual | libfwsi(3) |
NAME¶
libfwsi.h
—
Library to access the Windows Shell Item format
SYNOPSIS¶
#include
<libfwsi.h>
Support functions
const char *
libfwsi_get_version
(void);
Notify functions
void
libfwsi_notify_set_verbose
(int
verbose);
int
libfwsi_notify_set_stream
(FILE
*stream, libfwsi_error_t
**error);
int
libfwsi_notify_stream_open
(const
char *filename,
libfwsi_error_t
**error);
int
libfwsi_notify_stream_close
(libfwsi_error_t
**error);
Error functions
void
libfwsi_error_free
(libfwsi_error_t
**error);
int
libfwsi_error_fprint
(libfwsi_error_t
*error, FILE
*stream);
int
libfwsi_error_sprint
(libfwsi_error_t
*error, char
*string, size_t
size);
int
libfwsi_error_backtrace_fprint
(libfwsi_error_t
*error, FILE
*stream);
int
libfwsi_error_backtrace_sprint
(libfwsi_error_t
*error, char
*string, size_t
size);
Item list functions
int
libfwsi_item_list_initialize
(libfwsi_item_list_t
**item_list,
libfwsi_error_t
**error);
int
libfwsi_item_list_free
(libfwsi_item_list_t
**item_list,
libfwsi_error_t
**error);
int
libfwsi_item_list_copy_from_byte_stream
(libfwsi_item_list_t
*item_list, const uint8_t
*byte_stream, size_t
byte_stream_size, int
ascii_codepage,
libfwsi_error_t
**error);
int
libfwsi_item_list_get_data_size
(libfwsi_item_list_t
*item_list, size_t
*data_size,
libfwsi_error_t
**error);
int
libfwsi_item_list_get_number_of_items
(libfwsi_item_list_t
*item_list, int
*number_of_items,
libfwsi_error_t
**error);
int
libfwsi_item_list_get_item
(libfwsi_item_list_t
*item_list, int
item_index,
libfwsi_item_t **item,
libfwsi_error_t
**error);
Item functions
int
libfwsi_item_initialize
(libfwsi_item_t
**item, libfwsi_error_t
**error);
int
libfwsi_item_free
(libfwsi_item_t
**item, libfwsi_error_t
**error);
int
libfwsi_item_copy_from_byte_stream
(libfwsi_item_t
*item, const uint8_t
*byte_stream, size_t
byte_stream_size, int
ascii_codepage,
libfwsi_error_t
**error);
int
libfwsi_item_get_type
(libfwsi_item_t
*item, int *type,
libfwsi_error_t
**error);
int
libfwsi_item_get_class_type
(libfwsi_item_t
*item, uint8_t
*class_type,
libfwsi_error_t
**error);
int
libfwsi_item_get_signature
(libfwsi_item_t
*item, uint32_t
*signature,
libfwsi_error_t
**error);
int
libfwsi_item_get_data_size
(libfwsi_item_t
*item, size_t
*data_size,
libfwsi_error_t
**error);
int
libfwsi_item_get_delegate_folder_identifier
(libfwsi_item_t
*item, uint8_t
*guid_data, size_t
guid_data_size,
libfwsi_error_t
**error);
int
libfwsi_item_get_number_of_extension_blocks
(libfwsi_item_t
*item, int
*number_of_extension_blocks,
libfwsi_error_t
**error);
int
libfwsi_item_get_extension_block
(libfwsi_item_t
*item, int
extension_block_index,
libfwsi_extension_block_t
**extension_block,
libfwsi_error_t
**error);
Root folder item functions
int
libfwsi_root_folder_get_shell_folder_identifier
(libfwsi_item_t
*root_folder, uint8_t
*guid_data, size_t
guid_data_size,
libfwsi_error_t
**error);
Volume item functions
int
libfwsi_volume_get_utf8_name_size
(libfwsi_item_t
*volume, size_t
*utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_volume_get_utf8_name
(libfwsi_item_t
*volume, uint8_t
*utf8_string, size_t
utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_volume_get_utf16_name_size
(libfwsi_item_t
*volume, size_t
*utf16_string_size,
libfwsi_error_t
**error);
int
libfwsi_volume_get_utf16_name
(libfwsi_item_t
*volume, uint16_t
*utf16_string, size_t
utf16_string_size,
libfwsi_error_t
**error);
int
libfwsi_volume_get_identifier
(libfwsi_item_t
*volume, uint8_t
*guid_data, size_t
guid_data_size,
libfwsi_error_t
**error);
int
libfwsi_volume_get_shell_folder_identifier
(libfwsi_item_t
*volume, uint8_t
*guid_data, size_t
guid_data_size,
libfwsi_error_t
**error);
File entry item functions
int
libfwsi_file_entry_get_file_size
(libfwsi_item_t
*file_entry, uint32_t
*file_size,
libfwsi_error_t
**error);
int
libfwsi_file_entry_get_modification_time
(libfwsi_item_t
*file_entry, uint32_t
*fat_date_time,
libfwsi_error_t
**error);
int
libfwsi_file_entry_get_file_attribute_flags
(libfwsi_item_t
*file_entry, uint32_t
*file_attribute_flags,
libfwsi_error_t
**error);
int
libfwsi_file_entry_get_utf8_name_size
(libfwsi_item_t
*file_entry, size_t
*utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_file_entry_get_utf8_name
(libfwsi_item_t
*file_entry, uint8_t
*utf8_string, size_t
utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_file_entry_get_utf16_name_size
(libfwsi_item_t
*file_entry, size_t
*utf16_string_size,
libfwsi_error_t
**error);
int
libfwsi_file_entry_get_utf16_name
(libfwsi_item_t
*file_entry, uint16_t
*utf16_string, size_t
utf16_string_size,
libfwsi_error_t
**error);
Network location item functions
int
libfwsi_network_location_get_utf8_location_size
(libfwsi_item_t
*network_location, size_t
*utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_network_location_get_utf8_location
(libfwsi_item_t
*network_location,
uint8_t *utf8_string,
size_t utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_network_location_get_utf16_location_size
(libfwsi_item_t
*network_location, size_t
*utf16_string_size,
libfwsi_error_t
**error);
int
libfwsi_network_location_get_utf16_location
(libfwsi_item_t
*network_location,
uint16_t *utf16_string,
size_t utf16_string_size,
libfwsi_error_t
**error);
int
libfwsi_network_location_get_utf8_description_size
(libfwsi_item_t
*network_location, size_t
*utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_network_location_get_utf8_description
(libfwsi_item_t
*network_location,
uint8_t *utf8_string,
size_t utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_network_location_get_utf16_description_size
(libfwsi_item_t
*network_location, size_t
*utf16_string_size,
libfwsi_error_t
**error);
int
libfwsi_network_location_get_utf16_description
(libfwsi_item_t
*network_location,
uint16_t *utf16_string,
size_t utf16_string_size,
libfwsi_error_t
**error);
int
libfwsi_network_location_get_utf8_comments_size
(libfwsi_item_t
*network_location, size_t
*utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_network_location_get_utf8_comments
(libfwsi_item_t
*network_location,
uint8_t *utf8_string,
size_t utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_network_location_get_utf16_comments_size
(libfwsi_item_t
*network_location, size_t
*utf16_string_size,
libfwsi_error_t
**error);
int
libfwsi_network_location_get_utf16_comments
(libfwsi_item_t
*network_location,
uint16_t *utf16_string,
size_t utf16_string_size,
libfwsi_error_t
**error);
Compressed folder functions
int
libfwsi_compressed_folder_get_utf8_name_size
(libfwsi_item_t
*compressed_folder,
size_t *utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_compressed_folder_get_utf8_name
(libfwsi_item_t
*compressed_folder,
uint8_t *utf8_string,
size_t utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_compressed_folder_get_utf16_name_size
(libfwsi_item_t
*compressed_folder,
size_t
*utf16_string_size,
libfwsi_error_t
**error);
int
libfwsi_compressed_folder_get_utf16_name
(libfwsi_item_t
*compressed_folder,
uint16_t *utf16_string,
size_t utf16_string_size,
libfwsi_error_t
**error);
Control panel category functions
int
libfwsi_control_panel_category_get_identifier
(libfwsi_item_t
*control_panel_category,
uint32_t *identifier,
libfwsi_error_t
**error);
Control panel item functions
int
libfwsi_control_panel_item_get_identifier
(libfwsi_item_t
*control_panel_item,
uint8_t *guid_data,
size_t guid_data_size,
libfwsi_error_t
**error);
Users property view functions
int
libfwsi_users_property_view_get_known_folder_identifier
(libfwsi_item_t
*users_property_view,
uint8_t *guid_data,
size_t guid_data_size,
libfwsi_error_t
**error);
int
libfwsi_users_property_view_get_property_store_data_size
(libfwsi_item_t
*users_property_view,
size_t *data_size,
libfwsi_error_t
**error);
int
libfwsi_users_property_view_copy_property_store_data
(libfwsi_item_t
*users_property_view,
uint8_t *data,
size_t data_size,
libfwsi_error_t
**error);
Extension block functions
int
libfwsi_extension_block_free
(libfwsi_extension_block_t
**extension_block,
libfwsi_error_t
**error);
int
libfwsi_extension_block_get_signature
(libfwsi_extension_block_t
*extension_block,
uint32_t *signature,
libfwsi_error_t
**error);
int
libfwsi_extension_block_get_data_size
(libfwsi_extension_block_t
*extension_block, size_t
*data_size,
libfwsi_error_t
**error);
File entry extension functions
int
libfwsi_file_entry_extension_get_creation_time
(libfwsi_extension_block_t
*file_entry_extension,
uint32_t *fat_date_time,
libfwsi_error_t
**error);
int
libfwsi_file_entry_extension_get_access_time
(libfwsi_extension_block_t
*file_entry_extension,
uint32_t *fat_date_time,
libfwsi_error_t
**error);
int
libfwsi_file_entry_extension_get_file_reference
(libfwsi_extension_block_t
*file_entry_extension,
uint64_t *file_reference,
libfwsi_error_t
**error);
int
libfwsi_file_entry_extension_get_utf8_long_name_size
(libfwsi_extension_block_t
*file_entry_extension,
size_t *utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_file_entry_extension_get_utf8_long_name
(libfwsi_extension_block_t
*file_entry_extension,
uint8_t *utf8_string,
size_t utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_file_entry_extension_get_utf16_long_name_size
(libfwsi_extension_block_t
*file_entry_extension,
size_t
*utf16_string_size,
libfwsi_error_t
**error);
int
libfwsi_file_entry_extension_get_utf16_long_name
(libfwsi_extension_block_t
*file_entry_extension,
uint16_t *utf16_string,
size_t utf16_string_size,
libfwsi_error_t
**error);
int
libfwsi_file_entry_extension_get_utf8_localized_name_size
(libfwsi_extension_block_t
*file_entry_extension,
size_t *utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_file_entry_extension_get_utf8_localized_name
(libfwsi_extension_block_t
*file_entry_extension,
uint8_t *utf8_string,
size_t utf8_string_size,
libfwsi_error_t
**error);
int
libfwsi_file_entry_extension_get_utf16_localized_name_size
(libfwsi_extension_block_t
*file_entry_extension,
size_t
*utf16_string_size,
libfwsi_error_t
**error);
int
libfwsi_file_entry_extension_get_utf16_localized_name
(libfwsi_extension_block_t
*file_entry_extension,
uint16_t *utf16_string,
size_t utf16_string_size,
libfwsi_error_t
**error);
Shell folder identifier functions
const char *
libfwsi_shell_folder_identifier_get_name
(const
uint8_t *shell_folder_identifier);
DESCRIPTION¶
The
libfwsi_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 "libfwsi.h".
ENVIRONMENT¶
None
FILES¶
None
BUGS¶
Please report bugs of any kind on the project issue tracker: https://github.com/libyal/libfwsi/issues
AUTHOR¶
These man pages are generated from "libfwsi.h".
COPYRIGHT¶
Copyright (C) 2010-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 libfwsi.h include file
April 17, 2024 | libfwsi |