* added 0.99 linux version
[mascara-docs.git] / i386 / linux / linux-2.3.21 / arch / sparc64 / solaris / socksys.h
blob5d1b78ec1600854a7156699e74d0e96b2cdf23c7
1 /* $Id: socksys.h,v 1.2 1998/03/26 08:46:07 jj Exp $
2 * socksys.h: Definitions for STREAMS modules emulation code.
4 * Copyright (C) 1998 Patrik Rak (prak3264@ss1000.ms.mff.cuni.cz)
5 */
7 #define MSG_HIPRI 0x01
8 #define MSG_ANY 0x02
9 #define MSG_BAND 0x04
11 #define MORECTL 1
12 #define MOREDATA 2
14 #define TBADADDR 1
15 #define TBADOPT 2
16 #define TACCES 3
17 #define TBADF 4
18 #define TNOADDR 5
19 #define TOUTSTATE 6
20 #define TBADSEQ 7
21 #define TSYSERR 8
22 #define TLOOK 9
23 #define TBADDATA 10
24 #define TBUFOVFLW 11
25 #define TFLOW 12
26 #define TNODATA 13
27 #define TNODIS 14
28 #define TNOUDERR 15
29 #define TBADFLAG 16
30 #define TNOREL 17
31 #define TNOTSUPPORT 18
32 #define TSTATECHNG 19
34 #define T_CONN_REQ 0
35 #define T_CONN_RES 1
36 #define T_DISCON_REQ 2
37 #define T_DATA_REQ 3
38 #define T_EXDATA_REQ 4
39 #define T_INFO_REQ 5
40 #define T_BIND_REQ 6
41 #define T_UNBIND_REQ 7
42 #define T_UNITDATA_REQ 8
43 #define T_OPTMGMT_REQ 9
44 #define T_ORDREL_REQ 10
46 #define T_CONN_IND 11
47 #define T_CONN_CON 12
48 #define T_DISCON_IND 13
49 #define T_DATA_IND 14
50 #define T_EXDATA_IND 15
51 #define T_INFO_ACK 16
52 #define T_BIND_ACK 17
53 #define T_ERROR_ACK 18
54 #define T_OK_ACK 19
55 #define T_UNITDATA_IND 20
56 #define T_UDERROR_IND 21
57 #define T_OPTMGMT_ACK 22
58 #define T_ORDREL_IND 23
60 #define T_NEGOTIATE 0x0004
61 #define T_FAILURE 0x0040
63 #define TS_UNBND 0 /* unbound */
64 #define TS_WACK_BREQ 1 /* waiting for T_BIND_REQ ack */
65 #define TS_WACK_UREQ 2 /* waiting for T_UNBIND_REQ ack */
66 #define TS_IDLE 3 /* idle */
67 #define TS_WACK_OPTREQ 4 /* waiting for T_OPTMGMT_REQ ack */
68 #define TS_WACK_CREQ 5 /* waiting for T_CONN_REQ ack */
69 #define TS_WCON_CREQ 6 /* waiting for T_CONN_REQ confirmation */
70 #define TS_WRES_CIND 7 /* waiting for T_CONN_IND */
71 #define TS_WACK_CRES 8 /* waiting for T_CONN_RES ack */
72 #define TS_DATA_XFER 9 /* data transfer */
73 #define TS_WIND_ORDREL 10 /* releasing read but not write */
74 #define TS_WREQ_ORDREL 11 /* wait to release write but not read */
75 #define TS_WACK_DREQ6 12 /* waiting for T_DISCON_REQ ack */
76 #define TS_WACK_DREQ7 13 /* waiting for T_DISCON_REQ ack */
77 #define TS_WACK_DREQ9 14 /* waiting for T_DISCON_REQ ack */
78 #define TS_WACK_DREQ10 15 /* waiting for T_DISCON_REQ ack */
79 #define TS_WACK_DREQ11 16 /* waiting for T_DISCON_REQ ack */
80 #define TS_NOSTATES 17
82 struct T_conn_req {
83 s32 PRIM_type;
84 s32 DEST_length;
85 s32 DEST_offset;
86 s32 OPT_length;
87 s32 OPT_offset;
90 struct T_bind_req {
91 s32 PRIM_type;
92 s32 ADDR_length;
93 s32 ADDR_offset;
94 u32 CONIND_number;
97 struct T_unitdata_req {
98 s32 PRIM_type;
99 s32 DEST_length;
100 s32 DEST_offset;
101 s32 OPT_length;
102 s32 OPT_offset;
105 struct T_optmgmt_req {
106 s32 PRIM_type;
107 s32 OPT_length;
108 s32 OPT_offset;
109 s32 MGMT_flags;
112 struct T_bind_ack {
113 s32 PRIM_type;
114 s32 ADDR_length;
115 s32 ADDR_offset;
116 u32 CONIND_number;
119 struct T_error_ack {
120 s32 PRIM_type;
121 s32 ERROR_prim;
122 s32 TLI_error;
123 s32 UNIX_error;
126 struct T_ok_ack {
127 s32 PRIM_type;
128 s32 CORRECT_prim;
131 struct T_conn_ind {
132 s32 PRIM_type;
133 s32 SRC_length;
134 s32 SRC_offset;
135 s32 OPT_length;
136 s32 OPT_offset;
137 s32 SEQ_number;
140 struct T_conn_con {
141 s32 PRIM_type;
142 s32 RES_length;
143 s32 RES_offset;
144 s32 OPT_length;
145 s32 OPT_offset;
148 struct T_discon_ind {
149 s32 PRIM_type;
150 s32 DISCON_reason;
151 s32 SEQ_number;
154 struct T_unitdata_ind {
155 s32 PRIM_type;
156 s32 SRC_length;
157 s32 SRC_offset;
158 s32 OPT_length;
159 s32 OPT_offset;
162 struct T_optmgmt_ack {
163 s32 PRIM_type;
164 s32 OPT_length;
165 s32 OPT_offset;
166 s32 MGMT_flags;
169 struct opthdr {
170 s32 level;
171 s32 name;
172 s32 len;
173 char value[0];
176 struct T_primsg {
177 struct T_primsg *next;
178 unsigned char pri;
179 unsigned char band;
180 int length;
181 s32 type;
184 struct strbuf {
185 s32 maxlen;
186 s32 len;
187 u32 buf;
190 /* Constants used by STREAMS modules emulation code */
192 typedef char sol_module;
194 #define MAX_NR_STREAM_MODULES 16
196 /* Private data structure assigned to sockets. */
198 struct sol_socket_struct {
199 int magic;
200 int modcount;
201 sol_module module[MAX_NR_STREAM_MODULES];
202 long state;
203 int offset;
204 struct T_primsg *pfirst, *plast;
207 #define SOLARIS_SOCKET_MAGIC 0xADDED