Man page - libsmdev(3)

Packages contains this manual

Manual


libsmdev (3) Library Functions Manual libsmdev (3)

NAME

libsmdev.h — Library to access and read storage media (SM) devices

SYNOPSIS

#include <libsmdev.h>

Support functions

const char *

libsmdev_get_version ( void );

int

libsmdev_get_access_flags_read ( void );

int

libsmdev_get_access_flags_read_write ( void );

int

libsmdev_get_access_flags_write ( void );

int

libsmdev_get_codepage ( int *codepage , libsmdev_error_t **error );

int

libsmdev_set_codepage ( int codepage , libsmdev_error_t **error );

int

libsmdev_check_device ( const char *filename , libsmdev_error_t **error );

Available when compiled with wide character string support:

int

libsmdev_check_device_wide ( const wchar_t *filename , libsmdev_error_t **error );

Notify functions

void

libsmdev_notify_set_verbose ( int verbose );

int

libsmdev_notify_set_stream ( FILE *stream , libsmdev_error_t **error );

int

libsmdev_notify_stream_open ( const char *filename , libsmdev_error_t **error );

int

libsmdev_notify_stream_close ( libsmdev_error_t **error );

Error functions

void

libsmdev_error_free ( libsmdev_error_t **error );

int

libsmdev_error_fprint ( libsmdev_error_t *error , FILE *stream );

int

libsmdev_error_sprint ( libsmdev_error_t *error , char *string , size_t size );

int

libsmdev_error_backtrace_fprint ( libsmdev_error_t *error , FILE *stream );

int

libsmdev_error_backtrace_sprint ( libsmdev_error_t *error , char *string , size_t size );

Handle functions

int

libsmdev_handle_initialize ( libsmdev_handle_t **handle , libsmdev_error_t **error );

int

libsmdev_handle_free ( libsmdev_handle_t **handle , libsmdev_error_t **error );

int

libsmdev_handle_signal_abort ( libsmdev_handle_t *handle , libsmdev_error_t **error );

int

libsmdev_handle_open ( libsmdev_handle_t *handle , const char *filename , int access_flags , libsmdev_error_t **error );

int

libsmdev_handle_close ( libsmdev_handle_t *handle , libsmdev_error_t **error );

ssize_t

libsmdev_handle_read_buffer ( libsmdev_handle_t *handle , uint8_t *buffer , size_t buffer_size , libsmdev_error_t **error );

ssize_t

libsmdev_handle_read_buffer_at_offset ( libsmdev_handle_t *handle , uint8_t *buffer , size_t buffer_size , off64_t offset , libsmdev_error_t **error );

ssize_t

libsmdev_handle_write_buffer ( libsmdev_handle_t *handle , const uint8_t *buffer , size_t buffer_size , libsmdev_error_t **error );

ssize_t

libsmdev_handle_write_buffer_at_offset ( libsmdev_handle_t *handle , const uint8_t *buffer , size_t buffer_size , off64_t offset , libsmdev_error_t **error );

off64_t

libsmdev_handle_seek_offset ( libsmdev_handle_t *handle , off64_t offset , int whence , libsmdev_error_t **error );

int

libsmdev_handle_get_offset ( libsmdev_handle_t *handle , off64_t *offset , libsmdev_error_t **error );

int

libsmdev_handle_get_filename_size ( libsmdev_handle_t *handle , size_t *filename_size , libsmdev_error_t **error );

int

libsmdev_handle_get_filename ( libsmdev_handle_t *handle , char *filename , size_t filename_size , libsmdev_error_t **error );

Available when compiled with wide character string support:

int

libsmdev_handle_open_wide ( libsmdev_handle_t *handle , const wchar_t *filename , int access_flags , libsmdev_error_t **error );

int

libsmdev_handle_get_filename_size_wide ( libsmdev_handle_t *handle , size_t *filename_size , libsmdev_error_t **error );

int

libsmdev_handle_get_filename_wide ( libsmdev_handle_t *handle , wchar_t *filename , size_t filename_size , libsmdev_error_t **error );

Meta data functions

int

libsmdev_handle_get_media_size ( libsmdev_handle_t *handle , size64_t *media_size , libsmdev_error_t **error );

int

libsmdev_handle_get_bytes_per_sector ( libsmdev_handle_t *handle , uint32_t *bytes_per_sector , libsmdev_error_t **error );

int

libsmdev_handle_get_media_type ( libsmdev_handle_t *handle , uint8_t *media_type , libsmdev_error_t **error );

int

libsmdev_handle_get_bus_type ( libsmdev_handle_t *handle , uint8_t *bus_type , libsmdev_error_t **error );

int

libsmdev_handle_get_utf8_information_value ( libsmdev_handle_t *handle , const uint8_t *identifier , size_t identifier_length , uint8_t *utf8_string , size_t utf8_string_size , libsmdev_error_t **error );

int

libsmdev_handle_get_utf16_information_value ( libsmdev_handle_t *handle , const uint8_t *identifier , size_t identifier_length , uint16_t *utf16_string , size_t utf16_string_size , libsmdev_error_t **error );

int

libsmdev_handle_get_number_of_sessions ( libsmdev_handle_t *handle , int *number_of_sessions , libsmdev_error_t **error );

int

libsmdev_handle_get_session ( libsmdev_handle_t *handle , int index , uint64_t *start_sector , uint64_t *number_of_sectors , libsmdev_error_t **error );

int

libsmdev_handle_get_number_of_tracks ( libsmdev_handle_t *handle , int *number_of_tracks , libsmdev_error_t **error );

int

libsmdev_handle_get_track ( libsmdev_handle_t *handle , int index , uint64_t *start_sector , uint64_t *number_of_sectors , uint8_t *type , libsmdev_error_t **error );

int

libsmdev_handle_get_number_of_error_retries ( libsmdev_handle_t *handle , uint8_t *number_of_error_retries , libsmdev_error_t **error );

int

libsmdev_handle_set_number_of_error_retries ( libsmdev_handle_t *handle , uint8_t number_of_error_retries , libsmdev_error_t **error );

int

libsmdev_handle_get_error_granularity ( libsmdev_handle_t *handle , size_t *error_granularity , libsmdev_error_t **error );

int

libsmdev_handle_set_error_granularity ( libsmdev_handle_t *handle , size_t error_granularity , libsmdev_error_t **error );

int

libsmdev_handle_get_error_flags ( libsmdev_handle_t *handle , uint8_t *error_flags , libsmdev_error_t **error );

int

libsmdev_handle_set_error_flags ( libsmdev_handle_t *handle , uint8_t error_flags , libsmdev_error_t **error );

int

libsmdev_handle_get_number_of_errors ( libsmdev_handle_t *handle , int *number_of_errors , libsmdev_error_t **error );

int

libsmdev_handle_get_error ( libsmdev_handle_t *handle , int index , off64_t *offset , size64_t *size , libsmdev_error_t **error );

DESCRIPTION

The libsmdev_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 "libsmdev.h".

ENVIRONMENT

None

FILES

None

NOTES

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

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

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

BUGS

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

AUTHOR

These man pages are generated from "libsmdev.h".

COPYRIGHT

Copyright (C) 2010-2019, 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 libsmdev.h include file libsmdev March 10, 2019 libsmdev (3)