Version 0.13.62
#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  |