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