Version 0.13.49
#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_DISK* zzip__new__
|
zzip_disk_close(ZZIP_DISK* disk)
: int
|
The | ||
The | ||
The | ||
The | ||
The | ||
The |