| 
									
										
										
										
											2016-05-18 03:38:09 +08:00
										 |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2018-02-06 05:16:26 +08:00
										 |  |  |  * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. | 
					
						
							| 
									
										
										
										
											1998-12-21 18:52:47 +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
 | 
					
						
							| 
									
										
										
										
											1998-12-21 18:52:47 +08:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef HEADER_CRYPTLIB_H
 | 
					
						
							| 
									
										
										
										
											2015-01-22 11:40:55 +08:00
										 |  |  | # define HEADER_CRYPTLIB_H
 | 
					
						
							| 
									
										
										
										
											1998-12-21 18:52:47 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-22 11:40:55 +08:00
										 |  |  | # include <stdlib.h>
 | 
					
						
							|  |  |  | # include <string.h>
 | 
					
						
							| 
									
										
										
										
											1998-12-21 18:52:47 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-22 11:40:55 +08:00
										 |  |  | # ifdef OPENSSL_USE_APPLINK
 | 
					
						
							| 
									
										
										
										
											2016-05-11 04:20:23 +08:00
										 |  |  | #  undef BIO_FLAGS_UPLINK
 | 
					
						
							| 
									
										
										
										
											2015-01-22 11:40:55 +08:00
										 |  |  | #  define BIO_FLAGS_UPLINK 0x8000
 | 
					
						
							|  |  |  | #  include "ms/uplink.h"
 | 
					
						
							|  |  |  | # endif
 | 
					
						
							| 
									
										
										
										
											2005-05-17 08:08:28 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-22 11:40:55 +08:00
										 |  |  | # include <openssl/crypto.h>
 | 
					
						
							|  |  |  | # include <openssl/buffer.h>
 | 
					
						
							|  |  |  | # include <openssl/bio.h>
 | 
					
						
							|  |  |  | # include <openssl/err.h>
 | 
					
						
							| 
									
										
										
										
											2017-08-18 11:52:46 +08:00
										 |  |  | # include "internal/nelem.h"
 | 
					
						
							| 
									
										
										
										
											1998-12-21 18:52:47 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-02 21:46:31 +08:00
										 |  |  | #ifdef NDEBUG
 | 
					
						
							|  |  |  | # define ossl_assert(x) ((x) != 0)
 | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | __owur static ossl_inline int ossl_assert_int(int expr, const char *exprstr, | 
					
						
							|  |  |  |                                               const char *file, int line) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     if (!expr) | 
					
						
							|  |  |  |         OPENSSL_die(exprstr, file, line); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return expr; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # define ossl_assert(x) ossl_assert_int((x) != 0, "Assertion failed: "#x, \
 | 
					
						
							|  |  |  |                                          __FILE__, __LINE__) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-06 10:54:18 +08:00
										 |  |  | typedef struct ex_callback_st EX_CALLBACK; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_STACK_OF(EX_CALLBACK) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-11 22:11:13 +08:00
										 |  |  | typedef struct app_mem_info_st APP_INFO; | 
					
						
							| 
									
										
										
										
											2016-09-16 02:33:18 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-11 22:11:13 +08:00
										 |  |  | typedef struct mem_st MEM; | 
					
						
							| 
									
										
										
										
											2016-01-11 23:22:30 +08:00
										 |  |  | DEFINE_LHASH_OF(MEM); | 
					
						
							| 
									
										
										
										
											2016-01-06 10:54:18 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-24 07:14:10 +08:00
										 |  |  | # define OPENSSL_CONF             "openssl.cnf"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-22 11:40:55 +08:00
										 |  |  | # ifndef OPENSSL_SYS_VMS
 | 
					
						
							|  |  |  | #  define X509_CERT_AREA          OPENSSLDIR
 | 
					
						
							|  |  |  | #  define X509_CERT_DIR           OPENSSLDIR "/certs"
 | 
					
						
							|  |  |  | #  define X509_CERT_FILE          OPENSSLDIR "/cert.pem"
 | 
					
						
							|  |  |  | #  define X509_PRIVATE_DIR        OPENSSLDIR "/private"
 | 
					
						
							| 
									
										
										
										
											2016-03-04 21:18:54 +08:00
										 |  |  | #  define CTLOG_FILE              OPENSSLDIR "/ct_log_list.cnf"
 | 
					
						
							| 
									
										
										
										
											2015-01-22 11:40:55 +08:00
										 |  |  | # else
 | 
					
						
							| 
									
										
										
										
											2016-07-02 14:47:08 +08:00
										 |  |  | #  define X509_CERT_AREA          "OSSL$DATAROOT:[000000]"
 | 
					
						
							| 
									
										
										
										
											2016-07-09 00:27:56 +08:00
										 |  |  | #  define X509_CERT_DIR           "OSSL$DATAROOT:[CERTS]"
 | 
					
						
							|  |  |  | #  define X509_CERT_FILE          "OSSL$DATAROOT:[000000]cert.pem"
 | 
					
						
							|  |  |  | #  define X509_PRIVATE_DIR        "OSSL$DATAROOT:[PRIVATE]"
 | 
					
						
							|  |  |  | #  define CTLOG_FILE              "OSSL$DATAROOT:[000000]ct_log_list.cnf"
 | 
					
						
							| 
									
										
										
										
											2015-01-22 11:40:55 +08:00
										 |  |  | # endif
 | 
					
						
							| 
									
										
										
										
											1998-12-21 18:52:47 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-22 11:40:55 +08:00
										 |  |  | # define X509_CERT_DIR_EVP        "SSL_CERT_DIR"
 | 
					
						
							|  |  |  | # define X509_CERT_FILE_EVP       "SSL_CERT_FILE"
 | 
					
						
							| 
									
										
										
										
											2016-02-25 21:33:48 +08:00
										 |  |  | # define CTLOG_FILE_EVP           "CTLOG_FILE"
 | 
					
						
							| 
									
										
										
										
											1998-12-21 18:52:47 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-11-13 23:43:43 +08:00
										 |  |  | /* size of string representations */ | 
					
						
							| 
									
										
										
										
											2015-01-22 11:40:55 +08:00
										 |  |  | # define DECIMAL_SIZE(type)      ((sizeof(type)*8+2)/3+1)
 | 
					
						
							|  |  |  | # define HEX_SIZE(type)          (sizeof(type)*2)
 | 
					
						
							| 
									
										
										
										
											2002-11-13 23:43:43 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-08-30 00:36:05 +08:00
										 |  |  | void OPENSSL_cpuid_setup(void); | 
					
						
							| 
									
										
										
										
											2009-04-27 01:49:41 +08:00
										 |  |  | extern unsigned int OPENSSL_ia32cap_P[]; | 
					
						
							| 
									
										
										
										
											2015-01-22 11:40:55 +08:00
										 |  |  | void OPENSSL_showfatal(const char *fmta, ...); | 
					
						
							| 
									
										
										
										
											2016-04-12 19:20:16 +08:00
										 |  |  | void crypto_cleanup_all_ex_data_int(void); | 
					
						
							| 
									
										
										
										
											2017-06-23 02:00:06 +08:00
										 |  |  | int openssl_init_fork_handlers(void); | 
					
						
							| 
									
										
										
										
											2004-08-30 00:36:05 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-24 09:21:18 +08:00
										 |  |  | char *ossl_safe_getenv(const char *name); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-05 09:17:58 +08:00
										 |  |  | extern CRYPTO_RWLOCK *memdbg_lock; | 
					
						
							| 
									
										
										
										
											2016-05-23 20:52:29 +08:00
										 |  |  | int openssl_strerror_r(int errnum, char *buf, size_t buflen); | 
					
						
							| 
									
										
										
										
											2016-06-21 21:26:18 +08:00
										 |  |  | # if !defined(OPENSSL_NO_STDIO)
 | 
					
						
							|  |  |  | FILE *openssl_fopen(const char *filename, const char *mode); | 
					
						
							|  |  |  | # else
 | 
					
						
							|  |  |  | void *openssl_fopen(const char *filename, const char *mode); | 
					
						
							|  |  |  | # endif
 | 
					
						
							| 
									
										
										
										
											2016-05-23 20:52:29 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-06 05:16:26 +08:00
										 |  |  | uint32_t OPENSSL_rdtsc(void); | 
					
						
							| 
									
										
										
										
											2017-11-20 00:40:56 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-12-21 18:52:47 +08:00
										 |  |  | #endif
 |