home | help
libfsfat(3)		     Library Functions Manual		     libfsfat(3)

NAME
     libfsfat.h  -- Library to support the File Allocation Table (FAT) file sys-
     tem format

SYNOPSIS
     #include <libfsfat.h>

     Support functions

     const char *
     libfsfat_get_version(void);

     int
     libfsfat_get_access_flags_read(void);

     int
     libfsfat_get_codepage(int *codepage, libfsfat_error_t **error);

     int
     libfsfat_set_codepage(int codepage, libfsfat_error_t **error);

     int
     libfsfat_check_volume_signature(const char *filename,
	 libfsfat_error_t **error);

     Available when compiled with wide character string support:

     int
     libfsfat_check_volume_signature_wide(const wchar_t *filename,
	 libfsfat_error_t **error);

     Available when compiled with libbfio support:

     int
     libfsfat_check_volume_signature_file_io_handle(libbfio_handle_t *file_io_handle,
	 libfsfat_error_t **error);

     Notify functions

     void
     libfsfat_notify_set_verbose(int verbose);

     int
     libfsfat_notify_set_stream(FILE *stream, libfsfat_error_t **error);

     int
     libfsfat_notify_stream_open(const char *filename,
	 libfsfat_error_t **error);

     int
     libfsfat_notify_stream_close(libfsfat_error_t **error);

     Error functions

     void
     libfsfat_error_free(libfsfat_error_t **error);

     int
     libfsfat_error_fprint(libfsfat_error_t *error, FILE *stream);

     int
     libfsfat_error_sprint(libfsfat_error_t *error, char *string, size_t size);

     int
     libfsfat_error_backtrace_fprint(libfsfat_error_t *error, FILE *stream);

     int
     libfsfat_error_backtrace_sprint(libfsfat_error_t *error, char *string,
	 size_t size);

     Volume functions

     int
     libfsfat_volume_initialize(libfsfat_volume_t **volume,
	 libfsfat_error_t **error);

     int
     libfsfat_volume_free(libfsfat_volume_t **volume, libfsfat_error_t **error);

     int
     libfsfat_volume_signal_abort(libfsfat_volume_t *volume,
	 libfsfat_error_t **error);

     int
     libfsfat_volume_open(libfsfat_volume_t *volume, const char *filename,
	 int access_flags, libfsfat_error_t **error);

     int
     libfsfat_volume_close(libfsfat_volume_t *volume, libfsfat_error_t **error);

     int
     libfsfat_volume_get_file_system_format(libfsfat_volume_t *volume,
	 uint8_t *file_system_format, libfsfat_error_t **error);

     int
     libfsfat_volume_get_utf8_label_size(libfsfat_volume_t *volume,
	 size_t *utf8_string_size, libfsfat_error_t **error);

     int
     libfsfat_volume_get_utf8_label(libfsfat_volume_t *volume,
	 uint8_t *utf8_string, size_t utf8_string_size,
	 libfsfat_error_t **error);

     int
     libfsfat_volume_get_utf16_label_size(libfsfat_volume_t *volume,
	 size_t *utf16_string_size, libfsfat_error_t **error);

     int
     libfsfat_volume_get_utf16_label(libfsfat_volume_t *volume,
	 uint16_t *utf16_string, size_t utf16_string_size,
	 libfsfat_error_t **error);

     int
     libfsfat_volume_get_root_directory(libfsfat_volume_t *volume,
	 libfsfat_file_entry_t **file_entry, libfsfat_error_t **error);

     int
     libfsfat_volume_get_file_entry_by_identifier(libfsfat_volume_t *volume,
	 uint64_t identifier, libfsfat_file_entry_t **file_entry,
	 libfsfat_error_t **error);

     int
     libfsfat_volume_get_file_entry_by_utf8_path(libfsfat_volume_t *volume,
	 const uint8_t *utf8_string, size_t utf8_string_length,
	 libfsfat_file_entry_t **file_entry, libfsfat_error_t **error);

     int
     libfsfat_volume_get_file_entry_by_utf16_path(libfsfat_volume_t *volume,
	 const uint16_t *utf16_string, size_t utf16_string_length,
	 libfsfat_file_entry_t **file_entry, libfsfat_error_t **error);

     Available when compiled with wide character string support:

     int
     libfsfat_volume_open_wide(libfsfat_volume_t *volume,
	 const wchar_t *filename, int access_flags, libfsfat_error_t **error);

     Available when compiled with libbfio support:

     int
     libfsfat_volume_open_file_io_handle(libfsfat_volume_t *volume,
	 libbfio_handle_t *file_io_handle, int access_flags,
	 libfsfat_error_t **error);

     File entry functions

     int
     libfsfat_file_entry_free(libfsfat_file_entry_t **file_entry,
	 libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_identifier(libfsfat_file_entry_t *file_entry,
	 uint64_t *identifier, libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_access_time(libfsfat_file_entry_t *file_entry,
	 uint64_t *fat_timestamp, libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_creation_time(libfsfat_file_entry_t *file_entry,
	 uint64_t *fat_timestamp, libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_modification_time(libfsfat_file_entry_t *file_entry,
	 uint64_t *fat_timestamp, libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_file_attribute_flags(libfsfat_file_entry_t *file_entry,
	 uint16_t *file_attribute_flags, libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_utf8_name_size(libfsfat_file_entry_t *file_entry,
	 size_t *utf8_string_size, libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_utf8_name(libfsfat_file_entry_t *file_entry,
	 uint8_t *utf8_string, size_t utf8_string_size,
	 libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_utf16_name_size(libfsfat_file_entry_t *file_entry,
	 size_t *utf16_string_size, libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_utf16_name(libfsfat_file_entry_t *file_entry,
	 uint16_t *utf16_string, size_t utf16_string_size,
	 libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_number_of_sub_file_entries(libfsfat_file_entry_t *file_entry,
	 int *number_of_sub_entries, libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_sub_file_entry_by_index(libfsfat_file_entry_t *file_entry,
	 int sub_file_entry_index, libfsfat_file_entry_t **sub_file_entry,
	 libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_sub_file_entry_by_utf8_name(libfsfat_file_entry_t *file_entry,
	 const uint8_t *utf8_string, size_t utf8_string_length,
	 libfsfat_file_entry_t **sub_file_entry, libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_sub_file_entry_by_utf16_name(libfsfat_file_entry_t *file_entry,
	 const uint16_t *utf16_string, size_t utf16_string_length,
	 libfsfat_file_entry_t **sub_file_entry, libfsfat_error_t **error);

     ssize_t
     libfsfat_file_entry_read_buffer(libfsfat_file_entry_t *file_entry,
	 void *buffer, size_t buffer_size, libfsfat_error_t **error);

     ssize_t
     libfsfat_file_entry_read_buffer_at_offset(libfsfat_file_entry_t *file_entry,
	 void *buffer, size_t buffer_size, off64_t offset,
	 libfsfat_error_t **error);

     off64_t
     libfsfat_file_entry_seek_offset(libfsfat_file_entry_t *file_entry,
	 off64_t offset, int whence, libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_offset(libfsfat_file_entry_t *file_entry,
	 off64_t *offset, libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_size(libfsfat_file_entry_t *file_entry,
	 size64_t *size, libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_number_of_extents(libfsfat_file_entry_t *file_entry,
	 int *number_of_extents, libfsfat_error_t **error);

     int
     libfsfat_file_entry_get_extent_by_index(libfsfat_file_entry_t *file_entry,
	 int extent_index, off64_t *extent_offset, size64_t *extent_size,
	 uint32_t *extent_flags, libfsfat_error_t **error);

DESCRIPTION
     The libfsfat_get_version() function is used to retrieve  the  library  ver-
     sion.

RETURN VALUES
     Most  of  the functions return NULL or -1 on error, dependent on the return
     type.  For the actual return values see "libfsfat.h".

ENVIRONMENT
     None

FILES
     None

NOTES
     libfsfat can be compiled with wide character support (wchar_t).

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

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

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

AUTHOR
     These man pages are generated from "libfsfat.h".

COPYRIGHT
     Copyright (C) 2021-2026, 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 libfsfat.h include file

libfsfat		       September 20, 2022		     libfsfat(3)

home | help