Version 0.13.60
#include <zzip/mmapped.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
zzip_disk_entry_to_data(ZZIP_DISK * disk, struct zzip_disk_entry * entry)
: zzip_byte_t *
|
zzip_disk_entry_to_file_header(ZZIP_DISK * disk, struct zzip_disk_entry *entry)
: struct zzip_file_header *
|
zzip_disk_entry_strdup_name(ZZIP_DISK * disk, struct zzip_disk_entry *entry)
: zzip__new__ char *
|
zzip_disk_entry_strdup_comment(ZZIP_DISK * disk, struct zzip_disk_entry *entry)
: zzip__new__ char *
|
The | ||
The | ||
The | ||
The |
zzip_disk_findfile(ZZIP_DISK * disk, char *filename,
struct zzip_disk_entry *after, zzip_strcmp_fn_t compare)
: struct zzip_disk_entry *
|
zzip_disk_findfirst(ZZIP_DISK * disk)
: struct zzip_disk_entry *
|
zzip_disk_findnext(ZZIP_DISK * disk, struct zzip_disk_entry *entry)
: struct zzip_disk_entry *
|
zzip_disk_findmatch(ZZIP_DISK * disk, char *filespec,
struct zzip_disk_entry *after,
zzip_fnmatch_fn_t compare, int flags)
: struct zzip_disk_entry *
|
The | ||
The For an actual means, we are going to search backwards from the end of the mmaped block looking for the PK-magic signature of a disk_trailer. If we see one then we check the rootseek value to find the first disk_entry of the root central directory. If we find the correct PK-magic signature of a disk_entry over there then we assume we are done and we are going to return a pointer to that label. The return value is a pointer to the first zzip_disk_entry being checked to be within the bounds of the file area specified by the arguments. If no disk_trailer was found then null is returned, and likewise we only accept a disk_trailer with a seekvalue that points to a disk_entry and both parts have valid PK-magic parts. Beyond some sanity check we try to catch a common brokeness with zip archives that still allows us to find the start of the zip central directory. | ||
The | ||
The |
zzip_disk_fopen(ZZIP_DISK * disk, char *filename)
: zzip__new__ ZZIP_DISK_FILE *
|
zzip_disk_entry_fopen(ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry)
: zzip__new__ ZZIP_DISK_FILE *
|
zzip_disk_fread(void *ptr, zzip_size_t sized, zzip_size_t nmemb,
ZZIP_DISK_FILE * file)
: zzip_size_t
|
zzip_disk_fclose(ZZIP_DISK_FILE * file)
: int
|
zzip_disk_feof(ZZIP_DISK_FILE * file)
: int
|
The | ||
the ZZIP_DISK_FILE* is rather simple in just encapsulating the
arguments given to the | ||
The | ||
The | ||
The |
zzip_disk_mmap(int fd)
: zzip__new__ ZZIP_DISK *
|
zzip_disk_init(ZZIP_DISK * disk, void *buffer, zzip_size_t buflen)
: int
|
zzip_disk_new(void)
: zzip__new__ ZZIP_DISK *
|
zzip_disk_munmap(ZZIP_DISK * disk)
: int
|
zzip_disk_open(char *filename)
: zzip__new__ ZZIP_DISK *
|
zzip_disk_buffer(void *buffer, size_t buflen) : zzip__new__ ZZIP_DISK *
|
zzip_disk_close(ZZIP_DISK * disk)
: int
|
The | ||
The | ||
The | ||
The | ||
The | ||
The | ||
The |