Provided by: libzzip-dev_0.13.72+dfsg.1-1.1_amd64 bug

NAME

       zzip_disk_mmap, zzip_disk_init, zzip_disk_new, zzip_disk_munmap, zzip_disk_open,
       zzip_disk_buffer, zzip_disk_close -  turn a filehandle into a mmapped zip disk archive
       handle

SYNOPSIS

       #include <zzip/mmapped.h>

       zzip__new__ ZZIP_DISK *
       zzip_disk_mmap(int fd)

       int
       zzip_disk_init(ZZIP_DISK * disk, void *buffer, zzip_size_t buflen)

       zzip__new__ ZZIP_DISK *
       zzip_disk_new(void)

       int
       zzip_disk_munmap(ZZIP_DISK * disk)

       zzip__new__ ZZIP_DISK *
       zzip_disk_open(char *filename)

       zzip__new__ ZZIP_DISK *
       zzip_disk_buffer(void *buffer, size_t buflen)
       int
       zzip_disk_close(ZZIP_DISK * disk)

DESCRIPTION

        The zzip_disk_mmap function uses the given file-descriptor to detect the length of the
       file and calls the system mmap(2) to put it in main memory. If it is successful then a
       newly allocated ZZIP_DISK* is returned with disk->buffer pointing to the mapview of the
       zipdisk content.

        The zzip_disk_mmap function may return null on errors (errno).

        The zzip_disk_init function does primary initialization of a disk-buffer struct.

        The zzip_disk_init function always returns 0 as success.

        The zzip_disk_new function allocates a new disk-buffer with malloc(3)

        The zzip_disk_new function may return null on errors (errno).

        The zzip_disk_munmap function is the inverse of zzip_disk_mmap and using the system
       munmap(2) on the buffer area and free(3) on the ZZIP_DISK structure.

        The zzip_disk_open function opens the given archive by name and turn the filehandle to
       zzip_disk_mmap for bringing it to main memory. If it can not be mmap(2)'ed then we slurp
       the whole file into a newly malloc(2)'ed memory block. Only if that fails too then we
       return null. Since handling of disk->buffer is ambiguous it should not be snatched away
       please.

        The zzip_disk_open function may return null on errors (errno).

        The zzip_disk_buffer function will attach a buffer with a zip image that was acquired
       from another source than a file. Note that if zzip_disk_mmap fails then zzip_disk_open
       will fall back and try to read the full file to memory wrapping a ZZIP_DISK around the
       memory buffer just as the zzip_disk_buffer function will do. Note that the
       zzip_disk_buffer function will not own the buffer, it will neither be written nor free()d.

        The zzip_disk_buffer function may return null (errno).

        The zzip_disk_close function will release all data needed to access a (mmapped) zip
       archive, including any malloc()ed blocks, sharedmem mappings and it dumps the handle
       struct as well.

        The zzip_disk_close function returns 0 on success (or whatever munmap says).

AUTHOR

        Guido Draheim <guidod@gmx.de>

COPYRIGHT

        Copyright (c)Guido Draheim, use under copyleft (LGPL,MPL)