Home | History | Annotate | Download | only in include
      1 /*
      2  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
      3  * Use is subject to license terms.
      4  */
      5 
      6 /*
      7  * Header file for common error description library.
      8  *
      9  * Copyright 1988, Student Information Processing Board of the
     10  * Massachusetts Institute of Technology.
     11  *
     12  * Copyright 1995 by Cygnus Support.
     13  *
     14  * For copyright and distribution info, see the documentation supplied
     15  * with this package.
     16  */
     17 
     18 #ifndef __COM_ERR_H
     19 
     20 #pragma ident	"%Z%%M%	%I%	%E% SMI"
     21 
     22 #if defined(_WIN32)
     23 #include <win-mac.h>
     24 #endif
     25 
     26 #ifndef KRB5_CALLCONV
     27 #define KRB5_CALLCONV
     28 #define KRB5_CALLCONV_C
     29 #endif
     30 
     31 #include <stdarg.h>
     32 
     33 typedef long errcode_t;
     34 typedef void (*et_old_error_hook_func) (const char *, errcode_t,
     35 					const char *, va_list ap);
     36 
     37 struct error_table {
     38 	/*@shared@*/ char const * const * msgs;
     39         long base;
     40 	unsigned int n_msgs;
     41 };
     42 
     43 #ifdef __cplusplus
     44 extern "C" {
     45 #endif
     46 
     47 /* Public interfaces */
     48 extern void KRB5_CALLCONV_C com_err
     49 	(const char *, errcode_t, const char *, ...);
     50 extern void KRB5_CALLCONV com_err_va
     51 	(const char *whoami, errcode_t code, const char *fmt,
     52 	 va_list ap);
     53 extern /*@observer@*//*@dependent@*/ const char * KRB5_CALLCONV error_message
     54 	(errcode_t)
     55        /*@modifies internalState@*/;
     56 
     57 /*
     58  * Solaris Kerberos
     59  * {add_,remove_}error_table have been removed here as they don't exist
     60  * in the Solaris mech.
     61  *
     62  * initialize_krb5_error_table is not be needed anymore but Samba still
     63  * calls it so we make it a no-op.
     64  */
     65 #define initialize_krb5_error_table()
     66 
     67 #if !defined(_WIN32)
     68 /*
     69  * The display routine should be application specific.  A global hook,
     70  * may cause inappropriate display procedures to be called between
     71  * applications under non-Unix environments.
     72  */
     73 
     74 extern et_old_error_hook_func set_com_err_hook (et_old_error_hook_func);
     75 extern et_old_error_hook_func reset_com_err_hook (void);
     76 #endif
     77 
     78 #ifdef __cplusplus
     79 }
     80 #endif
     81 
     82 #define __COM_ERR_H
     83 #endif /* ! defined(__COM_ERR_H) */
     84