1*6e469e77Ssam /* compact.h 4.6 84/08/25 */ 2ed2a4b30Sshannon 33f163275Sshannon #if defined(vax) || defined(sun) 4ed2a4b30Sshannon typedef int longint; 5ed2a4b30Sshannon #else 6ed2a4b30Sshannon typedef long longint; 7ed2a4b30Sshannon #endif 8ed2a4b30Sshannon 92ff865d3Sedward #include <sys/param.h> 10ed2a4b30Sshannon #include <sys/stat.h> 112ff865d3Sedward #include <sys/dir.h> 12ed2a4b30Sshannon #include <stdio.h> 13ed2a4b30Sshannon 14ed2a4b30Sshannon #define COMPACTED 017777 15ed2a4b30Sshannon #define PACKED 017437 16ed2a4b30Sshannon 17ed2a4b30Sshannon struct charac { 183f163275Sshannon #if defined(vax) || defined(pdp11) 193f163275Sshannon char lob, hib; 203f163275Sshannon #else 213f163275Sshannon char hib, lob; 223f163275Sshannon #endif 23ed2a4b30Sshannon }; 24ed2a4b30Sshannon 25ed2a4b30Sshannon union cio { 26ed2a4b30Sshannon struct charac chars; 273f163275Sshannon short integ; 28ed2a4b30Sshannon }; 29ed2a4b30Sshannon 303eab18b4Ssam #define LLEAF 010 313eab18b4Ssam #define RLEAF 04 323eab18b4Ssam #define SEEN 02 333eab18b4Ssam #define FBIT 01 343eab18b4Ssam 353eab18b4Ssam #define EF 0400 363eab18b4Ssam #define NC 0401 373eab18b4Ssam 383eab18b4Ssam #define NF (NC+1) 393eab18b4Ssam 40ed2a4b30Sshannon struct fpoint { 41ed2a4b30Sshannon struct node *fp; 42ed2a4b30Sshannon int flags; 433eab18b4Ssam } in[NF]; 44ed2a4b30Sshannon 45ed2a4b30Sshannon struct index { 46ed2a4b30Sshannon struct node *pt; 47ed2a4b30Sshannon struct index *next; 483eab18b4Ssam } dir[2*NF], *head, *flist, *dirp, *dirq; 493eab18b4Ssam 503eab18b4Ssam #define NEW flist; flist = flist->next 51ed2a4b30Sshannon 52ed2a4b30Sshannon union treep { 53ed2a4b30Sshannon struct node *p; 54ed2a4b30Sshannon int ch; 55ed2a4b30Sshannon }; 56ed2a4b30Sshannon 57ed2a4b30Sshannon struct node { 58ed2a4b30Sshannon struct fpoint fath; 59*6e469e77Ssam struct son { 60*6e469e77Ssam union treep sp; 61*6e469e77Ssam struct index *top; 62*6e469e77Ssam longint count; 63*6e469e77Ssam } sons[2]; 643eab18b4Ssam #define LEFT 0 653eab18b4Ssam #define RIGHT 1 663eab18b4Ssam } dict[NF], *bottom; 67ed2a4b30Sshannon 683eab18b4Ssam FILE *cfp; 693eab18b4Ssam FILE *uncfp; 70