Split out decompression functions and jigdo parsing functions into
[jigit.git] / jte.h
1 typedef long long INT64;
2 typedef unsigned long long UINT64;
3 typedef unsigned long      UINT32;
4
5 #ifndef LLONG_MAX
6 #   define LLONG_MAX (INT64)INT_MAX * INT_MAX
7 #endif
8
9 #define BUF_SIZE 65536
10 #define MISSING -1
11
12 #ifndef MIN
13 #define MIN(x,y)        ( ((x) < (y)) ? (x) : (y))
14 #endif
15
16 typedef struct match_list_
17 {
18     struct match_list_ *next;
19     char *match;
20     char *mirror_path;
21 } match_list_t;
22
23 extern match_list_t *match_list_head;
24 extern match_list_t *match_list_tail;
25
26 typedef struct md5_list_
27 {
28     struct md5_list_ *next;
29     INT64 file_size;
30     char *md5;
31     char *full_path;
32 } md5_list_t;
33
34 extern md5_list_t *md5_list_head;
35 extern md5_list_t *md5_list_tail;
36 extern FILE *logfile;
37 extern char *missing_filename;
38
39 int parse_jigdo_file(char *filename);
40 int parse_md5_file(char *filename);
41 md5_list_t *find_file_in_md5_list(unsigned char *base64_md5);
42 INT64 get_file_size(char *filename);
43
44 int decompress_data_block(char *in_buf, INT64 in_len, char *out_buf,
45                           INT64 out_len, int compress_type);
46
47