Source File modules/er/er_ER_errors.h

    1    | /***************************************
    2    |   $Revision: 1.2 $
    3    |
    4    |   Error reporting (er) er.c - er_RX_errors.h - definition of errors for the
    5    |                               error reporting module (used in test only).
    6    |
    7    |   Status: NOT REVUED, TESTED,
    8    |
    9    |   Design and implementation by: Marek Bukowy
    10   |
    11   |   ******************/ /******************
    12   |   Copyright (c) 1999                              RIPE NCC
    13   |
    14   |   All Rights Reserved
    15   |
    16   |   Permission to use, copy, modify, and distribute this software and its
    17   |   documentation for any purpose and without fee is hereby granted,
    18   |   provided that the above copyright notice appear in all copies and that
    19   |   both that copyright notice and this permission notice appear in
    20   |   supporting documentation, and that the name of the author not be
    21   |   used in advertising or publicity pertaining to distribution of the
    22   |   software without specific, written prior permission.
    23   |
    24   |   THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
    25   |   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
    26   |   AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
    27   |   DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
    28   |   AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
    29   |   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    30   |   ***************************************/
    31   |
    32   | /* I see no way of automating things here... Maybe with a perl script.
    33   |
    34   |    There are three things to do:
    35   |    1. Get a new integer number from the enum
    36   | 	(using a ??_LOW_<mnem> symbol)
    37   |    2. define a new error code (??_<mnem>) by adding the facility and
    38   | 	severity codes.
    39   |    3. put the symbol (using macro ERDUP) and text of the message into the
    40   | 	array. Should fit in one line with the macro.
    41   |
    42   |    The order of codes in enum does NOT have to match the order of texts.
    43   |    The last in the texts array must be the ER_LASTTXT constant.
    44   |
    45   |    Sounds familiar ? That's because facilities and errors are parts
    46   |    of the error reporting fractal :-)
    47   | */
    48   |
    49   |
    50   | /* step 1 */
    51   |
    52   | typedef enum {
    53   | 	 ER_LOW_TOOSTU=0,
    54   | 	 ER_LOW_TOOLAT
    55   | } ER_err_code_t;
    56   |
    57   | /* step 2 */
    58   |
    59   | #define ER_TOOSTU	ER_SEV_F + (FAC_ER<<16) + ER_LOW_TOOSTU
    60   | #define ER_TOOLAT	ER_SEV_E + (FAC_ER<<16) + ER_LOW_TOOLAT
    61   |
    62   |
    63   | /* step 3 */
    64   |
    65   | #ifdef ER_IMPL
    66   | er_list_t ER_mod_err[]={
    67   |  { ERDUP(ER_TOOSTU),  "You're too stupid to use this. Program aborted" },
    68   |  { ERDUP(ER_TOOLAT),  "Now it's %u, it is too late for this to work!" },
    69   |  ER_LASTTXT
    70   | };
    71   |
    72   | #endif /* ER_IMPL */