remove xvm/ipagent
[unleashed.git] / usr / src / cmd / bnu / pk.h
blobab2aacef66e23de6edd7703ebdbbebafd453e36d
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
20 * CDDL HEADER END
23 * Copyright 1992 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
27 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
28 /* All Rights Reserved */
31 #pragma ident "%Z%%M% %I% %E% SMI"
33 #define OLDPACKSIZE 128
35 #define PACKSIZE 64
36 #define MINPACKSIZE 32
37 #define MAXPACKSIZE 4096
39 #define WINDOWS 7
40 #define MINWINDOWS 1
41 #define MAXWINDOWS 7
44 struct header {
45 char sync;
46 char ksize;
47 unsigned short sum;
48 char cntl;
49 char ccntl;
51 #define HDRSIZ 6
53 struct pack {
54 short p_state; /* line state */
55 short p_bits; /* mask for getepack */
56 short p_rsize; /* input packet size */
57 short p_xsize; /* output packet size */
58 struct header p_ihbuf; /* input header */
59 struct header p_ohbuf; /* output header */
60 char *p_rptr;
61 char **p_ipool;
62 char p_xcount; /* # active output buffers */
63 char p_rcount;
64 char p_nout,p_tout;
65 char p_lpsize; /* log(psize/32) */
66 char p_timer;
67 char p_obusy;
68 char p_srxmit;
69 char p_rwindow; /* window size */
70 char p_swindow;
71 char p_msg; /* control msg */
72 char p_rmsg; /* repeated control msg */
73 char p_ps,p_pr; /* last packet sent, recv'd */
74 char p_rpr;
75 char p_nxtps; /* next output seq number */
76 char p_imap; /* bit map of input buffers */
77 char p_pscopy; /* newest output packet */
78 char *p_ob[8]; /* output buffers */
79 char *p_ib[8]; /* input buffers */
80 char p_os[8]; /* output buffer status */
81 char p_is[8]; /* input buffer status */
82 short p_osum[8]; /* output checksums */
83 short p_isum[8]; /* input checksums */
84 int p_ifn, p_ofn;
86 #define CHECK 0125252
87 #define SYN 020
88 #define MOD8 7
89 #define ISCNTL(a) ((a & 0300)==0)
90 #ifndef MIN
91 #define MIN(a,b) ((a<b)? a:b)
92 #endif
94 extern char next[8];
95 extern char mask[8];
96 extern int npbits;
97 extern int pkactive;
98 extern int pkdebug;
99 extern int pksizes[];
100 extern struct pack *Pk;
103 * driver state
105 #define DEAD 0
106 #define INITa 1
107 #define INITb 2
108 #define INITab 3
109 #define LIVE 010
110 #define RXMIT 020
111 #define RREJ 040
112 #define PDEBUG 0200
113 #define DRAINO 0400
114 #define WAITO 01000
115 #define DOWN 02000
116 #define RCLOSE 04000
117 #define BADFRAME 020000
120 * io buffer states
122 #define B_NULL 0
123 #define B_READY 1
124 #define B_SENT 2
125 #define B_RESID 010
126 #define B_COPY 020
127 #define B_MARK 040
128 #define B_SHORT 0100
131 * control messages
133 #define CLOSE 1
134 #define RJ 2
135 /* #define SRJ 3 */ /* not supported */
136 #define RR 4
137 #define INITC 5
138 #define INITB 6
139 #define INITA 7
141 #define M_RJ 4
142 /* #define M_SRJ 010 */ /* not used */
143 #define M_RR 020
144 #define M_INITC 040
145 #define M_CLOSE 2
146 #define M_INITA 0200
147 #define M_INITB 0100
150 * packet ioctl buf
152 struct piocb {
153 unsigned t;
154 short psize;
155 short mode;
156 short state;
157 char window;