Commit | Line | Data |
---|---|---|
8b2e40fc BJ |
1 | struct header { |
2 | char sync; | |
3 | char ksize; | |
4 | unsigned short sum; | |
5 | char cntl; | |
6 | char ccntl; | |
7 | }; | |
8 | #define HDRSIZ 6 | |
9 | ||
10 | struct pack { | |
11 | short p_state; /* line state */ | |
12 | short p_bits; /* mask for getepack */ | |
13 | short p_rsize; /* input packet size */ | |
14 | short p_xsize; /* output packet size */ | |
15 | struct header p_ihbuf; /* input header */ | |
16 | struct header p_ohbuf; /* output header */ | |
17 | char *p_rptr; | |
18 | char p_mode; | |
19 | char **p_ipool; | |
20 | char p_xcount; /* # active output buffers */ | |
21 | char p_rcount; | |
22 | char p_nout,p_tout; | |
23 | char p_lpsize; /* log(psize/32) */ | |
24 | char p_timer; | |
25 | char p_obusy; | |
26 | char p_srxmit; | |
27 | char p_rwindow; /* window size */ | |
28 | char p_swindow; | |
29 | char p_msg; /* control msg */ | |
30 | char p_rmsg; /* repeated control msg */ | |
31 | char p_ps,p_pr; /* last packet sent, recv'd */ | |
32 | char p_rpr; | |
33 | char p_nxtps; /* next output seq number */ | |
34 | char p_imap; /* bit map of input buffers */ | |
35 | char p_pscopy; /* newest output packet */ | |
36 | char *p_ob[8]; /* output buffers */ | |
37 | char *p_ib[8]; /* input buffers */ | |
38 | char p_os[8]; /* output buffer status */ | |
39 | char p_is[8]; /* input buffer status */ | |
40 | short p_osum[8]; /* output checksums */ | |
41 | short p_isum[8]; /* input checksums */ | |
42 | DSYSTEM; | |
43 | }; | |
44 | #define CHECK 0125252 | |
45 | #define SYN 020 | |
46 | #define MOD8 7 | |
47 | #define ISCNTL(a) ((a & 0300)==0) | |
48 | #define MIN(a,b) ((a<b)? a:b) | |
49 | ||
50 | char next[8]; | |
51 | char mask[8]; | |
52 | int npbits; | |
53 | int pkactive; | |
54 | ||
55 | /* | |
56 | * driver state | |
57 | */ | |
58 | #define DEAD 0 | |
59 | #define INITa 1 | |
60 | #define INITb 2 | |
61 | #define INITab 3 | |
62 | #define LIVE 010 | |
63 | #define RXMIT 020 | |
64 | #define RREJ 040 | |
65 | #define PDEBUG 0200 | |
66 | #define DRAINO 0400 | |
67 | #define WAITO 01000 | |
68 | #define DOWN 02000 | |
69 | #define RCLOSE 04000 | |
70 | #define BADFRAME 020000 | |
71 | ||
72 | /* | |
73 | * io buffer states | |
74 | */ | |
75 | #define B_NULL 0 | |
76 | #define B_READY 1 | |
77 | #define B_SENT 2 | |
78 | #define B_RESID 010 | |
79 | #define B_COPY 020 | |
80 | #define B_MARK 040 | |
81 | #define B_SHORT 0100 | |
82 | ||
83 | /* | |
84 | * control messages | |
85 | */ | |
86 | #define CLOSE 1 | |
87 | #define RJ 2 | |
88 | #define SRJ 3 | |
89 | #define RR 4 | |
90 | #define INITC 5 | |
91 | #define INITB 6 | |
92 | #define INITA 7 | |
93 | ||
94 | #define M_RJ 4 | |
95 | #define M_SRJ 010 | |
96 | #define M_RR 020 | |
97 | #define M_INITC 040 | |
98 | #define M_CLOSE 2 | |
99 | #define M_INITA 0200 | |
100 | #define M_INITB 0100 | |
101 | ||
102 | ||
103 | ||
104 | #define PKOPRI 31 | |
105 | #define PKIPRI 30 | |
106 | ||
107 | #define NPLINES 8 | |
108 | ||
109 | /* | |
110 | * packet ioctl buf | |
111 | */ | |
112 | struct piocb { | |
113 | unsigned t; | |
114 | short psize; | |
115 | short mode; | |
116 | short state; | |
117 | char window; | |
118 | }; | |
119 | ||
120 | int pkdebug; | |
121 | int pksizes[]; |