Add generic trace API
[openssl.git] / crypto / include / internal / cryptlib_int.h
1 /*
2  * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
3  *
4  * Licensed under the Apache License 2.0 (the "License").  You may not use
5  * this file except in compliance with the License.  You can obtain a copy
6  * in the file LICENSE in the source distribution or at
7  * https://www.openssl.org/source/license.html
8  */
9
10 #include "internal/cryptlib.h"
11
12 /* This file is not scanned by mkdef.pl, whereas cryptlib.h is */
13
14 struct thread_local_inits_st {
15     int async;
16     int err_state;
17     int rand;
18 };
19
20 int ossl_init_thread_start(uint64_t opts);
21
22 /*
23  * OPENSSL_INIT flags. The primary list of these is in crypto.h. Flags below
24  * are those omitted from crypto.h because they are "reserved for internal
25  * use".
26  */
27 # define OPENSSL_INIT_ZLIB                   0x00010000L
28 # define OPENSSL_INIT_BASE_ONLY              0x00040000L
29
30 /* OPENSSL_INIT_THREAD flags */
31 # define OPENSSL_INIT_THREAD_ASYNC           0x01
32 # define OPENSSL_INIT_THREAD_ERR_STATE       0x02
33 # define OPENSSL_INIT_THREAD_RAND            0x04
34
35 int ossl_trace_init(void);
36 void ossl_trace_cleanup(void);
37 void ossl_malloc_setup_failures(void);