require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&OPENSSL_SSL3_H)) {
    eval 'sub OPENSSL_SSL3_H () {1;}' unless defined(&OPENSSL_SSL3_H);
    require 'openssl/macros.ph';
    unless(defined(&OPENSSL_NO_DEPRECATED_3_0)) {
	eval 'sub HEADER_SSL3_H () {1;}' unless defined(&HEADER_SSL3_H);
    }
    require 'openssl/comp.ph';
    require 'openssl/buffer.ph';
    require 'openssl/evp.ph';
    require 'openssl/ssl.ph';
    if(defined(&__cplusplus)) {
    }
    eval 'sub SSL3_CK_SCSV () {0x30000ff;}' unless defined(&SSL3_CK_SCSV);
    eval 'sub SSL3_CK_FALLBACK_SCSV () {0x3005600;}' unless defined(&SSL3_CK_FALLBACK_SCSV);
    eval 'sub SSL3_CK_RSA_NULL_MD5 () {0x3000001;}' unless defined(&SSL3_CK_RSA_NULL_MD5);
    eval 'sub SSL3_CK_RSA_NULL_SHA () {0x3000002;}' unless defined(&SSL3_CK_RSA_NULL_SHA);
    eval 'sub SSL3_CK_RSA_RC4_40_MD5 () {0x3000003;}' unless defined(&SSL3_CK_RSA_RC4_40_MD5);
    eval 'sub SSL3_CK_RSA_RC4_128_MD5 () {0x3000004;}' unless defined(&SSL3_CK_RSA_RC4_128_MD5);
    eval 'sub SSL3_CK_RSA_RC4_128_SHA () {0x3000005;}' unless defined(&SSL3_CK_RSA_RC4_128_SHA);
    eval 'sub SSL3_CK_RSA_RC2_40_MD5 () {0x3000006;}' unless defined(&SSL3_CK_RSA_RC2_40_MD5);
    eval 'sub SSL3_CK_RSA_IDEA_128_SHA () {0x3000007;}' unless defined(&SSL3_CK_RSA_IDEA_128_SHA);
    eval 'sub SSL3_CK_RSA_DES_40_CBC_SHA () {0x3000008;}' unless defined(&SSL3_CK_RSA_DES_40_CBC_SHA);
    eval 'sub SSL3_CK_RSA_DES_64_CBC_SHA () {0x3000009;}' unless defined(&SSL3_CK_RSA_DES_64_CBC_SHA);
    eval 'sub SSL3_CK_RSA_DES_192_CBC3_SHA () {0x300000a;}' unless defined(&SSL3_CK_RSA_DES_192_CBC3_SHA);
    eval 'sub SSL3_CK_DH_DSS_DES_40_CBC_SHA () {0x300000b;}' unless defined(&SSL3_CK_DH_DSS_DES_40_CBC_SHA);
    eval 'sub SSL3_CK_DH_DSS_DES_64_CBC_SHA () {0x300000c;}' unless defined(&SSL3_CK_DH_DSS_DES_64_CBC_SHA);
    eval 'sub SSL3_CK_DH_DSS_DES_192_CBC3_SHA () {0x300000d;}' unless defined(&SSL3_CK_DH_DSS_DES_192_CBC3_SHA);
    eval 'sub SSL3_CK_DH_RSA_DES_40_CBC_SHA () {0x300000e;}' unless defined(&SSL3_CK_DH_RSA_DES_40_CBC_SHA);
    eval 'sub SSL3_CK_DH_RSA_DES_64_CBC_SHA () {0x300000f;}' unless defined(&SSL3_CK_DH_RSA_DES_64_CBC_SHA);
    eval 'sub SSL3_CK_DH_RSA_DES_192_CBC3_SHA () {0x3000010;}' unless defined(&SSL3_CK_DH_RSA_DES_192_CBC3_SHA);
    eval 'sub SSL3_CK_DHE_DSS_DES_40_CBC_SHA () {0x3000011;}' unless defined(&SSL3_CK_DHE_DSS_DES_40_CBC_SHA);
    eval 'sub SSL3_CK_EDH_DSS_DES_40_CBC_SHA () { &SSL3_CK_DHE_DSS_DES_40_CBC_SHA;}' unless defined(&SSL3_CK_EDH_DSS_DES_40_CBC_SHA);
    eval 'sub SSL3_CK_DHE_DSS_DES_64_CBC_SHA () {0x3000012;}' unless defined(&SSL3_CK_DHE_DSS_DES_64_CBC_SHA);
    eval 'sub SSL3_CK_EDH_DSS_DES_64_CBC_SHA () { &SSL3_CK_DHE_DSS_DES_64_CBC_SHA;}' unless defined(&SSL3_CK_EDH_DSS_DES_64_CBC_SHA);
    eval 'sub SSL3_CK_DHE_DSS_DES_192_CBC3_SHA () {0x3000013;}' unless defined(&SSL3_CK_DHE_DSS_DES_192_CBC3_SHA);
    eval 'sub SSL3_CK_EDH_DSS_DES_192_CBC3_SHA () { &SSL3_CK_DHE_DSS_DES_192_CBC3_SHA;}' unless defined(&SSL3_CK_EDH_DSS_DES_192_CBC3_SHA);
    eval 'sub SSL3_CK_DHE_RSA_DES_40_CBC_SHA () {0x3000014;}' unless defined(&SSL3_CK_DHE_RSA_DES_40_CBC_SHA);
    eval 'sub SSL3_CK_EDH_RSA_DES_40_CBC_SHA () { &SSL3_CK_DHE_RSA_DES_40_CBC_SHA;}' unless defined(&SSL3_CK_EDH_RSA_DES_40_CBC_SHA);
    eval 'sub SSL3_CK_DHE_RSA_DES_64_CBC_SHA () {0x3000015;}' unless defined(&SSL3_CK_DHE_RSA_DES_64_CBC_SHA);
    eval 'sub SSL3_CK_EDH_RSA_DES_64_CBC_SHA () { &SSL3_CK_DHE_RSA_DES_64_CBC_SHA;}' unless defined(&SSL3_CK_EDH_RSA_DES_64_CBC_SHA);
    eval 'sub SSL3_CK_DHE_RSA_DES_192_CBC3_SHA () {0x3000016;}' unless defined(&SSL3_CK_DHE_RSA_DES_192_CBC3_SHA);
    eval 'sub SSL3_CK_EDH_RSA_DES_192_CBC3_SHA () { &SSL3_CK_DHE_RSA_DES_192_CBC3_SHA;}' unless defined(&SSL3_CK_EDH_RSA_DES_192_CBC3_SHA);
    eval 'sub SSL3_CK_ADH_RC4_40_MD5 () {0x3000017;}' unless defined(&SSL3_CK_ADH_RC4_40_MD5);
    eval 'sub SSL3_CK_ADH_RC4_128_MD5 () {0x3000018;}' unless defined(&SSL3_CK_ADH_RC4_128_MD5);
    eval 'sub SSL3_CK_ADH_DES_40_CBC_SHA () {0x3000019;}' unless defined(&SSL3_CK_ADH_DES_40_CBC_SHA);
    eval 'sub SSL3_CK_ADH_DES_64_CBC_SHA () {0x300001a;}' unless defined(&SSL3_CK_ADH_DES_64_CBC_SHA);
    eval 'sub SSL3_CK_ADH_DES_192_CBC_SHA () {0x300001b;}' unless defined(&SSL3_CK_ADH_DES_192_CBC_SHA);
    eval 'sub SSL3_RFC_RSA_NULL_MD5 () {"TLS_RSA_WITH_NULL_MD5";}' unless defined(&SSL3_RFC_RSA_NULL_MD5);
    eval 'sub SSL3_RFC_RSA_NULL_SHA () {"TLS_RSA_WITH_NULL_SHA";}' unless defined(&SSL3_RFC_RSA_NULL_SHA);
    eval 'sub SSL3_RFC_RSA_DES_192_CBC3_SHA () {"TLS_RSA_WITH_3DES_EDE_CBC_SHA";}' unless defined(&SSL3_RFC_RSA_DES_192_CBC3_SHA);
    eval 'sub SSL3_RFC_DHE_DSS_DES_192_CBC3_SHA () {"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA";}' unless defined(&SSL3_RFC_DHE_DSS_DES_192_CBC3_SHA);
    eval 'sub SSL3_RFC_DHE_RSA_DES_192_CBC3_SHA () {"TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA";}' unless defined(&SSL3_RFC_DHE_RSA_DES_192_CBC3_SHA);
    eval 'sub SSL3_RFC_ADH_DES_192_CBC_SHA () {"TLS_DH_anon_WITH_3DES_EDE_CBC_SHA";}' unless defined(&SSL3_RFC_ADH_DES_192_CBC_SHA);
    eval 'sub SSL3_RFC_RSA_IDEA_128_SHA () {"TLS_RSA_WITH_IDEA_CBC_SHA";}' unless defined(&SSL3_RFC_RSA_IDEA_128_SHA);
    eval 'sub SSL3_RFC_RSA_RC4_128_MD5 () {"TLS_RSA_WITH_RC4_128_MD5";}' unless defined(&SSL3_RFC_RSA_RC4_128_MD5);
    eval 'sub SSL3_RFC_RSA_RC4_128_SHA () {"TLS_RSA_WITH_RC4_128_SHA";}' unless defined(&SSL3_RFC_RSA_RC4_128_SHA);
    eval 'sub SSL3_RFC_ADH_RC4_128_MD5 () {"TLS_DH_anon_WITH_RC4_128_MD5";}' unless defined(&SSL3_RFC_ADH_RC4_128_MD5);
    eval 'sub SSL3_TXT_RSA_NULL_MD5 () {"NULL-MD5";}' unless defined(&SSL3_TXT_RSA_NULL_MD5);
    eval 'sub SSL3_TXT_RSA_NULL_SHA () {"NULL-SHA";}' unless defined(&SSL3_TXT_RSA_NULL_SHA);
    eval 'sub SSL3_TXT_RSA_RC4_40_MD5 () {"EXP-RC4-MD5";}' unless defined(&SSL3_TXT_RSA_RC4_40_MD5);
    eval 'sub SSL3_TXT_RSA_RC4_128_MD5 () {"RC4-MD5";}' unless defined(&SSL3_TXT_RSA_RC4_128_MD5);
    eval 'sub SSL3_TXT_RSA_RC4_128_SHA () {"RC4-SHA";}' unless defined(&SSL3_TXT_RSA_RC4_128_SHA);
    eval 'sub SSL3_TXT_RSA_RC2_40_MD5 () {"EXP-RC2-CBC-MD5";}' unless defined(&SSL3_TXT_RSA_RC2_40_MD5);
    eval 'sub SSL3_TXT_RSA_IDEA_128_SHA () {"IDEA-CBC-SHA";}' unless defined(&SSL3_TXT_RSA_IDEA_128_SHA);
    eval 'sub SSL3_TXT_RSA_DES_40_CBC_SHA () {"EXP-DES-CBC-SHA";}' unless defined(&SSL3_TXT_RSA_DES_40_CBC_SHA);
    eval 'sub SSL3_TXT_RSA_DES_64_CBC_SHA () {"DES-CBC-SHA";}' unless defined(&SSL3_TXT_RSA_DES_64_CBC_SHA);
    eval 'sub SSL3_TXT_RSA_DES_192_CBC3_SHA () {"DES-CBC3-SHA";}' unless defined(&SSL3_TXT_RSA_DES_192_CBC3_SHA);
    eval 'sub SSL3_TXT_DH_DSS_DES_40_CBC_SHA () {"EXP-DH-DSS-DES-CBC-SHA";}' unless defined(&SSL3_TXT_DH_DSS_DES_40_CBC_SHA);
    eval 'sub SSL3_TXT_DH_DSS_DES_64_CBC_SHA () {"DH-DSS-DES-CBC-SHA";}' unless defined(&SSL3_TXT_DH_DSS_DES_64_CBC_SHA);
    eval 'sub SSL3_TXT_DH_DSS_DES_192_CBC3_SHA () {"DH-DSS-DES-CBC3-SHA";}' unless defined(&SSL3_TXT_DH_DSS_DES_192_CBC3_SHA);
    eval 'sub SSL3_TXT_DH_RSA_DES_40_CBC_SHA () {"EXP-DH-RSA-DES-CBC-SHA";}' unless defined(&SSL3_TXT_DH_RSA_DES_40_CBC_SHA);
    eval 'sub SSL3_TXT_DH_RSA_DES_64_CBC_SHA () {"DH-RSA-DES-CBC-SHA";}' unless defined(&SSL3_TXT_DH_RSA_DES_64_CBC_SHA);
    eval 'sub SSL3_TXT_DH_RSA_DES_192_CBC3_SHA () {"DH-RSA-DES-CBC3-SHA";}' unless defined(&SSL3_TXT_DH_RSA_DES_192_CBC3_SHA);
    eval 'sub SSL3_TXT_DHE_DSS_DES_40_CBC_SHA () {"EXP-DHE-DSS-DES-CBC-SHA";}' unless defined(&SSL3_TXT_DHE_DSS_DES_40_CBC_SHA);
    eval 'sub SSL3_TXT_DHE_DSS_DES_64_CBC_SHA () {"DHE-DSS-DES-CBC-SHA";}' unless defined(&SSL3_TXT_DHE_DSS_DES_64_CBC_SHA);
    eval 'sub SSL3_TXT_DHE_DSS_DES_192_CBC3_SHA () {"DHE-DSS-DES-CBC3-SHA";}' unless defined(&SSL3_TXT_DHE_DSS_DES_192_CBC3_SHA);
    eval 'sub SSL3_TXT_DHE_RSA_DES_40_CBC_SHA () {"EXP-DHE-RSA-DES-CBC-SHA";}' unless defined(&SSL3_TXT_DHE_RSA_DES_40_CBC_SHA);
    eval 'sub SSL3_TXT_DHE_RSA_DES_64_CBC_SHA () {"DHE-RSA-DES-CBC-SHA";}' unless defined(&SSL3_TXT_DHE_RSA_DES_64_CBC_SHA);
    eval 'sub SSL3_TXT_DHE_RSA_DES_192_CBC3_SHA () {"DHE-RSA-DES-CBC3-SHA";}' unless defined(&SSL3_TXT_DHE_RSA_DES_192_CBC3_SHA);
    eval 'sub SSL3_TXT_EDH_DSS_DES_40_CBC_SHA () {"EXP-EDH-DSS-DES-CBC-SHA";}' unless defined(&SSL3_TXT_EDH_DSS_DES_40_CBC_SHA);
    eval 'sub SSL3_TXT_EDH_DSS_DES_64_CBC_SHA () {"EDH-DSS-DES-CBC-SHA";}' unless defined(&SSL3_TXT_EDH_DSS_DES_64_CBC_SHA);
    eval 'sub SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA () {"EDH-DSS-DES-CBC3-SHA";}' unless defined(&SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA);
    eval 'sub SSL3_TXT_EDH_RSA_DES_40_CBC_SHA () {"EXP-EDH-RSA-DES-CBC-SHA";}' unless defined(&SSL3_TXT_EDH_RSA_DES_40_CBC_SHA);
    eval 'sub SSL3_TXT_EDH_RSA_DES_64_CBC_SHA () {"EDH-RSA-DES-CBC-SHA";}' unless defined(&SSL3_TXT_EDH_RSA_DES_64_CBC_SHA);
    eval 'sub SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA () {"EDH-RSA-DES-CBC3-SHA";}' unless defined(&SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA);
    eval 'sub SSL3_TXT_ADH_RC4_40_MD5 () {"EXP-ADH-RC4-MD5";}' unless defined(&SSL3_TXT_ADH_RC4_40_MD5);
    eval 'sub SSL3_TXT_ADH_RC4_128_MD5 () {"ADH-RC4-MD5";}' unless defined(&SSL3_TXT_ADH_RC4_128_MD5);
    eval 'sub SSL3_TXT_ADH_DES_40_CBC_SHA () {"EXP-ADH-DES-CBC-SHA";}' unless defined(&SSL3_TXT_ADH_DES_40_CBC_SHA);
    eval 'sub SSL3_TXT_ADH_DES_64_CBC_SHA () {"ADH-DES-CBC-SHA";}' unless defined(&SSL3_TXT_ADH_DES_64_CBC_SHA);
    eval 'sub SSL3_TXT_ADH_DES_192_CBC_SHA () {"ADH-DES-CBC3-SHA";}' unless defined(&SSL3_TXT_ADH_DES_192_CBC_SHA);
    eval 'sub SSL3_SSL_SESSION_ID_LENGTH () {32;}' unless defined(&SSL3_SSL_SESSION_ID_LENGTH);
    eval 'sub SSL3_MAX_SSL_SESSION_ID_LENGTH () {32;}' unless defined(&SSL3_MAX_SSL_SESSION_ID_LENGTH);
    eval 'sub SSL3_MASTER_SECRET_SIZE () {48;}' unless defined(&SSL3_MASTER_SECRET_SIZE);
    eval 'sub SSL3_RANDOM_SIZE () {32;}' unless defined(&SSL3_RANDOM_SIZE);
    eval 'sub SSL3_SESSION_ID_SIZE () {32;}' unless defined(&SSL3_SESSION_ID_SIZE);
    eval 'sub SSL3_RT_HEADER_LENGTH () {5;}' unless defined(&SSL3_RT_HEADER_LENGTH);
    eval 'sub SSL3_HM_HEADER_LENGTH () {4;}' unless defined(&SSL3_HM_HEADER_LENGTH);
    unless(defined(&SSL3_ALIGN_PAYLOAD)) {
	eval 'sub SSL3_ALIGN_PAYLOAD () {8;}' unless defined(&SSL3_ALIGN_PAYLOAD);
    } else {
	if(((defined(&SSL3_ALIGN_PAYLOAD) ? &SSL3_ALIGN_PAYLOAD : undef) & ((defined(&SSL3_ALIGN_PAYLOAD) ? &SSL3_ALIGN_PAYLOAD : undef) - 1)) != 0) {
	    die("insane SSL3_ALIGN_PAYLOAD");
	    undef(&SSL3_ALIGN_PAYLOAD) if defined(&SSL3_ALIGN_PAYLOAD);
	}
    }
    eval 'sub SSL3_RT_MAX_MD_SIZE () {64;}' unless defined(&SSL3_RT_MAX_MD_SIZE);
    eval 'sub SSL_RT_MAX_CIPHER_BLOCK_SIZE () {16;}' unless defined(&SSL_RT_MAX_CIPHER_BLOCK_SIZE);
    eval 'sub SSL3_RT_MAX_EXTRA () {(16384);}' unless defined(&SSL3_RT_MAX_EXTRA);
    eval 'sub SSL3_RT_MAX_PLAIN_LENGTH () {16384;}' unless defined(&SSL3_RT_MAX_PLAIN_LENGTH);
    eval 'sub SSL3_RT_MAX_COMPRESSED_OVERHEAD () {1024;}' unless defined(&SSL3_RT_MAX_COMPRESSED_OVERHEAD);
    eval 'sub SSL3_RT_MAX_ENCRYPTED_OVERHEAD () {(256+  &SSL3_RT_MAX_MD_SIZE);}' unless defined(&SSL3_RT_MAX_ENCRYPTED_OVERHEAD);
    eval 'sub SSL3_RT_MAX_TLS13_ENCRYPTED_OVERHEAD () {256;}' unless defined(&SSL3_RT_MAX_TLS13_ENCRYPTED_OVERHEAD);
    eval 'sub SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD () {( &SSL_RT_MAX_CIPHER_BLOCK_SIZE +  &SSL3_RT_MAX_MD_SIZE);}' unless defined(&SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD);
    if(defined(&OPENSSL_NO_COMP)) {
	eval 'sub SSL3_RT_MAX_COMPRESSED_LENGTH () { &SSL3_RT_MAX_PLAIN_LENGTH;}' unless defined(&SSL3_RT_MAX_COMPRESSED_LENGTH);
    } else {
	eval 'sub SSL3_RT_MAX_COMPRESSED_LENGTH () {( &SSL3_RT_MAX_PLAIN_LENGTH +  &SSL3_RT_MAX_COMPRESSED_OVERHEAD);}' unless defined(&SSL3_RT_MAX_COMPRESSED_LENGTH);
    }
    eval 'sub SSL3_RT_MAX_ENCRYPTED_LENGTH () {( &SSL3_RT_MAX_ENCRYPTED_OVERHEAD +  &SSL3_RT_MAX_COMPRESSED_LENGTH);}' unless defined(&SSL3_RT_MAX_ENCRYPTED_LENGTH);
    eval 'sub SSL3_RT_MAX_TLS13_ENCRYPTED_LENGTH () {( &SSL3_RT_MAX_PLAIN_LENGTH +  &SSL3_RT_MAX_TLS13_ENCRYPTED_OVERHEAD);}' unless defined(&SSL3_RT_MAX_TLS13_ENCRYPTED_LENGTH);
    eval 'sub SSL3_RT_MAX_PACKET_SIZE () {( &SSL3_RT_MAX_ENCRYPTED_LENGTH +  &SSL3_RT_HEADER_LENGTH);}' unless defined(&SSL3_RT_MAX_PACKET_SIZE);
    eval 'sub SSL3_MD_CLIENT_FINISHED_CONST () {"\\x43\\x4C\\x4E\\x54";}' unless defined(&SSL3_MD_CLIENT_FINISHED_CONST);
    eval 'sub SSL3_MD_SERVER_FINISHED_CONST () {"\\x53\\x52\\x56\\x52";}' unless defined(&SSL3_MD_SERVER_FINISHED_CONST);
    eval 'sub SSL3_VERSION_MAJOR () {0x3;}' unless defined(&SSL3_VERSION_MAJOR);
    eval 'sub SSL3_VERSION_MINOR () {0x;}' unless defined(&SSL3_VERSION_MINOR);
    eval 'sub SSL3_RT_CHANGE_CIPHER_SPEC () {20;}' unless defined(&SSL3_RT_CHANGE_CIPHER_SPEC);
    eval 'sub SSL3_RT_ALERT () {21;}' unless defined(&SSL3_RT_ALERT);
    eval 'sub SSL3_RT_HANDSHAKE () {22;}' unless defined(&SSL3_RT_HANDSHAKE);
    eval 'sub SSL3_RT_APPLICATION_DATA () {23;}' unless defined(&SSL3_RT_APPLICATION_DATA);
    eval 'sub TLS1_RT_CRYPTO () {0x1000;}' unless defined(&TLS1_RT_CRYPTO);
    eval 'sub TLS1_RT_CRYPTO_PREMASTER () {( &TLS1_RT_CRYPTO | 0x1);}' unless defined(&TLS1_RT_CRYPTO_PREMASTER);
    eval 'sub TLS1_RT_CRYPTO_CLIENT_RANDOM () {( &TLS1_RT_CRYPTO | 0x2);}' unless defined(&TLS1_RT_CRYPTO_CLIENT_RANDOM);
    eval 'sub TLS1_RT_CRYPTO_SERVER_RANDOM () {( &TLS1_RT_CRYPTO | 0x3);}' unless defined(&TLS1_RT_CRYPTO_SERVER_RANDOM);
    eval 'sub TLS1_RT_CRYPTO_MASTER () {( &TLS1_RT_CRYPTO | 0x4);}' unless defined(&TLS1_RT_CRYPTO_MASTER);
    eval 'sub TLS1_RT_CRYPTO_READ () {0x;}' unless defined(&TLS1_RT_CRYPTO_READ);
    eval 'sub TLS1_RT_CRYPTO_WRITE () {0x100;}' unless defined(&TLS1_RT_CRYPTO_WRITE);
    eval 'sub TLS1_RT_CRYPTO_MAC () {( &TLS1_RT_CRYPTO | 0x5);}' unless defined(&TLS1_RT_CRYPTO_MAC);
    eval 'sub TLS1_RT_CRYPTO_KEY () {( &TLS1_RT_CRYPTO | 0x6);}' unless defined(&TLS1_RT_CRYPTO_KEY);
    eval 'sub TLS1_RT_CRYPTO_IV () {( &TLS1_RT_CRYPTO | 0x7);}' unless defined(&TLS1_RT_CRYPTO_IV);
    eval 'sub TLS1_RT_CRYPTO_FIXED_IV () {( &TLS1_RT_CRYPTO | 0x8);}' unless defined(&TLS1_RT_CRYPTO_FIXED_IV);
    eval 'sub SSL3_RT_HEADER () {0x100;}' unless defined(&SSL3_RT_HEADER);
    eval 'sub SSL3_RT_INNER_CONTENT_TYPE () {0x101;}' unless defined(&SSL3_RT_INNER_CONTENT_TYPE);
    eval 'sub SSL3_AL_WARNING () {1;}' unless defined(&SSL3_AL_WARNING);
    eval 'sub SSL3_AL_FATAL () {2;}' unless defined(&SSL3_AL_FATAL);
    eval 'sub SSL3_AD_CLOSE_NOTIFY () {0;}' unless defined(&SSL3_AD_CLOSE_NOTIFY);
    eval 'sub SSL3_AD_UNEXPECTED_MESSAGE () {10;}' unless defined(&SSL3_AD_UNEXPECTED_MESSAGE);
    eval 'sub SSL3_AD_BAD_RECORD_MAC () {20;}' unless defined(&SSL3_AD_BAD_RECORD_MAC);
    eval 'sub SSL3_AD_DECOMPRESSION_FAILURE () {30;}' unless defined(&SSL3_AD_DECOMPRESSION_FAILURE);
    eval 'sub SSL3_AD_HANDSHAKE_FAILURE () {40;}' unless defined(&SSL3_AD_HANDSHAKE_FAILURE);
    eval 'sub SSL3_AD_NO_CERTIFICATE () {41;}' unless defined(&SSL3_AD_NO_CERTIFICATE);
    eval 'sub SSL3_AD_BAD_CERTIFICATE () {42;}' unless defined(&SSL3_AD_BAD_CERTIFICATE);
    eval 'sub SSL3_AD_UNSUPPORTED_CERTIFICATE () {43;}' unless defined(&SSL3_AD_UNSUPPORTED_CERTIFICATE);
    eval 'sub SSL3_AD_CERTIFICATE_REVOKED () {44;}' unless defined(&SSL3_AD_CERTIFICATE_REVOKED);
    eval 'sub SSL3_AD_CERTIFICATE_EXPIRED () {45;}' unless defined(&SSL3_AD_CERTIFICATE_EXPIRED);
    eval 'sub SSL3_AD_CERTIFICATE_UNKNOWN () {46;}' unless defined(&SSL3_AD_CERTIFICATE_UNKNOWN);
    eval 'sub SSL3_AD_ILLEGAL_PARAMETER () {47;}' unless defined(&SSL3_AD_ILLEGAL_PARAMETER);
    eval 'sub TLS1_HB_REQUEST () {1;}' unless defined(&TLS1_HB_REQUEST);
    eval 'sub TLS1_HB_RESPONSE () {2;}' unless defined(&TLS1_HB_RESPONSE);
    eval 'sub SSL3_CT_RSA_SIGN () {1;}' unless defined(&SSL3_CT_RSA_SIGN);
    eval 'sub SSL3_CT_DSS_SIGN () {2;}' unless defined(&SSL3_CT_DSS_SIGN);
    eval 'sub SSL3_CT_RSA_FIXED_DH () {3;}' unless defined(&SSL3_CT_RSA_FIXED_DH);
    eval 'sub SSL3_CT_DSS_FIXED_DH () {4;}' unless defined(&SSL3_CT_DSS_FIXED_DH);
    eval 'sub SSL3_CT_RSA_EPHEMERAL_DH () {5;}' unless defined(&SSL3_CT_RSA_EPHEMERAL_DH);
    eval 'sub SSL3_CT_DSS_EPHEMERAL_DH () {6;}' unless defined(&SSL3_CT_DSS_EPHEMERAL_DH);
    eval 'sub SSL3_CT_FORTEZZA_DMS () {20;}' unless defined(&SSL3_CT_FORTEZZA_DMS);
    eval 'sub SSL3_CT_NUMBER () {12;}' unless defined(&SSL3_CT_NUMBER);
    if(defined(&TLS_CT_NUMBER)) {
	if((defined(&TLS_CT_NUMBER) ? &TLS_CT_NUMBER : undef) != (defined(&SSL3_CT_NUMBER) ? &SSL3_CT_NUMBER : undef)) {
	    die("SSL/TLS CT_NUMBER values do not match");
	}
    }
    eval 'sub SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS () {0x1;}' unless defined(&SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS);
    eval 'sub TLS1_FLAGS_TLS_PADDING_BUG () {0x;}' unless defined(&TLS1_FLAGS_TLS_PADDING_BUG);
    eval 'sub TLS1_FLAGS_SKIP_CERT_VERIFY () {0x10;}' unless defined(&TLS1_FLAGS_SKIP_CERT_VERIFY);
    eval 'sub TLS1_FLAGS_ENCRYPT_THEN_MAC_READ () {0x100;}' unless defined(&TLS1_FLAGS_ENCRYPT_THEN_MAC_READ);
    eval 'sub TLS1_FLAGS_ENCRYPT_THEN_MAC () { &TLS1_FLAGS_ENCRYPT_THEN_MAC_READ;}' unless defined(&TLS1_FLAGS_ENCRYPT_THEN_MAC);
    eval 'sub TLS1_FLAGS_RECEIVED_EXTMS () {0x200;}' unless defined(&TLS1_FLAGS_RECEIVED_EXTMS);
    eval 'sub TLS1_FLAGS_ENCRYPT_THEN_MAC_WRITE () {0x400;}' unless defined(&TLS1_FLAGS_ENCRYPT_THEN_MAC_WRITE);
    eval 'sub TLS1_FLAGS_STATELESS () {0x800;}' unless defined(&TLS1_FLAGS_STATELESS);
    eval 'sub TLS1_FLAGS_REQUIRED_EXTMS () {0x1000;}' unless defined(&TLS1_FLAGS_REQUIRED_EXTMS);
    eval 'sub SSL3_MT_HELLO_REQUEST () {0;}' unless defined(&SSL3_MT_HELLO_REQUEST);
    eval 'sub SSL3_MT_CLIENT_HELLO () {1;}' unless defined(&SSL3_MT_CLIENT_HELLO);
    eval 'sub SSL3_MT_SERVER_HELLO () {2;}' unless defined(&SSL3_MT_SERVER_HELLO);
    eval 'sub SSL3_MT_NEWSESSION_TICKET () {4;}' unless defined(&SSL3_MT_NEWSESSION_TICKET);
    eval 'sub SSL3_MT_END_OF_EARLY_DATA () {5;}' unless defined(&SSL3_MT_END_OF_EARLY_DATA);
    eval 'sub SSL3_MT_ENCRYPTED_EXTENSIONS () {8;}' unless defined(&SSL3_MT_ENCRYPTED_EXTENSIONS);
    eval 'sub SSL3_MT_CERTIFICATE () {11;}' unless defined(&SSL3_MT_CERTIFICATE);
    eval 'sub SSL3_MT_SERVER_KEY_EXCHANGE () {12;}' unless defined(&SSL3_MT_SERVER_KEY_EXCHANGE);
    eval 'sub SSL3_MT_CERTIFICATE_REQUEST () {13;}' unless defined(&SSL3_MT_CERTIFICATE_REQUEST);
    eval 'sub SSL3_MT_SERVER_DONE () {14;}' unless defined(&SSL3_MT_SERVER_DONE);
    eval 'sub SSL3_MT_CERTIFICATE_VERIFY () {15;}' unless defined(&SSL3_MT_CERTIFICATE_VERIFY);
    eval 'sub SSL3_MT_CLIENT_KEY_EXCHANGE () {16;}' unless defined(&SSL3_MT_CLIENT_KEY_EXCHANGE);
    eval 'sub SSL3_MT_FINISHED () {20;}' unless defined(&SSL3_MT_FINISHED);
    eval 'sub SSL3_MT_CERTIFICATE_URL () {21;}' unless defined(&SSL3_MT_CERTIFICATE_URL);
    eval 'sub SSL3_MT_CERTIFICATE_STATUS () {22;}' unless defined(&SSL3_MT_CERTIFICATE_STATUS);
    eval 'sub SSL3_MT_SUPPLEMENTAL_DATA () {23;}' unless defined(&SSL3_MT_SUPPLEMENTAL_DATA);
    eval 'sub SSL3_MT_KEY_UPDATE () {24;}' unless defined(&SSL3_MT_KEY_UPDATE);
    unless(defined(&OPENSSL_NO_NEXTPROTONEG)) {
	eval 'sub SSL3_MT_NEXT_PROTO () {67;}' unless defined(&SSL3_MT_NEXT_PROTO);
    }
    eval 'sub SSL3_MT_MESSAGE_HASH () {254;}' unless defined(&SSL3_MT_MESSAGE_HASH);
    eval 'sub DTLS1_MT_HELLO_VERIFY_REQUEST () {3;}' unless defined(&DTLS1_MT_HELLO_VERIFY_REQUEST);
    eval 'sub SSL3_MT_CHANGE_CIPHER_SPEC () {0x101;}' unless defined(&SSL3_MT_CHANGE_CIPHER_SPEC);
    eval 'sub SSL3_MT_CCS () {1;}' unless defined(&SSL3_MT_CCS);
    eval 'sub SSL3_CC_READ () {0x1;}' unless defined(&SSL3_CC_READ);
    eval 'sub SSL3_CC_WRITE () {0x2;}' unless defined(&SSL3_CC_WRITE);
    eval 'sub SSL3_CC_CLIENT () {0x10;}' unless defined(&SSL3_CC_CLIENT);
    eval 'sub SSL3_CC_SERVER () {0x20;}' unless defined(&SSL3_CC_SERVER);
    eval 'sub SSL3_CC_EARLY () {0x40;}' unless defined(&SSL3_CC_EARLY);
    eval 'sub SSL3_CC_HANDSHAKE () {0x80;}' unless defined(&SSL3_CC_HANDSHAKE);
    eval 'sub SSL3_CC_APPLICATION () {0x100;}' unless defined(&SSL3_CC_APPLICATION);
    eval 'sub SSL3_CHANGE_CIPHER_CLIENT_WRITE () {( &SSL3_CC_CLIENT |  &SSL3_CC_WRITE);}' unless defined(&SSL3_CHANGE_CIPHER_CLIENT_WRITE);
    eval 'sub SSL3_CHANGE_CIPHER_SERVER_READ () {( &SSL3_CC_SERVER |  &SSL3_CC_READ);}' unless defined(&SSL3_CHANGE_CIPHER_SERVER_READ);
    eval 'sub SSL3_CHANGE_CIPHER_CLIENT_READ () {( &SSL3_CC_CLIENT |  &SSL3_CC_READ);}' unless defined(&SSL3_CHANGE_CIPHER_CLIENT_READ);
    eval 'sub SSL3_CHANGE_CIPHER_SERVER_WRITE () {( &SSL3_CC_SERVER |  &SSL3_CC_WRITE);}' unless defined(&SSL3_CHANGE_CIPHER_SERVER_WRITE);
    if(defined(&__cplusplus)) {
    }
}
1;
