tar.h 1.4 KB

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