Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 re-
       turn 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 com-
       piled 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-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 libsmdev.h include file

libsmdev			March 10, 2019			   libsmdev(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=libsmdev&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help