BSD 4 release
[unix-history] / usr / src / cmd / tp / tp.h
CommitLineData
441ed5bc
BJ
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
25struct 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
39struct 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
52char map[MAPSIZE];
53char name[NAMELEN];
54char name1[NAMELEN];
55extern char mt[];
56extern char tc[];
57char *tname;
58extern char mheader[];
59extern char theader[];
60
61int narg, rnarg;
62char **parg;
63int wseeka,rseeka;
64int tapsiz;
65int fio;
66short ndirent, ndentb;
67struct dent *edir;
68struct dent *lastd; /* for improvement */
69char *sbrk();
70char *strcpy();
71long lseek();
72int (*command)();
73
74char *nameblk;
75char *top;
76char *nptr;
77
78extern 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