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