libfwps(3)
π libfwps β the manual, but make it make sense
okay so bestie, buckle up: this is libfwps(3), a library manual page. yes, a library library. it's giving "i read the docs so you don't have to" energy and honestly? iconic of us.
β¨ NAME β¨
libfwps.h β the Library to access the Windows Property Store format. no cap, that's literally its whole job π«Ά
πΈ SYNOPSIS πΈ
#include <libfwps.h>
bestie, that's the include. one line. the gateway. π
π Support functions
const char *
libfwps_get_version(void);
π¦ Notify functions
void
libfwps_notify_set_verbose(int verbose);
int
libfwps_notify_set_stream(FILE *stream, libfwps_error_t **error);
int
libfwps_notify_stream_open(const char *filename,
libfwps_error_t **error);
int
libfwps_notify_stream_close(libfwps_error_t **error);
π Error functions
void
libfwps_error_free(libfwps_error_t **error);
int
libfwps_error_fprint(libfwps_error_t *error, FILE *stream);
int
libfwps_error_sprint(libfwps_error_t *error, char *string, size_t size);
int
libfwps_error_backtrace_fprint(libfwps_error_t *error, FILE *stream);
int
libfwps_error_backtrace_sprint(libfwps_error_t *error, char *string,
size_t size);
π₯ Format class identifier functions
const char *
libfwps_format_class_identifier_get_identifier(const uint8_t *format_class_identifier);
const char *
libfwps_format_class_identifier_get_description(const uint8_t *format_class_identifier);
β Record functions
okay this next one is long. like, long long. but we do not skip. we never skip. here's every single one, exactly as written β¨
int
libfwps_record_free(libfwps_record_t **record, libfwps_error_t **error);
int
libfwps_record_get_utf8_entry_name_size(libfwps_record_t *record,
size_t *utf8_string_size, libfwps_error_t **error);
int
libfwps_record_get_utf8_entry_name(libfwps_record_t *record,
uint8_t *utf8_string, size_t utf8_string_size,
libfwps_error_t **error);
int
libfwps_record_get_utf16_entry_name_size(libfwps_record_t *record,
size_t *utf16_string_size, libfwps_error_t **error);
int
libfwps_record_get_utf16_entry_name(libfwps_record_t *record,
uint16_t *utf16_string, size_t utf16_string_size,
libfwps_error_t **error);
int
libfwps_record_get_entry_type(libfwps_record_t *record,
uint32_t *entry_type, libfwps_error_t **error);
int
libfwps_record_get_utf8_value_name_size(libfwps_record_t *record,
size_t *utf8_string_size, libfwps_error_t **error);
int
libfwps_record_get_utf8_value_name(libfwps_record_t *record,
uint8_t *utf8_string, size_t utf8_string_size,
libfwps_error_t **error);
int
libfwps_record_get_utf16_value_name_size(libfwps_record_t *record,
size_t *utf16_string_size, libfwps_error_t **error);
int
libfwps_record_get_utf16_value_name(libfwps_record_t *record,
uint16_t *utf16_string, size_t utf16_string_size,
libfwps_error_t **error);
int
libfwps_record_get_value_type(libfwps_record_t *record,
uint32_t *value_type, libfwps_error_t **error);
int
libfwps_record_get_data_size(libfwps_record_t *record,
size_t *data_size, libfwps_error_t **error);
int
libfwps_record_get_data(libfwps_record_t *record, uint8_t *data,
size_t data_size, libfwps_error_t **error);
int
libfwps_record_get_data_as_boolean(libfwps_record_t *record,
uint8_t *value_boolean, libfwps_error_t **error);
int
libfwps_record_get_data_as_8bit_integer(libfwps_record_t *record,
uint8_t *value_8bit, libfwps_error_t **error);
int
libfwps_record_get_data_as_16bit_integer(libfwps_record_t *record,
uint16_t *value_16bit, libfwps_error_t **error);
int
libfwps_record_get_data_as_32bit_integer(libfwps_record_t *record,
uint32_t *value_32bit, libfwps_error_t **error);
int
libfwps_record_get_data_as_64bit_integer(libfwps_record_t *record,
uint64_t *value_64bit, libfwps_error_t **error);
int
libfwps_record_get_data_as_floatingtime(libfwps_record_t *record,
uint64_t *floatingtime, libfwps_error_t **error);
int
libfwps_record_get_data_as_filetime(libfwps_record_t *record,
uint64_t *filetime, libfwps_error_t **error);
int
libfwps_record_get_data_as_floating_point(libfwps_record_t *record,
double *value_floating_point, libfwps_error_t **error);
int
libfwps_record_get_data_as_utf8_string_size(libfwps_record_t *record,
size_t *utf8_string_size, libfwps_error_t **error);
int
libfwps_record_get_data_as_utf8_string(libfwps_record_t *record,
uint8_t *utf8_string, size_t utf8_string_size,
libfwps_error_t **error);
int
libfwps_record_get_data_as_utf16_string_size(libfwps_record_t *record,
size_t *utf16_string_size, libfwps_error_t **error);
int
libfwps_record_get_data_as_utf16_string(libfwps_record_t *record,
uint16_t *utf16_string, size_t utf16_string_size,
libfwps_error_t **error);
int
libfwps_record_get_data_as_utf8_path_string_size(libfwps_record_t *record,
size_t *utf8_string_size, libfwps_error_t **error);
int
libfwps_record_get_data_as_utf8_path_string(libfwps_record_t *record,
uint8_t *utf8_string, size_t utf8_string_size,
libfwps_error_t **error);
int
libfwps_record_get_data_as_utf16_path_string_size(libfwps_record_t *record,
size_t *utf16_string_size, libfwps_error_t **error);
int
libfwps_record_get_data_as_utf16_path_string(libfwps_record_t *record,
uint16_t *utf16_string, size_t utf16_string_size,
libfwps_error_t **error);
int
libfwps_record_get_data_as_guid(libfwps_record_t *record,
uint8_t *guid_data, size_t guid_data_size, libfwps_error_t **error);
see? all of them. we ate that. π
π§ Set functions
int
libfwps_set_initialize(libfwps_set_t **set, libfwps_error_t **error);
int
libfwps_set_free(libfwps_set_t **set, libfwps_error_t **error);
int
libfwps_set_copy_from_byte_stream(libfwps_set_t *set,
const uint8_t *byte_stream, size_t byte_stream_size,
int ascii_codepage, libfwps_error_t **error);
int
libfwps_set_get_identifier(libfwps_set_t *set, uint8_t *guid_data,
size_t guid_data_size, libfwps_error_t **error);
int
libfwps_set_get_number_of_records(libfwps_set_t *set,
int *number_of_records, libfwps_error_t **error);
int
libfwps_set_get_record_by_index(libfwps_set_t *set, int record_index,
libfwps_record_t **record, libfwps_error_t **error);
π Store functions
int
libfwps_store_initialize(libfwps_store_t **store,
libfwps_error_t **error);
int
libfwps_store_free(libfwps_store_t **store, libfwps_error_t **error);
int
libfwps_store_copy_from_byte_stream(libfwps_store_t *store,
const uint8_t *byte_stream, size_t byte_stream_size,
int ascii_codepage, libfwps_error_t **error);
int
libfwps_store_get_number_of_sets(libfwps_store_t *store,
int *number_of_sets, libfwps_error_t **error);
int
libfwps_store_get_set_by_index(libfwps_store_t *store, int set_index,
libfwps_set_t **set, libfwps_error_t **error);
π«Ά DESCRIPTION π«Ά
so like, the actual star of the show here is libfwps_get_version() β that's the function you call to retrieve the library version. that's it. that's the description. she's concise, she's lowkey, she's serving minimalism π
π RETURN VALUES π
real talk: most of the functions return NULL or -1 on error, dependent on the return type. ngl, if you wanna know the actual return values for each one, go look at "libfwps.h" β the header is the source of truth, bestie.
π ENVIRONMENT π
None
like... literally none. nothing to see here. carry on π
π FILES π
None
same vibe. zero files. we stay unbothered β¨
π BUGS π
found a bug? no cap, please report bugs of any kind on the project issue tracker:
https://github.com/libyal/libfwps/issues
do it. we'd be obsessed π«Ά
π AUTHOR π
These man pages are generated from "libfwps.h". that's the whole author situation. the header said it, so it's canon π
π COPYRIGHT π
Copyright (C) 2013-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. (yes the caps are staying, the caps are load-bearing π€)
β SEE ALSO β
- the
libfwps.hinclude file
and that's the page!! source and version check for the girlies: this beauty is libfwps, dated March 13, 2024, and it is out here living its best life in the Library Functions Manual. slay, stay hydrated, and always read your headers first πβ¨π
π¦ where this page comes from
- opensuse-leap 16.0: libfwps-devel 20240417-bp160.1.11 Β· LGPL-3.0-or-later
- opensuse-leap 16.0: libfwps-devel 20240417-bp160.1.11 Β· LGPL-3.0-or-later
- opensuse-leap 16.0: libfwps-devel 20240417-bp160.1.11 Β· LGPL-3.0-or-later
- opensuse-leap 16.0: libfwps-devel 20240417-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