Annotation of researchv10no/cmd/odist/pax/include/tar.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Standard Archive Format
        !             3:  * USTAR - Uniform Standard Tape ARchive
        !             4:  */
        !             5: 
        !             6: #ifndef TBLOCK
        !             7: 
        !             8: #define TBLOCK         512
        !             9: #define NAMSIZ         100
        !            10: #define PFXSIZ         155
        !            11: 
        !            12: #define TMODLEN                8
        !            13: #define TUIDLEN                8
        !            14: #define TGIDLEN                8
        !            15: #define TSIZLEN                12
        !            16: #define TMTMLEN                12
        !            17: #define TCKSLEN                8
        !            18: 
        !            19: #define TMAGIC         "ustar"         /* ustar and a null             */
        !            20: #define TMAGLEN                6
        !            21: #define TVERSION       "00"            /* 00 and no null               */
        !            22: #define TVERSLEN       2
        !            23: #define TUNMLEN                32
        !            24: #define TGNMLEN                32
        !            25: #define TDEVLEN                8
        !            26: 
        !            27: /*
        !            28:  * values used in typeflag field
        !            29:  */
        !            30: 
        !            31: #define REGTYPE                '0'             /* regular file                 */
        !            32: #define AREGTYPE       0               /* alternate REGTYPE            */
        !            33: #define LNKTYPE                '1'             /* hard link                    */
        !            34: #define SYMTYPE                '2'             /* soft link                    */
        !            35: #define CHRTYPE                '3'             /* character special            */
        !            36: #define BLKTYPE                '4'             /* block special                */
        !            37: #define DIRTYPE                '5'             /* directory                    */
        !            38: #define FIFOTYPE       '6'             /* FIFO special                 */
        !            39: #define CONTYPE                '7'             /* reserved                     */
        !            40: #define SOKTYPE                '8'             /* socket -- reserved           */
        !            41: #define VERTYPE                'V'             /* version -- reserved          */
        !            42: 
        !            43: /*
        !            44:  * bits used in mode field
        !            45:  */
        !            46: 
        !            47: #define TSUID          04000           /* set uid on exec              */
        !            48: #define TSGID          02000           /* set gid on exec              */
        !            49: #define TSVTX          01000           /* sticky bit -- reserved       */
        !            50: 
        !            51: /*
        !            52:  * file permissions
        !            53:  */
        !            54: 
        !            55: #define TUREAD         00400           /* read by owner                */
        !            56: #define TUWRITE                00200           /* write by owner               */
        !            57: #define TUEXEC         00100           /* execute by owner             */
        !            58: #define TGREAD         00040           /* read by group                */
        !            59: #define TGWRITE                00020           /* execute by group             */
        !            60: #define TGEXEC         00010           /* write by group               */
        !            61: #define TOREAD         00004           /* read by other                */
        !            62: #define TOWRITE                00002           /* write by other               */
        !            63: #define TOEXEC         00001           /* execute by other             */
        !            64: 
        !            65: struct header
        !            66: {
        !            67:        char            name[NAMSIZ];
        !            68:        char            mode[TMODLEN];
        !            69:        char            uid[TUIDLEN];
        !            70:        char            gid[TGIDLEN];
        !            71:        char            size[TSIZLEN];
        !            72:        char            mtime[TMTMLEN];
        !            73:        char            chksum[TCKSLEN];
        !            74:        char            typeflag;
        !            75:        char            linkname[NAMSIZ];
        !            76:        char            magic[TMAGLEN];
        !            77:        char            version[TVERSLEN];
        !            78:        char            uname[TUNMLEN];
        !            79:        char            gname[TGNMLEN];
        !            80:        char            devmajor[TDEVLEN];
        !            81:        char            devminor[TDEVLEN];
        !            82:        char            prefix[PFXSIZ];
        !            83: };
        !            84: 
        !            85: union hblock
        !            86: {
        !            87:        char            dummy[TBLOCK];
        !            88:        struct header   dbuf;
        !            89: };
        !            90: 
        !            91: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.