|
|
1.1 root 1: /* /sccs/src/cmd/uucp/s.pk.h
2: pk.h 1.1 8/30/84 17:37:35
3: replace these words with a descriptive comment
4: */
5: #ifndef lint
6: static char pkh_sccsid[] = "@(#) sw pk.h 1.1";
7: #endif
8:
9:
10: #define PACKSIZE 64
11: #define WINDOWS 3
12: #define PKASSERT(e, s1, s2, i1) if (!(e)) {\
13: assert(s1, s2, i1, sccsid, __FILE__, __LINE__);\
14: pkfail();};
15:
16: struct header {
17: char sync;
18: char ksize;
19: unsigned short sum;
20: char cntl;
21: char ccntl;
22: };
23: #define HDRSIZ 6
24:
25: struct pack {
26: short p_state; /* line state */
27: short p_bits; /* mask for getepack */
28: short p_rsize; /* input packet size */
29: short p_xsize; /* output packet size */
30: struct header p_ihbuf; /* input header */
31: struct header p_ohbuf; /* output header */
32: char *p_rptr;
33: char p_mode;
34: char **p_ipool;
35: char p_xcount; /* # active output buffers */
36: char p_rcount;
37: char p_nout,p_tout;
38: char p_lpsize; /* log(psize/32) */
39: char p_timer;
40: char p_obusy;
41: char p_srxmit;
42: char p_rwindow; /* window size */
43: char p_swindow;
44: char p_msg; /* control msg */
45: char p_rmsg; /* repeated control msg */
46: char p_ps,p_pr; /* last packet sent, recv'd */
47: char p_rpr;
48: char p_nxtps; /* next output seq number */
49: char p_imap; /* bit map of input buffers */
50: char p_pscopy; /* newest output packet */
51: char *p_ob[8]; /* output buffers */
52: char *p_ib[8]; /* input buffers */
53: char p_os[8]; /* output buffer status */
54: char p_is[8]; /* input buffer status */
55: short p_osum[8]; /* output checksums */
56: short p_isum[8]; /* input checksums */
57: int p_ifn, p_ofn;
58: };
59: #define CHECK 0125252
60: #define SYN 020
61: #define MOD8 7
62: #define ISCNTL(a) ((a & 0300)==0)
63: #ifndef MIN
64: #define MIN(a,b) ((a<b)? a:b)
65: #endif
66:
67: extern char next[8];
68: extern char mask[8];
69: extern int npbits;
70: extern int pkactive;
71:
72: /*
73: * driver state
74: */
75: #define DEAD 0
76: #define INITa 1
77: #define INITb 2
78: #define INITab 3
79: #define LIVE 010
80: #define RXMIT 020
81: #define RREJ 040
82: #define PDEBUG 0200
83: #define DRAINO 0400
84: #define WAITO 01000
85: #define DOWN 02000
86: #define RCLOSE 04000
87: #define BADFRAME 020000
88:
89: /*
90: * io buffer states
91: */
92: #define B_NULL 0
93: #define B_READY 1
94: #define B_SENT 2
95: #define B_RESID 010
96: #define B_COPY 020
97: #define B_MARK 040
98: #define B_SHORT 0100
99:
100: /*
101: * control messages
102: */
103: #define CLOSE 1
104: #define RJ 2
105: #define SRJ 3
106: #define RR 4
107: #define INITC 5
108: #define INITB 6
109: #define INITA 7
110:
111: #define M_RJ 4
112: #define M_SRJ 010
113: #define M_RR 020
114: #define M_INITC 040
115: #define M_CLOSE 2
116: #define M_INITA 0200
117: #define M_INITB 0100
118:
119:
120:
121: #define PKOPRI 31
122: #define PKIPRI 30
123:
124: #define NPLINES 20
125:
126: /*
127: * packet ioctl buf
128: */
129: struct piocb {
130: unsigned t;
131: short psize;
132: short mode;
133: short state;
134: char window;
135: };
136:
137: extern int pkdebug;
138: extern int pksizes[];
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.