|
|
1.1 root 1: #
2: /* op codes */
3:
4: #define OK 128
5: #define DEFINE 129
6: #define REDEFINE 130
7: #define DELETE 131
8: #define EOM 133
9: #define XMT 135
10: #define POP 137
11: #define CDIR 138
12: #define CMODE 139
13: #define OPEN 140
14: #define CLOSE 141
15: #define SEEK 142
16: #define READ 143
17: #define WRITE 144
18: #define TRUNCATE 145
19: #define LOGIN 146
20: #define QUIT 147
21: #define LIST 148
22: #define STATUS 149
23: #define TIME 150
24: #define UNIQUE 151
25: #define APPEND 152
26: #define ASSIGN 154
27: #define FCREATE 155
28: #define IF 156
29: #define FI 157
30: #define SKIP 158
31: #define DCREATE 159
32: #define UNLESS 161
33:
34: # define OPNUM 34 /* number of legal op codes */
35:
36:
37: struct dentry{
38: char d_val; /*ms byte of value*/
39: char d_type; /*type see below*/
40: int d_val1; /*ls word of value*/
41: char d_name[12]; /*file name filled with zero*/
42: }
43: entry;
44:
45: #define NTYPE 1 /*name - variable length ending in zero*/
46: #define WTYPE 2 /*wstore - 1 word*/
47: #define ETYPE 4 /*error - 2 words*/
48: #define RTYPE 5 /*file reference - 1 word*/
49: #define XTYPE 6 /*default argument*/
50: #define STYPE 7 /*status 69 bytes*/
51: #define DTYPE 8 /*directory ID - 2 words*/
52: #define FTYPE 9 /*file ID - 2 words*/
53: #define IITYPE 10 /*integer - 2 words*/
54: #define ITYPE 11 /*integer - 1 word*/
55: #define LTYPE 14 /*label - 1 char*/
56: #define ATYPE 15 /*account - 2 words*/
57: #define MAXTYPE 16
58:
59:
60: #define ACCDEV 03000 /*device code for accounts*/
61:
62:
63: /* error codes */
64:
65: #define ESIG 100 /*illegal signal code*/
66: #define EEOM 101 /*fell off end of message*/
67: #define EOP 102 /*illegal op code*/
68: #define EARGT 103 /*illegal arg type*/
69: #define EWADDR 104 /*illegal w-store addr*/
70: #define EEXIST 105 /*already exists*/
71: #define EUNDEF 106 /*does not exist*/
72: #define EFREF 107 /*fref on non-open file*/
73: #define EPWD 108 /*unknown user*/
74: #define EFAIL 109 /*failed for unspecified reason*/
75: #define EISACC 110 /*illegal use of account*/
76: #define EUNAV 111 /*file store not available*/
77: #define ELOG 112 /*user not logged in*/
78:
79:
80: struct sentry{
81: int s_val;
82: int s_val1;
83: int s_type;
84: }
85: stack[32];
86:
87: #define VARNO 32 /*number of items in wstore*/
88: struct sentry wstore[VARNO];
89:
90:
91: struct link{
92: int *l_link; /*label for return from macro*/
93: char *l_mp; /*current position in message*/
94: char *l_ms; /*start position of message*/
95: }
96: mlink[4];
97:
98: struct utmp{
99: char u_name[8];
100: char u_tty;
101: char u_ifill;
102: int u_time[2];
103: int u_ufill;
104: }
105: utmp;
106:
107: struct {
108: int word[1];
109: };
110: struct {
111: char byte[1];
112: };
113:
114: #define OPENS 15
115: #define NSIZ 128
116:
117: int buf[256];
118: char nbuf[NSIZ];
119: char mbuf[514];
120: char uniqb[128];
121: char *up;
122: int statbuf[50];
123: struct {
124: char even, odd;
125: };
126: char resp[100];
127: char openf[OPENS];
128: char argspec[OPNUM][3];
129: char nodef[MAXTYPE];
130: char unixid[128];
131:
132: int fn; /*tiu file*/
133: int chan; /*tiu channel number*/
134: char *rp; /*current position in response*/
135: char *mp; /*current position in message*/
136: char *mlast; /*end of message*/
137: struct sentry *sp; /*top of stack*/
138: struct sentry *asp; /*misc. stack pointer*/
139: struct link *lp; /*top of link list*/
140: int ig; /*label for SKIP, -1 for IF*/
141: int sum; /*sumcheck of last file transfer*/
142: int length; /*length of last file transfer*/
143: int login; /*set when logged in*/
144: int msiz; /*maximum size of message to user*/
145: int panic; /*nz after xmt timeout*/
146: int trace; /*non-zero if trace print*/
147: struct { /*info returned from wait()*/
148: char w_pno; /*process number*/
149: char w_stat; /*return status*/
150: }
151: pstat;
152: int uid;
153: char *tiu;
154: struct{
155: char lobyte;
156: char hibyte;
157: };
158: #define DELAY 60
159: #define ROOTUSR 0
160: #define EGOOD 0
161: #define EBAD 1
162: int status;
163: struct ustat{
164: int mode;
165: int type;
166: int ftype;
167: int uid;
168: int gid;
169: long size;
170: long modtime;
171: long acctime;
172: }us;
173: /* File Access permissions */
174: #define R 04
175: #define W 02
176: #define X 01
177: /* Types of files */
178: #define FFILE 0
179: #define CHR 1
180: #define DIR 2
181: #define BLK 3
182: #define REC 4
183: char *netpwd;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.