Annotation of 40BSD/cmd/tp/tp.h, revision 1.1.1.1

1.1       root        1: /*     c-version of tp?.s
                      2:  *
                      3:  *     M. Ferentz
                      4:  *     August 1976
                      5:  *
                      6:  *     revised July 1977 BTL
                      7:  */
                      8: 
                      9: #define        MDIRENT 496             /* must be zero mod 8 */
                     10: #define DIRSZ  sizeof(struct dent)
                     11: #define MAPSIZE 4096
                     12: #define MAPMASK 07777
                     13: #define NAMELEN 32
                     14: #define BSIZE   512
                     15: #define        TCSIZ   578
                     16: #define TCDIRS 192
                     17: #define        MTSIZ   32767
                     18: #define TPB    (BSIZE/sizeof(struct tent))
                     19: #define        OK      0100000
                     20: #define        BRKINCR 512
                     21: 
                     22: #define        tapeblk &tpentry[0]
                     23: #define tapeb  &tpentry[0]
                     24: 
                     25: struct         tent    {       /* Structure of a tape directory block */
                     26:        char    pathnam[NAMELEN];
                     27:        short   mode;
                     28:        char    uid;
                     29:        char    gid;
                     30:        char    spare;
                     31:        char    size0;
                     32:        unsigned short  size1;
                     33:        long    time;
                     34:        unsigned short  tapea;  /* tape address */
                     35:        short   unused[8];
                     36:        short   cksum;
                     37: }      tpentry[TPB];
                     38: 
                     39: struct dent {  /* in core version of tent with "unused" removed
                     40:                 * and pathname replaced by pointer to same in a
                     41:                 * packed area (nameblock).
                     42:                 */
                     43:        char    *d_namep;
                     44:        int     d_mode;
                     45:        int     d_uid;
                     46:        int     d_gid;
                     47:        long    d_size;
                     48:        long    d_time;
                     49:        int     d_tapea;
                     50: }  dir[MDIRENT];
                     51: 
                     52: char   map[MAPSIZE];
                     53: char   name[NAMELEN];
                     54: char   name1[NAMELEN];
                     55: extern char mt[];
                     56: extern char tc[];
                     57: char   *tname;
                     58: extern char mheader[];
                     59: extern char theader[];
                     60: 
                     61: int    narg, rnarg;
                     62: char   **parg;
                     63: int    wseeka,rseeka;
                     64: int    tapsiz;
                     65: int    fio;
                     66: short  ndirent, ndentb;
                     67: struct dent    *edir;
                     68: struct dent *lastd;            /* for improvement */
                     69: char   *sbrk();
                     70: char   *strcpy();
                     71: long   lseek();
                     72: int    (*command)();
                     73: 
                     74: char   *nameblk;
                     75: char   *top;
                     76: char   *nptr;
                     77: 
                     78: extern int     flags;
                     79: #define        flc     0001
                     80: #define        fli     0004
                     81: #define        flm     0010
                     82: #define        flu     0020
                     83: #define        flv     0040
                     84: #define        flw     0100
                     85: #define fls    0200

unix.superglobalmegacorp.com

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