1*10923Sshannon /*	compact.h	4.1	83/02/11	*/
2*10923Sshannon 
3*10923Sshannon #define VAX 11/780
4*10923Sshannon 
5*10923Sshannon 
6*10923Sshannon #ifdef VAX
7*10923Sshannon typedef int longint;
8*10923Sshannon #else
9*10923Sshannon typedef long longint;
10*10923Sshannon #include <retrofit.h>
11*10923Sshannon #endif
12*10923Sshannon 
13*10923Sshannon #include <sys/types.h>
14*10923Sshannon #include <sys/stat.h>
15*10923Sshannon #include <stdio.h>
16*10923Sshannon 
17*10923Sshannon #define LNAME 80
18*10923Sshannon #define NEW flist; flist = flist -> next
19*10923Sshannon #define LLEAF 010
20*10923Sshannon #define RLEAF 04
21*10923Sshannon #define SEEN 02
22*10923Sshannon #define FBIT 01
23*10923Sshannon #define COMPACTED 017777
24*10923Sshannon #define PACKED 017437
25*10923Sshannon #define EF 0400
26*10923Sshannon #define NC 0401
27*10923Sshannon 
28*10923Sshannon struct charac {
29*10923Sshannon 	char lob;
30*10923Sshannon 	char hib;
31*10923Sshannon };
32*10923Sshannon 
33*10923Sshannon union cio {
34*10923Sshannon 	struct charac chars;
35*10923Sshannon 	int integ;
36*10923Sshannon };
37*10923Sshannon 
38*10923Sshannon struct fpoint {
39*10923Sshannon 	struct node *fp;
40*10923Sshannon 	int flags;
41*10923Sshannon } in [258];
42*10923Sshannon 
43*10923Sshannon struct index {
44*10923Sshannon 	struct node *pt;
45*10923Sshannon 	struct index *next;
46*10923Sshannon } dir [514], *head, *flist, *dirp, *dirq;
47*10923Sshannon 
48*10923Sshannon union treep {
49*10923Sshannon 	struct node *p;
50*10923Sshannon 	int ch;
51*10923Sshannon };
52*10923Sshannon 
53*10923Sshannon struct node {
54*10923Sshannon 	struct fpoint fath;
55*10923Sshannon 	union treep sp [2];
56*10923Sshannon 	struct index *top [2];
57*10923Sshannon 	longint count [2];
58*10923Sshannon } dict [258], *bottom;
59*10923Sshannon 
60*10923Sshannon longint oc;
61*10923Sshannon 
62*10923Sshannon FILE *cfp, *uncfp;
63*10923Sshannon 
64*10923Sshannon struct stat status;
65