1: /*
2: * six-byte packet header for asynch lines.
3: * headers for other devices take up the same
4: * or less space. If this changes the header
5: * struct will have to become a union.
6: */
7: struct {
8: char sync; /* sync byte */
9: char ksize; /* encoded packet size */
10: unsigned short sum; /* block check of data packet */
11: char cntl; /* control byte */
12: char ccntl; /* block check of header */
13: };
14: #define HDRSIZ 6
15:
16: /*
17: * Control structure for a packet driver connection.
18: */
19: struct pack {
20: short p_state; /* line state */
21: short p_bits; /* mask for getepack */
22: short p_rsize; /* input packet size */
23: short p_xsize; /* output packet size */
24: struct header p_ihbuf; /* input header */
25: struct header p_ohbuf; /* output header */
26: char *p_rptr;
27: char p_mode;
28: char **p_ipool; /* head link to input buffer pool */
29: char **p_io; /* input buffer given to driver */
30: char p_xcount; /* # active output buffers */
31: char p_rcount;
32: char p_nout,p_tout;
33: char p_lpsize; /* log(psize/32) */
34: char p_timer;
35: char p_obusy;
36: char p_srxmit;
37: char p_rwindow; /* window size */
38: char p_swindow;
39: char p_msg; /* control msg */
40: char p_rmsg; /* repeated control msg */
41: char p_ps,p_pr; /* last packet sent, recv'd */
42: char p_rpr; /* copy of remote pr */
43: char p_nxtps; /* next output seq number */
44: char p_imap; /* bit map of input buffers */
45: char p_pscopy; /* newest output packet */
46: char *p_ob[8]; /* output buffers */
47: char *p_ib[8]; /* input buffers */
48: char p_os[8]; /* output buffer status */
49: char p_is[8]; /* input buffer status */
50: short p_osum[8]; /* output checksums */
51: short p_isum[8]; /* input checksums */
52: DSYSTEM;
53: };
54: #define CHECK 0125252
55: #define SYN 020
56: #define MOD8 7
57: #define NOTCNTL(a) (a & 0300)
58: #define MIN(a,b) ((a<b)? a:b)
59:
60: char next[8];
61: char mask[8];
62: int npbits;
63: int pkactive;
64: int pkzot;
65: int pkdisc;
66:
67: /*
68: * driver state
69: */
70: #define DEAD 0
71: #define INITa 1
72: #define INITb 2
73: #define INITab 3
74: #define LIVE 010
75: #define RXMIT 020
76: #define RREJ 040
77: #define PDEBUG 0200
78: #define DRAINO 0400
79: #define WAITO 01000
80: #define DOWN 02000
81: #define RCLOSE 04000
82: #define BADFRAME 020000
83:
84: /*
85: * modes
86: */
87: #define SLOWMODE 0100
88: /*
89: * io buffer states
90: */
91: #define B_NULL 0
92: #define B_READY 1
93: #define B_SENT 2
94: #define B_RESID 010
95: #define B_COPY 020
96: #define B_MARK 040
97: #define B_SHORT 0100
98:
99: /*
100: * control messages
101: */
102: #define CLOSE 1
103: #define RJ 2
104: #define SRJ 3
105: #define RR 4
106: #define INITC 5
107: #define INITB 6
108: #define INITA 7
109:
110: #define M_RJ 4
111: #define M_SRJ 010
112: #define M_RR 020
113: #define M_INITC 040
114: #define M_CLOSE 2
115: #define M_INITA 0200
116: #define M_INITB 0100
117:
118:
119:
120: #define PKOPRI 31
121: #define PKIPRI 30
122:
123: #define NPLINES 8
124:
125: /*
126: * packet ioctl buf
127: */
128: struct piocb {
129: unsigned t;
130: short psize;
131: short mode;
132: short state;
133: char window;
134: };
135:
136: int pkdebug;
137: int pksizes[];
138:
139: #define Pwrite 1
140: #define Poutput 1
141: #define Pxint 1
142:
143:
144: #define Print 01
145: #define Prend 01
146: #define Pacc 01
147: #define Pread 01
148:
149: int *PTRACE;
Defined variables
mask
defined in line
61; used 5 times
next
defined in line
60; used 9 times
pkzot
defined in line
64; used 4 times
Defined struct's
defined in line
7; used 8 times
pack
defined in line
19; used 54 times
- in /usr/sys/dev/pk0.c line
11(2),
20(2),
110(2),
126(2),
261(2),
339(2),
397(2),
423(2),
542(2),
621(2),
657(2)
- in /usr/sys/dev/pk1.c line
9(2),
20(2),
38-42(6),
126-128(4),
169(2),
191(2),
211(2)
- in /usr/sys/dev/pk2.c line
59(2),
69(2),
150(2),
199(2),
248-252(4)
Defined macros
CHECK
defined in line
54; used 2 times
DEAD
defined in line
70;
never used
DOWN
defined in line
80; used 9 times
INITa
defined in line
71; used 2 times
INITb
defined in line
72; used 1 times
LIVE
defined in line
74; used 10 times
MIN
defined in line
58; used 1 times
MOD8
defined in line
56; used 3 times
M_RJ
defined in line
110; used 2 times
M_RR
defined in line
112; used 4 times
Pacc
defined in line
146;
never used
RJ
defined in line
103;
never used
RR
defined in line
105;
never used
RREJ
defined in line
76;
never used
RXMIT
defined in line
75; used 4 times
SRJ
defined in line
104;
never used
SYN
defined in line
55; used 3 times
WAITO
defined in line
79; used 5 times
Usage of this include