Bell 32V release
[unix-history] / usr / src / cmd / tp / tp.h
/* c-version of tp?.s
*
* M. Ferentz
* August 1976
*
* revised July 1977 BTL
*/
#define MDIRENT 496 /* must be zero mod 8 */
#define DIRSZ sizeof(struct dent)
#define MAPSIZE 4096
#define MAPMASK 07777
#define NAMELEN 32
#define BSIZE 512
#define TCSIZ 578
#define TCDIRS 192
#define MTSIZ 32767
#define TPB (BSIZE/sizeof(struct tent))
#define OK 0100000
#define BRKINCR 512
#define tapeblk &tpentry[0]
#define tapeb &tpentry[0]
struct tent { /* Structure of a tape directory block */
char pathnam[NAMELEN];
short mode;
char uid;
char gid;
char spare;
char size0;
unsigned short size1;
long time;
unsigned short tapea; /* tape address */
short unused[8];
short cksum;
} tpentry[TPB];
struct dent { /* in core version of tent with "unused" removed
* and pathname replaced by pointer to same in a
* packed area (nameblock).
*/
char *d_namep;
int d_mode;
int d_uid;
int d_gid;
long d_size;
long d_time;
int d_tapea;
} dir[MDIRENT];
char map[MAPSIZE];
char name[NAMELEN];
char name1[NAMELEN];
extern char mt[];
extern char tc[];
char *tname;
extern char mheader[];
extern char theader[];
int narg, rnarg;
char **parg;
int wseeka,rseeka;
int tapsiz;
int fio;
short ndirent, ndentb;
struct dent *edir;
struct dent *lastd; /* for improvement */
char *sbrk();
char *strcpy();
long lseek();
int (*command)();
char *nameblk;
char *top;
char *nptr;
extern int flags;
#define flc 0001
#define fli 0004
#define flm 0010
#define flu 0020
#define flv 0040
#define flw 0100
#define fls 0200