/* 5 bytes per 36-bit word */ /* 518 word logical blocks */ #define TAPEBLK 518*5*15 /* Checksum is first word */ #define WdoffChecksum 0 #define BtoffChecksum 0 #define BtlenChecksum 36 /* Page access bits is second word */ #define WdoffAccess 1 #define BtoffAccess 0 #define BtlenAccess 36 /* SCD, first 3 bits in next word */ #define WdoffSCD 2 #define BtoffSCD 0 #define BtlenSCD 3 /* Number of saveset on tape */ #define WdoffSaveSetNum 2 #define BtoffSaveSetNum 3 #define BtlenSaveSetNum 15 /* Tape number of dump */ #define WdoffTapeNum 2 #define BtoffTapeNum 18 #define BtlenTapeNum 18 /* F1, F2 Flag bits */ #define WdoffF1F2 3 #define BtoffF1F2 0 #define BtlenF1F2 2 /* File Number in Set (new format only) */ #define WdoffFileNum 3 #define BtoffFileNum 2 #define BtlenFileNum 16 /* Page Number in file */ #define WdoffPageNum 3 #define BtoffPageNum 18 #define BtlenPageNum 18 /* Record type (2's complement) */ #define WdoffRectype 4 #define BtoffRectype 0 #define BtlenRectype 36 /* Record sequence number */ #define WdoffRecseq 5 #define BtoffRecseq 0 #define BtlenRecseq 36 /* SCD Values */ #define SCDNormal 0 #define SCDCollection 1 #define SCDArchive 2 #define SCDMigration 3 /* F1, F2 Values */ #define F1F2Old 0 #define F1F2OldContinue 3 #define F1F2New 1 #define F1F2NewContinue 2 /* Record type values */ #define RectypeData 0 #define RectypeTphd 1 #define RectypeFlhd 2 #define RectypeFltr 3 #define RectypeTptr 4 #define RectypeUsr 5 #define RectypeCtph 6 #define RectypeFill 7 char *rectypes[] = { "DATA", "ISSH", "FLHD", "FLTR", "TPTR", "UDIR", "CSSH", "FILL", }; #define BtoffWord 0 #define BtlenWord 36 #define WdoffSSstart 6 /* Start of saveset data */ #define WdoffSSFmt 6 /* Format of tape */ #define WdoffSSPtr 7 /* Pointer to saveset name (or 3 or 020 depending on format) */ #define WdoffSSDate 8 /* Saveset date offset (type 1, 6) */ #define WdoffSSName 9 /* Saveset name offset (type 1, 6) */ #define WdoffFLName 6 /* Filename offset (type 2) */ #define WdoffSSMsg (020+WdoffSSstart) /* Saveset name (unless SSPtr set) */ #define WdoffFDB 134 /* FDB offset (type 2) */ #define WdoffFDB_CTL 01+WdoffFDB /* Control word .FBCTL */ #define BtoffFDB_Arc 11 /* archived */ #define BtlenFDB_Arc 1 #define BtoffFDB_Inv 12 /* invisible */ #define BtlenFDB_Inv 1 #define BtoffFDB_Off 13 /* offline */ #define BtlenFDB_Off 1 #define WdoffFDB_PRT 04+WdoffFDB /* protection */ #define BtoffFDB_PRT 18 #define BtlenFDB_PRT 18 #define WdoffFDB_BSZ 011+WdoffFDB /* Number of bits per byte */ #define BtoffFDB_BSZ 6 #define BtlenFDB_BSZ 6 #define WdoffFDB_PGC 011+WdoffFDB /* Number of pages in the file */ #define BtoffFDB_PGC 18 #define BtlenFDB_PGC 18 #define WdoffFDB_Size 012+WdoffFDB /* Number of bytes in the file */ #define BtoffFDB_Size 0 #define BtlenFDB_Size 36 #define WdoffFDB_Wrt 014+WdoffFDB /* Date of last write to file */ #define WdoffFDB_Ref 015+WdoffFDB /* read time */ #define WdoffFDB_PGC_A 022+WdoffFDB /* Pagecount before archive */ #define WdoffFDB_TP1 033+WdoffFDB /* Tape ID for archive run 1 */ #define WdoffFDB_SS1 034+WdoffFDB /* Saveset # for archive run 1 */ #define BtoffFDB_SS 0 #define BtlenFDB_SS 18 #define WdoffFDB_TF1 034+WdoffFDB /* Tape file # for archive run 1 */ #define BtoffFDB_TF 18 #define BtlenFDB_TF 18 #define WdoffFDB_TP2 035+WdoffFDB /* Tape ID for archive run 2 */ #define WdoffFDB_SS2 036+WdoffFDB /* Saveset # for archive run 2 */ #define WdoffFDB_TF2 036+WdoffFDB /* Tape file # for archive run 2 */