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