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 #pragma ident "%Z%%M% %I% %E% SMI" 34 35 #ifndef _ 36 #define _(X) (X) 37 #endif 38 39 #if defined(_MSDOS) || defined(_WIN32) 40 #include <win-mac.h> 41 #endif 42 #ifndef KRB5_CALLCONV 43 #define KRB5_CALLCONV 44 #define KRB5_CALLCONV_C 45 #endif 46 47 #include <stdarg.h> 48 49 struct errinfo { 50 long code; 51 const char *msg; 52 char scratch_buf[1024]; 53 }; 54 55 void 56 krb5int_set_error (struct errinfo *ep, 57 long code, 58 const char *fmt, ...); 59 void 60 krb5int_vset_error (struct errinfo *ep, long code, 61 const char *fmt, va_list args); 62 const char * 63 krb5int_get_error (struct errinfo *ep, long code); 64 void 65 krb5int_free_error (struct errinfo *ep, const char *msg); 66 void 67 krb5int_clear_error (struct errinfo *ep); 68 void 69 krb5int_set_error_info_callout_fn (const char *(KRB5_CALLCONV *f)(long)); 70 71 #endif /* K5_ERR_H */ 72