]> git.saurik.com Git - apple/xnu.git/blob - bsd/netiso/iso_errno.h
ed1efb45c77ab81bc04e3ab88331e413b9609172
[apple/xnu.git] / bsd / netiso / iso_errno.h
1 /*
2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * The contents of this file constitute Original Code as defined in and
7 * are subject to the Apple Public Source License Version 1.1 (the
8 * "License"). You may not use this file except in compliance with the
9 * License. Please obtain a copy of the License at
10 * http://www.apple.com/publicsource and read it before using this file.
11 *
12 * This Original Code and all software distributed under the License are
13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17 * License for the specific language governing rights and limitations
18 * under the License.
19 *
20 * @APPLE_LICENSE_HEADER_END@
21 */
22 /*-
23 * Copyright (c) 1991, 1993
24 * The Regents of the University of California. All rights reserved.
25 *
26 * Redistribution and use in source and binary forms, with or without
27 * modification, are permitted provided that the following conditions
28 * are met:
29 * 1. Redistributions of source code must retain the above copyright
30 * notice, this list of conditions and the following disclaimer.
31 * 2. Redistributions in binary form must reproduce the above copyright
32 * notice, this list of conditions and the following disclaimer in the
33 * documentation and/or other materials provided with the distribution.
34 * 3. All advertising materials mentioning features or use of this software
35 * must display the following acknowledgement:
36 * This product includes software developed by the University of
37 * California, Berkeley and its contributors.
38 * 4. Neither the name of the University nor the names of its contributors
39 * may be used to endorse or promote products derived from this software
40 * without specific prior written permission.
41 *
42 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
43 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
44 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
45 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
46 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
47 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
48 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
49 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
50 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
51 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
52 * SUCH DAMAGE.
53 *
54 * @(#)iso_errno.h 8.1 (Berkeley) 6/10/93
55 */
56
57 /***********************************************************
58 Copyright IBM Corporation 1987
59
60 All Rights Reserved
61
62 Permission to use, copy, modify, and distribute this software and its
63 documentation for any purpose and without fee is hereby granted,
64 provided that the above copyright notice appear in all copies and that
65 both that copyright notice and this permission notice appear in
66 supporting documentation, and that the name of IBM not be
67 used in advertising or publicity pertaining to distribution of the
68 software without specific, written prior permission.
69
70 IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
71 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
72 IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
73 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
74 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
75 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
76 SOFTWARE.
77
78 ******************************************************************/
79
80 /*
81 * ARGO Project, Computer Sciences Dept., University of Wisconsin - Madison
82 */
83
84 #ifndef __ISO_ERRNO__
85 #define __ISO_ERRNO__
86
87 #define ISO_ERROR_MASK 0x8000
88 #define BSD_ERROR_MASK 0x0000
89 #define TP_ERROR_MASK 0x8800 /* transport layer */
90 #define CONL_ERROR_MASK 0x8400 /* co network layer */
91 #define CLNL_ERROR_MASK 0x8200 /* cl network layer */
92 #define TP_ERROR_SNDC 0x10000 /* kludge to force DC's on certain errors */
93
94 #define E_CO_NOERROR (CONL_ERROR_MASK | 0x0) /* no add'l info */
95
96 /******************************************************************************/
97 /* */
98 /* */
99 /* Transport Layer */
100 /* */
101 /* */
102 /******************************************************************************/
103
104 #define E_TP_DR_NO_REAS (TP_ERROR_MASK | 0x0) /* dr reason not specified*/
105 #define E_TP_CONGEST (TP_ERROR_MASK | 0x1) /* dr reason congestion */
106 #define E_TP_NO_SESSION (TP_ERROR_MASK | 0x2) /* dr reason no sess ent */
107 #define E_TP_ADDR_UNK (TP_ERROR_MASK | 0x3) /* dr reason addr unknown */
108
109 #define E_TP_ER_NO_REAS (TP_ERROR_MASK | 0x40) /* er reas not specified */
110 #define E_TP_INV_PCODE (TP_ERROR_MASK | 0x41) /* er reas invalid parm code */
111 #define E_TP_INV_TPDU (TP_ERROR_MASK | 0x42) /* er reas invalid tpdu type */
112 #define E_TP_INV_PVAL (TP_ERROR_MASK | 0x43) /* er reas invalid parm value*/
113
114 #define E_TP_NORMAL_DISC (TP_ERROR_MASK | 0x80) /* dr reas normal disc */
115 #define E_TP_CONGEST_2 (TP_ERROR_MASK | 0x81) /* dr reason congestion */
116 #define E_TP_NEGOT_FAILED (TP_ERROR_MASK | 0x82) /* dr negotiation failed */
117 #define E_TP_DUPL_SRCREF (TP_ERROR_MASK | 0x83) /* dr duplicate src ref */
118 #define E_TP_MISM_REFS (TP_ERROR_MASK | 0x84) /* dr mismatched references*/
119 #define E_TP_PROTO_ERR (TP_ERROR_MASK | 0x85) /* dr protocol error*/
120 /* 0x86 not used */
121 #define E_TP_REF_OVERFLOW (TP_ERROR_MASK | 0x87) /* dr reference overflow */
122 #define E_TP_NO_CR_ON_NC (TP_ERROR_MASK | 0x88) /* dr cr refused on this nc */
123 /* 0x89 not used */
124 #define E_TP_LENGTH_INVAL (TP_ERROR_MASK | 0x8a) /* dr inval length in hdr*/
125
126 /******************************************************************************/
127 /* */
128 /* */
129 /* Connection Less Network Layer */
130 /* */
131 /* */
132 /******************************************************************************/
133 #ifdef notdef /* Doesn't look like legal C and is causing
134 * compiler problems */
135 #define E_CLNL_??? (CLNL_ERROR_MASK | 0x1) /* explanation */
136 #endif
137
138 /******************************************************************************/
139 /* */
140 /* */
141 /* Connection Oriented Network Layer */
142 /* */
143 /* */
144 /******************************************************************************/
145 /* see p. 149 of ISO 8208 */
146 #define E_CO_NOERROR (CONL_ERROR_MASK | 0x0) /* no add'l info */
147 #define E_CO_INV_PS (CONL_ERROR_MASK | 0x1) /* invalid p(s) */
148 #define E_CO_INV_PR (CONL_ERROR_MASK | 0x2) /* invalid p(r) */
149 /* dot dot dot */
150 #define E_CO_INV_PKT_TYPE (CONL_ERROR_MASK | 0x10) /* packet type invalid*/
151 #define E_CO_INV_PKT_R1 (CONL_ERROR_MASK | 0x11) /* for state r1 */
152 #define E_CO_INV_PKT_R2 (CONL_ERROR_MASK | 0x12) /* for state r2 */
153 #define E_CO_INV_PKT_R3 (CONL_ERROR_MASK | 0x13) /* for state r3 */
154 #define E_CO_INV_PKT_P1 (CONL_ERROR_MASK | 0x14) /* for state p1 */
155 #define E_CO_INV_PKT_P2 (CONL_ERROR_MASK | 0x15) /* for state p2 */
156 #define E_CO_INV_PKT_P3 (CONL_ERROR_MASK | 0x16) /* for state p3 */
157 #define E_CO_INV_PKT_P4 (CONL_ERROR_MASK | 0x17) /* for state p4 */
158 #define E_CO_INV_PKT_P5 (CONL_ERROR_MASK | 0x18) /* for state p5 */
159 #define E_CO_INV_PKT_P6 (CONL_ERROR_MASK | 0x19) /* for state p6 */
160 #define E_CO_INV_PKT_P7 (CONL_ERROR_MASK | 0x1a) /* for state p7 */
161 #define E_CO_INV_PKT_D1 (CONL_ERROR_MASK | 0x1b) /* for state d1 */
162 #define E_CO_INV_PKT_D2 (CONL_ERROR_MASK | 0x1c) /* for state d2 */
163 #define E_CO_INV_PKT_D3 (CONL_ERROR_MASK | 0x1d) /* for state d3 */
164 /* dot dot dot */
165 #define E_CO_PKT_NOT_ALWD (CONL_ERROR_MASK | 0x20) /* packet not allowed */
166 #define E_CO_PNA_UNIDENT (CONL_ERROR_MASK | 0x21) /* unidentifiable pkt */
167 #define E_CO_PNA_ONEWAY (CONL_ERROR_MASK | 0x22) /* call on 1-way lc */
168 #define E_CO_PNA_PVC (CONL_ERROR_MASK | 0x23) /* inv pkt type on a pvc */
169 #define E_CO_PNA_UNASSLC (CONL_ERROR_MASK | 0x24) /* pkt on unassigned lc */
170 #define E_CO_PNA_REJECT (CONL_ERROR_MASK | 0x25) /* REJ not subscribed to*/
171 #define E_CO_PNA_SHORT (CONL_ERROR_MASK | 0x26) /* pkt too short */
172 #define E_CO_PNA_LONG (CONL_ERROR_MASK | 0x27) /* pkt too long */
173 #define E_CO_PNA_INVGFI (CONL_ERROR_MASK | 0x28) /* inv gen format id */
174 #define E_CO_PNA_NZLCI (CONL_ERROR_MASK | 0x29) \
175 /* restart or reg pkt with nonzero logical channel identifier */
176 #define E_CO_PNA_FACIL (CONL_ERROR_MASK | 0x2a) \
177 /* pkt type not compat with facility */
178 #define E_CO_PNA_UINTCON (CONL_ERROR_MASK | 0x2b) /* unauthor intrpt conf */
179 #define E_CO_PNA_UINTRPT (CONL_ERROR_MASK | 0x2c) /* unauthorized intrpt */
180 #define E_CO_PNA_UREJECT (CONL_ERROR_MASK | 0x2d) /* unauthorized reject */
181
182 #define E_CO_TMR_EXP (CONL_ERROR_MASK | 0x30) /* timer expired */
183 #define E_CO_TMR_CALR (CONL_ERROR_MASK | 0x31) /* inc. call or call req */
184 #define E_CO_TMR_CLRI (CONL_ERROR_MASK | 0x32) /* clear indication */
185 #define E_CO_TMR_RSTI (CONL_ERROR_MASK | 0x33) /* reset indication */
186 #define E_CO_TMR_RRTI (CONL_ERROR_MASK | 0x34) /* restart indication */
187
188 #define E_CO_REG_PROB (CONL_ERROR_MASK | 0x40)\
189 /* call setup, clear, or registration problem */
190 #define E_CO_REG_CODE (CONL_ERROR_MASK | 0x41) /* code not allowed */
191 #define E_CO_REG_PARM (CONL_ERROR_MASK | 0x42) /* parameter not allowed */
192 #define E_CO_REG_ICDA (CONL_ERROR_MASK | 0x43) /* invalid called addr */
193 #define E_CO_REG_ICGA (CONL_ERROR_MASK | 0x44) /* invalid calling addr */
194 #define E_CO_REG_ILEN (CONL_ERROR_MASK | 0x45) /* invalid facil length */
195 #define E_CO_REG_IBAR (CONL_ERROR_MASK | 0x46) /* incoming call barred */
196 #define E_CO_REG_NOLC (CONL_ERROR_MASK | 0x47) /* no logical chan avail*/
197 #define E_CO_REG_COLL (CONL_ERROR_MASK | 0x48) /* call collision */
198 #define E_CO_REG_DUPF (CONL_ERROR_MASK | 0x49) /* dupl facil requested */
199 #define E_CO_REG_NZAL (CONL_ERROR_MASK | 0x4a) /* non-zero addr length */
200 #define E_CO_REG_NZFL (CONL_ERROR_MASK | 0x4b) /* non-zero facil length */
201 #define E_CO_REG_EFNP (CONL_ERROR_MASK | 0x4c) \
202 /* expected facil not provided */
203 #define E_CO_REG_ICCITT (CONL_ERROR_MASK | 0x4d) \
204 /* invalid CCITT-specified DTE facil */
205
206 #define E_CO_MISC (CONL_ERROR_MASK | 0x50) /* miscellaneous */
207 #define E_CO_MISC_CAUSE (CONL_ERROR_MASK | 0x51) /* improper cause code */
208 #define E_CO_MISC_ALIGN (CONL_ERROR_MASK | 0x52) /* not octet-aligned */
209 #define E_CO_MISC_IQBS (CONL_ERROR_MASK | 0x53) \
210 /* inconsistent Q bit settings */
211
212 #define E_CO_INTL (CONL_ERROR_MASK | 0x70) /* international problem */
213 #define E_CO_IREMNWK (CONL_ERROR_MASK | 0x71) /* remote network problem */
214 #define E_CO_INPROTO (CONL_ERROR_MASK | 0x72) /* int'l protocol problem */
215 #define E_CO_ILINKDWN (CONL_ERROR_MASK | 0x73) /* int'l link down */
216 #define E_CO_ILINKBSY (CONL_ERROR_MASK | 0x74) /* int'l link busy */
217 #define E_CO_IXNETFAC (CONL_ERROR_MASK | 0x75) /* transit netwk facil */
218 #define E_CO_IRNETFAC (CONL_ERROR_MASK | 0x76) /* remote netwk facil */
219 #define E_CO_IROUTING (CONL_ERROR_MASK | 0x77) /* int'l routing prob */
220 #define E_CO_ITMPRTG (CONL_ERROR_MASK | 0x78) /* temporary routing prob */
221 #define E_CO_IUNKDNIC (CONL_ERROR_MASK | 0x79) /* unknown called DNIC */
222 #define E_CO_IMAINT (CONL_ERROR_MASK | 0x7a) /* maintenance action */
223
224 #define E_CO_TIMO (CONL_ERROR_MASK | 0x90) \
225 /* timer expired or retransmission count surpassed */
226 #define E_CO_TIM_INTRP (CONL_ERROR_MASK | 0x91) /* for interrupt */
227 #define E_CO_TIM_DATA (CONL_ERROR_MASK | 0x92) /* for data */
228 #define E_CO_TIM_REJ (CONL_ERROR_MASK | 0x93) /* for reject */
229
230 #define E_CO_DTE_SPEC (CONL_ERROR_MASK | 0xa0) /* DTE-specific */
231 #define E_CO_DTE_OK (CONL_ERROR_MASK | 0xa1) /* DTE operational */
232 #define E_CO_DTE_NOK (CONL_ERROR_MASK | 0xa2) /* DTE not operational */
233 #define E_CO_DTE_RSRC (CONL_ERROR_MASK | 0xa3) /* DTE resource constraint*/
234 #define E_CO_DTE_FSLCT (CONL_ERROR_MASK | 0xa4) /* fast select not subsc */
235 #define E_CO_DTE_PFPKT (CONL_ERROR_MASK | 0xa5) /* partially full pkt */
236 #define E_CO_DTE_DBIT (CONL_ERROR_MASK | 0xa6) /* D-bit proc not supp */
237 #define E_CO_DTE_RCCON (CONL_ERROR_MASK | 0xa7) /* reg/canell confirmed */
238
239 #define E_CO_OSI_NSP (CONL_ERROR_MASK | 0xe0) /* OSI net svc problem */
240 #define E_CO_OSI_DISCT (CONL_ERROR_MASK | 0xe1) /* disconnect transient */
241 #define E_CO_OSI_DISCP (CONL_ERROR_MASK | 0xe2) /* disconnect permanent */
242 #define E_CO_OSI_REJT (CONL_ERROR_MASK | 0xe3) /* reject transient */
243 #define E_CO_OSI_REJP (CONL_ERROR_MASK | 0xe4) /* reject permanent */
244 #define E_CO_OSI_QOST (CONL_ERROR_MASK | 0xe5) /* reject QOS transient */
245 #define E_CO_OSI_QOSP (CONL_ERROR_MASK | 0xe6) /* reject QOS permanent */
246 #define E_CO_OSI_NSAPT (CONL_ERROR_MASK | 0xe7) /* NSAP unreach transient */
247 #define E_CO_OSI_NSAPP (CONL_ERROR_MASK | 0xe8) /* NSAP unreach permanent */
248 #define E_CO_OSI_RESET (CONL_ERROR_MASK | 0xe9) /* reset no reason */
249 #define E_CO_OSI_CONGEST (CONL_ERROR_MASK | 0xea) /* reset congestion */
250 #define E_CO_OSI_UNSAP (CONL_ERROR_MASK | 0xeb) /* unknown NSAP permanent */
251
252 #define E_CO_HLI_INIT (CONL_ERROR_MASK | 0xf0) /* higher level initiated*/
253 #define E_CO_HLI_DISCN (CONL_ERROR_MASK | 0xf1) /* disconnect normal */
254 #define E_CO_HLI_DISCA (CONL_ERROR_MASK | 0xf2) /* disconnect abnormal */
255 #define E_CO_HLI_DISCI (CONL_ERROR_MASK | 0xf3) /* disconnect incompatible*/
256 #define E_CO_HLI_REJT (CONL_ERROR_MASK | 0xf4) /* reject transient */
257 #define E_CO_HLI_REJP (CONL_ERROR_MASK | 0xf5) /* reject permanent */
258 #define E_CO_HLI_QOST (CONL_ERROR_MASK | 0xf6) /* reject QOS transient */
259 #define E_CO_HLI_QOSP (CONL_ERROR_MASK | 0xf7) /* reject QOS permanent */
260 #define E_CO_HLI_REJI (CONL_ERROR_MASK | 0xf8) /* reject incompatible */
261 #define E_CO_HLI_PROTOID (CONL_ERROR_MASK | 0xf9) /* unrecog proto id */
262 #define E_CO_HLI_RESYNC (CONL_ERROR_MASK | 0xfa) /* reset - user resync */
263
264 /* Cause on 8208 CLEAR field */
265 #define E_CO_NUMBERBUSY (CONL_ERROR_MASK | 0x101) /* Number busy */
266 #define E_CO_INVFACREQ (CONL_ERROR_MASK | 0x103) /* invalid facil req */
267 #define E_CO_NETCONGEST (CONL_ERROR_MASK | 0x105) /* Network congestion */
268 #define E_CO_OUTOFORDER (CONL_ERROR_MASK | 0x109) /* Out of order */
269 #define E_CO_ACCESSBAR (CONL_ERROR_MASK | 0x10b) /* access barred */
270 #define E_CO_NOTOBTAIN (CONL_ERROR_MASK | 0x10d) /* not obtainable */
271 #define E_CO_REMPROCERR (CONL_ERROR_MASK | 0x111) /* Remote procedure err */
272 #define E_CO_LOCPROCERR (CONL_ERROR_MASK | 0x113) /* Local procedure err */
273 #define E_CO_RPOAOOO (CONL_ERROR_MASK | 0x115) /* RPOA out of order */
274 #define E_CO_NOREVCHG (CONL_ERROR_MASK | 0x119) /* Revs chg not accepted*/
275 #define E_CO_INCOMPAT (CONL_ERROR_MASK | 0x121) /* Incompatible dest */
276 #define E_CO_NOFASTSEL (CONL_ERROR_MASK | 0x129)
277 /* Fast select accpt not subscribed */
278 #define E_CO_NOSHIP (CONL_ERROR_MASK | 0x139) /* ship absent */
279 #define E_CO_GWPROCERR (CONL_ERROR_MASK | 0x1c1) /* Gateway-detected err*/
280 #define E_CO_GWCONGEST (CONL_ERROR_MASK | 0x1c3) /* Gateway congestion*/
281
282 /* ARGO only */
283 #define E_CO_QFULL (CONL_ERROR_MASK | 0x100) /* dropped packet - queue full*/
284 #define E_CO_AIWP (CONL_ERROR_MASK | 0x102) /* addr incompat w/proto */
285 #define E_CO_CHAN (CONL_ERROR_MASK | 0x104) /* bad channel number */
286
287 /* ARGO only; driver specific */
288 #define E_CO_NORESOURCES (CONL_ERROR_MASK | 0x1b0) /* eicon clogged */
289 #define E_CO_PDNDOWN (CONL_ERROR_MASK | 0x1b1) /* physical net down */
290 #define E_CO_DRVRCLRESET (CONL_ERROR_MASK | 0x1b2) /* driver clear/reset */
291 #define E_CO_PDNCLRESET (CONL_ERROR_MASK | 0x1b3) /* PDN clear/reset */
292 #define E_CO_DTECLRESET (CONL_ERROR_MASK | 0x1b4) /* board clear/reset */
293 #define E_CO_UNKCLRESET (CONL_ERROR_MASK | 0x1b5) /* unexpected clr/rst */
294
295 #define CONL_ERROR_MAX 0x1c3
296
297 #endif /* __ISO_ERRNO__ */