table of contents
        
      
      
    - Tumbleweed 20240423-1.5
 - Leap-16.0
 - Leap-15.6
 
| 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 |