1 /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2 #include "autoconf.h"
3 #include <stdio.h>
4 #include <errno.h>
5 #include "com_err.h"
6 #include "test1.h"
7 #include "test2.h"
8
9 #ifdef _WIN32
10 # define EXPORT_LIST
11 #endif
12
13 /* XXX Not part of official public API. */
14 extern const char *error_table_name (errcode_t);
15
16 #ifdef NEED_SYS_ERRLIST
17 extern int sys_nerr;
18 #endif
19
main()20 int main()
21 {
22 printf("Before initiating error table:\n\n");
23 #ifndef EXPORT_LIST
24 printf("Table name '%s'\n", error_table_name(KRB_MK_AP_TGTEXP));
25 printf("UNIX name '%s'\n", error_table_name(EPERM));
26 #endif
27 printf("Msg TGT-expired is '%s'\n", error_message(KRB_MK_AP_TGTEXP));
28 printf("Msg EPERM is '%s'\n", error_message(EPERM));
29 printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR));
30 printf("Msg 1002 is '%s'\n", error_message (1002));
31 #ifdef HAVE_SYS_ERRLIST
32 printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr-1));
33 printf("Msg {sys_nerr} is '%s'\n", error_message(sys_nerr));
34 #endif
35 printf("Msg 0 is '%s'\n", error_message(0));
36
37 printf("With 0: tgt-expired -> %s\n", error_message(KRB_MK_AP_TGTEXP));
38
39 initialize_krb_error_table();
40 #ifndef EXPORT_LIST
41 printf("KRB error table initialized: base %ld (%s), name %s\n",
42 ERROR_TABLE_BASE_krb, error_message(ERROR_TABLE_BASE_krb),
43 error_table_name(ERROR_TABLE_BASE_krb));
44 #else
45 printf("KRB error table initialized: base %ld (%s)\n",
46 ERROR_TABLE_BASE_krb, error_message(ERROR_TABLE_BASE_krb));
47 #endif
48 add_error_table(&et_krb_error_table);
49 printf("With krb: tgt-expired -> %s\n",
50 error_message(KRB_MK_AP_TGTEXP));
51
52 add_error_table(&et_quux_error_table);
53 #ifndef EXPORT_LIST
54 printf("QUUX error table initialized: base %ld (%s), name %s\n",
55 ERROR_TABLE_BASE_quux, error_message(ERROR_TABLE_BASE_quux),
56 error_table_name(ERROR_TABLE_BASE_quux));
57 #else
58 printf("QUUX error table initialized: base %ld (%s)\n",
59 ERROR_TABLE_BASE_quux, error_message(ERROR_TABLE_BASE_quux));
60 #endif
61
62 printf("Msg for TGT-expired is '%s'\n",
63 error_message(KRB_MK_AP_TGTEXP));
64 #ifdef HAVE_SYS_ERRLIST
65 printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr-1));
66 #endif
67 printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR));
68 printf("Msg KRB_SKDC_CANT is '%s'\n",
69 error_message(KRB_SKDC_CANT));
70 printf("Msg 1e6 (8B 64) is '%s'\n", error_message(1000000));
71 printf("\n\nCOM_ERR tests:\n");
72 com_err("whoami", FOO_ERR, (char *)NULL);
73 com_err("whoami", FOO_ERR, " -- message goes %s", "here");
74 com_err("whoami", 0, (char *)0);
75 com_err("whoami", 0, "error number %d\n", 0);
76 return 0;
77 }
78