summaryrefslogtreecommitdiff
path: root/zip.h
blob: 9e56084eb962d9a4a5098381c0dd6e8b2d058517 (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
#ifndef ZIP_H_
#define ZIP_H_

#include <stdint.h>
#include <stdio.h>

typedef struct {
	uint64_t compressed_size;
	uint64_t size;
	uint64_t local_header_off;
	char     *name;
	uint16_t compression_method;
} zip_entry;

typedef struct {
	zip_entry *entries;
	FILE      *file;
	uint32_t  num_entries;
} zip_file;

zip_file *zip_open(char *filename);
uint8_t *zip_read(zip_file *f, uint32_t index, size_t *out_size);
void zip_close(zip_file *f);

#endif //ZIP_H_