Provided by: libsmraw-dev_20240506-1build1_amd64 bug

NAME

       libsmraw.h — Library to access the storage media (SM) (split) RAW format

SYNOPSIS

       #include <libsmraw.h>

       Support functions

       const char *
       libsmraw_get_version(void);

       int
       libsmraw_get_access_flags_read(void);

       int
       libsmraw_get_access_flags_read_write(void);

       int
       libsmraw_get_access_flags_write(void);

       int
       libsmraw_get_codepage(int *codepage, libsmraw_error_t **error);

       int
       libsmraw_set_codepage(int codepage, libsmraw_error_t **error);

       int
       libsmraw_glob(const char *filename, size_t filename_length, char **filenames[], int *number_of_filenames,
           libsmraw_error_t **error);

       int
       libsmraw_glob_free(char *filenames[], int number_of_filenames, libsmraw_error_t **error);

       int
       libsmraw_glob_wide(const    wchar_t    *filename,    size_t   filename_length,   wchar_t   **filenames[],
           int *number_of_filenames, libsmraw_error_t **error);

       int
       libsmraw_glob_wide_free(wchar_t *filenames[], int number_of_filenames, libsmraw_error_t **error);

       Notify functions

       void
       libsmraw_notify_set_verbose(int verbose);

       int
       libsmraw_notify_set_stream(FILE *stream, libsmraw_error_t **error);

       int
       libsmraw_notify_stream_open(const char *filename, libsmraw_error_t **error);

       int
       libsmraw_notify_stream_close(libsmraw_error_t **error);

       Error functions

       void
       libsmraw_error_free(libsmraw_error_t **error);

       int
       libsmraw_error_fprint(libsmraw_error_t *error, FILE *stream);

       int
       libsmraw_error_sprint(libsmraw_error_t *error, char *string, size_t size);

       int
       libsmraw_error_backtrace_fprint(libsmraw_error_t *error, FILE *stream);

       int
       libsmraw_error_backtrace_sprint(libsmraw_error_t *error, char *string, size_t size);

       Handle functions

       int
       libsmraw_handle_initialize(libsmraw_handle_t **handle, libsmraw_error_t **error);

       int
       libsmraw_handle_free(libsmraw_handle_t **handle, libsmraw_error_t **error);

       int
       libsmraw_handle_signal_abort(libsmraw_handle_t *handle, libsmraw_error_t **error);

       int
       libsmraw_handle_open(libsmraw_handle_t  *handle,  char  *  const  filenames[],  int  number_of_filenames,
           int access_flags, libsmraw_error_t **error);

       int
       libsmraw_handle_close(libsmraw_handle_t *handle, libsmraw_error_t **error);

       ssize_t
       libsmraw_handle_read_buffer(libsmraw_handle_t     *handle,     void    *buffer,    size_t    buffer_size,
           libsmraw_error_t **error);

       ssize_t
       libsmraw_handle_read_buffer_at_offset(libsmraw_handle_t  *handle,  void  *buffer,   size_t   buffer_size,
           off64_t offset, libsmraw_error_t **error);

       ssize_t
       libsmraw_handle_write_buffer(libsmraw_handle_t   *handle,   const   void   *buffer,  size_t  buffer_size,
           libsmraw_error_t **error);

       ssize_t
       libsmraw_handle_write_buffer_at_offset(libsmraw_handle_t *handle, const void *buffer, size_t buffer_size,
           off64_t offset, libsmraw_error_t **error);

       off64_t
       libsmraw_handle_seek_offset(libsmraw_handle_t     *handle,     off64_t      offset,      int      whence,
           libsmraw_error_t **error);

       int
       libsmraw_handle_get_offset(libsmraw_handle_t *handle, off64_t *offset, libsmraw_error_t **error);

       int
       libsmraw_handle_set_maximum_number_of_open_handles(libsmraw_handle_t                             *handle,
           int maximum_number_of_open_handles, libsmraw_error_t **error);

       int
       libsmraw_handle_get_segment_filename_size(libsmraw_handle_t     *handle,      size_t      *filename_size,
           libsmraw_error_t **error);

       int
       libsmraw_handle_get_segment_filename(libsmraw_handle_t  *handle,  char  *filename,  size_t filename_size,
           libsmraw_error_t **error);

       int
       libsmraw_handle_set_segment_filename(libsmraw_handle_t      *handle,      const      char      *filename,
           size_t filename_length, libsmraw_error_t **error);

       int
       libsmraw_handle_get_maximum_segment_size(libsmraw_handle_t   *handle,   size64_t   *maximum_segment_size,
           libsmraw_error_t **error);

       int
       libsmraw_handle_set_maximum_segment_size(libsmraw_handle_t   *handle,   size64_t    maximum_segment_size,
           libsmraw_error_t **error);

       int
       libsmraw_handle_get_filename_size(libsmraw_handle_t         *handle,        size_t        *filename_size,
           libsmraw_error_t **error);

       int
       libsmraw_handle_get_filename(libsmraw_handle_t   *handle,   char   *filename,    size_t    filename_size,
           libsmraw_error_t **error);

       Available when compiled with wide character string support:

       int
       libsmraw_handle_open_wide(libsmraw_handle_t      *handle,      wchar_t      *      const     filenames[],
           int number_of_filenames, int access_flags, libsmraw_error_t **error);

       int
       libsmraw_handle_get_segment_filename_size_wide(libsmraw_handle_t    *handle,    size_t    *filename_size,
           libsmraw_error_t **error);

       int
       libsmraw_handle_get_segment_filename_wide(libsmraw_handle_t       *handle,       wchar_t       *filename,
           size_t filename_size, libsmraw_error_t **error);

       int
       libsmraw_handle_set_segment_filename_wide(libsmraw_handle_t    *handle,    const    wchar_t    *filename,
           size_t filename_length, libsmraw_error_t **error);

       int
       libsmraw_handle_get_filename_size_wide(libsmraw_handle_t       *handle,       size_t      *filename_size,
           libsmraw_error_t **error);

       int
       libsmraw_handle_get_filename_wide(libsmraw_handle_t *handle,  wchar_t  *filename,  size_t  filename_size,
           libsmraw_error_t **error);

       Available when compiled with libbfio support:

       int
       libsmraw_handle_open_file_io_pool(libsmraw_handle_t      *handle,      libbfio_pool_t      *file_io_pool,
           int access_flags, libsmraw_error_t **error);

       int
       libsmraw_handle_get_file_io_handle(libsmraw_handle_t    *handle,    libbfio_handle_t    **file_io_handle,
           libsmraw_error_t **error);

       Meta data functions

       int
       libsmraw_handle_get_media_size(libsmraw_handle_t          *handle,          size64_t         *media_size,
           libsmraw_error_t **error);

       int
       libsmraw_handle_set_media_size(libsmraw_handle_t *handle, size64_t media_size, libsmraw_error_t **error);

       int
       libsmraw_handle_get_bytes_per_sector(libsmraw_handle_t     *handle,      uint32_t      *bytes_per_sector,
           libsmraw_error_t **error);

       int
       libsmraw_handle_set_bytes_per_sector(libsmraw_handle_t      *handle,      uint32_t      bytes_per_sector,
           libsmraw_error_t **error);

       int
       libsmraw_handle_get_media_type(libsmraw_handle_t *handle, uint8_t *media_type, libsmraw_error_t **error);

       int
       libsmraw_handle_set_media_type(libsmraw_handle_t *handle, uint8_t media_type, libsmraw_error_t **error);

       int
       libsmraw_handle_get_media_flags(libsmraw_handle_t         *handle,         uint8_t          *media_flags,
           libsmraw_error_t **error);

       int
       libsmraw_handle_set_media_flags(libsmraw_handle_t          *handle,          uint8_t         media_flags,
           libsmraw_error_t **error);

       int
       libsmraw_handle_get_number_of_information_values(libsmraw_handle_t                               *handle,
           int *number_of_information_values, libsmraw_error_t **error);

       int
       libsmraw_handle_get_information_value_identifier_size(libsmraw_handle_t                          *handle,
           int information_value_index, size_t *identifier_size, libsmraw_error_t **error);

       int
       libsmraw_handle_get_information_value_identifier(libsmraw_handle_t *handle, int  information_value_index,
           uint8_t *identifier, size_t identifier_size, libsmraw_error_t **error);

       int
       libsmraw_handle_get_utf8_information_value_size(libsmraw_handle_t  *handle,  const  uint8_t  *identifier,
           size_t identifier_length, size_t *utf8_string_size, libsmraw_error_t **error);

       int
       libsmraw_handle_get_utf8_information_value(libsmraw_handle_t   *handle,   const   uint8_t    *identifier,
           size_t identifier_length, uint8_t *utf8_string, size_t utf8_string_size, libsmraw_error_t **error);

       int
       libsmraw_handle_set_utf8_information_value(libsmraw_handle_t    *handle,   const   uint8_t   *identifier,
           size_t    identifier_length,    const    uint8_t     *utf8_string,     size_t     utf8_string_length,
           libsmraw_error_t **error);

       int
       libsmraw_handle_get_utf16_information_value_size(libsmraw_handle_t  *handle,  const  uint8_t *identifier,
           size_t identifier_length, size_t *utf16_string_size, libsmraw_error_t **error);

       int
       libsmraw_handle_get_utf16_information_value(libsmraw_handle_t   *handle,   const   uint8_t   *identifier,
           size_t       identifier_length,      uint16_t      *utf16_string,      size_t      utf16_string_size,
           libsmraw_error_t **error);

       int
       libsmraw_handle_set_utf16_information_value(libsmraw_handle_t   *handle,   const   uint8_t   *identifier,
           size_t    identifier_length,    const    uint16_t    *utf16_string,    size_t    utf16_string_length,
           libsmraw_error_t **error);

       int
       libsmraw_handle_get_number_of_integrity_hash_values(libsmraw_handle_t                            *handle,
           int *number_of_integrity_hash_values, libsmraw_error_t **error);

       int
       libsmraw_handle_get_integrity_hash_value_identifier_size(libsmraw_handle_t                       *handle,
           int integrity_hash_value_index, size_t *identifier_size, libsmraw_error_t **error);

       int
       libsmraw_handle_get_integrity_hash_value_identifier(libsmraw_handle_t                            *handle,
           int      integrity_hash_value_index,      uint8_t      *identifier,      size_t      identifier_size,
           libsmraw_error_t **error);

       int
       libsmraw_handle_get_utf8_integrity_hash_value_size(libsmraw_handle_t *handle, const uint8_t  *identifier,
           size_t identifier_length, size_t *utf8_string_size, libsmraw_error_t **error);

       int
       libsmraw_handle_get_utf8_integrity_hash_value(libsmraw_handle_t   *handle,   const  uint8_t  *identifier,
           size_t identifier_length, uint8_t *utf8_string, size_t utf8_string_size, libsmraw_error_t **error);

       int
       libsmraw_handle_set_utf8_integrity_hash_value(libsmraw_handle_t  *handle,  const   uint8_t   *identifier,
           size_t     identifier_length,     const     uint8_t    *utf8_string,    size_t    utf8_string_length,
           libsmraw_error_t **error);

       int
       libsmraw_handle_get_utf16_integrity_hash_value_size(libsmraw_handle_t *handle, const uint8_t *identifier,
           size_t identifier_length, size_t *utf16_string_size, libsmraw_error_t **error);

       int
       libsmraw_handle_get_utf16_integrity_hash_value(libsmraw_handle_t  *handle,  const  uint8_t   *identifier,
           size_t       identifier_length,      uint16_t      *utf16_string,      size_t      utf16_string_size,
           libsmraw_error_t **error);

       int
       libsmraw_handle_set_utf16_integrity_hash_value(libsmraw_handle_t  *handle,  const  uint8_t   *identifier,
           size_t    identifier_length,    const    uint16_t    *utf16_string,    size_t    utf16_string_length,
           libsmraw_error_t **error);

DESCRIPTION

       The libsmraw_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 "libsmraw.h".

ENVIRONMENT

       None

FILES

       None

NOTES

       libsmraw can be compiled with wide character support (wchar_t).

       To compile libsmraw with wide character support use: ./configure --enable-wide-character-type=yes
        or define: _UNICODE
        or UNICODE
        during compilation.

       LIBSMRAW_WIDE_CHARACTER_TYPE
        in libsmraw/features.h can be used to determine if libsmraw was compiled with wide character support.

BUGS

       Please report bugs of any kind on the project issue tracker: https://github.com/libyal/libsmraw/issues

AUTHOR

       These man pages are generated from "libsmraw.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 libsmraw.h include file

libsmraw                                          March 8, 2019                                      libsmraw(3)