manpagez: man pages & more
man zzip_disk_buffer(3)
Home | html | info | man
zzip_disk_mmap(3)            zziplib Function List           zzip_disk_mmap(3)




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_disk_mmap(3) 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

        .PP 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

       o   Guido Draheim <guidod@gmx.de>


COPYRIGHT

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






zziplib                             0.13.68                  zzip_disk_mmap(3)

libzzip 0.13.68 - Generated Fri Feb 9 18:13:10 CST 2018
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.