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