2390c573aa
The idea is that the application shall be able to register output channels or callbacks to print tracing output as it sees fit. OpenSSL internals, on the other hand, want to print thoses texts using normal printing routines, such as BIO_printf() or BIO_dump() through well defined BIOs. When the application registers callbacks, the tracing functionality sets up an internal BIO that simply forwards received text to the appropriate application provided callback. Co-authored-by: Dr. Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/8198)
37 lines
1.1 KiB
C
37 lines
1.1 KiB
C
/*
|
|
* Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
|
*
|
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
* this file except in compliance with the License. You can obtain a copy
|
|
* in the file LICENSE in the source distribution or at
|
|
* https://www.openssl.org/source/license.html
|
|
*/
|
|
|
|
#include "internal/cryptlib.h"
|
|
|
|
/* This file is not scanned by mkdef.pl, whereas cryptlib.h is */
|
|
|
|
struct thread_local_inits_st {
|
|
int async;
|
|
int err_state;
|
|
int rand;
|
|
};
|
|
|
|
int ossl_init_thread_start(uint64_t opts);
|
|
|
|
/*
|
|
* OPENSSL_INIT flags. The primary list of these is in crypto.h. Flags below
|
|
* are those omitted from crypto.h because they are "reserved for internal
|
|
* use".
|
|
*/
|
|
# define OPENSSL_INIT_ZLIB 0x00010000L
|
|
# define OPENSSL_INIT_BASE_ONLY 0x00040000L
|
|
|
|
/* OPENSSL_INIT_THREAD flags */
|
|
# define OPENSSL_INIT_THREAD_ASYNC 0x01
|
|
# define OPENSSL_INIT_THREAD_ERR_STATE 0x02
|
|
# define OPENSSL_INIT_THREAD_RAND 0x04
|
|
|
|
int ossl_trace_init(void);
|
|
void ossl_trace_cleanup(void);
|
|
void ossl_malloc_setup_failures(void);
|