Source File modules/ip/er_IP_errors.h

    1    | /***************************************
    2    |   $Revision: 1.6 $
    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                              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 */