libmpq(3)

NAME
libmpq - cross-platform C library for manipulating mpq archives.

SYNOPSIS
#include <mpq.h>

const char *libmpq__version();

const char *libmpq__strerror(int32_t returncode);

int32_t libmpq__archive_open(
        mpq_archive_s **mpq_archive,
        const char     *mpq_filename,
        off_t           archive_offset
);

int32_t libmpq__archive_close(
        mpq_archive_s  *mpq_archive
);

int32_t libmpq__archive_size_packed(
        mpq_archive_s  *mpq_archive,
        off_t          *packed_size
);

int32_t libmpq__archive_size_unpacked(
        mpq_archive_s  *mpq_archive,
        off_t          *unpacked_size
);

int32_t libmpq__archive_offset(
        mpq_archive_s  *mpq_archive,
        off_t          *offset
);

int32_t libmpq__archive_version(
        mpq_archive_s  *mpq_archive,
        uint32_t       *version
);

int32_t libmpq__archive_files(
        mpq_archive_s  *mpq_archive,
        uint32_t       *files
);

int32_t libmpq__file_size_packed(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number,
        off_t          *packed_size
);

int32_t libmpq__file_size_unpacked(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number,
        off_t          *unpacked_size
);

int32_t libmpq__file_offset(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number,
        off_t          *offset
);

int32_t libmpq__file_blocks(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number,
        off_t          *blocks
);

int32_t libmpq__file_encrypted(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number,
        off_t          *encrypted
);

int32_t libmpq__file_compressed(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number,
        off_t          *compressed
);

int32_t libmpq__file_imploded(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number,
        off_t          *imploded
);

int32_t libmpq__file_number(
        mpq_archive_s  *mpq_archive,
        const char     *filename,
        uint32_t       *number
);

int32_t libmpq__file_read(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number,
        uint8_t        *out_buf,
        off_t           out_size,
        off_t          *transferred
);

int32_t libmpq__block_open_offset(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number
);

int32_t libmpq__block_close_offset(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number
);

int32_t libmpq__block_size_packed(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number,
        uint32_t        block_number,
        off_t          *packed_size
);

int32_t libmpq__block_size_unpacked(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number,
        uint32_t        block_number,
        off_t          *unpacked_size
);

int32_t libmpq__block_offset(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number,
        uint32_t        block_number,
        off_t          *offset
);

int32_t libmpq__block_seed(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number,
        uint32_t        block_number,
        uint32_t       *seed
);

int32_t libmpq__block_read(
        mpq_archive_s  *mpq_archive,
        uint32_t        file_number,
        uint32_t        block_number,
        uint8_t        *out_buf,
        off_t           out_size,
        off_t          *transferred
);

DESCRIPTION

The libmpq library supports decrypting, decompressing, exploding and various manipulations of the MoPaQ archive files. It uses zlib(3) and bzip2(1) compression library. At this moment libmpq is not able to create MoPaQ archives, this limitation will be removed in a future version.

SEE ALSO
libmpq__version(3), libmpq__strerror(3), libmpq__archive_open(3), libmpq__archive_close(3), libmpq__archive_size_packed(3), libmpq__archive_size_unpacked(3), libmpq__archive_offset(3), libmpq__archive_version(3), libmpq__archive_files(3), libmpq__file_size_packed(3), libmpq__file_size_unpacked(3), libmpq__file_offset(3), libmpq__file_blocks(3), libmpq__file_encrypted(3), libmpq__file_compressed(3), libmpq__file_imploded(3), libmpq__file_number(3), libmpq__file_read(3), libmpq__block_open_offset(3), libmpq__block_close_offset(3), libmpq__block_size_packed(3), libmpq__block_size_unpacked(3), libmpq__block_offset(3), libmpq__block_seed(3), libmpq__block_read(3)

AUTHOR
Check documentation.

libmpq is (c) 2003-2011
    Maik Broemme <mbroemme@libmpq.org>

The above e-mail address can be used to send bug reports, feedbacks or library enhancements.