|
|
1.1 root 1: /*
2: * @(#)pupu.h 2.1 DKHOST 85/01/15
3: */
4:
5:
6: extern int DEBUG ;
7:
8: #define db if(DEBUG)fprintf
9:
10: #ifdef _NFILE
11: # define TOPFD (_NFILE - 3)
12: #else
13: # define TOPFD 17
14: #endif
15:
16: #define NIL ((TcharP) 0)
17: #define GOOD 0
18: #define BAD 1
19:
20: #define WTIMEOUT 90
21: #define RTIMEOUT 60
22:
23: #define NAMELEN 512 /* maximum path name length */
24: #define BLOCKSIZE 2048 /* write length for file transfers */
25:
26: typedef struct expect {
27: Mchar type;
28: MfnP fn;
29: } Texp, *TexpP;
30:
31: # define Mexp /* mos, mou */ Texp
32: # define Aexp auto Texp
33: # define Eexp extern Texp
34: # define Rexp register Texp
35: # define Sexp static Texp
36: # define Pexp /* parameter, value */ Texp
37: # define Xexp /* extdef */ Texp
38: # define MexpP /* mos, mou */ TexpP
39: # define AexpP auto TexpP
40: # define EexpP extern TexpP
41: # define RexpP register TexpP
42: # define SexpP static TexpP
43: # define PexpP /* parameter, value */ TexpP
44: # define XexpP /* extdef */ TexpP
45:
46: typedef struct linkentry Tlink, *TlinkP;
47:
48: # define Mlink /* mos, mou */ Tlink
49: # define Alink auto Tlink
50: # define Elink extern Tlink
51: # define Rlink register Tlink
52: # define Slink static Tlink
53: # define Plink /* parameter, value */ Tlink
54: # define Xlink /* extdef */ Tlink
55: # define MlinkP /* mos, mou */ TlinkP
56: # define AlinkP auto TlinkP
57: # define ElinkP extern TlinkP
58: # define RlinkP register TlinkP
59: # define SlinkP static TlinkP
60: # define PlinkP /* parameter, value */ TlinkP
61: # define XlinkP /* extdef */ TlinkP
62:
63: struct linkentry {
64: MlinkP next;
65: Mshort count;
66: ino_t ino;
67: dev_t dev;
68: Mchar name[2]; /* really longer */
69: };
70:
71: #define H_MAG1 0
72: #define H_MAG2 1
73: #define H_SEQN 2
74: #define SEQMIN 1
75: #define SEQMAX 4
76: #define H_TYPE 3
77: #define H_NULL 4
78: #define H_DATA 5
79:
80: Eint cfd;
81:
82: Echar mhead[H_DATA];
83: Echar buf[BLOCKSIZE];
84: EcharP mnext;
85: Echar sseq, rseq;
86:
87: Ejmp giveup;
88: EfnP alarmwas;
89:
90: Echar wdir[NAMELEN];
91: Echar basedir[NAMELEN];
92: Echar wholename[NAMELEN];
93:
94: Eint cfd;
95: EfnP errorfunction;
96: Eint lasterror;
97: EcharP remoteorlocal;
98: EcharP currentfile, timeoutmsg;
99:
100: Echar openfiles[];
101:
102: Elink linkhead;
103:
104: Eint sys_nerr;
105: EcharP sys_errlist[];
106:
107: Eexp inittable[];
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.