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