10Sstevel@tonic-gate /* ==================================================================== 20Sstevel@tonic-gate * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. 30Sstevel@tonic-gate * 40Sstevel@tonic-gate * Redistribution and use in source and binary forms, with or without 50Sstevel@tonic-gate * modification, are permitted provided that the following conditions 60Sstevel@tonic-gate * are met: 70Sstevel@tonic-gate * 80Sstevel@tonic-gate * 1. Redistributions of source code must retain the above copyright 90Sstevel@tonic-gate * notice, this list of conditions and the following disclaimer. 100Sstevel@tonic-gate * 110Sstevel@tonic-gate * 2. Redistributions in binary form must reproduce the above copyright 120Sstevel@tonic-gate * notice, this list of conditions and the following disclaimer in 130Sstevel@tonic-gate * the documentation and/or other materials provided with the 140Sstevel@tonic-gate * distribution. 150Sstevel@tonic-gate * 160Sstevel@tonic-gate * 3. All advertising materials mentioning features or use of this 170Sstevel@tonic-gate * software must display the following acknowledgment: 180Sstevel@tonic-gate * "This product includes software developed by the OpenSSL Project 190Sstevel@tonic-gate * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 200Sstevel@tonic-gate * 210Sstevel@tonic-gate * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 220Sstevel@tonic-gate * endorse or promote products derived from this software without 230Sstevel@tonic-gate * prior written permission. For written permission, please contact 240Sstevel@tonic-gate * openssl-core@openssl.org. 250Sstevel@tonic-gate * 260Sstevel@tonic-gate * 5. Products derived from this software may not be called "OpenSSL" 270Sstevel@tonic-gate * nor may "OpenSSL" appear in their names without prior written 280Sstevel@tonic-gate * permission of the OpenSSL Project. 290Sstevel@tonic-gate * 300Sstevel@tonic-gate * 6. Redistributions of any form whatsoever must retain the following 310Sstevel@tonic-gate * acknowledgment: 320Sstevel@tonic-gate * "This product includes software developed by the OpenSSL Project 330Sstevel@tonic-gate * for use in the OpenSSL Toolkit (http://www.openssl.org/)" 340Sstevel@tonic-gate * 350Sstevel@tonic-gate * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 360Sstevel@tonic-gate * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 370Sstevel@tonic-gate * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 380Sstevel@tonic-gate * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 390Sstevel@tonic-gate * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 400Sstevel@tonic-gate * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 410Sstevel@tonic-gate * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 420Sstevel@tonic-gate * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 430Sstevel@tonic-gate * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 440Sstevel@tonic-gate * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 450Sstevel@tonic-gate * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 460Sstevel@tonic-gate * OF THE POSSIBILITY OF SUCH DAMAGE. 470Sstevel@tonic-gate * ==================================================================== 480Sstevel@tonic-gate * 490Sstevel@tonic-gate * This product includes cryptographic software written by Eric Young 500Sstevel@tonic-gate * (eay@cryptsoft.com). This product includes software written by Tim 510Sstevel@tonic-gate * Hudson (tjh@cryptsoft.com). 520Sstevel@tonic-gate * 530Sstevel@tonic-gate */ 540Sstevel@tonic-gate 550Sstevel@tonic-gate #ifndef HEADER_OPENSSL_TYPES_H 560Sstevel@tonic-gate #define HEADER_OPENSSL_TYPES_H 570Sstevel@tonic-gate 580Sstevel@tonic-gate #include <openssl/e_os2.h> 590Sstevel@tonic-gate 600Sstevel@tonic-gate #ifdef NO_ASN1_TYPEDEFS 610Sstevel@tonic-gate #define ASN1_INTEGER ASN1_STRING 620Sstevel@tonic-gate #define ASN1_ENUMERATED ASN1_STRING 630Sstevel@tonic-gate #define ASN1_BIT_STRING ASN1_STRING 640Sstevel@tonic-gate #define ASN1_OCTET_STRING ASN1_STRING 650Sstevel@tonic-gate #define ASN1_PRINTABLESTRING ASN1_STRING 660Sstevel@tonic-gate #define ASN1_T61STRING ASN1_STRING 670Sstevel@tonic-gate #define ASN1_IA5STRING ASN1_STRING 680Sstevel@tonic-gate #define ASN1_UTCTIME ASN1_STRING 690Sstevel@tonic-gate #define ASN1_GENERALIZEDTIME ASN1_STRING 700Sstevel@tonic-gate #define ASN1_TIME ASN1_STRING 710Sstevel@tonic-gate #define ASN1_GENERALSTRING ASN1_STRING 720Sstevel@tonic-gate #define ASN1_UNIVERSALSTRING ASN1_STRING 730Sstevel@tonic-gate #define ASN1_BMPSTRING ASN1_STRING 740Sstevel@tonic-gate #define ASN1_VISIBLESTRING ASN1_STRING 750Sstevel@tonic-gate #define ASN1_UTF8STRING ASN1_STRING 760Sstevel@tonic-gate #define ASN1_BOOLEAN int 770Sstevel@tonic-gate #define ASN1_NULL int 780Sstevel@tonic-gate #else 790Sstevel@tonic-gate typedef struct asn1_string_st ASN1_INTEGER; 800Sstevel@tonic-gate typedef struct asn1_string_st ASN1_ENUMERATED; 810Sstevel@tonic-gate typedef struct asn1_string_st ASN1_BIT_STRING; 820Sstevel@tonic-gate typedef struct asn1_string_st ASN1_OCTET_STRING; 830Sstevel@tonic-gate typedef struct asn1_string_st ASN1_PRINTABLESTRING; 840Sstevel@tonic-gate typedef struct asn1_string_st ASN1_T61STRING; 850Sstevel@tonic-gate typedef struct asn1_string_st ASN1_IA5STRING; 860Sstevel@tonic-gate typedef struct asn1_string_st ASN1_GENERALSTRING; 870Sstevel@tonic-gate typedef struct asn1_string_st ASN1_UNIVERSALSTRING; 880Sstevel@tonic-gate typedef struct asn1_string_st ASN1_BMPSTRING; 890Sstevel@tonic-gate typedef struct asn1_string_st ASN1_UTCTIME; 900Sstevel@tonic-gate typedef struct asn1_string_st ASN1_TIME; 910Sstevel@tonic-gate typedef struct asn1_string_st ASN1_GENERALIZEDTIME; 920Sstevel@tonic-gate typedef struct asn1_string_st ASN1_VISIBLESTRING; 930Sstevel@tonic-gate typedef struct asn1_string_st ASN1_UTF8STRING; 940Sstevel@tonic-gate typedef int ASN1_BOOLEAN; 950Sstevel@tonic-gate typedef int ASN1_NULL; 960Sstevel@tonic-gate #endif 970Sstevel@tonic-gate 980Sstevel@tonic-gate #ifdef OPENSSL_SYS_WIN32 990Sstevel@tonic-gate #undef X509_NAME 100*2139Sjp161948 #undef X509_CERT_PAIR 1010Sstevel@tonic-gate #undef PKCS7_ISSUER_AND_SERIAL 1020Sstevel@tonic-gate #endif 1030Sstevel@tonic-gate 104*2139Sjp161948 #ifdef BIGNUM 105*2139Sjp161948 #undef BIGNUM 106*2139Sjp161948 #endif 107*2139Sjp161948 typedef struct bignum_st BIGNUM; 108*2139Sjp161948 typedef struct bignum_ctx BN_CTX; 109*2139Sjp161948 typedef struct bn_blinding_st BN_BLINDING; 110*2139Sjp161948 typedef struct bn_mont_ctx_st BN_MONT_CTX; 111*2139Sjp161948 typedef struct bn_recp_ctx_st BN_RECP_CTX; 112*2139Sjp161948 typedef struct bn_gencb_st BN_GENCB; 113*2139Sjp161948 114*2139Sjp161948 typedef struct buf_mem_st BUF_MEM; 115*2139Sjp161948 1160Sstevel@tonic-gate typedef struct evp_cipher_st EVP_CIPHER; 1170Sstevel@tonic-gate typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; 1180Sstevel@tonic-gate typedef struct env_md_st EVP_MD; 1190Sstevel@tonic-gate typedef struct env_md_ctx_st EVP_MD_CTX; 1200Sstevel@tonic-gate typedef struct evp_pkey_st EVP_PKEY; 1210Sstevel@tonic-gate 122*2139Sjp161948 typedef struct dh_st DH; 123*2139Sjp161948 typedef struct dh_method DH_METHOD; 124*2139Sjp161948 125*2139Sjp161948 typedef struct dsa_st DSA; 126*2139Sjp161948 typedef struct dsa_method DSA_METHOD; 127*2139Sjp161948 128*2139Sjp161948 typedef struct rsa_st RSA; 129*2139Sjp161948 typedef struct rsa_meth_st RSA_METHOD; 130*2139Sjp161948 131*2139Sjp161948 typedef struct rand_meth_st RAND_METHOD; 132*2139Sjp161948 133*2139Sjp161948 typedef struct ecdh_method ECDH_METHOD; 134*2139Sjp161948 typedef struct ecdsa_method ECDSA_METHOD; 135*2139Sjp161948 1360Sstevel@tonic-gate typedef struct x509_st X509; 1370Sstevel@tonic-gate typedef struct X509_algor_st X509_ALGOR; 1380Sstevel@tonic-gate typedef struct X509_crl_st X509_CRL; 1390Sstevel@tonic-gate typedef struct X509_name_st X509_NAME; 1400Sstevel@tonic-gate typedef struct x509_store_st X509_STORE; 1410Sstevel@tonic-gate typedef struct x509_store_ctx_st X509_STORE_CTX; 1420Sstevel@tonic-gate 143*2139Sjp161948 typedef struct v3_ext_ctx X509V3_CTX; 144*2139Sjp161948 typedef struct conf_st CONF; 145*2139Sjp161948 146*2139Sjp161948 typedef struct store_st STORE; 147*2139Sjp161948 typedef struct store_method_st STORE_METHOD; 148*2139Sjp161948 149*2139Sjp161948 typedef struct ui_st UI; 150*2139Sjp161948 typedef struct ui_method_st UI_METHOD; 151*2139Sjp161948 152*2139Sjp161948 typedef struct st_ERR_FNS ERR_FNS; 153*2139Sjp161948 1540Sstevel@tonic-gate typedef struct engine_st ENGINE; 1550Sstevel@tonic-gate 156*2139Sjp161948 typedef struct X509_POLICY_NODE_st X509_POLICY_NODE; 157*2139Sjp161948 typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL; 158*2139Sjp161948 typedef struct X509_POLICY_TREE_st X509_POLICY_TREE; 159*2139Sjp161948 typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE; 160*2139Sjp161948 1610Sstevel@tonic-gate /* If placed in pkcs12.h, we end up with a circular depency with pkcs7.h */ 1620Sstevel@tonic-gate #define DECLARE_PKCS12_STACK_OF(type) /* Nothing */ 1630Sstevel@tonic-gate #define IMPLEMENT_PKCS12_STACK_OF(type) /* Nothing */ 1640Sstevel@tonic-gate 165*2139Sjp161948 typedef struct crypto_ex_data_st CRYPTO_EX_DATA; 166*2139Sjp161948 /* Callback types for crypto.h */ 167*2139Sjp161948 typedef int CRYPTO_EX_new(void *parent, void *ptr, CRYPTO_EX_DATA *ad, 168*2139Sjp161948 int idx, long argl, void *argp); 169*2139Sjp161948 typedef void CRYPTO_EX_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad, 170*2139Sjp161948 int idx, long argl, void *argp); 171*2139Sjp161948 typedef int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d, 172*2139Sjp161948 int idx, long argl, void *argp); 173*2139Sjp161948 1740Sstevel@tonic-gate #endif /* def HEADER_OPENSSL_TYPES_H */ 175