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