1 /* 2 * tar.h 3 */ 4 5 #ifndef _TAR_H 6 #define _TAR_H 7 8 /* General definitions */ 9 #define TMAGIC "ustar" /* ustar plus null byte. */ 10 #define TMAGLEN 6 /* Length of the above. */ 11 #define TVERSION "00" /* 00 without a null byte. */ 12 #define TVERSLEN 2 /* Length of the above. */ 13 14 /* Typeflag field definitions */ 15 #define REGTYPE '0' /* Regular file. */ 16 #define AREGTYPE '\0' /* Regular file. */ 17 #define LNKTYPE '1' /* Link. */ 18 #define SYMTYPE '2' /* Symbolic link. */ 19 #define CHRTYPE '3' /* Character special. */ 20 #define BLKTYPE '4' /* Block special. */ 21 #define DIRTYPE '5' /* Directory. */ 22 #define FIFOTYPE '6' /* FIFO special. */ 23 #define CONTTYPE '7' /* Reserved. */ 24 25 /* Mode field bit definitions (octal) */ 26 #define TSUID 04000 /* Set UID on execution. */ 27 #define TSGID 02000 /* Set GID on execution. */ 28 #define TSVTX 01000 /* On directories, restricted deletion flag. */ 29 #define TUREAD 00400 /* Read by owner. */ 30 #define TUWRITE 00200 /* Write by owner. */ 31 #define TUEXEC 00100 /* Execute/search by owner. */ 32 #define TGREAD 00040 /* Read by group. */ 33 #define TGWRITE 00020 /* Write by group. */ 34 #define TGEXEC 00010 /* Execute/search by group. */ 35 #define TOREAD 00004 /* Read by other. */ 36 #define TOWRITE 00002 /* Write by other. */ 37 #define TOEXEC 00001 /* Execute/search by other. */ 38 39 #endif 40