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 */