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 20 int 21 main(void) 22 { 23 printf("Before initiating error table:\n\n"); 24 #ifndef EXPORT_LIST 25 printf("Table name '%s'\n", error_table_name(KRB_MK_AP_TGTEXP)); 26 printf("UNIX name '%s'\n", error_table_name(EPERM)); 27 #endif 28 printf("Msg TGT-expired is '%s'\n", error_message(KRB_MK_AP_TGTEXP)); 29 printf("Msg EPERM is '%s'\n", error_message(EPERM)); 30 printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR)); 31 printf("Msg 1002 is '%s'\n", error_message (1002)); 32 #ifdef HAVE_SYS_ERRLIST 33 printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr-1)); 34 printf("Msg {sys_nerr} is '%s'\n", error_message(sys_nerr)); 35 #endif 36 printf("Msg 0 is '%s'\n", error_message(0)); 37 38 printf("With 0: tgt-expired -> %s\n", error_message(KRB_MK_AP_TGTEXP)); 39 40 initialize_krb_error_table(); 41 #ifndef EXPORT_LIST 42 printf("KRB error table initialized: base %ld (%s), name %s\n", 43 ERROR_TABLE_BASE_krb, error_message(ERROR_TABLE_BASE_krb), 44 error_table_name(ERROR_TABLE_BASE_krb)); 45 #else 46 printf("KRB error table initialized: base %ld (%s)\n", 47 ERROR_TABLE_BASE_krb, error_message(ERROR_TABLE_BASE_krb)); 48 #endif 49 add_error_table(&et_krb_error_table); 50 printf("With krb: tgt-expired -> %s\n", 51 error_message(KRB_MK_AP_TGTEXP)); 52 53 add_error_table(&et_quux_error_table); 54 #ifndef EXPORT_LIST 55 printf("QUUX error table initialized: base %ld (%s), name %s\n", 56 ERROR_TABLE_BASE_quux, error_message(ERROR_TABLE_BASE_quux), 57 error_table_name(ERROR_TABLE_BASE_quux)); 58 #else 59 printf("QUUX error table initialized: base %ld (%s)\n", 60 ERROR_TABLE_BASE_quux, error_message(ERROR_TABLE_BASE_quux)); 61 #endif 62 63 printf("Msg for TGT-expired is '%s'\n", 64 error_message(KRB_MK_AP_TGTEXP)); 65 #ifdef HAVE_SYS_ERRLIST 66 printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr-1)); 67 #endif 68 printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR)); 69 printf("Msg KRB_SKDC_CANT is '%s'\n", 70 error_message(KRB_SKDC_CANT)); 71 printf("Msg 1e6 (8B 64) is '%s'\n", error_message(1000000)); 72 printf("\n\nCOM_ERR tests:\n"); 73 com_err("whoami", FOO_ERR, (char *)NULL); 74 com_err("whoami", FOO_ERR, " -- message goes %s", "here"); 75 com_err("whoami", 0, (char *)0); 76 com_err("whoami", 0, "error number %d\n", 0); 77 return 0; 78 } 79