Provided by: libfwsi-dev_20240423-1_amd64 bug

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

libfwsi                                          April 17, 2024                                       libfwsi(3)