libmodi(3)

πŸ“¦
version 0~20251121 Β· 2 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

libmodi.h β€” the library that lets you vibe with Mac OS disk image formats πŸ“βœ¨


πŸŽ€ SYNOPSIS πŸŽ€

#include <libmodi.h>

✨ Support functions ✨

const char *
libmodi_get_version(void);

int
libmodi_get_access_flags_read(void);

int
libmodi_get_access_flags_read_write(void);

int
libmodi_get_access_flags_write(void);

int
libmodi_get_codepage(int *codepage, libmodi_error_t **error);

int
libmodi_set_codepage(int codepage, libmodi_error_t **error);

int
libmodi_check_file_signature(const char *filename,
    libmodi_error_t **error);

Available when compiled with wide character string support:

int
libmodi_check_file_signature_wide(const wchar_t *filename,
    libmodi_error_t **error);

Available when compiled with libbfio support:

int
libmodi_check_file_signature_file_io_handle(libbfio_handle_t *file_io_handle,
    libmodi_error_t **error);

πŸ¦‹ Notify functions πŸ¦‹

void
libmodi_notify_set_verbose(int verbose);

int
libmodi_notify_set_stream(FILE *stream, libmodi_error_t **error);

int
libmodi_notify_stream_open(const char *filename,
    libmodi_error_t **error);

int
libmodi_notify_stream_close(libmodi_error_t **error);

😭 Error functions 😭

void
libmodi_error_free(libmodi_error_t **error);

int
libmodi_error_fprint(libmodi_error_t *error, FILE *stream);

int
libmodi_error_sprint(libmodi_error_t *error, char *string, size_t size);

int
libmodi_error_backtrace_fprint(libmodi_error_t *error, FILE *stream);

int
libmodi_error_backtrace_sprint(libmodi_error_t *error, char *string,
    size_t size);

πŸ‘‘ Handle functions πŸ‘‘

int
libmodi_handle_initialize(libmodi_handle_t **handle,
    libmodi_error_t **error);

int
libmodi_handle_free(libmodi_handle_t **handle, libmodi_error_t **error);

int
libmodi_handle_signal_abort(libmodi_handle_t *handle,
    libmodi_error_t **error);

int
libmodi_handle_open(libmodi_handle_t *handle, const char *filename,
    int access_flags, libmodi_error_t **error);

int
libmodi_handle_open_band_data_files(libmodi_handle_t *handle,
    libmodi_error_t **error);

int
libmodi_handle_close(libmodi_handle_t *handle, libmodi_error_t **error);

ssize_t
libmodi_handle_read_buffer(libmodi_handle_t *handle, void *buffer,
    size_t buffer_size, libmodi_error_t **error);

ssize_t
libmodi_handle_read_buffer_at_offset(libmodi_handle_t *handle,
    void *buffer, size_t buffer_size, off64_t offset,
    libmodi_error_t **error);

off64_t
libmodi_handle_seek_offset(libmodi_handle_t *handle, off64_t offset,
    int whence, libmodi_error_t **error);

int
libmodi_handle_get_offset(libmodi_handle_t *handle, off64_t *offset,
    libmodi_error_t **error);

int
libmodi_handle_set_maximum_number_of_open_handles(libmodi_handle_t *handle,
    int maximum_number_of_open_handles, libmodi_error_t **error);

int
libmodi_handle_set_band_data_files_path(libmodi_handle_t *handle,
    const char *path, size_t path_length, libmodi_error_t **error);

int
libmodi_handle_get_media_size(libmodi_handle_t *handle,
    size64_t *media_size, libmodi_error_t **error);

int
libmodi_handle_get_image_type(libmodi_handle_t *handle, int *image_type,
    libmodi_error_t **error);

Available when compiled with wide character string support:

int
libmodi_handle_open_wide(libmodi_handle_t *handle,
    const wchar_t *filename, int access_flags, libmodi_error_t **error);

int
libmodi_handle_set_band_data_files_path_wide(libmodi_handle_t *handle,
    const wchar_t *path, size_t path_length, libmodi_error_t **error);

Available when compiled with libbfio support:

int
libmodi_handle_open_file_io_handle(libmodi_handle_t *handle,
    libbfio_handle_t *file_io_handle, int access_flags,
    libmodi_error_t **error);

int
libmodi_handle_open_band_data_files_file_io_pool(libmodi_handle_t *handle,
    libbfio_pool_t *file_io_pool, libmodi_error_t **error);

🌸 DESCRIPTION 🌸

Okay so listen πŸ‘‚ β€” the libmodi_get_version() function is the one that hands you back the library version. That's it, that's the whole description, she's lowkey mysterious like that πŸ’…


⭐ RETURN VALUES ⭐

Most of these functions go NULL or -1 when something goes wrong, depending on what type they return (not all types can do the same thing, bestie, it's giving "depends on the return type" energy).

For the actual return values, go peek at "libmodi.h" β€” she's the main character, she has the receipts 🫢


🌈 ENVIRONMENT 🌈

None ✨ (yes, fr fr, nothing here)


πŸ¦‹ FILES πŸ¦‹

None ✨ (also nothing, we love a low-maintenance icon)


πŸ’œ NOTES πŸ’œ

libmodi can be compiled with wide character support (wchar_t) πŸ‘‘

To compile libmodi with wide character support, use:

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

or define:

  • _UNICODE
  • UNICODE

during compilation.

LIBMODI_WIDE_CHARACTER_TYPE in libmodi/features.h can be used to determine if libmodi was compiled with wide character support πŸ”βœ¨


πŸ’€ BUGS πŸ’€

Found a bug? Any kind of bug? Please report it on the project issue tracker, bestie, we wanna know πŸ™ˆ

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


πŸŽ€ AUTHOR πŸŽ€

These man pages are generated from "libmodi.h". Iconic source material, no cap ✨


Copyright (C) 2012-2025, 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 so that "NO warranty" thing is in ALL CAPS for a reason, babe β€” take it seriously, it means exactly what it says 😭

🫢 SEE ALSO 🫢

  • the libmodi.h include file

That's the whole vibe πŸ’– this page is libmodi(3), from the Library Functions Manual, and it was last touched on December 16, 2019. Slay, go read libmodi.h now, ily 🧚✨

πŸ“¦ where this page comes from