logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

libfsfat.h — Library to support the File Allocation Table (FAT) file system format

Author

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

Bugs

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

Description

       The libfsfat_get_version() function is used to retrieve the library version.

Environment

       None

Files

       None

Name

       libfsfat.h — Library to support the File Allocation Table (FAT) file system format

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.

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".

See Also

       the libfsfat.h include file

libfsfat                                       September 20, 2022                                    libfsfat(3)

Synopsis

#include<libfsfat.h>

       Support functions

       constchar*libfsfat_get_version(void);

       intlibfsfat_get_access_flags_read(void);

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

       intlibfsfat_set_codepage(intcodepage, libfsfat_error_t**error);

       intlibfsfat_check_volume_signature(constchar*filename, libfsfat_error_t**error);

       Available when compiled with wide character string support:

       intlibfsfat_check_volume_signature_wide(constwchar_t*filename, libfsfat_error_t**error);

       Available when compiled with libbfio support:

       intlibfsfat_check_volume_signature_file_io_handle(libbfio_handle_t*file_io_handle,
           libfsfat_error_t**error);

       Notify functions

       voidlibfsfat_notify_set_verbose(intverbose);

       intlibfsfat_notify_set_stream(FILE*stream, libfsfat_error_t**error);

       intlibfsfat_notify_stream_open(constchar*filename, libfsfat_error_t**error);

       intlibfsfat_notify_stream_close(libfsfat_error_t**error);

       Error functions

       voidlibfsfat_error_free(libfsfat_error_t**error);

       intlibfsfat_error_fprint(libfsfat_error_t*error, FILE*stream);

       intlibfsfat_error_sprint(libfsfat_error_t*error, char*string, size_tsize);

       intlibfsfat_error_backtrace_fprint(libfsfat_error_t*error, FILE*stream);

       intlibfsfat_error_backtrace_sprint(libfsfat_error_t*error, char*string, size_tsize);

       Volume functions

       intlibfsfat_volume_initialize(libfsfat_volume_t**volume, libfsfat_error_t**error);

       intlibfsfat_volume_free(libfsfat_volume_t**volume, libfsfat_error_t**error);

       intlibfsfat_volume_signal_abort(libfsfat_volume_t*volume, libfsfat_error_t**error);

       intlibfsfat_volume_open(libfsfat_volume_t*volume,    constchar*filename,    intaccess_flags,
           libfsfat_error_t**error);

       intlibfsfat_volume_close(libfsfat_volume_t*volume, libfsfat_error_t**error);

       intlibfsfat_volume_get_file_system_format(libfsfat_volume_t*volume,     uint8_t*file_system_format,
           libfsfat_error_t**error);

       intlibfsfat_volume_get_utf8_label_size(libfsfat_volume_t*volume,       size_t*utf8_string_size,
           libfsfat_error_t**error);

       intlibfsfat_volume_get_utf8_label(libfsfat_volume_t*volume, uint8_t*utf8_string, size_tutf8_string_size,
           libfsfat_error_t**error);

       intlibfsfat_volume_get_utf16_label_size(libfsfat_volume_t*volume,      size_t*utf16_string_size,
           libfsfat_error_t**error);

       intlibfsfat_volume_get_utf16_label(libfsfat_volume_t*volume,         uint16_t*utf16_string,
           size_tutf16_string_size, libfsfat_error_t**error);

       intlibfsfat_volume_get_root_directory(libfsfat_volume_t*volume,    libfsfat_file_entry_t**file_entry,
           libfsfat_error_t**error);

       intlibfsfat_volume_get_file_entry_by_identifier(libfsfat_volume_t*volume,     uint64_tidentifier,
           libfsfat_file_entry_t**file_entry, libfsfat_error_t**error);

       intlibfsfat_volume_get_file_entry_by_utf8_path(libfsfat_volume_t*volume,   constuint8_t*utf8_string,
           size_tutf8_string_length, libfsfat_file_entry_t**file_entry, libfsfat_error_t**error);

       intlibfsfat_volume_get_file_entry_by_utf16_path(libfsfat_volume_t*volume,  constuint16_t*utf16_string,
           size_tutf16_string_length, libfsfat_file_entry_t**file_entry, libfsfat_error_t**error);

       Available when compiled with wide character string support:

       intlibfsfat_volume_open_wide(libfsfat_volume_t*volume,  constwchar_t*filename,   intaccess_flags,
           libfsfat_error_t**error);

       Available when compiled with libbfio support:

       intlibfsfat_volume_open_file_io_handle(libfsfat_volume_t*volume,    libbfio_handle_t*file_io_handle,
           intaccess_flags, libfsfat_error_t**error);

       File entry functions

       intlibfsfat_file_entry_free(libfsfat_file_entry_t**file_entry, libfsfat_error_t**error);

       intlibfsfat_file_entry_get_identifier(libfsfat_file_entry_t*file_entry,      uint64_t*identifier,
           libfsfat_error_t**error);

       intlibfsfat_file_entry_get_access_time(libfsfat_file_entry_t*file_entry,    uint64_t*fat_timestamp,
           libfsfat_error_t**error);

       intlibfsfat_file_entry_get_creation_time(libfsfat_file_entry_t*file_entry,    uint64_t*fat_timestamp,
           libfsfat_error_t**error);

       intlibfsfat_file_entry_get_modification_time(libfsfat_file_entry_t*file_entry,  uint64_t*fat_timestamp,
           libfsfat_error_t**error);

       intlibfsfat_file_entry_get_file_attribute_flags(libfsfat_file_entry_t*file_entry,
           uint16_t*file_attribute_flags, libfsfat_error_t**error);

       intlibfsfat_file_entry_get_utf8_name_size(libfsfat_file_entry_t*file_entry,   size_t*utf8_string_size,
           libfsfat_error_t**error);

       intlibfsfat_file_entry_get_utf8_name(libfsfat_file_entry_t*file_entry,      uint8_t*utf8_string,
           size_tutf8_string_size, libfsfat_error_t**error);

       intlibfsfat_file_entry_get_utf16_name_size(libfsfat_file_entry_t*file_entry,  size_t*utf16_string_size,
           libfsfat_error_t**error);

       intlibfsfat_file_entry_get_utf16_name(libfsfat_file_entry_t*file_entry,     uint16_t*utf16_string,
           size_tutf16_string_size, libfsfat_error_t**error);

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

       intlibfsfat_file_entry_get_sub_file_entry_by_index(libfsfat_file_entry_t*file_entry,
           intsub_file_entry_index, libfsfat_file_entry_t**sub_file_entry, libfsfat_error_t**error);

       intlibfsfat_file_entry_get_sub_file_entry_by_utf8_name(libfsfat_file_entry_t*file_entry,
           constuint8_t*utf8_string,  size_tutf8_string_length,  libfsfat_file_entry_t**sub_file_entry,
           libfsfat_error_t**error);

       intlibfsfat_file_entry_get_sub_file_entry_by_utf16_name(libfsfat_file_entry_t*file_entry,
           constuint16_t*utf16_string,  size_tutf16_string_length,  libfsfat_file_entry_t**sub_file_entry,
           libfsfat_error_t**error);

       ssize_tlibfsfat_file_entry_read_buffer(libfsfat_file_entry_t*file_entry,  void*buffer,  size_tbuffer_size,
           libfsfat_error_t**error);

       ssize_tlibfsfat_file_entry_read_buffer_at_offset(libfsfat_file_entry_t*file_entry,      void*buffer,
           size_tbuffer_size, off64_toffset, libfsfat_error_t**error);

       off64_tlibfsfat_file_entry_seek_offset(libfsfat_file_entry_t*file_entry,   off64_toffset,   intwhence,
           libfsfat_error_t**error);

       intlibfsfat_file_entry_get_offset(libfsfat_file_entry_t*file_entry,         off64_t*offset,
           libfsfat_error_t**error);

       intlibfsfat_file_entry_get_size(libfsfat_file_entry_t*file_entry,          size64_t*size,
           libfsfat_error_t**error);

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

       intlibfsfat_file_entry_get_extent_by_index(libfsfat_file_entry_t*file_entry,     intextent_index,
           off64_t*extent_offset, size64_t*extent_size, uint32_t*extent_flags, libfsfat_error_t**error);

See Also