Source File er/er_formats.h

    1    | /***************************************
    2    |   $Revision: 1.3 $
    3    |
    4    |   Error reporting (er) er_formats.{m4,h} - definition of error formats
    5    |                               error reporting module.
    6    |
    7    |   Status: NOT REVUED, TESTED,
    8    |
    9    |   Design and implementation by: Marek Bukowy
    10   |
    11   |   ******************/ /******************
    12   |   Copyright (c) 1999,2000,2001,2002               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   | /*
    33   | NOTE:  modify the m4 file only, do not change the resulting .h !!!
    34   | */
    35   |
    36   | #ifndef ER_FORMATS_H
    37   | #define ER_FORMATS_H
    38   |
    39   |
    40   | typedef struct {
    41   |   char *n;
    42   |   int v;
    43   | } er_form_el;
    44   |
    45   | #ifdef ER_IMPL
    46   | #define EXTDEF
    47   | #define EXTINI(a,b) a = b;
    48   | #else
    49   | #define EXTDEF extern
    50   | #define EXTINI(a,b) extern a;
    51   | #endif
    52   |
    53   | /* m4 macro: #define a symbol and put its string version into the array
    54   |    at the same time. The string version will have "ASP_" cut off if
    55   |    the string begins with it. The #defines are diverted to stream 9, so
    56   |    they appear later in the output (outside the /endif block)
    57   | */
    58   |
    59   |
    60   |
    61   | typedef enum {
    62   |
    63   |  ER_M_SEVCHAR = (1<<0 ),
    64   |  ER_M_SEVLONG = (1<<1),
    65   |  ER_M_MNEMONIC = (1<<2),
    66   |  ER_M_TEXTLONG = (1<<3),
    67   |  ER_M_UIDUID = (1<<4),
    68   |  ER_M_UIDEUID = (1<<5),
    69   |  ER_M_PIDFULL = (1<<6),
    70   |  ER_M_FACSYMB = (1<<7),
    71   |  ER_M_PROGNAME = (1<<8),
    72   |  ER_M_DATETIME = (1<<9),
    73   |  ER_M_THR_ID = (1<<10),
    74   |  __ER_fmt_slack  /* to close the list after the last comma */
    75   |
    76   | } er_format_mt;
    77   |
    78   |
    79   | EXTDEF
    80   | er_form_el er_formarr[]
    81   | #ifdef ER_IMPL
    82   | = {
    83   | /* m4 - paste the definitions here */
    84   |     { "SEVCHAR", ER_M_SEVCHAR },
    85   |     { "SEVLONG", ER_M_SEVLONG },
    86   |     { "MNEMONIC", ER_M_MNEMONIC },
    87   |     { "TEXTLONG", ER_M_TEXTLONG },
    88   |     { "UIDUID", ER_M_UIDUID },
    89   |     { "UIDEUID", ER_M_UIDEUID },
    90   |     { "PIDFULL", ER_M_PIDFULL },
    91   |     { "FACSYMB", ER_M_FACSYMB },
    92   |     { "PROGNAME", ER_M_PROGNAME },
    93   |     { "DATETIME", ER_M_DATETIME },
    94   |     { "THR_ID", ER_M_THR_ID },
    95   |
    96   |   {NULL, 0}
    97   | }
    98   | #endif /* ER_IMPL */
    99   | ;
    100  |
    101  |
    102  | #endif /* ER_FORMATS_H */