1    | /***************************************
2    |   $Revision: 1.7 $
3    | 
4    |   Radix tree (rx).  er_RX_errors.h - definition of errors for the radix module
5    | 
6    |   Status: NOT REVUED, TESTED, 
7    | 
8    |   Design and implementation by: Marek Bukowy
9    | 
10   |   ******************/ /******************
11   |   Copyright (c) 1999,2000,2001,2002               RIPE NCC
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 the author not be
20   |   used in advertising or publicity pertaining to distribution of the
21   |   software without specific, written prior permission.
22   |   
23   |   THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
24   |   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
25   |   AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
26   |   DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
27   |   AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
28   |   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
29   |   ***************************************/
30   | 
31   | /* step 1 */
32   | 
33   | typedef enum {
34   |   LOW_IP_OK=0,
35   |   LOW_IP_INVVER,
36   |   
37   |   LOW_IP_INVIP4,
38   |   LOW_IP_NOSLAS,
39   |   LOW_IP_ADTOLO,
40   |   LOW_IP_PRTOLO,
41   |   LOW_IP_INVPRF,
42   |   LOW_IP_INVRAN,
43   |   LOW_IP_NOREVD,
44   |              
45   |   LOW_IP_NO6YET,
46   |              
47   |   LOW_IP_TOSHRT,
48   |   LOW_IP_INVARG
49   | 
50   | } IP_err_code_t;
51   | 
52   | /* step 2 */
53   | 
54   | #define IP_OK		ER_SEV_I + (FAC_IP<<16) + LOW_IP_OK
55   | 
56   | #define IP_INVVER	ER_SEV_E + (FAC_IP<<16) + LOW_IP_INVVER
57   | 							      
58   | #define IP_INVIP4  	ER_SEV_E + (FAC_IP<<16) + LOW_IP_INVIP4  
59   | #define	IP_NOSLAS	ER_SEV_E + (FAC_IP<<16) + LOW_IP_NOSLAS
60   | #define IP_ADTOLO	ER_SEV_E + (FAC_IP<<16) + LOW_IP_ADTOLO
61   | #define IP_PRTOLO	ER_SEV_E + (FAC_IP<<16) + LOW_IP_PRTOLO
62   | #define IP_INVPRF	ER_SEV_E + (FAC_IP<<16) + LOW_IP_INVPRF
63   | #define IP_INVRAN	ER_SEV_E + (FAC_IP<<16) + LOW_IP_INVRAN
64   | #define IP_NOREVD	ER_SEV_E + (FAC_IP<<16) + LOW_IP_NOREVD
65   | 							      
66   | #define IP_NO6YET	ER_SEV_E + (FAC_IP<<16) + LOW_IP_NO6YET
67   | 							      
68   | #define IP_TOSHRT	ER_SEV_E + (FAC_IP<<16) + LOW_IP_TOSHRT
69   | #define IP_INVARG	ER_SEV_E + (FAC_IP<<16) + LOW_IP_INVARG
70   | 
71   | /* step 3 */
72   | 
73   | #ifdef ER_IMPL
74   | er_list_t IP_mod_err[]={
75   |   { ERDUP(IP_OK),  	"OK" },
76   | 
77   |   { ERDUP(IP_INVVER),   "invalid IP version code" },
78   | 
79   |   { ERDUP(IP_INVIP4),   "e2b: incorrect IPv4 address" },
80   |   { ERDUP(IP_NOSLAS),   "e2b: missing slash in prefix" },
81   |   { ERDUP(IP_ADTOLO),   "e2b: address part too long" },
82   |   { ERDUP(IP_PRTOLO),   "e2b: prefix part too long" },
83   |   { ERDUP(IP_INVPRF),   "e2b: incorrect prefix value" },
84   |   { ERDUP(IP_INVRAN),   "e2b: invalid range specification" },
85   |   { ERDUP(IP_NOREVD),   "e2b: not a reverse domain" },
86   |   
87   |   { ERDUP(IP_NO6YET),   "IPv6 is not yet implemented" },
88   | 
89   |   { ERDUP(IP_TOSHRT),   "b2a: supplied string too short" },
90   | 
91   |   { ERDUP(IP_INVARG),   "invalid argument" },   /* very generic error */
92   | 
93   |  ER_LASTTXT
94   | };
95   | 
96   | #endif /* ER_IMPL */