Unleashed v1.4
[unleashed.git] / include / sys / xti_osi.h
blobbb9645b496208ad8c04ba341020559e107541489
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
22 /* Copyright (c) 1996-1998 Sun Microsystems, Inc. */
23 /* All Rights Reserved */
26 #ifndef _SYS_XTI_OSI_H
27 #define _SYS_XTI_OSI_H
29 #include <sys/types.h>
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
35 #if !defined(_XPG5)
38 * SPECIFIC ISO OPTION AND MANAGEMENT PARAMETERS
40 * Note:
41 * Unfortunately, XTI specification test assertions require exposing in
42 * headers options that are not implemented. They also require exposing
43 * Internet and OSI related options as part of inclusion of <xti.h>
49 * Definitions of ISO transport classes
52 #define T_CLASS0 0
53 #define T_CLASS1 1
54 #define T_CLASS2 2
55 #define T_CLASS3 3
56 #define T_CLASS4 4
60 * Definition of the priorities
63 #define T_PRITOP 0
64 #define T_PRIHIGH 1
65 #define T_PRIMID 2
66 #define T_PRILOW 3
67 #define T_PRIDFLT 4
70 * Definitions of the protection levels
73 #define T_NOPROTECT 1
74 #define T_PASSIVEPROTECT 2
75 #define T_ACTIVEPROTECT 4
78 * Default values for the length of TPDUs
79 * Note: Sigh ! This obsolete constant required according to XTI test
80 * assertions.
83 #define T_LTPDUDFLT 128 /* define obsolete in XPG4 */
86 * rate structure
89 struct rate {
90 t_scalar_t targetvalue; /* target value */
91 t_scalar_t minacceptvalue; /* value of minimum */
92 /* acceptable quality */
96 * reqvalue structure
99 struct reqvalue {
100 struct rate called; /* called rate */
101 struct rate calling; /* calling rate */
105 * thrpt structure
108 struct thrpt {
109 struct reqvalue maxthrpt; /* maximum throughput */
110 struct reqvalue avgthrpt; /* average throughput */
114 * transdel structure
117 struct transdel {
118 struct reqvalue maxdel; /* maximum transit delay */
119 struct reqvalue avgdel; /* average throughput */
123 * Protocol Levels
126 #define ISO_TP 0x0100
129 * Options for Quality of Service and Expedited Data (ISO 8072:1986)
132 #define TCO_THROUGHPUT 0x0001
133 #define TCO_TRANSDEL 0x0002
134 #define TCO_RESERRORRATE 0x0003
135 #define TCO_TRANSFFAILPROB 0x0004
136 #define TCO_ESTFAILPROB 0x0005
137 #define TCO_RELFAILPROB 0x0006
138 #define TCO_ESTDELAY 0x0007
139 #define TCO_RELDELAY 0x0008
140 #define TCO_CONNRESIL 0x0009
141 #define TCO_PROTECTION 0x000a
142 #define TCO_PRIORITY 0x000b
143 #define TCO_EXPD 0x000c
145 #define TCL_TRANSDEL 0x000d
146 #define TCL_RESERRORRATE TCO_RESERRORRATE
147 #define TCL_PROTECTION TCO_PROTECTION
148 #define TCL_PRIORITY TCO_PRIORITY
152 * Management Options
155 #define TCO_LTPDU 0x0100
156 #define TCO_ACKTIME 0x0200
157 #define TCO_REASTIME 0x0300
158 #define TCO_EXTFORM 0x0400
159 #define TCO_FLOWCTRL 0x0500
160 #define TCO_CHECKSUM 0x0600
161 #define TCO_NETEXP 0x0700
162 #define TCO_NETRECPTCF 0x0800
163 #define TCO_PREFCLASS 0x0900
164 #define TCO_ALTCLASS1 0x0a00
165 #define TCO_ALTCLASS2 0x0b00
166 #define TCO_ALTCLASS3 0x0c00
167 #define TCO_ALTCLASS4 0x0d00
169 #define TCL_CHECKSUM TCO_CHECKSUM
171 #endif /* !defined(_XPG5) */
173 #ifdef __cplusplus
175 #endif
177 #endif /* _SYS_XTI_OSI_H */