libnsfdb(3)

πŸ“¦ in opensuse-leap 16.0

πŸ’– NAME πŸ’–

okay so bestie, meet libnsfdb.h β€” the library that lets you access the Notes Storage Facility (NSF) database file format. This is the libnsfdb(3) manual page, and we are getting into every function, every detail, no skipping. periodt. πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

First things first, the include:

#include <libnsfdb.h>

πŸ’– Support functions πŸ’–

These are the support girlies:

const char *
libnsfdb_get_version(void);

int
libnsfdb_get_access_flags_read(void);

int
libnsfdb_get_codepage(int *codepage, libnsfdb_error_t **error);

int
libnsfdb_set_codepage(int codepage, libnsfdb_error_t **error);

int
libnsfdb_check_file_signature(const char *filename,
    libnsfdb_error_t **error);

Available when compiled with wide character string support:

int
libnsfdb_check_file_signature_wide(const wchar_t *filename,
    libnsfdb_error_t **error);

Available when compiled with libbfio support:

int
libnsfdb_check_file_signature_file_io_handle(libbfio_handle_t *file_io_handle,
    libnsfdb_error_t **error);

🫢 Notify functions 🫢

Notify-core vibes only:

void
libnsfdb_notify_set_verbose(int verbose);

int
libnsfdb_notify_set_stream(FILE *stream, libnsfdb_error_t **error);

int
libnsfdb_notify_stream_open(const char *filename,
    libnsfdb_error_t **error);

int
libnsfdb_notify_stream_close(libnsfdb_error_t **error);

πŸŽ€ Error functions πŸŽ€

When things go sideways, these are the besties you call:

void
libnsfdb_error_free(libnsfdb_error_t **error);

int
libnsfdb_error_fprint(libnsfdb_error_t *error, FILE *stream);

int
libnsfdb_error_sprint(libnsfdb_error_t *error, char *string,
    size_t size);

int
libnsfdb_error_backtrace_fprint(libnsfdb_error_t *error, FILE *stream);

int
libnsfdb_error_backtrace_sprint(libnsfdb_error_t *error, char *string,
    size_t size);

🌸 File functions 🌸

The main-character file functions:

int
libnsfdb_file_initialize(libnsfdb_file_t **file,
    libnsfdb_error_t **error);

int
libnsfdb_file_free(libnsfdb_file_t **file, libnsfdb_error_t **error);

int
libnsfdb_file_signal_abort(libnsfdb_file_t *file,
    libnsfdb_error_t **error);

int
libnsfdb_file_open(libnsfdb_file_t *file, const char *filename,
    int access_flags, libnsfdb_error_t **error);

int
libnsfdb_file_close(libnsfdb_file_t *file, libnsfdb_error_t **error);

int
libnsfdb_file_get_number_of_notes(libnsfdb_file_t *file,
    uint8_t note_type, int *number_of_notes, libnsfdb_error_t **error);

int
libnsfdb_file_get_note(libnsfdb_file_t *file, uint8_t note_type,
    int note_index, libnsfdb_note_t **note, libnsfdb_error_t **error);

int
libnsfdb_file_get_note_by_identifier(libnsfdb_file_t *file,
    uint8_t note_type, uint32_t note_identifier, libnsfdb_note_t **note,
    libnsfdb_error_t **error);

Available when compiled with wide character string support:

int
libnsfdb_file_open_wide(libnsfdb_file_t *file, const wchar_t *filename,
    int access_flags, libnsfdb_error_t **error);

Available when compiled with libbfio support:

int
libnsfdb_file_open_file_io_handle(libnsfdb_file_t *file,
    libbfio_handle_t *file_io_handle, int access_flags,
    libnsfdb_error_t **error);

πŸ¦‹ Note functions πŸ¦‹

And the note functions, obviously:

int
libnsfdb_note_free(libnsfdb_note_t **note, libnsfdb_error_t **error);

int
libnsfdb_note_get_identifier(libnsfdb_note_t *note,
    uint32_t *note_identifier, libnsfdb_error_t **error);

int
libnsfdb_note_get_number_of_values(libnsfdb_note_t *note,
    int *number_of_values, libnsfdb_error_t **error);

🌸 DESCRIPTION 🌸

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

That’s it β€” she’s literally the version getter. iconic. ✨

πŸŽ€ RETURN VALUES πŸŽ€

Most of the functions return NULL or -1 on error, dependent on the return type. For the actual return values, see libnsfdb.h.

So yeah, if something feels off, check the header, bestie. it’s giving required reading. 😭

🧚 ENVIRONMENT 🧚

None.

not a single environment variable here, gorgeous. 🫢

πŸ“ FILES πŸ“

None.

no files hiding in this section. πŸŽ€

✨ NOTES ✨

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

To compile libnsfdb with wide character support use:

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

or define: _UNICODE or UNICODE during compilation.

LIBNSFDB_WIDE_CHARACTER_TYPE in libnsfdb/features.h can be used to determine if libnsfdb was compiled with wide character support.

πŸ’€ BUGS πŸ’€

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

don’t suffer in silence, babes. πŸ’€

πŸ‘‘ AUTHOR πŸ‘‘

These man pages are generated from libnsfdb.h.

slay. πŸ‘‘

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

πŸ”₯ SEE ALSO πŸ”₯

the libnsfdb.h include file


This page is libnsfdb, dated April 24, 2019 β€” source/version: libnsfdb; date: April 24, 2019. byeee, go read that header πŸ’‹βœ¨