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