1*12903Sedward /*	compact.h	4.4	83/06/03	*/
210923Sshannon 
310923Sshannon #define VAX 11/780
410923Sshannon 
510923Sshannon 
611245Sshannon #if defined(vax) || defined(sun)
710923Sshannon typedef int longint;
810923Sshannon #else
910923Sshannon typedef long longint;
1010923Sshannon #endif
1110923Sshannon 
12*12903Sedward #include <sys/param.h>
1310923Sshannon #include <sys/stat.h>
14*12903Sedward #include <sys/dir.h>
1510923Sshannon #include <stdio.h>
1610923Sshannon 
17*12903Sedward #define LNAME (MAXPATHLEN+1)
1810923Sshannon #define NEW flist; flist = flist -> next
1910923Sshannon #define LLEAF 010
2010923Sshannon #define RLEAF 04
2110923Sshannon #define SEEN 02
2210923Sshannon #define FBIT 01
2310923Sshannon #define COMPACTED 017777
2410923Sshannon #define PACKED 017437
2510923Sshannon #define EF 0400
2610923Sshannon #define NC 0401
2710923Sshannon 
2810923Sshannon struct charac {
2911245Sshannon #if defined(vax) || defined(pdp11)
3011245Sshannon 	char lob, hib;
3111245Sshannon #else
3211245Sshannon 	char hib, lob;
3311245Sshannon #endif
3410923Sshannon };
3510923Sshannon 
3610923Sshannon union cio {
3710923Sshannon 	struct charac chars;
3811245Sshannon 	short integ;
3910923Sshannon };
4010923Sshannon 
4110923Sshannon struct fpoint {
4210923Sshannon 	struct node *fp;
4310923Sshannon 	int flags;
4410923Sshannon } in [258];
4510923Sshannon 
4610923Sshannon struct index {
4710923Sshannon 	struct node *pt;
4810923Sshannon 	struct index *next;
4910923Sshannon } dir [514], *head, *flist, *dirp, *dirq;
5010923Sshannon 
5110923Sshannon union treep {
5210923Sshannon 	struct node *p;
5310923Sshannon 	int ch;
5410923Sshannon };
5510923Sshannon 
5610923Sshannon struct node {
5710923Sshannon 	struct fpoint fath;
5810923Sshannon 	union treep sp [2];
5910923Sshannon 	struct index *top [2];
6010923Sshannon 	longint count [2];
6110923Sshannon } dict [258], *bottom;
6210923Sshannon 
6310923Sshannon longint oc;
6410923Sshannon 
6510923Sshannon FILE *cfp, *uncfp;
6610923Sshannon 
6710923Sshannon struct stat status;
68