libagdb(3)

πŸ“¦ in opensuse-leap 16.0

πŸ’– libagdb(3) β€” Library Functions Manual πŸ’–

okay bestie, welcome to the libagdb(3) page β€” it's giving β€œWindows SuperFetch database access realness” and we're gonna get through every single function together, no skips, no cap. πŸ¦‹βœ¨


πŸ¦‹ NAME πŸ¦‹

libagdb.h β€” Library to access the Windows SuperFetch database (AGDB) file format. periodt. πŸ’…


🌸 SYNOPSIS 🌸

#include <libagdb.h>

πŸ’… Support functions πŸ’…

const char *
libagdb_get_version(void);

int
libagdb_get_access_flags_read(void);

int
libagdb_get_codepage(int *codepage, libagdb_error_t **error);

int
libagdb_set_codepage(int codepage, libagdb_error_t **error);

int
libagdb_check_file_signature(const char *filename,
    libagdb_error_t **error);

✨ Available when compiled with wide character string support ✨

int
libagdb_check_file_signature_wide(const wchar_t *filename,
    libagdb_error_t **error);

🧚 Available when compiled with libbfio support 🧚

int
libagdb_check_file_signature_file_io_handle(libbfio_handle_t *file_io_handle,
    libagdb_error_t **error);

πŸŽ€ Notify functions πŸŽ€

void
libagdb_notify_set_verbose(int verbose);

int
libagdb_notify_set_stream(FILE *stream, libagdb_error_t **error);

int
libagdb_notify_stream_open(const char *filename,
    libagdb_error_t **error);

int
libagdb_notify_stream_close(libagdb_error_t **error);

😭 Error functions 😭

void
libagdb_error_free(libagdb_error_t **error);

int
libagdb_error_fprint(libagdb_error_t *error, FILE *stream);

int
libagdb_error_sprint(libagdb_error_t *error, char *string, size_t size);

int
libagdb_error_backtrace_fprint(libagdb_error_t *error, FILE *stream);

int
libagdb_error_backtrace_sprint(libagdb_error_t *error, char *string,
    size_t size);

πŸ”₯ File functions πŸ”₯

int
libagdb_file_initialize(libagdb_file_t **file, libagdb_error_t **error);

int
libagdb_file_free(libagdb_file_t **file, libagdb_error_t **error);

int
libagdb_file_signal_abort(libagdb_file_t *file,
    libagdb_error_t **error);

int
libagdb_file_open(libagdb_file_t *file, const char *filename,
    int access_flags, libagdb_error_t **error);

int
libagdb_file_close(libagdb_file_t *file, libagdb_error_t **error);

int
libagdb_file_get_number_of_volumes(libagdb_file_t *file,
    int *number_of_volumes, libagdb_error_t **error);

int
libagdb_file_get_volume_information(libagdb_file_t *file,
    int volume_index, libagdb_volume_information_t **volume_information,
    libagdb_error_t **error);

int
libagdb_file_get_number_of_sources(libagdb_file_t *file,
    int *number_of_sources, libagdb_error_t **error);

int
libagdb_file_get_source_information(libagdb_file_t *file,
    int source_index, libagdb_source_information_t **source_information,
    libagdb_error_t **error);

✨ Available when compiled with wide character string support ✨

int
libagdb_file_open_wide(libagdb_file_t *file, const wchar_t *filename,
    int access_flags, libagdb_error_t **error);

🧚 Available when compiled with libbfio support 🧚

int
libagdb_file_open_file_io_handle(libagdb_file_t *file,
    libbfio_handle_t *file_io_handle, int access_flags,
    libagdb_error_t **error);

πŸ‘‘ Volume information functions πŸ‘‘

int
libagdb_volume_information_free(libagdb_volume_information_t **volume_information,
    libagdb_error_t **error);

int
libagdb_volume_information_get_creation_time(libagdb_volume_information_t *volume_information,
    uint64_t *creation_time, libagdb_error_t **error);

int
libagdb_volume_information_get_serial_number(libagdb_volume_information_t *volume_information,
    uint32_t *serial_number, libagdb_error_t **error);

int
libagdb_volume_information_get_utf8_device_path_size(libagdb_volume_information_t *volume_information,
    size_t *utf8_string_size, libagdb_error_t **error);

int
libagdb_volume_information_get_utf8_device_path(libagdb_volume_information_t *volume_information,
    uint8_t *utf8_string, size_t utf8_string_size,
    libagdb_error_t **error);

int
libagdb_volume_information_get_utf16_device_path_size(libagdb_volume_information_t *volume_information,
    size_t *utf16_string_size, libagdb_error_t **error);

int
libagdb_volume_information_get_utf16_device_path(libagdb_volume_information_t *volume_information,
    uint16_t *utf16_string, size_t utf16_string_size,
    libagdb_error_t **error);

int
libagdb_volume_information_get_number_of_files(libagdb_volume_information_t *volume_information,
    int *number_of_files, libagdb_error_t **error);

int
libagdb_volume_information_get_file_information(libagdb_volume_information_t *volume_information,
    int file_index, libagdb_file_information_t **file_information,
    libagdb_error_t **error);

🌈 File information functions 🌈

int
libagdb_file_information_free(libagdb_file_information_t **file_information,
    libagdb_error_t **error);

int
libagdb_file_information_get_utf8_path_size(libagdb_file_information_t *file_information,
    size_t *utf8_string_size, libagdb_error_t **error);

int
libagdb_file_information_get_utf8_path(libagdb_file_information_t *file_information,
    uint8_t *utf8_string, size_t utf8_string_size,
    libagdb_error_t **error);

int
libagdb_file_information_get_utf16_path_size(libagdb_file_information_t *file_information,
    size_t *utf16_string_size, libagdb_error_t **error);

int
libagdb_file_information_get_utf16_path(libagdb_file_information_t *file_information,
    uint16_t *utf16_string, size_t utf16_string_size,
    libagdb_error_t **error);

⭐ Source information functions ⭐

int
libagdb_source_information_free(libagdb_source_information_t **source_information,
    libagdb_error_t **error);

int
libagdb_source_information_get_utf8_executable_filename_size(libagdb_source_information_t *source_information,
    size_t *utf8_string_size, libagdb_error_t **error);

int
libagdb_source_information_get_utf8_executable_filename(libagdb_source_information_t *source_information,
    uint8_t *utf8_string, size_t utf8_string_size,
    libagdb_error_t **error);

int
libagdb_source_information_get_utf16_executable_filename_size(libagdb_source_information_t *source_information,
    size_t *utf16_string_size, libagdb_error_t **error);

int
libagdb_source_information_get_utf16_executable_filename(libagdb_source_information_t *source_information,
    uint16_t *utf16_string, size_t utf16_string_size,
    libagdb_error_t **error);

πŸ’€ DESCRIPTION πŸ’€

okay so the DESCRIPTION section is lowkey short and that's fine. The libagdb_get_version() function is used to retrieve the library version. that's it, that's the whole vibe. iconic minimalism. πŸ’…


🫢 RETURN VALUES 🫢

Most of the functions return NULL or -1 on error, dependent on the return type. for the actual return values see "libagdb.h" β€” fr fr, that's where the receipts live.

bestie please check the header for exact return values, don't guess. no cap. 😭

πŸ“ ENVIRONMENT πŸ“

None β€” literally nothing here, bestie. no environment variables, no drama. πŸ™ˆ


🧚 FILES 🧚

None β€” no files listed on this page. clean. ✨


πŸ’œ NOTES πŸ’œ

  • libagdb can be compiled with wide character support (wchar_t). πŸ¦‹
  • To compile libagdb with wide character support use:
./configure --enable-wide-character-type=yes

or define:

_UNICODE

or:

UNICODE

during compilation. πŸ’…

  • LIBAGDB_WIDE_CHARACTER_TYPE in libagdb/features.h can be used to determine if libagdb was compiled with wide character support. that's your vibe check for wide-char mode. πŸ‘‘

😭 BUGS 😭

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


🌸 AUTHOR 🌸

These man pages are generated from "libagdb.h". yes, generated, not hand-written by a mysterious manpage goblin. 🧚


Copyright (C) 2014-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.


πŸŽ€ SEE ALSO πŸŽ€

the libagdb.h include file β€” that's the whole SEE ALSO, bestie. short and slay. πŸ’…


β€” source libagdb, dated April 12, 2019. bye bestie, go read that header πŸ’‹βœ¨