1 /* 2 * include/k5-err.h 3 * 4 * Copyright 2006 Massachusetts Institute of Technology. 5 * All Rights Reserved. 6 * 7 * Export of this software from the United States of America may 8 * require a specific license from the United States Government. 9 * It is the responsibility of any person or organization contemplating 10 * export to obtain such a license before exporting. 11 * 12 * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and 13 * distribute this software and its documentation for any purpose and 14 * without fee is hereby granted, provided that the above copyright 15 * notice appear in all copies and that both that copyright notice and 16 * this permission notice appear in supporting documentation, and that 17 * the name of M.I.T. not be used in advertising or publicity pertaining 18 * to distribution of the software without specific, written prior 19 * permission. Furthermore if you modify this software you must label 20 * your software as modified software and not distribute it in such a 21 * fashion that it might be confused with the original M.I.T. software. 22 * M.I.T. makes no representations about the suitability of 23 * this software for any purpose. It is provided "as is" without express 24 * or implied warranty. 25 * 26 * 27 * Error-message handling 28 */ 29 30 #ifndef K5_ERR_H 31 #define K5_ERR_H 32 33 #ifndef _ 34 #define _(X) (X) 35 #endif 36 37 #if defined(_MSDOS) || defined(_WIN32) 38 #include <win-mac.h> 39 #endif 40 #ifndef KRB5_CALLCONV 41 #define KRB5_CALLCONV 42 #define KRB5_CALLCONV_C 43 #endif 44 45 #include <stdarg.h> 46 47 struct errinfo { 48 long code; 49 const char *msg; 50 char scratch_buf[1024]; 51 }; 52 53 void 54 krb5int_set_error (struct errinfo *ep, 55 long code, 56 const char *fmt, ...); 57 void 58 krb5int_vset_error (struct errinfo *ep, long code, 59 const char *fmt, va_list args); 60 const char * 61 krb5int_get_error (struct errinfo *ep, long code); 62 void 63 krb5int_free_error (struct errinfo *ep, const char *msg); 64 void 65 krb5int_clear_error (struct errinfo *ep); 66 void 67 krb5int_set_error_info_callout_fn (const char *(KRB5_CALLCONV *f)(long)); 68 69 #endif /* K5_ERR_H */ 70