com_err.h revision 781:57319a72b15f
1/* 2 * Header file for common error description library. 3 * 4 * Copyright 1988, Student Information Processing Board of the 5 * Massachusetts Institute of Technology. 6 * 7 * Copyright 1995 by Cygnus Support. 8 * 9 * For copyright and distribution info, see the documentation supplied 10 * with this package. 11 */ 12 13#ifndef __COM_ERR_H 14 15#pragma ident "%Z%%M% %I% %E% SMI" 16 17#if defined(_WIN32) 18#include <win-mac.h> 19#endif 20 21#ifndef KRB5_CALLCONV 22#define KRB5_CALLCONV 23#define KRB5_CALLCONV_C 24#endif 25 26#include <stdarg.h> 27 28typedef long errcode_t; 29typedef void (*et_old_error_hook_func) (const char *, errcode_t, 30 const char *, va_list ap); 31 32struct error_table { 33 /*@shared@*/ char const * const * msgs; 34 long base; 35 unsigned int n_msgs; 36}; 37 38#ifdef __cplusplus 39extern "C" { 40#endif 41 42/* Public interfaces */ 43extern void KRB5_CALLCONV_C com_err 44 (const char *, errcode_t, const char *, ...); 45extern void KRB5_CALLCONV com_err_va 46 (const char *whoami, errcode_t code, const char *fmt, 47 va_list ap); 48extern /*@observer@*//*@dependent@*/ const char * KRB5_CALLCONV error_message 49 (errcode_t) 50 /*@modifies internalState@*/; 51extern errcode_t KRB5_CALLCONV add_error_table 52 (/*@dependent@*/ const struct error_table *) 53 /*@modifies internalState@*/; 54extern errcode_t KRB5_CALLCONV remove_error_table 55 (const struct error_table *) 56 /*@modifies internalState@*/; 57 58#if !defined(_WIN32) 59/* 60 * The display routine should be application specific. A global hook, 61 * may cause inappropriate display procedures to be called between 62 * applications under non-Unix environments. 63 */ 64 65extern et_old_error_hook_func set_com_err_hook (et_old_error_hook_func); 66extern et_old_error_hook_func reset_com_err_hook (void); 67#endif 68 69#ifdef __cplusplus 70} 71#endif 72 73#define __COM_ERR_H 74#endif /* ! defined(__COM_ERR_H) */ 75