GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
zzip_disk_mmap(3) zziplib Function List zzip_disk_mmap(3)

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

#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)


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


Guido Draheim <guidod@gmx.de>


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

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.