summaryrefslogtreecommitdiff
path: root/include/samus/zip.h
blob: 656fc731ab5c1685b9ce99953dc4a4d7caf965f9 (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
/*
 * ZIP archive
 */

typedef struct sa_zip_s sa_zip;
typedef struct sa_zipent_s sa_zipent;

struct sa_zipent_s
{
	unsigned offset;
	unsigned csize;
	unsigned usize;
	char *name;
};

struct sa_zip_s
{
	fz_file *file;
	int len;
	sa_zipent *table;
};

fz_error *sa_openzip(sa_zip **zipp, char *filename);
void sa_debugzip(sa_zip *zip);
void sa_closezip(sa_zip *zip);
fz_error *sa_openzipstream(sa_zip *zip, char *name);
void sa_closezipstream(sa_zip *zip);