libfsrefs(3)

πŸ“¦ in opensuse-leap 16.0

πŸ’– NAME πŸ’–

okay so bestie, this is libfsrefs(3) from the Library Functions Manual, and it is literally the manual page for libfsrefs.h β€” the library to access the Windows Resiliant File System (REFS) format. That's the whole vibe. ✨


🌸 SYNOPSIS 🌸

Start with the classic include, no cap:

#include <libfsrefs.h>

πŸ› οΈ Support functions πŸ› οΈ

const char *
libfsrefs_get_version(void);

int
libfsrefs_get_access_flags_read(void);

int
libfsrefs_get_codepage(int *codepage, libfsrefs_error_t **error);

int
libfsrefs_set_codepage(int codepage, libfsrefs_error_t **error);

int
libfsrefs_check_volume_signature(const char *filename,
    libfsrefs_error_t **error);
Available when compiled with wide character string support:
int
libfsrefs_check_volume_signature_wide(const wchar_t *filename,
    libfsrefs_error_t **error);
Available when compiled with libbfio support:
int
libfsrefs_check_volume_signature_file_io_handle(libbfio_handle_t *file_io_handle,
    libfsrefs_error_t **error);

πŸ“£ Notify functions πŸ“£

void
libfsrefs_notify_set_verbose(int verbose);

int
libfsrefs_notify_set_stream(FILE *stream, libfsrefs_error_t **error);

int
libfsrefs_notify_stream_open(const char *filename,
    libfsrefs_error_t **error);

int
libfsrefs_notify_stream_close(libfsrefs_error_t **error);

😭 Error functions 😭

void
libfsrefs_error_free(libfsrefs_error_t **error);

int
libfsrefs_error_fprint(libfsrefs_error_t *error, FILE *stream);

int
libfsrefs_error_sprint(libfsrefs_error_t *error, char *string,
    size_t size);

int
libfsrefs_error_backtrace_fprint(libfsrefs_error_t *error,
    FILE *stream);

int
libfsrefs_error_backtrace_sprint(libfsrefs_error_t *error, char *string,
    size_t size);

πŸ‘‘ Volume functions πŸ‘‘

int
libfsrefs_volume_initialize(libfsrefs_volume_t **volume,
    libfsrefs_error_t **error);

int
libfsrefs_volume_free(libfsrefs_volume_t **volume,
    libfsrefs_error_t **error);

int
libfsrefs_volume_signal_abort(libfsrefs_volume_t *volume,
    libfsrefs_error_t **error);

int
libfsrefs_volume_open(libfsrefs_volume_t *volume, const char *filename,
    int access_flags, libfsrefs_error_t **error);

int
libfsrefs_volume_close(libfsrefs_volume_t *volume,
    libfsrefs_error_t **error);

int
libfsrefs_volume_get_utf8_name_size(libfsrefs_volume_t *volume,
    size_t *utf8_string_size, libfsrefs_error_t **error);

int
libfsrefs_volume_get_utf8_name(libfsrefs_volume_t *volume,
    uint8_t *utf8_string, size_t utf8_string_size,
    libfsrefs_error_t **error);

int
libfsrefs_volume_get_utf16_name_size(libfsrefs_volume_t *volume,
    size_t *utf16_string_size, libfsrefs_error_t **error);

int
libfsrefs_volume_get_utf16_name(libfsrefs_volume_t *volume,
    uint16_t *utf16_string, size_t utf16_string_size,
    libfsrefs_error_t **error);
Available when compiled with wide character string support:
int
libfsrefs_volume_open_wide(libfsrefs_volume_t *volume,
    const wchar_t *filename, int access_flags,
    libfsrefs_error_t **error);
Available when compiled with libbfio support:
int
libfsrefs_volume_open_file_io_handle(libfsrefs_volume_t *volume,
    libbfio_handle_t *file_io_handle, int access_flags,
    libfsrefs_error_t **error);

πŸ¦‹ DESCRIPTION πŸ¦‹

The libfsrefs_get_version() function is used to retrieve the library version. That's the one description here, and honestly? She ate. πŸ’…


⭐ RETURN VALUES ⭐

Most of the functions return NULL or -1 on error, dependent on the return type. For the actual return values see libfsrefs.h. iykyk β€” the header has the receipts. 🧾✨


🌈 ENVIRONMENT 🌈

None. Not a single environment variable to memorize. πŸ’€


πŸŽ€ FILES πŸŽ€

None. No files here. Just vibes and function signatures. 🫢


πŸ”₯ NOTES πŸ”₯

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

To compile libfsrefs with wide character support use:

./configure --enable-wide-character-type=yes

or define: _UNICODE or UNICODE during compilation.

LIBFSREFS_WIDE_CHARACTER_TYPE in libfsrefs/features.h can be used to determine if libfsrefs was compiled with wide character support. That's your little vibe check for wide-character mode. πŸ‘€


πŸ’€ BUGS πŸ’€

Please report bugs of any kind on the project issue tracker:

https://github.com/libyal/libfsrefs/issues

🧚 AUTHOR 🧚

These man pages are generated from libfsrefs.h. iconic behavior, honestly. ✨


Copyright (C) 2012-2021, 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.

okay legal bestie moment over β€” but periodt, that NO is doing heavy lifting. πŸ’…


πŸ‘‘ SEE ALSO πŸ‘‘

the libfsrefs.h include file β€” that's the reference, bestie. Go look at the header. 🫢


β€” xoxo, the libfsrefs manual page πŸ’… dated September 3, 2019, repping libfsrefs(3) forever. 🌸