2016-02-09 19:26:14 +08:00
|
|
|
/*
|
2018-03-20 21:00:17 +08:00
|
|
|
* Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
2016-02-09 19:26:14 +08:00
|
|
|
*
|
2016-05-18 03:38:09 +08:00
|
|
|
* Licensed under the OpenSSL license (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
|
2016-02-09 19:26:14 +08:00
|
|
|
*/
|
|
|
|
|
2017-08-04 04:21:01 +08:00
|
|
|
#include "internal/cryptlib.h"
|
2016-02-09 19:26:14 +08:00
|
|
|
|
|
|
|
/* This file is not scanned by mkdef.pl, whereas cryptlib.h is */
|
|
|
|
|
|
|
|
struct thread_local_inits_st {
|
|
|
|
int async;
|
|
|
|
int err_state;
|
2018-03-08 02:25:55 +08:00
|
|
|
int rand;
|
2016-02-09 19:26:14 +08:00
|
|
|
};
|
2016-02-10 07:09:44 +08:00
|
|
|
|
2016-02-09 19:26:14 +08:00
|
|
|
int ossl_init_thread_start(uint64_t opts);
|
2016-03-12 05:53:18 +08:00
|
|
|
|
2016-02-09 19:26:14 +08:00
|
|
|
/*
|
|
|
|
* OPENSSL_INIT flags. The primary list of these is in crypto.h. Flags below
|
2016-08-06 01:56:58 +08:00
|
|
|
* are those omitted from crypto.h because they are "reserved for internal
|
2016-02-09 19:26:14 +08:00
|
|
|
* use".
|
|
|
|
*/
|
2016-03-01 00:14:00 +08:00
|
|
|
# define OPENSSL_INIT_ZLIB 0x00010000L
|
2018-04-20 21:45:06 +08:00
|
|
|
# define OPENSSL_INIT_BASE_ONLY 0x00040000L
|
2016-02-09 19:26:14 +08:00
|
|
|
|
|
|
|
/* OPENSSL_INIT_THREAD flags */
|
|
|
|
# define OPENSSL_INIT_THREAD_ASYNC 0x01
|
|
|
|
# define OPENSSL_INIT_THREAD_ERR_STATE 0x02
|
2018-03-08 02:25:55 +08:00
|
|
|
# define OPENSSL_INIT_THREAD_RAND 0x04
|
2016-02-09 19:26:14 +08:00
|
|
|
|
2016-07-09 01:40:08 +08:00
|
|
|
void ossl_malloc_setup_failures(void);
|