14c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley/* ==================================================================== 24c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. 34c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 44c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * Redistribution and use in source and binary forms, with or without 54c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * modification, are permitted provided that the following conditions 64c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * are met: 74c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 84c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 1. Redistributions of source code must retain the above copyright 94c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * notice, this list of conditions and the following disclaimer. 104c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 114c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 2. Redistributions in binary form must reproduce the above copyright 124c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * notice, this list of conditions and the following disclaimer in 134c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * the documentation and/or other materials provided with the 144c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * distribution. 154c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 164c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 3. All advertising materials mentioning features or use of this 174c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * software must display the following acknowledgment: 184c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * "This product includes software developed by the OpenSSL Project 194c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 204c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 214c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 224c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * endorse or promote products derived from this software without 234c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * prior written permission. For written permission, please contact 244c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * openssl-core@openssl.org. 254c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 264c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 5. Products derived from this software may not be called "OpenSSL" 274c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * nor may "OpenSSL" appear in their names without prior written 284c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * permission of the OpenSSL Project. 294c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 304c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 6. Redistributions of any form whatsoever must retain the following 314c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * acknowledgment: 324c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * "This product includes software developed by the OpenSSL Project 334c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * for use in the OpenSSL Toolkit (http://www.openssl.org/)" 344c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 354c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 364c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 374c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 384c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 394c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 404c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 414c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 424c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 434c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 444c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 454c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 464c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * OF THE POSSIBILITY OF SUCH DAMAGE. 474c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * ==================================================================== 484c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * 494c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * This product includes cryptographic software written by Eric Young 504c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * (eay@cryptsoft.com). This product includes software written by Tim 514c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley * Hudson (tjh@cryptsoft.com). */ 524c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley 534c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#ifndef OPENSSL_HEADER_BASE_H 544c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_HEADER_BASE_H 554c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley 56eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley 57eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley/* This file should be the first included by all BoringSSL headers. */ 58eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley 594c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#include <stdint.h> 604c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#include <stdlib.h> 614c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#include <string.h> 624c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#include <sys/types.h> 634c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley 64987b8f1e715414b0b278a4a0c64ec9c97ad65f58Piotr Sikora#include <openssl/opensslfeatures.h> 65987b8f1e715414b0b278a4a0c64ec9c97ad65f58Piotr Sikora 66b2cb0ece7678586c9ca9c02dbc40069037b4f5a9Adam Langley#if defined(__cplusplus) 67b2cb0ece7678586c9ca9c02dbc40069037b4f5a9Adam Langleyextern "C" { 68b2cb0ece7678586c9ca9c02dbc40069037b4f5a9Adam Langley#endif 69b2cb0ece7678586c9ca9c02dbc40069037b4f5a9Adam Langley 70b2cb0ece7678586c9ca9c02dbc40069037b4f5a9Adam Langley 714c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#if defined(__x86_64) || defined(_M_AMD64) || defined(_M_X64) 724c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_64_BIT 734c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_X86_64 744c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#elif defined(__x86) || defined(__i386) || defined(__i386__) || defined(_M_IX86) 754c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_32_BIT 764c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_X86 774c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#elif defined(__aarch64__) 784c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_64_BIT 794c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_AARCH64 804c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#elif defined(__arm) || defined(__arm__) || defined(_M_ARM) 814c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_32_BIT 824c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_ARM 834c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#elif defined(__mips__) 844c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_32_BIT 854c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_MIPS 864c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#elif defined(__pnacl__) 874c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_32_BIT 884c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_PNACL 894c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#else 904c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#error "Unknown target CPU" 914c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#endif 924c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley 934c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#if defined(__APPLE__) 944c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_APPLE 954c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#endif 964c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley 97ded93581f1674f81faa0dba4b15a842756066ab2Adam Langley#if defined(WIN32) || defined(_WIN32) 98eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#define OPENSSL_WINDOWS 99eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#endif 100eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley 1014c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_IS_BORINGSSL 1024c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#define OPENSSL_VERSION_NUMBER 0x10002000 1034c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley 104eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#if defined(BORINGSSL_SHARED_LIBRARY) 1054c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley 106eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#if defined(OPENSSL_WINDOWS) 107eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley 108eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#if defined(BORINGSSL_IMPLEMENTATION) 109eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#define OPENSSL_EXPORT __declspec(dllexport) 110eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#else 111eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#define OPENSSL_EXPORT __declspec(dllimport) 112eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#endif 113eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley 114eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#else /* defined(OPENSSL_WINDOWS) */ 115eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley 116eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#if defined(BORINGSSL_IMPLEMENTATION) 117eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#define OPENSSL_EXPORT __attribute__((visibility("default"))) 118eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#else 119eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#define OPENSSL_EXPORT 120eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#endif 121eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley 122eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#endif /* defined(OPENSSL_WINDOWS) */ 123eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley 124eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#else /* defined(BORINGSSL_SHARED_LIBRARY) */ 125eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley 126eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#define OPENSSL_EXPORT 127eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley 128eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley#endif /* defined(BORINGSSL_SHARED_LIBRARY) */ 1294c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley 1304c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef int ASN1_BOOLEAN; 1314c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef int ASN1_NULL; 1324c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct ASN1_ITEM_st ASN1_ITEM; 1334c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_object_st ASN1_OBJECT; 1344c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_pctx_st ASN1_PCTX; 1354c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_BIT_STRING; 1364c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_BMPSTRING; 1374c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_ENUMERATED; 1384c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_GENERALIZEDTIME; 1394c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_GENERALSTRING; 1404c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_IA5STRING; 1414c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_INTEGER; 1424c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_OCTET_STRING; 1434c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_PRINTABLESTRING; 1444c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_STRING; 1454c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_T61STRING; 1464c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_TIME; 1474c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_UNIVERSALSTRING; 1484c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_UTCTIME; 1494c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_UTF8STRING; 1504c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct asn1_string_st ASN1_VISIBLESTRING; 1514c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley 1524c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct AUTHORITY_KEYID_st AUTHORITY_KEYID; 1534c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct DIST_POINT_st DIST_POINT; 1544c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT; 1554c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS; 1564c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE; 1574c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL; 1584c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct X509_POLICY_NODE_st X509_POLICY_NODE; 1594c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct X509_POLICY_TREE_st X509_POLICY_TREE; 1604c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct X509_algor_st X509_ALGOR; 1614c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct X509_crl_st X509_CRL; 1624c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct X509_name_st X509_NAME; 1634c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct X509_pubkey_st X509_PUBKEY; 1644c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct bignum_ctx BN_CTX; 1654c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct bignum_st BIGNUM; 1664c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct bio_method_st BIO_METHOD; 1674c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct bio_st BIO; 1684c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct bn_gencb_st BN_GENCB; 1694c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct bn_mont_ctx_st BN_MONT_CTX; 1704c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct buf_mem_st BUF_MEM; 1714c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct cbb_st CBB; 1724c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct cbs_st CBS; 1734c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct conf_st CONF; 1744c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct dh_method DH_METHOD; 1754c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct dh_st DH; 1764c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct dsa_method DSA_METHOD; 1774c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct dsa_st DSA; 1784c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct ec_key_st EC_KEY; 1794c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct ecdsa_method_st ECDSA_METHOD; 1804c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct ecdsa_sig_st ECDSA_SIG; 1814c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct engine_st ENGINE; 1824c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct env_md_ctx_st EVP_MD_CTX; 1834c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct env_md_st EVP_MD; 1844c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct evp_aead_st EVP_AEAD; 1854c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; 1864c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct evp_cipher_st EVP_CIPHER; 1874c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD; 1884c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct evp_pkey_ctx_st EVP_PKEY_CTX; 1894c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct evp_pkey_method_st EVP_PKEY_METHOD; 1904c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct evp_pkey_st EVP_PKEY; 1914c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct hmac_ctx_st HMAC_CTX; 192c9eb7eac86a3f07bf23b35b7ce24382e158056fcAdam Langleytypedef struct md4_state_st MD4_CTX; 1934c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct md5_state_st MD5_CTX; 1944c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO; 1955127db3b4d59066126a1f8c8f7fdf4841a8c58b9Adam Langleytypedef struct pkcs12_st PKCS12; 1964c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct rand_meth_st RAND_METHOD; 1974c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct rsa_meth_st RSA_METHOD; 1984c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct rsa_st RSA; 1994c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct sha256_state_st SHA256_CTX; 2004c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct sha512_state_st SHA512_CTX; 2014c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct sha_state_st SHA_CTX; 2024c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct ssl_ctx_st SSL_CTX; 2034c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct ssl_st SSL; 2044c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct st_ERR_FNS ERR_FNS; 2054c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct v3_ext_ctx X509V3_CTX; 2064c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct x509_crl_method_st X509_CRL_METHOD; 2074c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct x509_revoked_st X509_REVOKED; 2084c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct x509_st X509; 2094c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct x509_store_ctx_st X509_STORE_CTX; 2104c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef struct x509_store_st X509_STORE; 2114c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleytypedef void *OPENSSL_BLOCK; 2124c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley 2134c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley 214b2cb0ece7678586c9ca9c02dbc40069037b4f5a9Adam Langley#if defined(__cplusplus) 215b2cb0ece7678586c9ca9c02dbc40069037b4f5a9Adam Langley} /* extern C */ 216b2cb0ece7678586c9ca9c02dbc40069037b4f5a9Adam Langley#endif 217b2cb0ece7678586c9ca9c02dbc40069037b4f5a9Adam Langley 2184c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#endif /* OPENSSL_HEADER_BASE_H */ 219