1 /*
2  * Copyright (C) 2000-2012 Free Software Foundation, Inc.
3  *
4  * Author: Nikos Mavrogiannopoulos
5  *
6  * This file is part of GnuTLS.
7  *
8  * The GnuTLS is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public License
10  * as published by the Free Software Foundation; either version 2.1 of
11  * the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this program.  If not, see <https://www.gnu.org/licenses/>
20  *
21  */
22 
23 #ifndef GNUTLS_LIB_GLOBAL_H
24 #define GNUTLS_LIB_GLOBAL_H
25 
26 #include <libtasn1.h>
27 #include <gnutls/gnutls.h>
28 
29 int gnutls_is_secure_memory(const void *mem);
30 
31 extern ASN1_TYPE _gnutls_pkix1_asn;
32 extern ASN1_TYPE _gnutls_gnutls_asn;
33 
34 /* removed const from node_asn* to
35  * prevent warnings, since libtasn1 doesn't
36  * use the const keyword in its functions.
37  */
38 #define _gnutls_get_gnutls_asn() ((ASN1_TYPE) _gnutls_gnutls_asn)
39 #define _gnutls_get_pkix() ((ASN1_TYPE) _gnutls_pkix1_asn)
40 
41 extern gnutls_log_func _gnutls_log_func;
42 extern gnutls_audit_log_func _gnutls_audit_log_func;
43 extern int _gnutls_log_level;
44 extern int gnutls_crypto_init(void);
45 extern void gnutls_crypto_deinit(void);
46 extern void _gnutls_tpm_global_deinit(void);
47 extern void _gnutls_nss_keylog_deinit(void);
48 
49 extern void _gnutls_load_system_priorities(void);
50 extern void _gnutls_unload_system_priorities(void);
51 
52 #endif /* GNUTLS_LIB_GLOBAL_H */
53