1 /*
2  * src/bin/pg_dump/pg_backup_tar.h
3  *
4  * TAR Header (see "ustar interchange format" in POSIX 1003.1)
5  *
6  * Offset	Length	 Contents
7  *	 0	  100 bytes  File name ('\0' terminated, 99 maximum length)
8  * 100		8 bytes  File mode (in octal ascii)
9  * 108		8 bytes  User ID (in octal ascii)
10  * 116		8 bytes  Group ID (in octal ascii)
11  * 124	   12 bytes  File size (in octal ascii)
12  * 136	   12 bytes  Modify time (Unix timestamp in octal ascii)
13  * 148		8 bytes  Header checksum (in octal ascii)
14  * 156		1 bytes  Type flag (see below)
15  * 157	  100 bytes  Linkname, if symlink ('\0' terminated, 99 maximum length)
16  * 257		6 bytes  Magic ("ustar\0")
17  * 263		2 bytes  Version ("00")
18  * 265	   32 bytes  User name ('\0' terminated, 31 maximum length)
19  * 297	   32 bytes  Group name ('\0' terminated, 31 maximum length)
20  * 329		8 bytes  Major device ID (in octal ascii)
21  * 337		8 bytes  Minor device ID (in octal ascii)
22  * 345	  155 bytes  File name prefix (not used in our implementation)
23  * 500	   12 bytes  Padding
24  *
25  * 512	 (s+p)bytes  File contents, padded out to 512-byte boundary
26  */
27 
28 /* The type flag defines the type of file */
29 #define  LF_OLDNORMAL '\0'		/* Normal disk file, Unix compatible */
30 #define  LF_NORMAL	  '0'		/* Normal disk file */
31 #define  LF_LINK	  '1'		/* Link to previously dumped file */
32 #define  LF_SYMLINK   '2'		/* Symbolic link */
33 #define  LF_CHR		  '3'		/* Character special file */
34 #define  LF_BLK		  '4'		/* Block special file */
35 #define  LF_DIR		  '5'		/* Directory */
36 #define  LF_FIFO	  '6'		/* FIFO special file */
37 #define  LF_CONTIG	  '7'		/* Contiguous file */
38