|
|
1.1 ! root 1: .\" @(#)tp5.5 6.1 (Berkeley) 5/15/85 ! 2: .\" ! 3: .TH TP 5 "May 15, 1985" ! 4: .AT 3 ! 5: .SH NAME ! 6: tp \- DEC/mag tape formats ! 7: .SH DESCRIPTION ! 8: .I Tp ! 9: dumps files to and extracts files from ! 10: DECtape and magtape. ! 11: The formats of these tapes are the same except ! 12: that magtapes have larger directories. ! 13: .PP ! 14: Block zero contains a ! 15: copy of a stand-alone bootstrap program. ! 16: See ! 17: .IR reboot (8). ! 18: .PP ! 19: Blocks 1 through 24 ! 20: for DECtape (1 through 62 for magtape) ! 21: contain a directory of the tape. ! 22: There are 192 (resp. 496) entries in the directory; ! 23: 8 entries per block; ! 24: 64 bytes per entry. ! 25: Each entry has the following format: ! 26: .nf ! 27: .IP "" ! 28: .ta 8n +\w'unsigned short 'u ! 29: struct { ! 30: char pathname[32]; ! 31: unsigned short mode; ! 32: char uid; ! 33: char gid; ! 34: char unused1; ! 35: char size[3]; ! 36: long modtime; ! 37: unsigned short tapeaddr; ! 38: char unused2[16]; ! 39: unsigned short checksum; ! 40: }; ! 41: .fi ! 42: .DT ! 43: .PP ! 44: The path name entry is the path name of the ! 45: file when put on the tape. ! 46: If the pathname starts with a zero word, ! 47: the entry is empty. ! 48: It is at most 32 bytes long and ends in a null byte. ! 49: Mode, uid, gid, size and time modified ! 50: are the same as described under i-nodes ! 51: (see file system ! 52: .IR fs (5)). ! 53: The tape address is the tape block number of the start of ! 54: the contents of the file. ! 55: Every file ! 56: starts on a block boundary. ! 57: The file occupies (size+511)/512 blocks ! 58: of continuous tape. ! 59: The checksum entry has a value such that ! 60: the sum of the 32 words of the directory entry is zero. ! 61: .PP ! 62: Blocks above 25 (resp. 63) are available for file storage. ! 63: .PP ! 64: A fake entry ! 65: has a size of zero. ! 66: .SH "SEE ALSO" ! 67: fs(5), tp(1) ! 68: .SH BUGS ! 69: The ! 70: .I pathname, uid, gid, ! 71: and ! 72: .I size ! 73: fields are too small.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.