blob: 06f788dd6ee6a6981ab0adeb879b20ddb628c9cf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#ifndef PRIVATE_H
#define PRIVATE_H
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct Zipentry {
unsigned long fileNameLength;
const unsigned char* fileName;
unsigned short compressionMethod;
unsigned int uncompressedSize;
unsigned int compressedSize;
const unsigned char* data;
struct Zipentry* next;
} Zipentry;
typedef struct Zipfile
{
const unsigned char *buf;
ssize_t bufsize;
// Central directory
unsigned short disknum; //mDiskNumber;
unsigned short diskWithCentralDir; //mDiskWithCentralDir;
unsigned short entryCount; //mNumEntries;
unsigned short totalEntryCount; //mTotalNumEntries;
unsigned int centralDirSize; //mCentralDirSize;
unsigned int centralDirOffest; // offset from first disk //mCentralDirOffset;
unsigned short commentLen; //mCommentLen;
const unsigned char* comment; //mComment;
Zipentry* entries;
} Zipfile;
int read_central_dir(Zipfile* file);
unsigned int read_le_int(const unsigned char* buf);
unsigned int read_le_short(const unsigned char* buf);
#endif // PRIVATE_H
|