Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/crypto/krb5/src/include/k5-err.h
34879 views
1
/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
/* include/k5-err.h */
3
/*
4
* Copyright 2006, 2007 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
/*
28
*
29
* Error-message handling
30
*/
31
32
#ifndef K5_ERR_H
33
#define K5_ERR_H
34
35
#if defined(_MSDOS) || defined(_WIN32)
36
#include <win-mac.h>
37
#endif
38
#ifndef KRB5_CALLCONV
39
#define KRB5_CALLCONV
40
#define KRB5_CALLCONV_C
41
#endif
42
43
#include <stdarg.h>
44
45
struct errinfo {
46
long code;
47
char *msg;
48
};
49
#define EMPTY_ERRINFO { 0, NULL }
50
51
void k5_set_error(struct errinfo *ep, long code, const char *fmt, ...)
52
#if !defined(__cplusplus) && (__GNUC__ > 2)
53
__attribute__((__format__(__printf__, 3, 4)))
54
#endif
55
;
56
57
void k5_vset_error(struct errinfo *ep, long code, const char *fmt,
58
va_list args)
59
#if !defined(__cplusplus) && (__GNUC__ > 2)
60
__attribute__((__format__(__printf__, 3, 0)))
61
#endif
62
;
63
64
const char *k5_get_error(struct errinfo *ep, long code);
65
void k5_free_error(struct errinfo *ep, const char *msg);
66
void k5_clear_error(struct errinfo *ep);
67
void k5_set_error_info_callout_fn(const char *(KRB5_CALLCONV *f)(long));
68
69
#endif /* K5_ERR_H */
70
71