table of contents
| ZZIP_DISK_MMAP(3) | zziplib Function List | ZZIP_DISK_MMAP(3) |
NAME
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_DISK
*zzip__new__ zzip_disk_open((char *filename));
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_init function does primary initialization of a disk-buffer
struct.
The zzip_disk_new function allocates a new disk-buffer with
malloc(3)
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 ambigous it should not be snatched
away please.
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.
DESCRIPTION
AUTHOR
•Guido Draheim
<guidod@gmx.de>
COPYRIGHT
| 0.13.56 | zziplib |