libfusn(3)
π libfusn(3) β the USN Journal library, bestie edition π
okay so this is a page from the Library Functions Manual (that's the manual name, girlies, write it down π) and it's all about libfusn.h β the C library that lets you vibe with the Update Sequence Number (USN) Journal format. yes, that USN. the NTFS one. we're going there. π¦
β¨ NAME β¨
libfusn.h β Library to access the Update Sequence Number (USN) Journal format
like, literally the whole point of this header file. it's giving "I contain multitudes and also journal records". π
πΈ SYNOPSIS πΈ
#include <libfusn.h>
π Support functions
const char *
libfusn_get_version(void);
π Error functions
void
libfusn_error_free(libfusn_error_t **error);
int
libfusn_error_fprint(libfusn_error_t *error, FILE *stream);
int
libfusn_error_sprint(libfusn_error_t *error, char *string, size_t size);
int
libfusn_error_backtrace_fprint(libfusn_error_t *error, FILE *stream);
int
libfusn_error_backtrace_sprint(libfusn_error_t *error, char *string,
size_t size);
π Record functions
int
libfusn_record_initialize(libfusn_record_t **usn_record,
libfusn_error_t **error);
int
libfusn_record_free(libfusn_record_t **usn_record,
libfusn_error_t **error);
int
libfusn_record_copy_from_byte_stream(libfusn_record_t *usn_record,
const uint8_t *byte_stream, size_t byte_stream_size,
libfusn_error_t **error);
int
libfusn_record_get_size(libfusn_record_t *usn_record, uint32_t *size,
libfusn_error_t **error);
int
libfusn_record_get_update_time(libfusn_record_t *record,
uint64_t *update_time, libfusn_error_t **error);
int
libfusn_record_get_file_reference(libfusn_record_t *record,
uint64_t *file_reference, libfusn_error_t **error);
int
libfusn_record_get_parent_file_reference(libfusn_record_t *record,
uint64_t *parent_file_reference, libfusn_error_t **error);
int
libfusn_record_get_update_sequence_number(libfusn_record_t *record,
uint64_t *update_sequence_number, libfusn_error_t **error);
int
libfusn_record_get_update_reason_flags(libfusn_record_t *record,
uint32_t *update_reason_flags, libfusn_error_t **error);
int
libfusn_record_get_update_source_flags(libfusn_record_t *record,
uint32_t *update_source_flags, libfusn_error_t **error);
int
libfusn_record_get_file_attribute_flags(libfusn_record_t *record,
uint32_t *file_attribute_flags, libfusn_error_t **error);
int
libfusn_record_get_utf8_name_size(libfusn_record_t *record,
size_t *utf8_string_size, libfusn_error_t **error);
int
libfusn_record_get_utf8_name(libfusn_record_t *record,
uint8_t *utf8_string, size_t utf8_string_size,
libfusn_error_t **error);
int
libfusn_record_get_utf16_name_size(libfusn_record_t *record,
size_t *utf16_string_size, libfusn_error_t **error);
int
libfusn_record_get_utf16_name(libfusn_record_t *record,
uint16_t *utf16_string, size_t utf16_string_size,
libfusn_error_t **error);
that's the whole lineup, no cap. every single one is up there, bestie β I did not skip a single icon. π
π₯ DESCRIPTION π₯
okay so the entire prose description here is honestly kind of a jump scare in how short it is, but:
the libfusn_get_version() function is the one you call to retrieve the library version. that's it. that's the description. she's lowkey minimal but we respect her. π
the rest of the functions are all declared up in the synopsis with their exact signatures, so if you need to know what one takes, scroll up and read it character for character. π
π RETURN VALUES π
most of the functions return NULL or -1 on error, depending on what the return type even is. so like, it varies. π
for the actual return values, go look at libfusn.h itself β the header is the source of truth, not me.
π§ ENVIRONMENT π§
None
like... none. zero. no environment variables. she doesn't read your env, she doesn't care about your env, she's above it. β¨
π FILES π
None
no files either. nothing to see, nothing to read, nothing to leak. iconic behaviour, honestly. π
β BUGS β
found a bug? any kind of bug? please report bugs of any kind on the project issue tracker:
https://github.com/libyal/libfusn/issues
fr fr go tell them, they want to know. π«Ά
π AUTHOR π
these man pages are generated from libfusn.h. yes, the man page writes itself. main character energy. π
π COPYRIGHT π
Copyright (C) 2011-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.
so like β free software, yes, but NO warranty. read that again. not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. do not come for her if it breaks. she warned you. π
π¦ SEE ALSO π¦
- the
libfusn.hinclude file
that's the see also. one item. the header again. she's self-referential and honestly? slay. πΈ
and that's the whole page, bestie!! π this little gem is libfusn, dated September 2, 2019 (a whole era ago, I know π), from the libfusn source β and the manual section is libfusn(3), so go forth and parse those USN journal records. mwah. π
πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: libfusn-devel 20240416-bp160.1.11 Β· LGPL-3.0-or-later
- opensuse-leap 16.0: libfusn-devel 20240416-bp160.1.11 Β· LGPL-3.0-or-later
- opensuse-leap 16.0: libfusn-devel 20240416-bp160.1.11 Β· LGPL-3.0-or-later
- opensuse-leap 16.0: libfusn-devel 20240416-bp160.1.11 Β· LGPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms