Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

tp(5) [bsd man page]

TP(5)								File Formats Manual							     TP(5)

tp - DEC/mag tape formats DESCRIPTION
Tp dumps files to and extracts files from DECtape and magtape. The formats of these tapes are the same except that magtapes have larger directories. Block zero contains a copy of a stand-alone bootstrap program. See reboot(8). Blocks 1 through 24 for DECtape (1 through 62 for magtape) contain a directory of the tape. There are 192 (resp. 496) entries in the directory; 8 entries per block; 64 bytes per entry. Each entry has the following format: struct { char pathname[32]; unsigned short mode; char uid; char gid; char unused1; char size[3]; long modtime; unsigned short tapeaddr; char unused2[16]; unsigned short checksum; }; The path name entry is the path name of the file when put on the tape. If the pathname starts with a zero word, the entry is empty. It is at most 32 bytes long and ends in a null byte. Mode, uid, gid, size and time modified are the same as described under i-nodes (see file system fs(5)). The tape address is the tape block number of the start of the contents of the file. Every file starts on a block boundary. The file occupies (size+511)/512 blocks of continuous tape. The checksum entry has a value such that the sum of the 32 words of the direc- tory entry is zero. Blocks above 25 (resp. 63) are available for file storage. A fake entry has a size of zero. SEE ALSO
fs(5), tp(1) BUGS
The pathname, uid, gid, and size fields are too small. 7th Edition May 15, 1985 TP(5)

Check Out this Related Man Page

tar(5)								File Formats Manual							    tar(5)

       tar, mdtar - tape archive file format

       The tape archive command dumps several files, including special files, into one, in a medium suitable for transportation.

       A  tape or file is a series of blocks.  Each block is of size TBLOCK.  A file on the tape is represented by a header block, which describes
       the file, followed by zero or more blocks, which give the contents of the file.	At the end of the tape are two blocks filled  with  binary
       zeros, as an end-of-file indicator.

       The  blocks  are  grouped  for  physical I/O operations.  Each group of n blocks (where n is set by the option on the command line, and the
       default is 20 blocks) is written with a single system call; on 9-track tapes, the result of this write is a single tape record.	 The  last
       group  is  always  written at the full size, so blocks after the two zero blocks contain random data.  On reading, the specified or default
       group size is used for the first read, but if that read returns less than a full tape block, the reduced block size  is	used  for  further

       The following is an example of a header block:
       #define TBLOCK  512
       #define NAMSIZ  100

       union hblock {
	       char dummy[TBLOCK];
	       struct header {
		       char name[NAMSIZ];
		       char mode[8];
		       char uid[8];
		       char gid[8];
		       char size[12];
		       char mtime[12];
		       char chksum[8];
		       char linkflag;
		       char linkname[NAMSIZ];
		       char rdev[6]
	       } dbuf;

       The  name  field  is  a	null-terminated string.  The other fields are 0-filled octal numbers in ASCII.	Each field (of width w) contains w
       minus 2 digits, a space, and a null, except size and mtime , which do not contain the trailing null.  The name field specifies the name	of
       the  file,  as  specified  on  the command line.  Files dumped because they were in a directory that was named in the command line have the
       directory name as prefix and /filename as suffix.  The field specifies the file mode, with the top bit masked off.  The uid and gid  fields
       specify	the  user  and group numbers that own the file.  The size field specifies the size of the file in bytes.  Links and symbolic links
       are dumped with this field specified as zero.  The mtime field specifies the modification time of the file at the time it was dumped.   The
       chksum  field  is a decimal ASCII value, which represents the sum of all the bytes in the header block.	When calculating the checksum, the
       chksum field is treated as if it were all blanks.  The linkflag field is ASCII 0 if the file is normal or a special file and ASCII 1 if	it
       is  a  hard  link,  and	ASCII  2  if it is a symbolic link.  The name to which it is linked, if any, is in linkname, with a trailing null.
       Unused fields of the header are binary zeros and are included in the checksum.  The rdev field encodes the ASCII representation of a device
       special file's major and minor device numbers.

       The  first  time  a given i-node number is dumped, it is dumped as a regular file.  The second and subsequent times, it is dumped as a link
       instead.  Upon retrieval, if a link entry is retrieved, but not the file it was linked to, an error message is printed and the tape must be
       manually rescanned to retrieve the linked file.

       The encoding of the header is designed to be portable across machines.

       Names or link names longer than NAMSIZ produce error reports and cannot be dumped.

See Also

Man Page