/* :ts=8 bk=0 * Lotsa defines and a few global externals. */ #define REV 0L #define BLOCKSIZE TD_SECTOR #define NUMBLOCKS (NUMCYLS * NUMHEADS * NUMSECS) #define ROOTBLOCK (NUMBLOCKS / 2) #define BITMAPINDEX 79 #define NUMLONGS (NUMBLOCKS / 32) #define XX 6L #define YY 5L #define XOFF 30L #define YOFF 25L #define BRKOVER (NUMSECS * YY + YOFF) #define SEP 6 #define LABEL_Y (2*NUMSECS*YY+SEP+YOFF+10) #define ever (;;) /* Offsets into interesting fields in disk blocks */ #define SIZE (BLOCKSIZE/4) #define NAME (SIZE-20) #define HASHCHAIN (SIZE-4) #define EXTENSION (SIZE-2) #define TYPE 0 #define HEADER_KEY 1 #define SECONDARY_TYPE (SIZE-1) #define DIR_HASHTAB 6 #define FH_BLOCKLIST (SIZE-51) #define FH_ENDLIST 6 /* Type definitions (coerced from the DOS using DISKED) */ #define T_SHORT 2 #define T_DATA 8 #define T_LIST 16 #define ST_ROOT 1 #define ST_DIR 2 #define ST_FILE -3 extern void *OpenLibrary(), *OpenWindow(), *AllocMem(), *Lock(), *Info(), *CreatePort(), *CreateExtIO(), *GetMsg(), *index(); extern long TextLength(), OpenDevice(), ReadPixel();