require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&HEADER_SSL_H)) {
    eval 'sub HEADER_SSL_H () {1;}' unless defined(&HEADER_SSL_H);
    require 'openssl/e_os2.ph';
    unless(defined(&OPENSSL_NO_COMP)) {
	require 'openssl/comp.ph';
    }
    unless(defined(&OPENSSL_NO_BIO)) {
	require 'openssl/bio.ph';
    }
    unless(defined(&OPENSSL_NO_X509)) {
	require 'openssl/x509.ph';
    }
    require 'openssl/kssl.ph';
    require 'openssl/safestack.ph';
    require 'openssl/symhacks.ph';
    if(defined(&__cplusplus)) {
    }
    eval 'sub SSL_SESSION_ASN1_VERSION () {0x1;}' unless defined(&SSL_SESSION_ASN1_VERSION);
    eval 'sub SSL_TXT_NULL_WITH_MD5 () { &SSL2_TXT_NULL_WITH_MD5;}' unless defined(&SSL_TXT_NULL_WITH_MD5);
    eval 'sub SSL_TXT_RC4_128_WITH_MD5 () { &SSL2_TXT_RC4_128_WITH_MD5;}' unless defined(&SSL_TXT_RC4_128_WITH_MD5);
    eval 'sub SSL_TXT_RC4_128_EXPORT40_WITH_MD5 () { &SSL2_TXT_RC4_128_EXPORT40_WITH_MD5;}' unless defined(&SSL_TXT_RC4_128_EXPORT40_WITH_MD5);
    eval 'sub SSL_TXT_RC2_128_CBC_WITH_MD5 () { &SSL2_TXT_RC2_128_CBC_WITH_MD5;}' unless defined(&SSL_TXT_RC2_128_CBC_WITH_MD5);
    eval 'sub SSL_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 () { &SSL2_TXT_RC2_128_CBC_EXPORT40_WITH_MD5;}' unless defined(&SSL_TXT_RC2_128_CBC_EXPORT40_WITH_MD5);
    eval 'sub SSL_TXT_IDEA_128_CBC_WITH_MD5 () { &SSL2_TXT_IDEA_128_CBC_WITH_MD5;}' unless defined(&SSL_TXT_IDEA_128_CBC_WITH_MD5);
    eval 'sub SSL_TXT_DES_64_CBC_WITH_MD5 () { &SSL2_TXT_DES_64_CBC_WITH_MD5;}' unless defined(&SSL_TXT_DES_64_CBC_WITH_MD5);
    eval 'sub SSL_TXT_DES_64_CBC_WITH_SHA () { &SSL2_TXT_DES_64_CBC_WITH_SHA;}' unless defined(&SSL_TXT_DES_64_CBC_WITH_SHA);
    eval 'sub SSL_TXT_DES_192_EDE3_CBC_WITH_MD5 () { &SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5;}' unless defined(&SSL_TXT_DES_192_EDE3_CBC_WITH_MD5);
    eval 'sub SSL_TXT_DES_192_EDE3_CBC_WITH_SHA () { &SSL2_TXT_DES_192_EDE3_CBC_WITH_SHA;}' unless defined(&SSL_TXT_DES_192_EDE3_CBC_WITH_SHA);
    eval 'sub SSL_TXT_KRB5_DES_64_CBC_SHA () { &SSL3_TXT_KRB5_DES_64_CBC_SHA;}' unless defined(&SSL_TXT_KRB5_DES_64_CBC_SHA);
    eval 'sub SSL_TXT_KRB5_DES_192_CBC3_SHA () { &SSL3_TXT_KRB5_DES_192_CBC3_SHA;}' unless defined(&SSL_TXT_KRB5_DES_192_CBC3_SHA);
    eval 'sub SSL_TXT_KRB5_RC4_128_SHA () { &SSL3_TXT_KRB5_RC4_128_SHA;}' unless defined(&SSL_TXT_KRB5_RC4_128_SHA);
    eval 'sub SSL_TXT_KRB5_IDEA_128_CBC_SHA () { &SSL3_TXT_KRB5_IDEA_128_CBC_SHA;}' unless defined(&SSL_TXT_KRB5_IDEA_128_CBC_SHA);
    eval 'sub SSL_TXT_KRB5_DES_64_CBC_MD5 () { &SSL3_TXT_KRB5_DES_64_CBC_MD5;}' unless defined(&SSL_TXT_KRB5_DES_64_CBC_MD5);
    eval 'sub SSL_TXT_KRB5_DES_192_CBC3_MD5 () { &SSL3_TXT_KRB5_DES_192_CBC3_MD5;}' unless defined(&SSL_TXT_KRB5_DES_192_CBC3_MD5);
    eval 'sub SSL_TXT_KRB5_RC4_128_MD5 () { &SSL3_TXT_KRB5_RC4_128_MD5;}' unless defined(&SSL_TXT_KRB5_RC4_128_MD5);
    eval 'sub SSL_TXT_KRB5_IDEA_128_CBC_MD5 () { &SSL3_TXT_KRB5_IDEA_128_CBC_MD5;}' unless defined(&SSL_TXT_KRB5_IDEA_128_CBC_MD5);
    eval 'sub SSL_TXT_KRB5_DES_40_CBC_SHA () { &SSL3_TXT_KRB5_DES_40_CBC_SHA;}' unless defined(&SSL_TXT_KRB5_DES_40_CBC_SHA);
    eval 'sub SSL_TXT_KRB5_RC2_40_CBC_SHA () { &SSL3_TXT_KRB5_RC2_40_CBC_SHA;}' unless defined(&SSL_TXT_KRB5_RC2_40_CBC_SHA);
    eval 'sub SSL_TXT_KRB5_RC4_40_SHA () { &SSL3_TXT_KRB5_RC4_40_SHA;}' unless defined(&SSL_TXT_KRB5_RC4_40_SHA);
    eval 'sub SSL_TXT_KRB5_DES_40_CBC_MD5 () { &SSL3_TXT_KRB5_DES_40_CBC_MD5;}' unless defined(&SSL_TXT_KRB5_DES_40_CBC_MD5);
    eval 'sub SSL_TXT_KRB5_RC2_40_CBC_MD5 () { &SSL3_TXT_KRB5_RC2_40_CBC_MD5;}' unless defined(&SSL_TXT_KRB5_RC2_40_CBC_MD5);
    eval 'sub SSL_TXT_KRB5_RC4_40_MD5 () { &SSL3_TXT_KRB5_RC4_40_MD5;}' unless defined(&SSL_TXT_KRB5_RC4_40_MD5);
    eval 'sub SSL_TXT_KRB5_DES_40_CBC_SHA () { &SSL3_TXT_KRB5_DES_40_CBC_SHA;}' unless defined(&SSL_TXT_KRB5_DES_40_CBC_SHA);
    eval 'sub SSL_TXT_KRB5_DES_40_CBC_MD5 () { &SSL3_TXT_KRB5_DES_40_CBC_MD5;}' unless defined(&SSL_TXT_KRB5_DES_40_CBC_MD5);
    eval 'sub SSL_TXT_KRB5_DES_64_CBC_SHA () { &SSL3_TXT_KRB5_DES_64_CBC_SHA;}' unless defined(&SSL_TXT_KRB5_DES_64_CBC_SHA);
    eval 'sub SSL_TXT_KRB5_DES_64_CBC_MD5 () { &SSL3_TXT_KRB5_DES_64_CBC_MD5;}' unless defined(&SSL_TXT_KRB5_DES_64_CBC_MD5);
    eval 'sub SSL_TXT_KRB5_DES_192_CBC3_SHA () { &SSL3_TXT_KRB5_DES_192_CBC3_SHA;}' unless defined(&SSL_TXT_KRB5_DES_192_CBC3_SHA);
    eval 'sub SSL_TXT_KRB5_DES_192_CBC3_MD5 () { &SSL3_TXT_KRB5_DES_192_CBC3_MD5;}' unless defined(&SSL_TXT_KRB5_DES_192_CBC3_MD5);
    eval 'sub SSL_MAX_KRB5_PRINCIPAL_LENGTH () {256;}' unless defined(&SSL_MAX_KRB5_PRINCIPAL_LENGTH);
    eval 'sub SSL_MAX_SSL_SESSION_ID_LENGTH () {32;}' unless defined(&SSL_MAX_SSL_SESSION_ID_LENGTH);
    eval 'sub SSL_MAX_SID_CTX_LENGTH () {32;}' unless defined(&SSL_MAX_SID_CTX_LENGTH);
    eval 'sub SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES () {(512/8);}' unless defined(&SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES);
    eval 'sub SSL_MAX_KEY_ARG_LENGTH () {8;}' unless defined(&SSL_MAX_KEY_ARG_LENGTH);
    eval 'sub SSL_MAX_MASTER_KEY_LENGTH () {48;}' unless defined(&SSL_MAX_MASTER_KEY_LENGTH);
    eval 'sub SSL_TXT_LOW () {"LOW";}' unless defined(&SSL_TXT_LOW);
    eval 'sub SSL_TXT_MEDIUM () {"MEDIUM";}' unless defined(&SSL_TXT_MEDIUM);
    eval 'sub SSL_TXT_HIGH () {"HIGH";}' unless defined(&SSL_TXT_HIGH);
    eval 'sub SSL_TXT_FIPS () {"FIPS";}' unless defined(&SSL_TXT_FIPS);
    eval 'sub SSL_TXT_kFZA () {"kFZA";}' unless defined(&SSL_TXT_kFZA);
    eval 'sub SSL_TXT_aFZA () {"aFZA";}' unless defined(&SSL_TXT_aFZA);
    eval 'sub SSL_TXT_eFZA () {"eFZA";}' unless defined(&SSL_TXT_eFZA);
    eval 'sub SSL_TXT_FZA () {"FZA";}' unless defined(&SSL_TXT_FZA);
    eval 'sub SSL_TXT_aNULL () {"aNULL";}' unless defined(&SSL_TXT_aNULL);
    eval 'sub SSL_TXT_eNULL () {"eNULL";}' unless defined(&SSL_TXT_eNULL);
    eval 'sub SSL_TXT_NULL () {"NULL";}' unless defined(&SSL_TXT_NULL);
    eval 'sub SSL_TXT_kKRB5 () {"kKRB5";}' unless defined(&SSL_TXT_kKRB5);
    eval 'sub SSL_TXT_aKRB5 () {"aKRB5";}' unless defined(&SSL_TXT_aKRB5);
    eval 'sub SSL_TXT_KRB5 () {"KRB5";}' unless defined(&SSL_TXT_KRB5);
    eval 'sub SSL_TXT_kRSA () {"kRSA";}' unless defined(&SSL_TXT_kRSA);
    eval 'sub SSL_TXT_kDHr () {"kDHr";}' unless defined(&SSL_TXT_kDHr);
    eval 'sub SSL_TXT_kDHd () {"kDHd";}' unless defined(&SSL_TXT_kDHd);
    eval 'sub SSL_TXT_kEDH () {"kEDH";}' unless defined(&SSL_TXT_kEDH);
    eval 'sub SSL_TXT_aRSA () {"aRSA";}' unless defined(&SSL_TXT_aRSA);
    eval 'sub SSL_TXT_aDSS () {"aDSS";}' unless defined(&SSL_TXT_aDSS);
    eval 'sub SSL_TXT_aDH () {"aDH";}' unless defined(&SSL_TXT_aDH);
    eval 'sub SSL_TXT_DSS () {"DSS";}' unless defined(&SSL_TXT_DSS);
    eval 'sub SSL_TXT_DH () {"DH";}' unless defined(&SSL_TXT_DH);
    eval 'sub SSL_TXT_EDH () {"EDH";}' unless defined(&SSL_TXT_EDH);
    eval 'sub SSL_TXT_ADH () {"ADH";}' unless defined(&SSL_TXT_ADH);
    eval 'sub SSL_TXT_RSA () {"RSA";}' unless defined(&SSL_TXT_RSA);
    eval 'sub SSL_TXT_DES () {"DES";}' unless defined(&SSL_TXT_DES);
    eval 'sub SSL_TXT_3DES () {"3DES";}' unless defined(&SSL_TXT_3DES);
    eval 'sub SSL_TXT_RC4 () {"RC4";}' unless defined(&SSL_TXT_RC4);
    eval 'sub SSL_TXT_RC2 () {"RC2";}' unless defined(&SSL_TXT_RC2);
    eval 'sub SSL_TXT_IDEA () {"IDEA";}' unless defined(&SSL_TXT_IDEA);
    eval 'sub SSL_TXT_AES () {"AES";}' unless defined(&SSL_TXT_AES);
    eval 'sub SSL_TXT_MD5 () {"MD5";}' unless defined(&SSL_TXT_MD5);
    eval 'sub SSL_TXT_SHA1 () {"SHA1";}' unless defined(&SSL_TXT_SHA1);
    eval 'sub SSL_TXT_SHA () {"SHA";}' unless defined(&SSL_TXT_SHA);
    eval 'sub SSL_TXT_EXP () {"EXP";}' unless defined(&SSL_TXT_EXP);
    eval 'sub SSL_TXT_EXPORT () {"EXPORT";}' unless defined(&SSL_TXT_EXPORT);
    eval 'sub SSL_TXT_EXP40 () {"EXPORT40";}' unless defined(&SSL_TXT_EXP40);
    eval 'sub SSL_TXT_EXP56 () {"EXPORT56";}' unless defined(&SSL_TXT_EXP56);
    eval 'sub SSL_TXT_SSLV2 () {"SSLv2";}' unless defined(&SSL_TXT_SSLV2);
    eval 'sub SSL_TXT_SSLV3 () {"SSLv3";}' unless defined(&SSL_TXT_SSLV3);
    eval 'sub SSL_TXT_TLSV1 () {"TLSv1";}' unless defined(&SSL_TXT_TLSV1);
    eval 'sub SSL_TXT_ALL () {"ALL";}' unless defined(&SSL_TXT_ALL);
    eval 'sub SSL_TXT_CMPALL () {"COMPLEMENTOFALL";}' unless defined(&SSL_TXT_CMPALL);
    eval 'sub SSL_TXT_CMPDEF () {"COMPLEMENTOFDEFAULT";}' unless defined(&SSL_TXT_CMPDEF);
    eval 'sub SSL_DEFAULT_CIPHER_LIST () {"ALL:!ADH:+RC4:@STRENGTH";}' unless defined(&SSL_DEFAULT_CIPHER_LIST);
    eval 'sub SSL_SENT_SHUTDOWN () {1;}' unless defined(&SSL_SENT_SHUTDOWN);
    eval 'sub SSL_RECEIVED_SHUTDOWN () {2;}' unless defined(&SSL_RECEIVED_SHUTDOWN);
    if(defined(&__cplusplus)) {
    }
    require 'openssl/crypto.ph';
    require 'openssl/lhash.ph';
    require 'openssl/buffer.ph';
    require 'openssl/pem.ph';
    if(defined(&__cplusplus)) {
    }
    if((defined( &OPENSSL_NO_RSA) || defined( &OPENSSL_NO_MD5))  && !defined( &OPENSSL_NO_SSL2)) {
	eval 'sub OPENSSL_NO_SSL2 () {1;}' unless defined(&OPENSSL_NO_SSL2);
    }
    eval 'sub SSL_FILETYPE_ASN1 () { &X509_FILETYPE_ASN1;}' unless defined(&SSL_FILETYPE_ASN1);
    eval 'sub SSL_FILETYPE_PEM () { &X509_FILETYPE_PEM;}' unless defined(&SSL_FILETYPE_PEM);
    unless(defined(&OPENSSL_NO_KRB5)) {
    }
    eval 'sub SSL_OP_MICROSOFT_SESS_ID_BUG () {0x1;}' unless defined(&SSL_OP_MICROSOFT_SESS_ID_BUG);
    eval 'sub SSL_OP_NETSCAPE_CHALLENGE_BUG () {0x2;}' unless defined(&SSL_OP_NETSCAPE_CHALLENGE_BUG);
    eval 'sub SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG () {0x8;}' unless defined(&SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG);
    eval 'sub SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG () {0x10;}' unless defined(&SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG);
    eval 'sub SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER () {0x20;}' unless defined(&SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER);
    eval 'sub SSL_OP_MSIE_SSLV2_RSA_PADDING () {0x40;}' unless defined(&SSL_OP_MSIE_SSLV2_RSA_PADDING);
    eval 'sub SSL_OP_SSLEAY_080_CLIENT_DH_BUG () {0x80;}' unless defined(&SSL_OP_SSLEAY_080_CLIENT_DH_BUG);
    eval 'sub SSL_OP_TLS_D5_BUG () {0x100;}' unless defined(&SSL_OP_TLS_D5_BUG);
    eval 'sub SSL_OP_TLS_BLOCK_PADDING_BUG () {0x200;}' unless defined(&SSL_OP_TLS_BLOCK_PADDING_BUG);
    eval 'sub SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS () {0x800;}' unless defined(&SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS);
    eval 'sub SSL_OP_ALL () {0xfff;}' unless defined(&SSL_OP_ALL);
    eval 'sub SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION () {0x10000;}' unless defined(&SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION);
    eval 'sub SSL_OP_SINGLE_DH_USE () {0x100000;}' unless defined(&SSL_OP_SINGLE_DH_USE);
    eval 'sub SSL_OP_EPHEMERAL_RSA () {0x200000;}' unless defined(&SSL_OP_EPHEMERAL_RSA);
    eval 'sub SSL_OP_CIPHER_SERVER_PREFERENCE () {0x400000;}' unless defined(&SSL_OP_CIPHER_SERVER_PREFERENCE);
    eval 'sub SSL_OP_TLS_ROLLBACK_BUG () {0x800000;}' unless defined(&SSL_OP_TLS_ROLLBACK_BUG);
    eval 'sub SSL_OP_NO_SSLv2 () {0x1000000;}' unless defined(&SSL_OP_NO_SSLv2);
    eval 'sub SSL_OP_NO_SSLv3 () {0x2000000;}' unless defined(&SSL_OP_NO_SSLv3);
    eval 'sub SSL_OP_NO_TLSv1 () {0x4000000;}' unless defined(&SSL_OP_NO_TLSv1);
    eval 'sub SSL_OP_PKCS1_CHECK_1 () {0x8000000;}' unless defined(&SSL_OP_PKCS1_CHECK_1);
    eval 'sub SSL_OP_PKCS1_CHECK_2 () {0x10000000;}' unless defined(&SSL_OP_PKCS1_CHECK_2);
    eval 'sub SSL_OP_NETSCAPE_CA_DN_BUG () {0x20000000;}' unless defined(&SSL_OP_NETSCAPE_CA_DN_BUG);
    eval 'sub SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG () {0x40000000;}' unless defined(&SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG);
    eval 'sub SSL_MODE_ENABLE_PARTIAL_WRITE () {0x1;}' unless defined(&SSL_MODE_ENABLE_PARTIAL_WRITE);
    eval 'sub SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER () {0x2;}' unless defined(&SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER);
    eval 'sub SSL_MODE_AUTO_RETRY () {0x4;}' unless defined(&SSL_MODE_AUTO_RETRY);
    eval 'sub SSL_MODE_NO_AUTO_CHAIN () {0x8;}' unless defined(&SSL_MODE_NO_AUTO_CHAIN);
    eval 'sub SSL_CTX_set_options {
        my($ctx,$op) = @_;
	    eval q( &SSL_CTX_ctrl(($ctx), &SSL_CTRL_OPTIONS,($op), &NULL));
    }' unless defined(&SSL_CTX_set_options);
    eval 'sub SSL_CTX_get_options {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl(($ctx), &SSL_CTRL_OPTIONS,0, &NULL));
    }' unless defined(&SSL_CTX_get_options);
    eval 'sub SSL_set_options {
        my($ssl,$op) = @_;
	    eval q( &SSL_ctrl(($ssl), &SSL_CTRL_OPTIONS,($op), &NULL));
    }' unless defined(&SSL_set_options);
    eval 'sub SSL_get_options {
        my($ssl) = @_;
	    eval q( &SSL_ctrl(($ssl), &SSL_CTRL_OPTIONS,0, &NULL));
    }' unless defined(&SSL_get_options);
    eval 'sub SSL_CTX_set_mode {
        my($ctx,$op) = @_;
	    eval q( &SSL_CTX_ctrl(($ctx), &SSL_CTRL_MODE,($op), &NULL));
    }' unless defined(&SSL_CTX_set_mode);
    eval 'sub SSL_CTX_get_mode {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl(($ctx), &SSL_CTRL_MODE,0, &NULL));
    }' unless defined(&SSL_CTX_get_mode);
    eval 'sub SSL_set_mode {
        my($ssl,$op) = @_;
	    eval q( &SSL_ctrl(($ssl), &SSL_CTRL_MODE,($op), &NULL));
    }' unless defined(&SSL_set_mode);
    eval 'sub SSL_get_mode {
        my($ssl) = @_;
	    eval q( &SSL_ctrl(($ssl), &SSL_CTRL_MODE,0, &NULL));
    }' unless defined(&SSL_get_mode);
    eval 'sub SSL_CTX_set_msg_callback_arg {
        my($ctx, $arg) = @_;
	    eval q( &SSL_CTX_ctrl(($ctx),  &SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, ($arg)));
    }' unless defined(&SSL_CTX_set_msg_callback_arg);
    eval 'sub SSL_set_msg_callback_arg {
        my($ssl, $arg) = @_;
	    eval q( &SSL_ctrl(($ssl),  &SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, ($arg)));
    }' unless defined(&SSL_set_msg_callback_arg);
    if(defined( &OPENSSL_SYS_MSDOS)  && !defined( &OPENSSL_SYS_WIN32)) {
	eval 'sub SSL_MAX_CERT_LIST_DEFAULT () {1024*30;}' unless defined(&SSL_MAX_CERT_LIST_DEFAULT);
    } else {
	eval 'sub SSL_MAX_CERT_LIST_DEFAULT () {1024*100;}' unless defined(&SSL_MAX_CERT_LIST_DEFAULT);
    }
    eval 'sub SSL_SESSION_CACHE_MAX_SIZE_DEFAULT () {(1024*20);}' unless defined(&SSL_SESSION_CACHE_MAX_SIZE_DEFAULT);
    unless(defined(&OPENSSL_NO_COMP)) {
    } else {
    }
    eval 'sub SSL_SESS_CACHE_OFF () {0x;}' unless defined(&SSL_SESS_CACHE_OFF);
    eval 'sub SSL_SESS_CACHE_CLIENT () {0x1;}' unless defined(&SSL_SESS_CACHE_CLIENT);
    eval 'sub SSL_SESS_CACHE_SERVER () {0x2;}' unless defined(&SSL_SESS_CACHE_SERVER);
    eval 'sub SSL_SESS_CACHE_BOTH () {( &SSL_SESS_CACHE_CLIENT| &SSL_SESS_CACHE_SERVER);}' unless defined(&SSL_SESS_CACHE_BOTH);
    eval 'sub SSL_SESS_CACHE_NO_AUTO_CLEAR () {0x80;}' unless defined(&SSL_SESS_CACHE_NO_AUTO_CLEAR);
    eval 'sub SSL_SESS_CACHE_NO_INTERNAL_LOOKUP () {0x100;}' unless defined(&SSL_SESS_CACHE_NO_INTERNAL_LOOKUP);
    eval 'sub SSL_SESS_CACHE_NO_INTERNAL_STORE () {0x200;}' unless defined(&SSL_SESS_CACHE_NO_INTERNAL_STORE);
    eval 'sub SSL_SESS_CACHE_NO_INTERNAL () {( &SSL_SESS_CACHE_NO_INTERNAL_LOOKUP| &SSL_SESS_CACHE_NO_INTERNAL_STORE);}' unless defined(&SSL_SESS_CACHE_NO_INTERNAL);
    eval 'sub SSL_CTX_sess_number {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SESS_NUMBER,0, &NULL));
    }' unless defined(&SSL_CTX_sess_number);
    eval 'sub SSL_CTX_sess_connect {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SESS_CONNECT,0, &NULL));
    }' unless defined(&SSL_CTX_sess_connect);
    eval 'sub SSL_CTX_sess_connect_good {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SESS_CONNECT_GOOD,0, &NULL));
    }' unless defined(&SSL_CTX_sess_connect_good);
    eval 'sub SSL_CTX_sess_connect_renegotiate {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SESS_CONNECT_RENEGOTIATE,0, &NULL));
    }' unless defined(&SSL_CTX_sess_connect_renegotiate);
    eval 'sub SSL_CTX_sess_accept {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SESS_ACCEPT,0, &NULL));
    }' unless defined(&SSL_CTX_sess_accept);
    eval 'sub SSL_CTX_sess_accept_renegotiate {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SESS_ACCEPT_RENEGOTIATE,0, &NULL));
    }' unless defined(&SSL_CTX_sess_accept_renegotiate);
    eval 'sub SSL_CTX_sess_accept_good {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SESS_ACCEPT_GOOD,0, &NULL));
    }' unless defined(&SSL_CTX_sess_accept_good);
    eval 'sub SSL_CTX_sess_hits {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SESS_HIT,0, &NULL));
    }' unless defined(&SSL_CTX_sess_hits);
    eval 'sub SSL_CTX_sess_cb_hits {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SESS_CB_HIT,0, &NULL));
    }' unless defined(&SSL_CTX_sess_cb_hits);
    eval 'sub SSL_CTX_sess_misses {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SESS_MISSES,0, &NULL));
    }' unless defined(&SSL_CTX_sess_misses);
    eval 'sub SSL_CTX_sess_timeouts {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SESS_TIMEOUTS,0, &NULL));
    }' unless defined(&SSL_CTX_sess_timeouts);
    eval 'sub SSL_CTX_sess_cache_full {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SESS_CACHE_FULL,0, &NULL));
    }' unless defined(&SSL_CTX_sess_cache_full);
    eval 'sub SSL_CTX_sess_set_new_cb {
        my($ctx,$cb) = @_;
	    eval q((($ctx)-> &new_session_cb=($cb)));
    }' unless defined(&SSL_CTX_sess_set_new_cb);
    eval 'sub SSL_CTX_sess_get_new_cb {
        my($ctx) = @_;
	    eval q((($ctx)-> &new_session_cb));
    }' unless defined(&SSL_CTX_sess_get_new_cb);
    eval 'sub SSL_CTX_sess_set_remove_cb {
        my($ctx,$cb) = @_;
	    eval q((($ctx)-> &remove_session_cb=($cb)));
    }' unless defined(&SSL_CTX_sess_set_remove_cb);
    eval 'sub SSL_CTX_sess_get_remove_cb {
        my($ctx) = @_;
	    eval q((($ctx)-> &remove_session_cb));
    }' unless defined(&SSL_CTX_sess_get_remove_cb);
    eval 'sub SSL_CTX_sess_set_get_cb {
        my($ctx,$cb) = @_;
	    eval q((($ctx)-> &get_session_cb=($cb)));
    }' unless defined(&SSL_CTX_sess_set_get_cb);
    eval 'sub SSL_CTX_sess_get_get_cb {
        my($ctx) = @_;
	    eval q((($ctx)-> &get_session_cb));
    }' unless defined(&SSL_CTX_sess_get_get_cb);
    eval 'sub SSL_CTX_set_info_callback {
        my($ctx,$cb) = @_;
	    eval q((($ctx)-> &info_callback=($cb)));
    }' unless defined(&SSL_CTX_set_info_callback);
    eval 'sub SSL_CTX_get_info_callback {
        my($ctx) = @_;
	    eval q((($ctx)-> &info_callback));
    }' unless defined(&SSL_CTX_get_info_callback);
    eval 'sub SSL_CTX_set_client_cert_cb {
        my($ctx,$cb) = @_;
	    eval q((($ctx)-> &client_cert_cb=($cb)));
    }' unless defined(&SSL_CTX_set_client_cert_cb);
    eval 'sub SSL_CTX_get_client_cert_cb {
        my($ctx) = @_;
	    eval q((($ctx)-> &client_cert_cb));
    }' unless defined(&SSL_CTX_get_client_cert_cb);
    eval 'sub SSL_NOTHING () {1;}' unless defined(&SSL_NOTHING);
    eval 'sub SSL_WRITING () {2;}' unless defined(&SSL_WRITING);
    eval 'sub SSL_READING () {3;}' unless defined(&SSL_READING);
    eval 'sub SSL_X509_LOOKUP () {4;}' unless defined(&SSL_X509_LOOKUP);
    eval 'sub SSL_want_nothing {
        my($s) = @_;
	    eval q(( &SSL_want($s) ==  &SSL_NOTHING));
    }' unless defined(&SSL_want_nothing);
    eval 'sub SSL_want_read {
        my($s) = @_;
	    eval q(( &SSL_want($s) ==  &SSL_READING));
    }' unless defined(&SSL_want_read);
    eval 'sub SSL_want_write {
        my($s) = @_;
	    eval q(( &SSL_want($s) ==  &SSL_WRITING));
    }' unless defined(&SSL_want_write);
    eval 'sub SSL_want_x509_lookup {
        my($s) = @_;
	    eval q(( &SSL_want($s) ==  &SSL_X509_LOOKUP));
    }' unless defined(&SSL_want_x509_lookup);
    unless(defined(&OPENSSL_NO_BIO)) {
    } else {
    }
    unless(defined(&OPENSSL_NO_COMP)) {
    } else {
    }
    unless(defined(&OPENSSL_NO_COMP)) {
    } else {
    }
    unless(defined(&OPENSSL_NO_KRB5)) {
    }
    if(defined(&__cplusplus)) {
    }
    require 'openssl/ssl2.ph';
    require 'openssl/ssl3.ph';
    require 'openssl/tls1.ph';
    require 'openssl/ssl23.ph';
    if(defined(&__cplusplus)) {
    }
    eval 'sub SSL_set_app_data {
        my($s,$arg) = @_;
	    eval q(( &SSL_set_ex_data($s,0,$arg)));
    }' unless defined(&SSL_set_app_data);
    eval 'sub SSL_get_app_data {
        my($s) = @_;
	    eval q(( &SSL_get_ex_data($s,0)));
    }' unless defined(&SSL_get_app_data);
    eval 'sub SSL_SESSION_set_app_data {
        my($s,$a) = @_;
	    eval q(( &SSL_SESSION_set_ex_data($s,0,$a)));
    }' unless defined(&SSL_SESSION_set_app_data);
    eval 'sub SSL_SESSION_get_app_data {
        my($s) = @_;
	    eval q(( &SSL_SESSION_get_ex_data($s,0)));
    }' unless defined(&SSL_SESSION_get_app_data);
    eval 'sub SSL_CTX_get_app_data {
        my($ctx) = @_;
	    eval q(( &SSL_CTX_get_ex_data($ctx,0)));
    }' unless defined(&SSL_CTX_get_app_data);
    eval 'sub SSL_CTX_set_app_data {
        my($ctx,$arg) = @_;
	    eval q(( &SSL_CTX_set_ex_data($ctx,0,$arg)));
    }' unless defined(&SSL_CTX_set_app_data);
    eval 'sub SSL_ST_CONNECT () {0x1000;}' unless defined(&SSL_ST_CONNECT);
    eval 'sub SSL_ST_ACCEPT () {0x2000;}' unless defined(&SSL_ST_ACCEPT);
    eval 'sub SSL_ST_MASK () {0xfff;}' unless defined(&SSL_ST_MASK);
    eval 'sub SSL_ST_INIT () {( &SSL_ST_CONNECT| &SSL_ST_ACCEPT);}' unless defined(&SSL_ST_INIT);
    eval 'sub SSL_ST_BEFORE () {0x4000;}' unless defined(&SSL_ST_BEFORE);
    eval 'sub SSL_ST_OK () {0x3;}' unless defined(&SSL_ST_OK);
    eval 'sub SSL_ST_RENEGOTIATE () {(0x4| &SSL_ST_INIT);}' unless defined(&SSL_ST_RENEGOTIATE);
    eval 'sub SSL_CB_LOOP () {0x1;}' unless defined(&SSL_CB_LOOP);
    eval 'sub SSL_CB_EXIT () {0x2;}' unless defined(&SSL_CB_EXIT);
    eval 'sub SSL_CB_READ () {0x4;}' unless defined(&SSL_CB_READ);
    eval 'sub SSL_CB_WRITE () {0x8;}' unless defined(&SSL_CB_WRITE);
    eval 'sub SSL_CB_ALERT () {0x4000;}' unless defined(&SSL_CB_ALERT);
    eval 'sub SSL_CB_READ_ALERT () {( &SSL_CB_ALERT| &SSL_CB_READ);}' unless defined(&SSL_CB_READ_ALERT);
    eval 'sub SSL_CB_WRITE_ALERT () {( &SSL_CB_ALERT| &SSL_CB_WRITE);}' unless defined(&SSL_CB_WRITE_ALERT);
    eval 'sub SSL_CB_ACCEPT_LOOP () {( &SSL_ST_ACCEPT| &SSL_CB_LOOP);}' unless defined(&SSL_CB_ACCEPT_LOOP);
    eval 'sub SSL_CB_ACCEPT_EXIT () {( &SSL_ST_ACCEPT| &SSL_CB_EXIT);}' unless defined(&SSL_CB_ACCEPT_EXIT);
    eval 'sub SSL_CB_CONNECT_LOOP () {( &SSL_ST_CONNECT| &SSL_CB_LOOP);}' unless defined(&SSL_CB_CONNECT_LOOP);
    eval 'sub SSL_CB_CONNECT_EXIT () {( &SSL_ST_CONNECT| &SSL_CB_EXIT);}' unless defined(&SSL_CB_CONNECT_EXIT);
    eval 'sub SSL_CB_HANDSHAKE_START () {0x10;}' unless defined(&SSL_CB_HANDSHAKE_START);
    eval 'sub SSL_CB_HANDSHAKE_DONE () {0x20;}' unless defined(&SSL_CB_HANDSHAKE_DONE);
    eval 'sub SSL_get_state {
        my($a) = @_;
	    eval q( &SSL_state($a));
    }' unless defined(&SSL_get_state);
    eval 'sub SSL_is_init_finished {
        my($a) = @_;
	    eval q(( &SSL_state($a) ==  &SSL_ST_OK));
    }' unless defined(&SSL_is_init_finished);
    eval 'sub SSL_in_init {
        my($a) = @_;
	    eval q(( &SSL_state($a) &SSL_ST_INIT));
    }' unless defined(&SSL_in_init);
    eval 'sub SSL_in_before {
        my($a) = @_;
	    eval q(( &SSL_state($a) &SSL_ST_BEFORE));
    }' unless defined(&SSL_in_before);
    eval 'sub SSL_in_connect_init {
        my($a) = @_;
	    eval q(( &SSL_state($a) &SSL_ST_CONNECT));
    }' unless defined(&SSL_in_connect_init);
    eval 'sub SSL_in_accept_init {
        my($a) = @_;
	    eval q(( &SSL_state($a) &SSL_ST_ACCEPT));
    }' unless defined(&SSL_in_accept_init);
    eval 'sub SSL_ST_READ_HEADER () {0xf0;}' unless defined(&SSL_ST_READ_HEADER);
    eval 'sub SSL_ST_READ_BODY () {0xf1;}' unless defined(&SSL_ST_READ_BODY);
    eval 'sub SSL_ST_READ_DONE () {0xf2;}' unless defined(&SSL_ST_READ_DONE);
    eval 'sub SSL_VERIFY_NONE () {0x;}' unless defined(&SSL_VERIFY_NONE);
    eval 'sub SSL_VERIFY_PEER () {0x1;}' unless defined(&SSL_VERIFY_PEER);
    eval 'sub SSL_VERIFY_FAIL_IF_NO_PEER_CERT () {0x2;}' unless defined(&SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
    eval 'sub SSL_VERIFY_CLIENT_ONCE () {0x4;}' unless defined(&SSL_VERIFY_CLIENT_ONCE);
    eval 'sub OpenSSL_add_ssl_algorithms () {
        eval q( &SSL_library_init());
    }' unless defined(&OpenSSL_add_ssl_algorithms);
    eval 'sub SSLeay_add_ssl_algorithms () {
        eval q( &SSL_library_init());
    }' unless defined(&SSLeay_add_ssl_algorithms);
    if(0) {
	eval 'sub SSL_CTX_set_default_verify {
	    my($a,$b,$c) = @_;
    	    eval q( &SSL_CTX_set_verify($a,$b,$c));
	}' unless defined(&SSL_CTX_set_default_verify);
	eval 'sub SSL_set_pref_cipher {
	    my($c,$n) = @_;
    	    eval q( &SSL_set_cipher_list($c,$n));
	}' unless defined(&SSL_set_pref_cipher);
	eval 'sub SSL_add_session {
	    my($a,$b) = @_;
    	    eval q( &SSL_CTX_add_session(($a),($b)));
	}' unless defined(&SSL_add_session);
	eval 'sub SSL_remove_session {
	    my($a,$b) = @_;
    	    eval q( &SSL_CTX_remove_session(($a),($b)));
	}' unless defined(&SSL_remove_session);
	eval 'sub SSL_flush_sessions {
	    my($a,$b) = @_;
    	    eval q( &SSL_CTX_flush_sessions(($a),($b)));
	}' unless defined(&SSL_flush_sessions);
    }
    eval 'sub SSL_get_cipher {
        my($s) = @_;
	    eval q( &SSL_CIPHER_get_name( &SSL_get_current_cipher($s)));
    }' unless defined(&SSL_get_cipher);
    eval 'sub SSL_get_cipher_bits {
        my($s,$np) = @_;
	    eval q( &SSL_CIPHER_get_bits( &SSL_get_current_cipher($s),$np));
    }' unless defined(&SSL_get_cipher_bits);
    eval 'sub SSL_get_cipher_version {
        my($s) = @_;
	    eval q( &SSL_CIPHER_get_version( &SSL_get_current_cipher($s)));
    }' unless defined(&SSL_get_cipher_version);
    eval 'sub SSL_get_cipher_name {
        my($s) = @_;
	    eval q( &SSL_CIPHER_get_name( &SSL_get_current_cipher($s)));
    }' unless defined(&SSL_get_cipher_name);
    eval 'sub SSL_get_time {
        my($a) = @_;
	    eval q( &SSL_SESSION_get_time($a));
    }' unless defined(&SSL_get_time);
    eval 'sub SSL_set_time {
        my($a,$b) = @_;
	    eval q( &SSL_SESSION_set_time(($a),($b)));
    }' unless defined(&SSL_set_time);
    eval 'sub SSL_get_timeout {
        my($a) = @_;
	    eval q( &SSL_SESSION_get_timeout($a));
    }' unless defined(&SSL_get_timeout);
    eval 'sub SSL_set_timeout {
        my($a,$b) = @_;
	    eval q( &SSL_SESSION_set_timeout(($a),($b)));
    }' unless defined(&SSL_set_timeout);
    if(1) {
	eval 'sub d2i_SSL_SESSION_bio {
	    my($bp,$s_id) = @_;
    	    eval q(( &SSL_SESSION *) &ASN1_d2i_bio( (\'char\' *(*)()) &SSL_SESSION_new,(\'char\' *(*)()) &d2i_SSL_SESSION, ,($s_id)));
	}' unless defined(&d2i_SSL_SESSION_bio);
	eval 'sub i2d_SSL_SESSION_bio {
	    my($bp,$s_id) = @_;
    	    eval q( &ASN1_i2d_bio( &i2d_SSL_SESSION, $bp,$s_id));
	}' unless defined(&i2d_SSL_SESSION_bio);
	eval 'sub PEM_read_SSL_SESSION {
	    my($fp,$x,$cb,$u) = @_;
    	    eval q(( &SSL_SESSION *) &PEM_ASN1_read( (\'char\' *(*)()) &d2i_SSL_SESSION, &PEM_STRING_SSL_SESSION,$fp,$x,$cb,$u));
	}' unless defined(&PEM_read_SSL_SESSION);
	eval 'sub PEM_read_bio_SSL_SESSION {
	    my($bp,$x,$cb,$u) = @_;
    	    eval q(( &SSL_SESSION *) &PEM_ASN1_read_bio( (\'char\' *(*)()) &d2i_SSL_SESSION, &PEM_STRING_SSL_SESSION,$bp,$x,$cb,$u));
	}' unless defined(&PEM_read_bio_SSL_SESSION);
	eval 'sub PEM_write_SSL_SESSION {
	    my($fp,$x) = @_;
    	    eval q( &PEM_ASN1_write(( &int (*)()) &i2d_SSL_SESSION,  &PEM_STRING_SSL_SESSION,$fp, $x,  &NULL, &NULL,0, &NULL, &NULL));
	}' unless defined(&PEM_write_SSL_SESSION);
	eval 'sub PEM_write_bio_SSL_SESSION {
	    my($bp,$x) = @_;
    	    eval q( &PEM_ASN1_write_bio(( &int (*)()) &i2d_SSL_SESSION,  &PEM_STRING_SSL_SESSION,$bp, $x,  &NULL, &NULL,0, &NULL, &NULL));
	}' unless defined(&PEM_write_bio_SSL_SESSION);
    }
    eval 'sub SSL_AD_REASON_OFFSET () {1000;}' unless defined(&SSL_AD_REASON_OFFSET);
    eval 'sub SSL_AD_CLOSE_NOTIFY () { &SSL3_AD_CLOSE_NOTIFY;}' unless defined(&SSL_AD_CLOSE_NOTIFY);
    eval 'sub SSL_AD_UNEXPECTED_MESSAGE () { &SSL3_AD_UNEXPECTED_MESSAGE;}' unless defined(&SSL_AD_UNEXPECTED_MESSAGE);
    eval 'sub SSL_AD_BAD_RECORD_MAC () { &SSL3_AD_BAD_RECORD_MAC;}' unless defined(&SSL_AD_BAD_RECORD_MAC);
    eval 'sub SSL_AD_DECRYPTION_FAILED () { &TLS1_AD_DECRYPTION_FAILED;}' unless defined(&SSL_AD_DECRYPTION_FAILED);
    eval 'sub SSL_AD_RECORD_OVERFLOW () { &TLS1_AD_RECORD_OVERFLOW;}' unless defined(&SSL_AD_RECORD_OVERFLOW);
    eval 'sub SSL_AD_DECOMPRESSION_FAILURE () { &SSL3_AD_DECOMPRESSION_FAILURE;}' unless defined(&SSL_AD_DECOMPRESSION_FAILURE);
    eval 'sub SSL_AD_HANDSHAKE_FAILURE () { &SSL3_AD_HANDSHAKE_FAILURE;}' unless defined(&SSL_AD_HANDSHAKE_FAILURE);
    eval 'sub SSL_AD_NO_CERTIFICATE () { &SSL3_AD_NO_CERTIFICATE;}' unless defined(&SSL_AD_NO_CERTIFICATE);
    eval 'sub SSL_AD_BAD_CERTIFICATE () { &SSL3_AD_BAD_CERTIFICATE;}' unless defined(&SSL_AD_BAD_CERTIFICATE);
    eval 'sub SSL_AD_UNSUPPORTED_CERTIFICATE () { &SSL3_AD_UNSUPPORTED_CERTIFICATE;}' unless defined(&SSL_AD_UNSUPPORTED_CERTIFICATE);
    eval 'sub SSL_AD_CERTIFICATE_REVOKED () { &SSL3_AD_CERTIFICATE_REVOKED;}' unless defined(&SSL_AD_CERTIFICATE_REVOKED);
    eval 'sub SSL_AD_CERTIFICATE_EXPIRED () { &SSL3_AD_CERTIFICATE_EXPIRED;}' unless defined(&SSL_AD_CERTIFICATE_EXPIRED);
    eval 'sub SSL_AD_CERTIFICATE_UNKNOWN () { &SSL3_AD_CERTIFICATE_UNKNOWN;}' unless defined(&SSL_AD_CERTIFICATE_UNKNOWN);
    eval 'sub SSL_AD_ILLEGAL_PARAMETER () { &SSL3_AD_ILLEGAL_PARAMETER;}' unless defined(&SSL_AD_ILLEGAL_PARAMETER);
    eval 'sub SSL_AD_UNKNOWN_CA () { &TLS1_AD_UNKNOWN_CA;}' unless defined(&SSL_AD_UNKNOWN_CA);
    eval 'sub SSL_AD_ACCESS_DENIED () { &TLS1_AD_ACCESS_DENIED;}' unless defined(&SSL_AD_ACCESS_DENIED);
    eval 'sub SSL_AD_DECODE_ERROR () { &TLS1_AD_DECODE_ERROR;}' unless defined(&SSL_AD_DECODE_ERROR);
    eval 'sub SSL_AD_DECRYPT_ERROR () { &TLS1_AD_DECRYPT_ERROR;}' unless defined(&SSL_AD_DECRYPT_ERROR);
    eval 'sub SSL_AD_EXPORT_RESTRICTION () { &TLS1_AD_EXPORT_RESTRICTION;}' unless defined(&SSL_AD_EXPORT_RESTRICTION);
    eval 'sub SSL_AD_PROTOCOL_VERSION () { &TLS1_AD_PROTOCOL_VERSION;}' unless defined(&SSL_AD_PROTOCOL_VERSION);
    eval 'sub SSL_AD_INSUFFICIENT_SECURITY () { &TLS1_AD_INSUFFICIENT_SECURITY;}' unless defined(&SSL_AD_INSUFFICIENT_SECURITY);
    eval 'sub SSL_AD_INTERNAL_ERROR () { &TLS1_AD_INTERNAL_ERROR;}' unless defined(&SSL_AD_INTERNAL_ERROR);
    eval 'sub SSL_AD_USER_CANCELLED () { &TLS1_AD_USER_CANCELLED;}' unless defined(&SSL_AD_USER_CANCELLED);
    eval 'sub SSL_AD_NO_RENEGOTIATION () { &TLS1_AD_NO_RENEGOTIATION;}' unless defined(&SSL_AD_NO_RENEGOTIATION);
    eval 'sub SSL_ERROR_NONE () {0;}' unless defined(&SSL_ERROR_NONE);
    eval 'sub SSL_ERROR_SSL () {1;}' unless defined(&SSL_ERROR_SSL);
    eval 'sub SSL_ERROR_WANT_READ () {2;}' unless defined(&SSL_ERROR_WANT_READ);
    eval 'sub SSL_ERROR_WANT_WRITE () {3;}' unless defined(&SSL_ERROR_WANT_WRITE);
    eval 'sub SSL_ERROR_WANT_X509_LOOKUP () {4;}' unless defined(&SSL_ERROR_WANT_X509_LOOKUP);
    eval 'sub SSL_ERROR_SYSCALL () {5;}' unless defined(&SSL_ERROR_SYSCALL);
    eval 'sub SSL_ERROR_ZERO_RETURN () {6;}' unless defined(&SSL_ERROR_ZERO_RETURN);
    eval 'sub SSL_ERROR_WANT_CONNECT () {7;}' unless defined(&SSL_ERROR_WANT_CONNECT);
    eval 'sub SSL_ERROR_WANT_ACCEPT () {8;}' unless defined(&SSL_ERROR_WANT_ACCEPT);
    eval 'sub SSL_CTRL_NEED_TMP_RSA () {1;}' unless defined(&SSL_CTRL_NEED_TMP_RSA);
    eval 'sub SSL_CTRL_SET_TMP_RSA () {2;}' unless defined(&SSL_CTRL_SET_TMP_RSA);
    eval 'sub SSL_CTRL_SET_TMP_DH () {3;}' unless defined(&SSL_CTRL_SET_TMP_DH);
    eval 'sub SSL_CTRL_SET_TMP_RSA_CB () {4;}' unless defined(&SSL_CTRL_SET_TMP_RSA_CB);
    eval 'sub SSL_CTRL_SET_TMP_DH_CB () {5;}' unless defined(&SSL_CTRL_SET_TMP_DH_CB);
    eval 'sub SSL_CTRL_GET_SESSION_REUSED () {6;}' unless defined(&SSL_CTRL_GET_SESSION_REUSED);
    eval 'sub SSL_CTRL_GET_CLIENT_CERT_REQUEST () {7;}' unless defined(&SSL_CTRL_GET_CLIENT_CERT_REQUEST);
    eval 'sub SSL_CTRL_GET_NUM_RENEGOTIATIONS () {8;}' unless defined(&SSL_CTRL_GET_NUM_RENEGOTIATIONS);
    eval 'sub SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS () {9;}' unless defined(&SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS);
    eval 'sub SSL_CTRL_GET_TOTAL_RENEGOTIATIONS () {10;}' unless defined(&SSL_CTRL_GET_TOTAL_RENEGOTIATIONS);
    eval 'sub SSL_CTRL_GET_FLAGS () {11;}' unless defined(&SSL_CTRL_GET_FLAGS);
    eval 'sub SSL_CTRL_EXTRA_CHAIN_CERT () {12;}' unless defined(&SSL_CTRL_EXTRA_CHAIN_CERT);
    eval 'sub SSL_CTRL_SET_MSG_CALLBACK () {13;}' unless defined(&SSL_CTRL_SET_MSG_CALLBACK);
    eval 'sub SSL_CTRL_SET_MSG_CALLBACK_ARG () {14;}' unless defined(&SSL_CTRL_SET_MSG_CALLBACK_ARG);
    eval 'sub SSL_CTRL_SESS_NUMBER () {20;}' unless defined(&SSL_CTRL_SESS_NUMBER);
    eval 'sub SSL_CTRL_SESS_CONNECT () {21;}' unless defined(&SSL_CTRL_SESS_CONNECT);
    eval 'sub SSL_CTRL_SESS_CONNECT_GOOD () {22;}' unless defined(&SSL_CTRL_SESS_CONNECT_GOOD);
    eval 'sub SSL_CTRL_SESS_CONNECT_RENEGOTIATE () {23;}' unless defined(&SSL_CTRL_SESS_CONNECT_RENEGOTIATE);
    eval 'sub SSL_CTRL_SESS_ACCEPT () {24;}' unless defined(&SSL_CTRL_SESS_ACCEPT);
    eval 'sub SSL_CTRL_SESS_ACCEPT_GOOD () {25;}' unless defined(&SSL_CTRL_SESS_ACCEPT_GOOD);
    eval 'sub SSL_CTRL_SESS_ACCEPT_RENEGOTIATE () {26;}' unless defined(&SSL_CTRL_SESS_ACCEPT_RENEGOTIATE);
    eval 'sub SSL_CTRL_SESS_HIT () {27;}' unless defined(&SSL_CTRL_SESS_HIT);
    eval 'sub SSL_CTRL_SESS_CB_HIT () {28;}' unless defined(&SSL_CTRL_SESS_CB_HIT);
    eval 'sub SSL_CTRL_SESS_MISSES () {29;}' unless defined(&SSL_CTRL_SESS_MISSES);
    eval 'sub SSL_CTRL_SESS_TIMEOUTS () {30;}' unless defined(&SSL_CTRL_SESS_TIMEOUTS);
    eval 'sub SSL_CTRL_SESS_CACHE_FULL () {31;}' unless defined(&SSL_CTRL_SESS_CACHE_FULL);
    eval 'sub SSL_CTRL_OPTIONS () {32;}' unless defined(&SSL_CTRL_OPTIONS);
    eval 'sub SSL_CTRL_MODE () {33;}' unless defined(&SSL_CTRL_MODE);
    eval 'sub SSL_CTRL_GET_READ_AHEAD () {40;}' unless defined(&SSL_CTRL_GET_READ_AHEAD);
    eval 'sub SSL_CTRL_SET_READ_AHEAD () {41;}' unless defined(&SSL_CTRL_SET_READ_AHEAD);
    eval 'sub SSL_CTRL_SET_SESS_CACHE_SIZE () {42;}' unless defined(&SSL_CTRL_SET_SESS_CACHE_SIZE);
    eval 'sub SSL_CTRL_GET_SESS_CACHE_SIZE () {43;}' unless defined(&SSL_CTRL_GET_SESS_CACHE_SIZE);
    eval 'sub SSL_CTRL_SET_SESS_CACHE_MODE () {44;}' unless defined(&SSL_CTRL_SET_SESS_CACHE_MODE);
    eval 'sub SSL_CTRL_GET_SESS_CACHE_MODE () {45;}' unless defined(&SSL_CTRL_GET_SESS_CACHE_MODE);
    eval 'sub SSL_CTRL_GET_MAX_CERT_LIST () {50;}' unless defined(&SSL_CTRL_GET_MAX_CERT_LIST);
    eval 'sub SSL_CTRL_SET_MAX_CERT_LIST () {51;}' unless defined(&SSL_CTRL_SET_MAX_CERT_LIST);
    eval 'sub SSL_session_reused {
        my($ssl) = @_;
	    eval q( &SSL_ctrl(($ssl), &SSL_CTRL_GET_SESSION_REUSED,0, &NULL));
    }' unless defined(&SSL_session_reused);
    eval 'sub SSL_num_renegotiations {
        my($ssl) = @_;
	    eval q( &SSL_ctrl(($ssl), &SSL_CTRL_GET_NUM_RENEGOTIATIONS,0, &NULL));
    }' unless defined(&SSL_num_renegotiations);
    eval 'sub SSL_clear_num_renegotiations {
        my($ssl) = @_;
	    eval q( &SSL_ctrl(($ssl), &SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS,0, &NULL));
    }' unless defined(&SSL_clear_num_renegotiations);
    eval 'sub SSL_total_renegotiations {
        my($ssl) = @_;
	    eval q( &SSL_ctrl(($ssl), &SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0, &NULL));
    }' unless defined(&SSL_total_renegotiations);
    eval 'sub SSL_CTX_need_tmp_RSA {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_NEED_TMP_RSA,0, &NULL));
    }' unless defined(&SSL_CTX_need_tmp_RSA);
    eval 'sub SSL_CTX_set_tmp_rsa {
        my($ctx,$rsa) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SET_TMP_RSA,0,$rsa));
    }' unless defined(&SSL_CTX_set_tmp_rsa);
    eval 'sub SSL_CTX_set_tmp_dh {
        my($ctx,$dh) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SET_TMP_DH,0,$dh));
    }' unless defined(&SSL_CTX_set_tmp_dh);
    eval 'sub SSL_need_tmp_RSA {
        my($ssl) = @_;
	    eval q( &SSL_ctrl($ssl, &SSL_CTRL_NEED_TMP_RSA,0, &NULL));
    }' unless defined(&SSL_need_tmp_RSA);
    eval 'sub SSL_set_tmp_rsa {
        my($ssl,$rsa) = @_;
	    eval q( &SSL_ctrl($ssl, &SSL_CTRL_SET_TMP_RSA,0,$rsa));
    }' unless defined(&SSL_set_tmp_rsa);
    eval 'sub SSL_set_tmp_dh {
        my($ssl,$dh) = @_;
	    eval q( &SSL_ctrl($ssl, &SSL_CTRL_SET_TMP_DH,0,$dh));
    }' unless defined(&SSL_set_tmp_dh);
    eval 'sub SSL_CTX_add_extra_chain_cert {
        my($ctx,$x509) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_EXTRA_CHAIN_CERT,0,$x509));
    }' unless defined(&SSL_CTX_add_extra_chain_cert);
    unless(defined(&OPENSSL_NO_BIO)) {
    }
    unless(defined(&OPENSSL_NO_SOCK)) {
    }
    unless(defined(&OPENSSL_NO_BIO)) {
    }
    unless(defined(&OPENSSL_NO_RSA)) {
    }
    unless(defined(&OPENSSL_NO_STDIO)) {
	unless(defined(&OPENSSL_SYS_VMS)) {
	    unless(defined(&OPENSSL_SYS_MACINTOSH_CLASSIC)) {
	    }
	}
    }
    unless(defined(&OPENSSL_NO_FP_API)) {
    }
    unless(defined(&OPENSSL_NO_BIO)) {
    }
    if(defined(&HEADER_X509_H)) {
    }
    unless(defined(&OPENSSL_NO_RSA)) {
    }
    eval 'sub SSL_get0_session () { &SSL_get_session;}' unless defined(&SSL_get0_session);
    eval 'sub SSL_CTX_sess_set_cache_size {
        my($ctx,$t) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SET_SESS_CACHE_SIZE,$t, &NULL));
    }' unless defined(&SSL_CTX_sess_set_cache_size);
    eval 'sub SSL_CTX_sess_get_cache_size {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_GET_SESS_CACHE_SIZE,0, &NULL));
    }' unless defined(&SSL_CTX_sess_get_cache_size);
    eval 'sub SSL_CTX_set_session_cache_mode {
        my($ctx,$m) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SET_SESS_CACHE_MODE,$m, &NULL));
    }' unless defined(&SSL_CTX_set_session_cache_mode);
    eval 'sub SSL_CTX_get_session_cache_mode {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_GET_SESS_CACHE_MODE,0, &NULL));
    }' unless defined(&SSL_CTX_get_session_cache_mode);
    eval 'sub SSL_CTX_get_default_read_ahead {
        my($ctx) = @_;
	    eval q( &SSL_CTX_get_read_ahead($ctx));
    }' unless defined(&SSL_CTX_get_default_read_ahead);
    eval 'sub SSL_CTX_set_default_read_ahead {
        my($ctx,$m) = @_;
	    eval q( &SSL_CTX_set_read_ahead($ctx,$m));
    }' unless defined(&SSL_CTX_set_default_read_ahead);
    eval 'sub SSL_CTX_get_read_ahead {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_GET_READ_AHEAD,0, &NULL));
    }' unless defined(&SSL_CTX_get_read_ahead);
    eval 'sub SSL_CTX_set_read_ahead {
        my($ctx,$m) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SET_READ_AHEAD,$m, &NULL));
    }' unless defined(&SSL_CTX_set_read_ahead);
    eval 'sub SSL_CTX_get_max_cert_list {
        my($ctx) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_GET_MAX_CERT_LIST,0, &NULL));
    }' unless defined(&SSL_CTX_get_max_cert_list);
    eval 'sub SSL_CTX_set_max_cert_list {
        my($ctx,$m) = @_;
	    eval q( &SSL_CTX_ctrl($ctx, &SSL_CTRL_SET_MAX_CERT_LIST,$m, &NULL));
    }' unless defined(&SSL_CTX_set_max_cert_list);
    eval 'sub SSL_get_max_cert_list {
        my($ssl) = @_;
	    eval q( &SSL_ctrl($ssl, &SSL_CTRL_GET_MAX_CERT_LIST,0, &NULL));
    }' unless defined(&SSL_get_max_cert_list);
    eval 'sub SSL_set_max_cert_list {
        my($ssl,$m) = @_;
	    eval q( &SSL_ctrl($ssl, &SSL_CTRL_SET_MAX_CERT_LIST,$m, &NULL));
    }' unless defined(&SSL_set_max_cert_list);
    unless(defined(&OPENSSL_NO_RSA)) {
    }
    unless(defined(&OPENSSL_NO_DH)) {
    }
    unless(defined(&OPENSSL_NO_COMP)) {
    } else {
    }
    eval 'sub SSL_F_CLIENT_CERTIFICATE () {100;}' unless defined(&SSL_F_CLIENT_CERTIFICATE);
    eval 'sub SSL_F_CLIENT_FINISHED () {238;}' unless defined(&SSL_F_CLIENT_FINISHED);
    eval 'sub SSL_F_CLIENT_HELLO () {101;}' unless defined(&SSL_F_CLIENT_HELLO);
    eval 'sub SSL_F_CLIENT_MASTER_KEY () {102;}' unless defined(&SSL_F_CLIENT_MASTER_KEY);
    eval 'sub SSL_F_D2I_SSL_SESSION () {103;}' unless defined(&SSL_F_D2I_SSL_SESSION);
    eval 'sub SSL_F_DO_SSL3_WRITE () {104;}' unless defined(&SSL_F_DO_SSL3_WRITE);
    eval 'sub SSL_F_GET_CLIENT_FINISHED () {105;}' unless defined(&SSL_F_GET_CLIENT_FINISHED);
    eval 'sub SSL_F_GET_CLIENT_HELLO () {106;}' unless defined(&SSL_F_GET_CLIENT_HELLO);
    eval 'sub SSL_F_GET_CLIENT_MASTER_KEY () {107;}' unless defined(&SSL_F_GET_CLIENT_MASTER_KEY);
    eval 'sub SSL_F_GET_SERVER_FINISHED () {108;}' unless defined(&SSL_F_GET_SERVER_FINISHED);
    eval 'sub SSL_F_GET_SERVER_HELLO () {109;}' unless defined(&SSL_F_GET_SERVER_HELLO);
    eval 'sub SSL_F_GET_SERVER_VERIFY () {110;}' unless defined(&SSL_F_GET_SERVER_VERIFY);
    eval 'sub SSL_F_I2D_SSL_SESSION () {111;}' unless defined(&SSL_F_I2D_SSL_SESSION);
    eval 'sub SSL_F_READ_N () {112;}' unless defined(&SSL_F_READ_N);
    eval 'sub SSL_F_REQUEST_CERTIFICATE () {113;}' unless defined(&SSL_F_REQUEST_CERTIFICATE);
    eval 'sub SSL_F_SERVER_FINISH () {239;}' unless defined(&SSL_F_SERVER_FINISH);
    eval 'sub SSL_F_SERVER_HELLO () {114;}' unless defined(&SSL_F_SERVER_HELLO);
    eval 'sub SSL_F_SERVER_VERIFY () {240;}' unless defined(&SSL_F_SERVER_VERIFY);
    eval 'sub SSL_F_SSL23_ACCEPT () {115;}' unless defined(&SSL_F_SSL23_ACCEPT);
    eval 'sub SSL_F_SSL23_CLIENT_HELLO () {116;}' unless defined(&SSL_F_SSL23_CLIENT_HELLO);
    eval 'sub SSL_F_SSL23_CONNECT () {117;}' unless defined(&SSL_F_SSL23_CONNECT);
    eval 'sub SSL_F_SSL23_GET_CLIENT_HELLO () {118;}' unless defined(&SSL_F_SSL23_GET_CLIENT_HELLO);
    eval 'sub SSL_F_SSL23_GET_SERVER_HELLO () {119;}' unless defined(&SSL_F_SSL23_GET_SERVER_HELLO);
    eval 'sub SSL_F_SSL23_PEEK () {237;}' unless defined(&SSL_F_SSL23_PEEK);
    eval 'sub SSL_F_SSL23_READ () {120;}' unless defined(&SSL_F_SSL23_READ);
    eval 'sub SSL_F_SSL23_WRITE () {121;}' unless defined(&SSL_F_SSL23_WRITE);
    eval 'sub SSL_F_SSL2_ACCEPT () {122;}' unless defined(&SSL_F_SSL2_ACCEPT);
    eval 'sub SSL_F_SSL2_CONNECT () {123;}' unless defined(&SSL_F_SSL2_CONNECT);
    eval 'sub SSL_F_SSL2_ENC_INIT () {124;}' unless defined(&SSL_F_SSL2_ENC_INIT);
    eval 'sub SSL_F_SSL2_GENERATE_KEY_MATERIAL () {241;}' unless defined(&SSL_F_SSL2_GENERATE_KEY_MATERIAL);
    eval 'sub SSL_F_SSL2_PEEK () {234;}' unless defined(&SSL_F_SSL2_PEEK);
    eval 'sub SSL_F_SSL2_READ () {125;}' unless defined(&SSL_F_SSL2_READ);
    eval 'sub SSL_F_SSL2_READ_INTERNAL () {236;}' unless defined(&SSL_F_SSL2_READ_INTERNAL);
    eval 'sub SSL_F_SSL2_SET_CERTIFICATE () {126;}' unless defined(&SSL_F_SSL2_SET_CERTIFICATE);
    eval 'sub SSL_F_SSL2_WRITE () {127;}' unless defined(&SSL_F_SSL2_WRITE);
    eval 'sub SSL_F_SSL3_ACCEPT () {128;}' unless defined(&SSL_F_SSL3_ACCEPT);
    eval 'sub SSL_F_SSL3_CALLBACK_CTRL () {233;}' unless defined(&SSL_F_SSL3_CALLBACK_CTRL);
    eval 'sub SSL_F_SSL3_CHANGE_CIPHER_STATE () {129;}' unless defined(&SSL_F_SSL3_CHANGE_CIPHER_STATE);
    eval 'sub SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM () {130;}' unless defined(&SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM);
    eval 'sub SSL_F_SSL3_CLIENT_HELLO () {131;}' unless defined(&SSL_F_SSL3_CLIENT_HELLO);
    eval 'sub SSL_F_SSL3_CONNECT () {132;}' unless defined(&SSL_F_SSL3_CONNECT);
    eval 'sub SSL_F_SSL3_CTRL () {213;}' unless defined(&SSL_F_SSL3_CTRL);
    eval 'sub SSL_F_SSL3_CTX_CTRL () {133;}' unless defined(&SSL_F_SSL3_CTX_CTRL);
    eval 'sub SSL_F_SSL3_ENC () {134;}' unless defined(&SSL_F_SSL3_ENC);
    eval 'sub SSL_F_SSL3_GENERATE_KEY_BLOCK () {238;}' unless defined(&SSL_F_SSL3_GENERATE_KEY_BLOCK);
    eval 'sub SSL_F_SSL3_GET_CERTIFICATE_REQUEST () {135;}' unless defined(&SSL_F_SSL3_GET_CERTIFICATE_REQUEST);
    eval 'sub SSL_F_SSL3_GET_CERT_VERIFY () {136;}' unless defined(&SSL_F_SSL3_GET_CERT_VERIFY);
    eval 'sub SSL_F_SSL3_GET_CLIENT_CERTIFICATE () {137;}' unless defined(&SSL_F_SSL3_GET_CLIENT_CERTIFICATE);
    eval 'sub SSL_F_SSL3_GET_CLIENT_HELLO () {138;}' unless defined(&SSL_F_SSL3_GET_CLIENT_HELLO);
    eval 'sub SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE () {139;}' unless defined(&SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE);
    eval 'sub SSL_F_SSL3_GET_FINISHED () {140;}' unless defined(&SSL_F_SSL3_GET_FINISHED);
    eval 'sub SSL_F_SSL3_GET_KEY_EXCHANGE () {141;}' unless defined(&SSL_F_SSL3_GET_KEY_EXCHANGE);
    eval 'sub SSL_F_SSL3_GET_MESSAGE () {142;}' unless defined(&SSL_F_SSL3_GET_MESSAGE);
    eval 'sub SSL_F_SSL3_GET_RECORD () {143;}' unless defined(&SSL_F_SSL3_GET_RECORD);
    eval 'sub SSL_F_SSL3_GET_SERVER_CERTIFICATE () {144;}' unless defined(&SSL_F_SSL3_GET_SERVER_CERTIFICATE);
    eval 'sub SSL_F_SSL3_GET_SERVER_DONE () {145;}' unless defined(&SSL_F_SSL3_GET_SERVER_DONE);
    eval 'sub SSL_F_SSL3_GET_SERVER_HELLO () {146;}' unless defined(&SSL_F_SSL3_GET_SERVER_HELLO);
    eval 'sub SSL_F_SSL3_OUTPUT_CERT_CHAIN () {147;}' unless defined(&SSL_F_SSL3_OUTPUT_CERT_CHAIN);
    eval 'sub SSL_F_SSL3_PEEK () {235;}' unless defined(&SSL_F_SSL3_PEEK);
    eval 'sub SSL_F_SSL3_READ_BYTES () {148;}' unless defined(&SSL_F_SSL3_READ_BYTES);
    eval 'sub SSL_F_SSL3_READ_N () {149;}' unless defined(&SSL_F_SSL3_READ_N);
    eval 'sub SSL_F_SSL3_SEND_CERTIFICATE_REQUEST () {150;}' unless defined(&SSL_F_SSL3_SEND_CERTIFICATE_REQUEST);
    eval 'sub SSL_F_SSL3_SEND_CLIENT_CERTIFICATE () {151;}' unless defined(&SSL_F_SSL3_SEND_CLIENT_CERTIFICATE);
    eval 'sub SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE () {152;}' unless defined(&SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE);
    eval 'sub SSL_F_SSL3_SEND_CLIENT_VERIFY () {153;}' unless defined(&SSL_F_SSL3_SEND_CLIENT_VERIFY);
    eval 'sub SSL_F_SSL3_SEND_SERVER_CERTIFICATE () {154;}' unless defined(&SSL_F_SSL3_SEND_SERVER_CERTIFICATE);
    eval 'sub SSL_F_SSL3_SEND_SERVER_HELLO () {242;}' unless defined(&SSL_F_SSL3_SEND_SERVER_HELLO);
    eval 'sub SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE () {155;}' unless defined(&SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE);
    eval 'sub SSL_F_SSL3_SETUP_BUFFERS () {156;}' unless defined(&SSL_F_SSL3_SETUP_BUFFERS);
    eval 'sub SSL_F_SSL3_SETUP_KEY_BLOCK () {157;}' unless defined(&SSL_F_SSL3_SETUP_KEY_BLOCK);
    eval 'sub SSL_F_SSL3_WRITE_BYTES () {158;}' unless defined(&SSL_F_SSL3_WRITE_BYTES);
    eval 'sub SSL_F_SSL3_WRITE_PENDING () {159;}' unless defined(&SSL_F_SSL3_WRITE_PENDING);
    eval 'sub SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK () {215;}' unless defined(&SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK);
    eval 'sub SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK () {216;}' unless defined(&SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK);
    eval 'sub SSL_F_SSL_BAD_METHOD () {160;}' unless defined(&SSL_F_SSL_BAD_METHOD);
    eval 'sub SSL_F_SSL_BYTES_TO_CIPHER_LIST () {161;}' unless defined(&SSL_F_SSL_BYTES_TO_CIPHER_LIST);
    eval 'sub SSL_F_SSL_CERT_DUP () {221;}' unless defined(&SSL_F_SSL_CERT_DUP);
    eval 'sub SSL_F_SSL_CERT_INST () {222;}' unless defined(&SSL_F_SSL_CERT_INST);
    eval 'sub SSL_F_SSL_CERT_INSTANTIATE () {214;}' unless defined(&SSL_F_SSL_CERT_INSTANTIATE);
    eval 'sub SSL_F_SSL_CERT_NEW () {162;}' unless defined(&SSL_F_SSL_CERT_NEW);
    eval 'sub SSL_F_SSL_CHECK_PRIVATE_KEY () {163;}' unless defined(&SSL_F_SSL_CHECK_PRIVATE_KEY);
    eval 'sub SSL_F_SSL_CIPHER_PROCESS_RULESTR () {230;}' unless defined(&SSL_F_SSL_CIPHER_PROCESS_RULESTR);
    eval 'sub SSL_F_SSL_CIPHER_STRENGTH_SORT () {231;}' unless defined(&SSL_F_SSL_CIPHER_STRENGTH_SORT);
    eval 'sub SSL_F_SSL_CLEAR () {164;}' unless defined(&SSL_F_SSL_CLEAR);
    eval 'sub SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD () {165;}' unless defined(&SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD);
    eval 'sub SSL_F_SSL_CREATE_CIPHER_LIST () {166;}' unless defined(&SSL_F_SSL_CREATE_CIPHER_LIST);
    eval 'sub SSL_F_SSL_CTRL () {232;}' unless defined(&SSL_F_SSL_CTRL);
    eval 'sub SSL_F_SSL_CTX_CHECK_PRIVATE_KEY () {168;}' unless defined(&SSL_F_SSL_CTX_CHECK_PRIVATE_KEY);
    eval 'sub SSL_F_SSL_CTX_NEW () {169;}' unless defined(&SSL_F_SSL_CTX_NEW);
    eval 'sub SSL_F_SSL_CTX_SET_CIPHER_LIST () {269;}' unless defined(&SSL_F_SSL_CTX_SET_CIPHER_LIST);
    eval 'sub SSL_F_SSL_CTX_SET_PURPOSE () {226;}' unless defined(&SSL_F_SSL_CTX_SET_PURPOSE);
    eval 'sub SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT () {219;}' unless defined(&SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT);
    eval 'sub SSL_F_SSL_CTX_SET_SSL_VERSION () {170;}' unless defined(&SSL_F_SSL_CTX_SET_SSL_VERSION);
    eval 'sub SSL_F_SSL_CTX_SET_TRUST () {229;}' unless defined(&SSL_F_SSL_CTX_SET_TRUST);
    eval 'sub SSL_F_SSL_CTX_USE_CERTIFICATE () {171;}' unless defined(&SSL_F_SSL_CTX_USE_CERTIFICATE);
    eval 'sub SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 () {172;}' unless defined(&SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1);
    eval 'sub SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE () {220;}' unless defined(&SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE);
    eval 'sub SSL_F_SSL_CTX_USE_CERTIFICATE_FILE () {173;}' unless defined(&SSL_F_SSL_CTX_USE_CERTIFICATE_FILE);
    eval 'sub SSL_F_SSL_CTX_USE_PRIVATEKEY () {174;}' unless defined(&SSL_F_SSL_CTX_USE_PRIVATEKEY);
    eval 'sub SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1 () {175;}' unless defined(&SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1);
    eval 'sub SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE () {176;}' unless defined(&SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE);
    eval 'sub SSL_F_SSL_CTX_USE_RSAPRIVATEKEY () {177;}' unless defined(&SSL_F_SSL_CTX_USE_RSAPRIVATEKEY);
    eval 'sub SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1 () {178;}' unless defined(&SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1);
    eval 'sub SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE () {179;}' unless defined(&SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE);
    eval 'sub SSL_F_SSL_DO_HANDSHAKE () {180;}' unless defined(&SSL_F_SSL_DO_HANDSHAKE);
    eval 'sub SSL_F_SSL_GET_NEW_SESSION () {181;}' unless defined(&SSL_F_SSL_GET_NEW_SESSION);
    eval 'sub SSL_F_SSL_GET_PREV_SESSION () {217;}' unless defined(&SSL_F_SSL_GET_PREV_SESSION);
    eval 'sub SSL_F_SSL_GET_SERVER_SEND_CERT () {182;}' unless defined(&SSL_F_SSL_GET_SERVER_SEND_CERT);
    eval 'sub SSL_F_SSL_GET_SIGN_PKEY () {183;}' unless defined(&SSL_F_SSL_GET_SIGN_PKEY);
    eval 'sub SSL_F_SSL_INIT_WBIO_BUFFER () {184;}' unless defined(&SSL_F_SSL_INIT_WBIO_BUFFER);
    eval 'sub SSL_F_SSL_LOAD_CLIENT_CA_FILE () {185;}' unless defined(&SSL_F_SSL_LOAD_CLIENT_CA_FILE);
    eval 'sub SSL_F_SSL_NEW () {186;}' unless defined(&SSL_F_SSL_NEW);
    eval 'sub SSL_F_SSL_READ () {223;}' unless defined(&SSL_F_SSL_READ);
    eval 'sub SSL_F_SSL_RSA_PRIVATE_DECRYPT () {187;}' unless defined(&SSL_F_SSL_RSA_PRIVATE_DECRYPT);
    eval 'sub SSL_F_SSL_RSA_PUBLIC_ENCRYPT () {188;}' unless defined(&SSL_F_SSL_RSA_PUBLIC_ENCRYPT);
    eval 'sub SSL_F_SSL_SESSION_NEW () {189;}' unless defined(&SSL_F_SSL_SESSION_NEW);
    eval 'sub SSL_F_SSL_SESSION_PRINT_FP () {190;}' unless defined(&SSL_F_SSL_SESSION_PRINT_FP);
    eval 'sub SSL_F_SSL_SESS_CERT_NEW () {225;}' unless defined(&SSL_F_SSL_SESS_CERT_NEW);
    eval 'sub SSL_F_SSL_SET_CERT () {191;}' unless defined(&SSL_F_SSL_SET_CERT);
    eval 'sub SSL_F_SSL_SET_CIPHER_LIST () {271;}' unless defined(&SSL_F_SSL_SET_CIPHER_LIST);
    eval 'sub SSL_F_SSL_SET_FD () {192;}' unless defined(&SSL_F_SSL_SET_FD);
    eval 'sub SSL_F_SSL_SET_PKEY () {193;}' unless defined(&SSL_F_SSL_SET_PKEY);
    eval 'sub SSL_F_SSL_SET_PURPOSE () {227;}' unless defined(&SSL_F_SSL_SET_PURPOSE);
    eval 'sub SSL_F_SSL_SET_RFD () {194;}' unless defined(&SSL_F_SSL_SET_RFD);
    eval 'sub SSL_F_SSL_SET_SESSION () {195;}' unless defined(&SSL_F_SSL_SET_SESSION);
    eval 'sub SSL_F_SSL_SET_SESSION_ID_CONTEXT () {218;}' unless defined(&SSL_F_SSL_SET_SESSION_ID_CONTEXT);
    eval 'sub SSL_F_SSL_SET_TRUST () {228;}' unless defined(&SSL_F_SSL_SET_TRUST);
    eval 'sub SSL_F_SSL_SET_WFD () {196;}' unless defined(&SSL_F_SSL_SET_WFD);
    eval 'sub SSL_F_SSL_SHUTDOWN () {224;}' unless defined(&SSL_F_SSL_SHUTDOWN);
    eval 'sub SSL_F_SSL_UNDEFINED_CONST_FUNCTION () {243;}' unless defined(&SSL_F_SSL_UNDEFINED_CONST_FUNCTION);
    eval 'sub SSL_F_SSL_UNDEFINED_FUNCTION () {197;}' unless defined(&SSL_F_SSL_UNDEFINED_FUNCTION);
    eval 'sub SSL_F_SSL_USE_CERTIFICATE () {198;}' unless defined(&SSL_F_SSL_USE_CERTIFICATE);
    eval 'sub SSL_F_SSL_USE_CERTIFICATE_ASN1 () {199;}' unless defined(&SSL_F_SSL_USE_CERTIFICATE_ASN1);
    eval 'sub SSL_F_SSL_USE_CERTIFICATE_FILE () {200;}' unless defined(&SSL_F_SSL_USE_CERTIFICATE_FILE);
    eval 'sub SSL_F_SSL_USE_PRIVATEKEY () {201;}' unless defined(&SSL_F_SSL_USE_PRIVATEKEY);
    eval 'sub SSL_F_SSL_USE_PRIVATEKEY_ASN1 () {202;}' unless defined(&SSL_F_SSL_USE_PRIVATEKEY_ASN1);
    eval 'sub SSL_F_SSL_USE_PRIVATEKEY_FILE () {203;}' unless defined(&SSL_F_SSL_USE_PRIVATEKEY_FILE);
    eval 'sub SSL_F_SSL_USE_RSAPRIVATEKEY () {204;}' unless defined(&SSL_F_SSL_USE_RSAPRIVATEKEY);
    eval 'sub SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 () {205;}' unless defined(&SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1);
    eval 'sub SSL_F_SSL_USE_RSAPRIVATEKEY_FILE () {206;}' unless defined(&SSL_F_SSL_USE_RSAPRIVATEKEY_FILE);
    eval 'sub SSL_F_SSL_VERIFY_CERT_CHAIN () {207;}' unless defined(&SSL_F_SSL_VERIFY_CERT_CHAIN);
    eval 'sub SSL_F_SSL_WRITE () {208;}' unless defined(&SSL_F_SSL_WRITE);
    eval 'sub SSL_F_TLS1_CHANGE_CIPHER_STATE () {209;}' unless defined(&SSL_F_TLS1_CHANGE_CIPHER_STATE);
    eval 'sub SSL_F_TLS1_ENC () {210;}' unless defined(&SSL_F_TLS1_ENC);
    eval 'sub SSL_F_TLS1_SETUP_KEY_BLOCK () {211;}' unless defined(&SSL_F_TLS1_SETUP_KEY_BLOCK);
    eval 'sub SSL_F_WRITE_PENDING () {212;}' unless defined(&SSL_F_WRITE_PENDING);
    eval 'sub SSL_R_APP_DATA_IN_HANDSHAKE () {100;}' unless defined(&SSL_R_APP_DATA_IN_HANDSHAKE);
    eval 'sub SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT () {272;}' unless defined(&SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT);
    eval 'sub SSL_R_BAD_ALERT_RECORD () {101;}' unless defined(&SSL_R_BAD_ALERT_RECORD);
    eval 'sub SSL_R_BAD_AUTHENTICATION_TYPE () {102;}' unless defined(&SSL_R_BAD_AUTHENTICATION_TYPE);
    eval 'sub SSL_R_BAD_CHANGE_CIPHER_SPEC () {103;}' unless defined(&SSL_R_BAD_CHANGE_CIPHER_SPEC);
    eval 'sub SSL_R_BAD_CHECKSUM () {104;}' unless defined(&SSL_R_BAD_CHECKSUM);
    eval 'sub SSL_R_BAD_DATA_RETURNED_BY_CALLBACK () {106;}' unless defined(&SSL_R_BAD_DATA_RETURNED_BY_CALLBACK);
    eval 'sub SSL_R_BAD_DECOMPRESSION () {107;}' unless defined(&SSL_R_BAD_DECOMPRESSION);
    eval 'sub SSL_R_BAD_DH_G_LENGTH () {108;}' unless defined(&SSL_R_BAD_DH_G_LENGTH);
    eval 'sub SSL_R_BAD_DH_PUB_KEY_LENGTH () {109;}' unless defined(&SSL_R_BAD_DH_PUB_KEY_LENGTH);
    eval 'sub SSL_R_BAD_DH_P_LENGTH () {110;}' unless defined(&SSL_R_BAD_DH_P_LENGTH);
    eval 'sub SSL_R_BAD_DIGEST_LENGTH () {111;}' unless defined(&SSL_R_BAD_DIGEST_LENGTH);
    eval 'sub SSL_R_BAD_DSA_SIGNATURE () {112;}' unless defined(&SSL_R_BAD_DSA_SIGNATURE);
    eval 'sub SSL_R_BAD_HELLO_REQUEST () {105;}' unless defined(&SSL_R_BAD_HELLO_REQUEST);
    eval 'sub SSL_R_BAD_LENGTH () {271;}' unless defined(&SSL_R_BAD_LENGTH);
    eval 'sub SSL_R_BAD_MAC_DECODE () {113;}' unless defined(&SSL_R_BAD_MAC_DECODE);
    eval 'sub SSL_R_BAD_MESSAGE_TYPE () {114;}' unless defined(&SSL_R_BAD_MESSAGE_TYPE);
    eval 'sub SSL_R_BAD_PACKET_LENGTH () {115;}' unless defined(&SSL_R_BAD_PACKET_LENGTH);
    eval 'sub SSL_R_BAD_PROTOCOL_VERSION_NUMBER () {116;}' unless defined(&SSL_R_BAD_PROTOCOL_VERSION_NUMBER);
    eval 'sub SSL_R_BAD_RESPONSE_ARGUMENT () {117;}' unless defined(&SSL_R_BAD_RESPONSE_ARGUMENT);
    eval 'sub SSL_R_BAD_RSA_DECRYPT () {118;}' unless defined(&SSL_R_BAD_RSA_DECRYPT);
    eval 'sub SSL_R_BAD_RSA_ENCRYPT () {119;}' unless defined(&SSL_R_BAD_RSA_ENCRYPT);
    eval 'sub SSL_R_BAD_RSA_E_LENGTH () {120;}' unless defined(&SSL_R_BAD_RSA_E_LENGTH);
    eval 'sub SSL_R_BAD_RSA_MODULUS_LENGTH () {121;}' unless defined(&SSL_R_BAD_RSA_MODULUS_LENGTH);
    eval 'sub SSL_R_BAD_RSA_SIGNATURE () {122;}' unless defined(&SSL_R_BAD_RSA_SIGNATURE);
    eval 'sub SSL_R_BAD_SIGNATURE () {123;}' unless defined(&SSL_R_BAD_SIGNATURE);
    eval 'sub SSL_R_BAD_SSL_FILETYPE () {124;}' unless defined(&SSL_R_BAD_SSL_FILETYPE);
    eval 'sub SSL_R_BAD_SSL_SESSION_ID_LENGTH () {125;}' unless defined(&SSL_R_BAD_SSL_SESSION_ID_LENGTH);
    eval 'sub SSL_R_BAD_STATE () {126;}' unless defined(&SSL_R_BAD_STATE);
    eval 'sub SSL_R_BAD_WRITE_RETRY () {127;}' unless defined(&SSL_R_BAD_WRITE_RETRY);
    eval 'sub SSL_R_BIO_NOT_SET () {128;}' unless defined(&SSL_R_BIO_NOT_SET);
    eval 'sub SSL_R_BLOCK_CIPHER_PAD_IS_WRONG () {129;}' unless defined(&SSL_R_BLOCK_CIPHER_PAD_IS_WRONG);
    eval 'sub SSL_R_BN_LIB () {130;}' unless defined(&SSL_R_BN_LIB);
    eval 'sub SSL_R_CA_DN_LENGTH_MISMATCH () {131;}' unless defined(&SSL_R_CA_DN_LENGTH_MISMATCH);
    eval 'sub SSL_R_CA_DN_TOO_LONG () {132;}' unless defined(&SSL_R_CA_DN_TOO_LONG);
    eval 'sub SSL_R_CCS_RECEIVED_EARLY () {133;}' unless defined(&SSL_R_CCS_RECEIVED_EARLY);
    eval 'sub SSL_R_CERTIFICATE_VERIFY_FAILED () {134;}' unless defined(&SSL_R_CERTIFICATE_VERIFY_FAILED);
    eval 'sub SSL_R_CERT_LENGTH_MISMATCH () {135;}' unless defined(&SSL_R_CERT_LENGTH_MISMATCH);
    eval 'sub SSL_R_CHALLENGE_IS_DIFFERENT () {136;}' unless defined(&SSL_R_CHALLENGE_IS_DIFFERENT);
    eval 'sub SSL_R_CIPHER_CODE_WRONG_LENGTH () {137;}' unless defined(&SSL_R_CIPHER_CODE_WRONG_LENGTH);
    eval 'sub SSL_R_CIPHER_OR_HASH_UNAVAILABLE () {138;}' unless defined(&SSL_R_CIPHER_OR_HASH_UNAVAILABLE);
    eval 'sub SSL_R_CIPHER_TABLE_SRC_ERROR () {139;}' unless defined(&SSL_R_CIPHER_TABLE_SRC_ERROR);
    eval 'sub SSL_R_COMPRESSED_LENGTH_TOO_LONG () {140;}' unless defined(&SSL_R_COMPRESSED_LENGTH_TOO_LONG);
    eval 'sub SSL_R_COMPRESSION_FAILURE () {141;}' unless defined(&SSL_R_COMPRESSION_FAILURE);
    eval 'sub SSL_R_COMPRESSION_LIBRARY_ERROR () {142;}' unless defined(&SSL_R_COMPRESSION_LIBRARY_ERROR);
    eval 'sub SSL_R_CONNECTION_ID_IS_DIFFERENT () {143;}' unless defined(&SSL_R_CONNECTION_ID_IS_DIFFERENT);
    eval 'sub SSL_R_CONNECTION_TYPE_NOT_SET () {144;}' unless defined(&SSL_R_CONNECTION_TYPE_NOT_SET);
    eval 'sub SSL_R_DATA_BETWEEN_CCS_AND_FINISHED () {145;}' unless defined(&SSL_R_DATA_BETWEEN_CCS_AND_FINISHED);
    eval 'sub SSL_R_DATA_LENGTH_TOO_LONG () {146;}' unless defined(&SSL_R_DATA_LENGTH_TOO_LONG);
    eval 'sub SSL_R_DECRYPTION_FAILED () {147;}' unless defined(&SSL_R_DECRYPTION_FAILED);
    eval 'sub SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC () {281;}' unless defined(&SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC);
    eval 'sub SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG () {148;}' unless defined(&SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG);
    eval 'sub SSL_R_DIGEST_CHECK_FAILED () {149;}' unless defined(&SSL_R_DIGEST_CHECK_FAILED);
    eval 'sub SSL_R_ENCRYPTED_LENGTH_TOO_LONG () {150;}' unless defined(&SSL_R_ENCRYPTED_LENGTH_TOO_LONG);
    eval 'sub SSL_R_ERROR_GENERATING_TMP_RSA_KEY () {282;}' unless defined(&SSL_R_ERROR_GENERATING_TMP_RSA_KEY);
    eval 'sub SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST () {151;}' unless defined(&SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST);
    eval 'sub SSL_R_EXCESSIVE_MESSAGE_SIZE () {152;}' unless defined(&SSL_R_EXCESSIVE_MESSAGE_SIZE);
    eval 'sub SSL_R_EXTRA_DATA_IN_MESSAGE () {153;}' unless defined(&SSL_R_EXTRA_DATA_IN_MESSAGE);
    eval 'sub SSL_R_GOT_A_FIN_BEFORE_A_CCS () {154;}' unless defined(&SSL_R_GOT_A_FIN_BEFORE_A_CCS);
    eval 'sub SSL_R_HTTPS_PROXY_REQUEST () {155;}' unless defined(&SSL_R_HTTPS_PROXY_REQUEST);
    eval 'sub SSL_R_HTTP_REQUEST () {156;}' unless defined(&SSL_R_HTTP_REQUEST);
    eval 'sub SSL_R_ILLEGAL_PADDING () {283;}' unless defined(&SSL_R_ILLEGAL_PADDING);
    eval 'sub SSL_R_INVALID_CHALLENGE_LENGTH () {158;}' unless defined(&SSL_R_INVALID_CHALLENGE_LENGTH);
    eval 'sub SSL_R_INVALID_COMMAND () {280;}' unless defined(&SSL_R_INVALID_COMMAND);
    eval 'sub SSL_R_INVALID_PURPOSE () {278;}' unless defined(&SSL_R_INVALID_PURPOSE);
    eval 'sub SSL_R_INVALID_TRUST () {279;}' unless defined(&SSL_R_INVALID_TRUST);
    eval 'sub SSL_R_KEY_ARG_TOO_LONG () {284;}' unless defined(&SSL_R_KEY_ARG_TOO_LONG);
    eval 'sub SSL_R_KRB5 () {285;}' unless defined(&SSL_R_KRB5);
    eval 'sub SSL_R_KRB5_C_CC_PRINC () {286;}' unless defined(&SSL_R_KRB5_C_CC_PRINC);
    eval 'sub SSL_R_KRB5_C_GET_CRED () {287;}' unless defined(&SSL_R_KRB5_C_GET_CRED);
    eval 'sub SSL_R_KRB5_C_INIT () {288;}' unless defined(&SSL_R_KRB5_C_INIT);
    eval 'sub SSL_R_KRB5_C_MK_REQ () {289;}' unless defined(&SSL_R_KRB5_C_MK_REQ);
    eval 'sub SSL_R_KRB5_S_BAD_TICKET () {290;}' unless defined(&SSL_R_KRB5_S_BAD_TICKET);
    eval 'sub SSL_R_KRB5_S_INIT () {291;}' unless defined(&SSL_R_KRB5_S_INIT);
    eval 'sub SSL_R_KRB5_S_RD_REQ () {292;}' unless defined(&SSL_R_KRB5_S_RD_REQ);
    eval 'sub SSL_R_KRB5_S_TKT_EXPIRED () {293;}' unless defined(&SSL_R_KRB5_S_TKT_EXPIRED);
    eval 'sub SSL_R_KRB5_S_TKT_NYV () {294;}' unless defined(&SSL_R_KRB5_S_TKT_NYV);
    eval 'sub SSL_R_KRB5_S_TKT_SKEW () {295;}' unless defined(&SSL_R_KRB5_S_TKT_SKEW);
    eval 'sub SSL_R_LENGTH_MISMATCH () {159;}' unless defined(&SSL_R_LENGTH_MISMATCH);
    eval 'sub SSL_R_LENGTH_TOO_SHORT () {160;}' unless defined(&SSL_R_LENGTH_TOO_SHORT);
    eval 'sub SSL_R_LIBRARY_BUG () {274;}' unless defined(&SSL_R_LIBRARY_BUG);
    eval 'sub SSL_R_LIBRARY_HAS_NO_CIPHERS () {161;}' unless defined(&SSL_R_LIBRARY_HAS_NO_CIPHERS);
    eval 'sub SSL_R_MESSAGE_TOO_LONG () {296;}' unless defined(&SSL_R_MESSAGE_TOO_LONG);
    eval 'sub SSL_R_MISSING_DH_DSA_CERT () {162;}' unless defined(&SSL_R_MISSING_DH_DSA_CERT);
    eval 'sub SSL_R_MISSING_DH_KEY () {163;}' unless defined(&SSL_R_MISSING_DH_KEY);
    eval 'sub SSL_R_MISSING_DH_RSA_CERT () {164;}' unless defined(&SSL_R_MISSING_DH_RSA_CERT);
    eval 'sub SSL_R_MISSING_DSA_SIGNING_CERT () {165;}' unless defined(&SSL_R_MISSING_DSA_SIGNING_CERT);
    eval 'sub SSL_R_MISSING_EXPORT_TMP_DH_KEY () {166;}' unless defined(&SSL_R_MISSING_EXPORT_TMP_DH_KEY);
    eval 'sub SSL_R_MISSING_EXPORT_TMP_RSA_KEY () {167;}' unless defined(&SSL_R_MISSING_EXPORT_TMP_RSA_KEY);
    eval 'sub SSL_R_MISSING_RSA_CERTIFICATE () {168;}' unless defined(&SSL_R_MISSING_RSA_CERTIFICATE);
    eval 'sub SSL_R_MISSING_RSA_ENCRYPTING_CERT () {169;}' unless defined(&SSL_R_MISSING_RSA_ENCRYPTING_CERT);
    eval 'sub SSL_R_MISSING_RSA_SIGNING_CERT () {170;}' unless defined(&SSL_R_MISSING_RSA_SIGNING_CERT);
    eval 'sub SSL_R_MISSING_TMP_DH_KEY () {171;}' unless defined(&SSL_R_MISSING_TMP_DH_KEY);
    eval 'sub SSL_R_MISSING_TMP_RSA_KEY () {172;}' unless defined(&SSL_R_MISSING_TMP_RSA_KEY);
    eval 'sub SSL_R_MISSING_TMP_RSA_PKEY () {173;}' unless defined(&SSL_R_MISSING_TMP_RSA_PKEY);
    eval 'sub SSL_R_MISSING_VERIFY_MESSAGE () {174;}' unless defined(&SSL_R_MISSING_VERIFY_MESSAGE);
    eval 'sub SSL_R_NON_SSLV2_INITIAL_PACKET () {175;}' unless defined(&SSL_R_NON_SSLV2_INITIAL_PACKET);
    eval 'sub SSL_R_NO_CERTIFICATES_RETURNED () {176;}' unless defined(&SSL_R_NO_CERTIFICATES_RETURNED);
    eval 'sub SSL_R_NO_CERTIFICATE_ASSIGNED () {177;}' unless defined(&SSL_R_NO_CERTIFICATE_ASSIGNED);
    eval 'sub SSL_R_NO_CERTIFICATE_RETURNED () {178;}' unless defined(&SSL_R_NO_CERTIFICATE_RETURNED);
    eval 'sub SSL_R_NO_CERTIFICATE_SET () {179;}' unless defined(&SSL_R_NO_CERTIFICATE_SET);
    eval 'sub SSL_R_NO_CERTIFICATE_SPECIFIED () {180;}' unless defined(&SSL_R_NO_CERTIFICATE_SPECIFIED);
    eval 'sub SSL_R_NO_CIPHERS_AVAILABLE () {181;}' unless defined(&SSL_R_NO_CIPHERS_AVAILABLE);
    eval 'sub SSL_R_NO_CIPHERS_PASSED () {182;}' unless defined(&SSL_R_NO_CIPHERS_PASSED);
    eval 'sub SSL_R_NO_CIPHERS_SPECIFIED () {183;}' unless defined(&SSL_R_NO_CIPHERS_SPECIFIED);
    eval 'sub SSL_R_NO_CIPHER_LIST () {184;}' unless defined(&SSL_R_NO_CIPHER_LIST);
    eval 'sub SSL_R_NO_CIPHER_MATCH () {185;}' unless defined(&SSL_R_NO_CIPHER_MATCH);
    eval 'sub SSL_R_NO_CLIENT_CERT_RECEIVED () {186;}' unless defined(&SSL_R_NO_CLIENT_CERT_RECEIVED);
    eval 'sub SSL_R_NO_COMPRESSION_SPECIFIED () {187;}' unless defined(&SSL_R_NO_COMPRESSION_SPECIFIED);
    eval 'sub SSL_R_NO_METHOD_SPECIFIED () {188;}' unless defined(&SSL_R_NO_METHOD_SPECIFIED);
    eval 'sub SSL_R_NO_PRIVATEKEY () {189;}' unless defined(&SSL_R_NO_PRIVATEKEY);
    eval 'sub SSL_R_NO_PRIVATE_KEY_ASSIGNED () {190;}' unless defined(&SSL_R_NO_PRIVATE_KEY_ASSIGNED);
    eval 'sub SSL_R_NO_PROTOCOLS_AVAILABLE () {191;}' unless defined(&SSL_R_NO_PROTOCOLS_AVAILABLE);
    eval 'sub SSL_R_NO_PUBLICKEY () {192;}' unless defined(&SSL_R_NO_PUBLICKEY);
    eval 'sub SSL_R_NO_SHARED_CIPHER () {193;}' unless defined(&SSL_R_NO_SHARED_CIPHER);
    eval 'sub SSL_R_NO_VERIFY_CALLBACK () {194;}' unless defined(&SSL_R_NO_VERIFY_CALLBACK);
    eval 'sub SSL_R_NULL_SSL_CTX () {195;}' unless defined(&SSL_R_NULL_SSL_CTX);
    eval 'sub SSL_R_NULL_SSL_METHOD_PASSED () {196;}' unless defined(&SSL_R_NULL_SSL_METHOD_PASSED);
    eval 'sub SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED () {197;}' unless defined(&SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED);
    eval 'sub SSL_R_ONLY_TLS_ALLOWED_IN_FIPS_MODE () {297;}' unless defined(&SSL_R_ONLY_TLS_ALLOWED_IN_FIPS_MODE);
    eval 'sub SSL_R_PACKET_LENGTH_TOO_LONG () {198;}' unless defined(&SSL_R_PACKET_LENGTH_TOO_LONG);
    eval 'sub SSL_R_PATH_TOO_LONG () {270;}' unless defined(&SSL_R_PATH_TOO_LONG);
    eval 'sub SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE () {199;}' unless defined(&SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE);
    eval 'sub SSL_R_PEER_ERROR () {200;}' unless defined(&SSL_R_PEER_ERROR);
    eval 'sub SSL_R_PEER_ERROR_CERTIFICATE () {201;}' unless defined(&SSL_R_PEER_ERROR_CERTIFICATE);
    eval 'sub SSL_R_PEER_ERROR_NO_CERTIFICATE () {202;}' unless defined(&SSL_R_PEER_ERROR_NO_CERTIFICATE);
    eval 'sub SSL_R_PEER_ERROR_NO_CIPHER () {203;}' unless defined(&SSL_R_PEER_ERROR_NO_CIPHER);
    eval 'sub SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE () {204;}' unless defined(&SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE);
    eval 'sub SSL_R_PRE_MAC_LENGTH_TOO_LONG () {205;}' unless defined(&SSL_R_PRE_MAC_LENGTH_TOO_LONG);
    eval 'sub SSL_R_PROBLEMS_MAPPING_CIPHER_FUNCTIONS () {206;}' unless defined(&SSL_R_PROBLEMS_MAPPING_CIPHER_FUNCTIONS);
    eval 'sub SSL_R_PROTOCOL_IS_SHUTDOWN () {207;}' unless defined(&SSL_R_PROTOCOL_IS_SHUTDOWN);
    eval 'sub SSL_R_PUBLIC_KEY_ENCRYPT_ERROR () {208;}' unless defined(&SSL_R_PUBLIC_KEY_ENCRYPT_ERROR);
    eval 'sub SSL_R_PUBLIC_KEY_IS_NOT_RSA () {209;}' unless defined(&SSL_R_PUBLIC_KEY_IS_NOT_RSA);
    eval 'sub SSL_R_PUBLIC_KEY_NOT_RSA () {210;}' unless defined(&SSL_R_PUBLIC_KEY_NOT_RSA);
    eval 'sub SSL_R_READ_BIO_NOT_SET () {211;}' unless defined(&SSL_R_READ_BIO_NOT_SET);
    eval 'sub SSL_R_READ_WRONG_PACKET_TYPE () {212;}' unless defined(&SSL_R_READ_WRONG_PACKET_TYPE);
    eval 'sub SSL_R_RECORD_LENGTH_MISMATCH () {213;}' unless defined(&SSL_R_RECORD_LENGTH_MISMATCH);
    eval 'sub SSL_R_RECORD_TOO_LARGE () {214;}' unless defined(&SSL_R_RECORD_TOO_LARGE);
    eval 'sub SSL_R_RECORD_TOO_SMALL () {298;}' unless defined(&SSL_R_RECORD_TOO_SMALL);
    eval 'sub SSL_R_REQUIRED_CIPHER_MISSING () {215;}' unless defined(&SSL_R_REQUIRED_CIPHER_MISSING);
    eval 'sub SSL_R_REUSE_CERT_LENGTH_NOT_ZERO () {216;}' unless defined(&SSL_R_REUSE_CERT_LENGTH_NOT_ZERO);
    eval 'sub SSL_R_REUSE_CERT_TYPE_NOT_ZERO () {217;}' unless defined(&SSL_R_REUSE_CERT_TYPE_NOT_ZERO);
    eval 'sub SSL_R_REUSE_CIPHER_LIST_NOT_ZERO () {218;}' unless defined(&SSL_R_REUSE_CIPHER_LIST_NOT_ZERO);
    eval 'sub SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED () {277;}' unless defined(&SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED);
    eval 'sub SSL_R_SHORT_READ () {219;}' unless defined(&SSL_R_SHORT_READ);
    eval 'sub SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE () {220;}' unless defined(&SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE);
    eval 'sub SSL_R_SSL23_DOING_SESSION_ID_REUSE () {221;}' unless defined(&SSL_R_SSL23_DOING_SESSION_ID_REUSE);
    eval 'sub SSL_R_SSL2_CONNECTION_ID_TOO_LONG () {299;}' unless defined(&SSL_R_SSL2_CONNECTION_ID_TOO_LONG);
    eval 'sub SSL_R_SSL3_SESSION_ID_TOO_LONG () {300;}' unless defined(&SSL_R_SSL3_SESSION_ID_TOO_LONG);
    eval 'sub SSL_R_SSL3_SESSION_ID_TOO_SHORT () {222;}' unless defined(&SSL_R_SSL3_SESSION_ID_TOO_SHORT);
    eval 'sub SSL_R_SSLV3_ALERT_BAD_CERTIFICATE () {1042;}' unless defined(&SSL_R_SSLV3_ALERT_BAD_CERTIFICATE);
    eval 'sub SSL_R_SSLV3_ALERT_BAD_RECORD_MAC () {1020;}' unless defined(&SSL_R_SSLV3_ALERT_BAD_RECORD_MAC);
    eval 'sub SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED () {1045;}' unless defined(&SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED);
    eval 'sub SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED () {1044;}' unless defined(&SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED);
    eval 'sub SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN () {1046;}' unless defined(&SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN);
    eval 'sub SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE () {1030;}' unless defined(&SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE);
    eval 'sub SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE () {1040;}' unless defined(&SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE);
    eval 'sub SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER () {1047;}' unless defined(&SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER);
    eval 'sub SSL_R_SSLV3_ALERT_NO_CERTIFICATE () {1041;}' unless defined(&SSL_R_SSLV3_ALERT_NO_CERTIFICATE);
    eval 'sub SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE () {1010;}' unless defined(&SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE);
    eval 'sub SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE () {1043;}' unless defined(&SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE);
    eval 'sub SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION () {228;}' unless defined(&SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION);
    eval 'sub SSL_R_SSL_HANDSHAKE_FAILURE () {229;}' unless defined(&SSL_R_SSL_HANDSHAKE_FAILURE);
    eval 'sub SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS () {230;}' unless defined(&SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS);
    eval 'sub SSL_R_SSL_SESSION_ID_CALLBACK_FAILED () {301;}' unless defined(&SSL_R_SSL_SESSION_ID_CALLBACK_FAILED);
    eval 'sub SSL_R_SSL_SESSION_ID_CONFLICT () {302;}' unless defined(&SSL_R_SSL_SESSION_ID_CONFLICT);
    eval 'sub SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG () {273;}' unless defined(&SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG);
    eval 'sub SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH () {303;}' unless defined(&SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH);
    eval 'sub SSL_R_SSL_SESSION_ID_IS_DIFFERENT () {231;}' unless defined(&SSL_R_SSL_SESSION_ID_IS_DIFFERENT);
    eval 'sub SSL_R_TLSV1_ALERT_ACCESS_DENIED () {1049;}' unless defined(&SSL_R_TLSV1_ALERT_ACCESS_DENIED);
    eval 'sub SSL_R_TLSV1_ALERT_DECODE_ERROR () {1050;}' unless defined(&SSL_R_TLSV1_ALERT_DECODE_ERROR);
    eval 'sub SSL_R_TLSV1_ALERT_DECRYPTION_FAILED () {1021;}' unless defined(&SSL_R_TLSV1_ALERT_DECRYPTION_FAILED);
    eval 'sub SSL_R_TLSV1_ALERT_DECRYPT_ERROR () {1051;}' unless defined(&SSL_R_TLSV1_ALERT_DECRYPT_ERROR);
    eval 'sub SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION () {1060;}' unless defined(&SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION);
    eval 'sub SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY () {1071;}' unless defined(&SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY);
    eval 'sub SSL_R_TLSV1_ALERT_INTERNAL_ERROR () {1080;}' unless defined(&SSL_R_TLSV1_ALERT_INTERNAL_ERROR);
    eval 'sub SSL_R_TLSV1_ALERT_NO_RENEGOTIATION () {1100;}' unless defined(&SSL_R_TLSV1_ALERT_NO_RENEGOTIATION);
    eval 'sub SSL_R_TLSV1_ALERT_PROTOCOL_VERSION () {1070;}' unless defined(&SSL_R_TLSV1_ALERT_PROTOCOL_VERSION);
    eval 'sub SSL_R_TLSV1_ALERT_RECORD_OVERFLOW () {1022;}' unless defined(&SSL_R_TLSV1_ALERT_RECORD_OVERFLOW);
    eval 'sub SSL_R_TLSV1_ALERT_UNKNOWN_CA () {1048;}' unless defined(&SSL_R_TLSV1_ALERT_UNKNOWN_CA);
    eval 'sub SSL_R_TLSV1_ALERT_USER_CANCELLED () {1090;}' unless defined(&SSL_R_TLSV1_ALERT_USER_CANCELLED);
    eval 'sub SSL_R_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER () {232;}' unless defined(&SSL_R_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER);
    eval 'sub SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST () {233;}' unless defined(&SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST);
    eval 'sub SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG () {234;}' unless defined(&SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG);
    eval 'sub SSL_R_TRIED_TO_USE_UNSUPPORTED_CIPHER () {235;}' unless defined(&SSL_R_TRIED_TO_USE_UNSUPPORTED_CIPHER);
    eval 'sub SSL_R_UNABLE_TO_DECODE_DH_CERTS () {236;}' unless defined(&SSL_R_UNABLE_TO_DECODE_DH_CERTS);
    eval 'sub SSL_R_UNABLE_TO_EXTRACT_PUBLIC_KEY () {237;}' unless defined(&SSL_R_UNABLE_TO_EXTRACT_PUBLIC_KEY);
    eval 'sub SSL_R_UNABLE_TO_FIND_DH_PARAMETERS () {238;}' unless defined(&SSL_R_UNABLE_TO_FIND_DH_PARAMETERS);
    eval 'sub SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS () {239;}' unless defined(&SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS);
    eval 'sub SSL_R_UNABLE_TO_FIND_SSL_METHOD () {240;}' unless defined(&SSL_R_UNABLE_TO_FIND_SSL_METHOD);
    eval 'sub SSL_R_UNABLE_TO_LOAD_SSL2_MD5_ROUTINES () {241;}' unless defined(&SSL_R_UNABLE_TO_LOAD_SSL2_MD5_ROUTINES);
    eval 'sub SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES () {242;}' unless defined(&SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES);
    eval 'sub SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES () {243;}' unless defined(&SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES);
    eval 'sub SSL_R_UNEXPECTED_MESSAGE () {244;}' unless defined(&SSL_R_UNEXPECTED_MESSAGE);
    eval 'sub SSL_R_UNEXPECTED_RECORD () {245;}' unless defined(&SSL_R_UNEXPECTED_RECORD);
    eval 'sub SSL_R_UNINITIALIZED () {276;}' unless defined(&SSL_R_UNINITIALIZED);
    eval 'sub SSL_R_UNKNOWN_ALERT_TYPE () {246;}' unless defined(&SSL_R_UNKNOWN_ALERT_TYPE);
    eval 'sub SSL_R_UNKNOWN_CERTIFICATE_TYPE () {247;}' unless defined(&SSL_R_UNKNOWN_CERTIFICATE_TYPE);
    eval 'sub SSL_R_UNKNOWN_CIPHER_RETURNED () {248;}' unless defined(&SSL_R_UNKNOWN_CIPHER_RETURNED);
    eval 'sub SSL_R_UNKNOWN_CIPHER_TYPE () {249;}' unless defined(&SSL_R_UNKNOWN_CIPHER_TYPE);
    eval 'sub SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE () {250;}' unless defined(&SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE);
    eval 'sub SSL_R_UNKNOWN_PKEY_TYPE () {251;}' unless defined(&SSL_R_UNKNOWN_PKEY_TYPE);
    eval 'sub SSL_R_UNKNOWN_PROTOCOL () {252;}' unless defined(&SSL_R_UNKNOWN_PROTOCOL);
    eval 'sub SSL_R_UNKNOWN_REMOTE_ERROR_TYPE () {253;}' unless defined(&SSL_R_UNKNOWN_REMOTE_ERROR_TYPE);
    eval 'sub SSL_R_UNKNOWN_SSL_VERSION () {254;}' unless defined(&SSL_R_UNKNOWN_SSL_VERSION);
    eval 'sub SSL_R_UNKNOWN_STATE () {255;}' unless defined(&SSL_R_UNKNOWN_STATE);
    eval 'sub SSL_R_UNSUPPORTED_CIPHER () {256;}' unless defined(&SSL_R_UNSUPPORTED_CIPHER);
    eval 'sub SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM () {257;}' unless defined(&SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM);
    eval 'sub SSL_R_UNSUPPORTED_PROTOCOL () {258;}' unless defined(&SSL_R_UNSUPPORTED_PROTOCOL);
    eval 'sub SSL_R_UNSUPPORTED_SSL_VERSION () {259;}' unless defined(&SSL_R_UNSUPPORTED_SSL_VERSION);
    eval 'sub SSL_R_WRITE_BIO_NOT_SET () {260;}' unless defined(&SSL_R_WRITE_BIO_NOT_SET);
    eval 'sub SSL_R_WRONG_CIPHER_RETURNED () {261;}' unless defined(&SSL_R_WRONG_CIPHER_RETURNED);
    eval 'sub SSL_R_WRONG_MESSAGE_TYPE () {262;}' unless defined(&SSL_R_WRONG_MESSAGE_TYPE);
    eval 'sub SSL_R_WRONG_NUMBER_OF_KEY_BITS () {263;}' unless defined(&SSL_R_WRONG_NUMBER_OF_KEY_BITS);
    eval 'sub SSL_R_WRONG_SIGNATURE_LENGTH () {264;}' unless defined(&SSL_R_WRONG_SIGNATURE_LENGTH);
    eval 'sub SSL_R_WRONG_SIGNATURE_SIZE () {265;}' unless defined(&SSL_R_WRONG_SIGNATURE_SIZE);
    eval 'sub SSL_R_WRONG_SSL_VERSION () {266;}' unless defined(&SSL_R_WRONG_SSL_VERSION);
    eval 'sub SSL_R_WRONG_VERSION_NUMBER () {267;}' unless defined(&SSL_R_WRONG_VERSION_NUMBER);
    eval 'sub SSL_R_X509_LIB () {268;}' unless defined(&SSL_R_X509_LIB);
    eval 'sub SSL_R_X509_VERIFICATION_SETUP_PROBLEMS () {269;}' unless defined(&SSL_R_X509_VERIFICATION_SETUP_PROBLEMS);
    if(defined(&__cplusplus)) {
    }
}
1;
