1 /*	compact.h	4.6	84/08/25	*/
2 
3 #if defined(vax) || defined(sun)
4 typedef int longint;
5 #else
6 typedef long longint;
7 #endif
8 
9 #include <sys/param.h>
10 #include <sys/stat.h>
11 #include <sys/dir.h>
12 #include <stdio.h>
13 
14 #define COMPACTED 017777
15 #define PACKED	017437
16 
17 struct charac {
18 #if defined(vax) || defined(pdp11)
19 	char	lob, hib;
20 #else
21 	char	hib, lob;
22 #endif
23 };
24 
25 union cio {
26 	struct	charac chars;
27 	short	integ;
28 };
29 
30 #define LLEAF	010
31 #define RLEAF	04
32 #define SEEN	02
33 #define FBIT	01
34 
35 #define EF	0400
36 #define NC	0401
37 
38 #define	NF	(NC+1)
39 
40 struct fpoint {
41 	struct	node *fp;
42 	int	flags;
43 } in[NF];
44 
45 struct index {
46 	struct	node *pt;
47 	struct	index *next;
48 } dir[2*NF], *head, *flist, *dirp, *dirq;
49 
50 #define	NEW	flist; flist = flist->next
51 
52 union treep {
53 	struct	node *p;
54 	int	ch;
55 };
56 
57 struct node {
58 	struct	fpoint fath;
59 	struct son {
60 		union	treep sp;
61 		struct	index *top;
62 		longint	count;
63 	} sons[2];
64 #define	LEFT	0
65 #define	RIGHT	1
66 } dict[NF], *bottom;
67 
68 FILE	*cfp;
69 FILE	*uncfp;
70