1 /*
2  *  LibXDiff by Davide Libenzi ( File Differential Library )
3  *  Copyright (C) 2003  Davide Libenzi
4  *
5  *  This library is free software; you can redistribute it and/or
6  *  modify it under the terms of the GNU Lesser General Public
7  *  License as published by the Free Software Foundation; either
8  *  version 2.1 of the License, or (at your option) any later version.
9  *
10  *  This library is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  *  Lesser General Public License for more details.
14  *
15  *  You should have received a copy of the GNU Lesser General Public
16  *  License along with this library; if not, see
17  *  <http://www.gnu.org/licenses/>.
18  *
19  *  Davide Libenzi <davidel@xmailserver.org>
20  *
21  */
22 
23 #if !defined(XTYPES_H)
24 #define XTYPES_H
25 
26 
27 
28 typedef struct s_chanode {
29 	struct s_chanode *next;
30 	long icurr;
31 } chanode_t;
32 
33 typedef struct s_chastore {
34 	chanode_t *head, *tail;
35 	long isize, nsize;
36 	chanode_t *ancur;
37 	chanode_t *sncur;
38 	long scurr;
39 } chastore_t;
40 
41 typedef struct s_xrecord {
42 	struct s_xrecord *next;
43 	char const *ptr;
44 	long size;
45 	unsigned long ha;
46 } xrecord_t;
47 
48 typedef struct s_xdfile {
49 	chastore_t rcha;
50 	long nrec;
51 	unsigned int hbits;
52 	xrecord_t **rhash;
53 	long dstart, dend;
54 	xrecord_t **recs;
55 	char *rchg;
56 	long *rindex;
57 	long nreff;
58 	unsigned long *ha;
59 } xdfile_t;
60 
61 typedef struct s_xdfenv {
62 	xdfile_t xdf1, xdf2;
63 } xdfenv_t;
64 
65 
66 
67 #endif /* #if !defined(XTYPES_H) */
68