require '_h2ph_pre.ph';

unless(defined(&HEADER_SYMHACKS_H)) {
    eval 'sub HEADER_SYMHACKS_H () {1;}' unless defined(&HEADER_SYMHACKS_H);
    if(defined(&VMS)) {
	undef(&ASN1_STRING_set_default_mask_asc) if defined(&ASN1_STRING_set_default_mask_asc);
	eval 'sub ASN1_STRING_set_default_mask_asc () { &ASN1_STRING_set_def_mask_asc;}' unless defined(&ASN1_STRING_set_default_mask_asc);
	if(0) {
	    undef(&i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO) if defined(&i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO);
	    eval 'sub i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO () { &i2d_ASN1_SET_OF_PKCS7_SIGINF;}' unless defined(&i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO);
	    undef(&d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO) if defined(&d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO);
	    eval 'sub d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO () { &d2i_ASN1_SET_OF_PKCS7_SIGINF;}' unless defined(&d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO);
	}
	if(0) {
	    undef(&i2d_ASN1_SET_OF_PKCS7_RECIP_INFO) if defined(&i2d_ASN1_SET_OF_PKCS7_RECIP_INFO);
	    eval 'sub i2d_ASN1_SET_OF_PKCS7_RECIP_INFO () { &i2d_ASN1_SET_OF_PKCS7_RECINF;}' unless defined(&i2d_ASN1_SET_OF_PKCS7_RECIP_INFO);
	    undef(&d2i_ASN1_SET_OF_PKCS7_RECIP_INFO) if defined(&d2i_ASN1_SET_OF_PKCS7_RECIP_INFO);
	    eval 'sub d2i_ASN1_SET_OF_PKCS7_RECIP_INFO () { &d2i_ASN1_SET_OF_PKCS7_RECINF;}' unless defined(&d2i_ASN1_SET_OF_PKCS7_RECIP_INFO);
	}
	if(0) {
	    undef(&i2d_ASN1_SET_OF_ACCESS_DESCRIPTION) if defined(&i2d_ASN1_SET_OF_ACCESS_DESCRIPTION);
	    eval 'sub i2d_ASN1_SET_OF_ACCESS_DESCRIPTION () { &i2d_ASN1_SET_OF_ACC_DESC;}' unless defined(&i2d_ASN1_SET_OF_ACCESS_DESCRIPTION);
	    undef(&d2i_ASN1_SET_OF_ACCESS_DESCRIPTION) if defined(&d2i_ASN1_SET_OF_ACCESS_DESCRIPTION);
	    eval 'sub d2i_ASN1_SET_OF_ACCESS_DESCRIPTION () { &d2i_ASN1_SET_OF_ACC_DESC;}' unless defined(&d2i_ASN1_SET_OF_ACCESS_DESCRIPTION);
	}
	undef(&PEM_read_NETSCAPE_CERT_SEQUENCE) if defined(&PEM_read_NETSCAPE_CERT_SEQUENCE);
	eval 'sub PEM_read_NETSCAPE_CERT_SEQUENCE () { &PEM_read_NS_CERT_SEQ;}' unless defined(&PEM_read_NETSCAPE_CERT_SEQUENCE);
	undef(&PEM_write_NETSCAPE_CERT_SEQUENCE) if defined(&PEM_write_NETSCAPE_CERT_SEQUENCE);
	eval 'sub PEM_write_NETSCAPE_CERT_SEQUENCE () { &PEM_write_NS_CERT_SEQ;}' unless defined(&PEM_write_NETSCAPE_CERT_SEQUENCE);
	undef(&PEM_read_bio_NETSCAPE_CERT_SEQUENCE) if defined(&PEM_read_bio_NETSCAPE_CERT_SEQUENCE);
	eval 'sub PEM_read_bio_NETSCAPE_CERT_SEQUENCE () { &PEM_read_bio_NS_CERT_SEQ;}' unless defined(&PEM_read_bio_NETSCAPE_CERT_SEQUENCE);
	undef(&PEM_write_bio_NETSCAPE_CERT_SEQUENCE) if defined(&PEM_write_bio_NETSCAPE_CERT_SEQUENCE);
	eval 'sub PEM_write_bio_NETSCAPE_CERT_SEQUENCE () { &PEM_write_bio_NS_CERT_SEQ;}' unless defined(&PEM_write_bio_NETSCAPE_CERT_SEQUENCE);
	undef(&PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE) if defined(&PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE);
	eval 'sub PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE () { &PEM_write_cb_bio_NS_CERT_SEQ;}' unless defined(&PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE);
	undef(&PEM_read_PKCS8_PRIV_KEY_INFO) if defined(&PEM_read_PKCS8_PRIV_KEY_INFO);
	eval 'sub PEM_read_PKCS8_PRIV_KEY_INFO () { &PEM_read_P8_PRIV_KEY_INFO;}' unless defined(&PEM_read_PKCS8_PRIV_KEY_INFO);
	undef(&PEM_write_PKCS8_PRIV_KEY_INFO) if defined(&PEM_write_PKCS8_PRIV_KEY_INFO);
	eval 'sub PEM_write_PKCS8_PRIV_KEY_INFO () { &PEM_write_P8_PRIV_KEY_INFO;}' unless defined(&PEM_write_PKCS8_PRIV_KEY_INFO);
	undef(&PEM_read_bio_PKCS8_PRIV_KEY_INFO) if defined(&PEM_read_bio_PKCS8_PRIV_KEY_INFO);
	eval 'sub PEM_read_bio_PKCS8_PRIV_KEY_INFO () { &PEM_read_bio_P8_PRIV_KEY_INFO;}' unless defined(&PEM_read_bio_PKCS8_PRIV_KEY_INFO);
	undef(&PEM_write_bio_PKCS8_PRIV_KEY_INFO) if defined(&PEM_write_bio_PKCS8_PRIV_KEY_INFO);
	eval 'sub PEM_write_bio_PKCS8_PRIV_KEY_INFO () { &PEM_write_bio_P8_PRIV_KEY_INFO;}' unless defined(&PEM_write_bio_PKCS8_PRIV_KEY_INFO);
	undef(&PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO) if defined(&PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO);
	eval 'sub PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO () { &PEM_wrt_cb_bio_P8_PRIV_KEY_INFO;}' unless defined(&PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO);
	undef(&PEM_write_bio_PKCS8PrivateKey_nid) if defined(&PEM_write_bio_PKCS8PrivateKey_nid);
	eval 'sub PEM_write_bio_PKCS8PrivateKey_nid () { &PEM_write_bio_PKCS8PrivKey_nid;}' unless defined(&PEM_write_bio_PKCS8PrivateKey_nid);
	undef(&X509_REVOKED_get_ext_by_critical) if defined(&X509_REVOKED_get_ext_by_critical);
	eval 'sub X509_REVOKED_get_ext_by_critical () { &X509_REVOKED_get_ext_by_critic;}' unless defined(&X509_REVOKED_get_ext_by_critical);
	eval 'sub CRYPTO_set_dynlock_destroy_callback () { &CRYPTO_set_dynlock_destroy_cb;}' unless defined(&CRYPTO_set_dynlock_destroy_callback);
	eval 'sub CRYPTO_set_dynlock_create_callback () { &CRYPTO_set_dynlock_create_cb;}' unless defined(&CRYPTO_set_dynlock_create_callback);
	eval 'sub CRYPTO_set_dynlock_lock_callback () { &CRYPTO_set_dynlock_lock_cb;}' unless defined(&CRYPTO_set_dynlock_lock_callback);
	eval 'sub CRYPTO_get_dynlock_lock_callback () { &CRYPTO_get_dynlock_lock_cb;}' unless defined(&CRYPTO_get_dynlock_lock_callback);
	eval 'sub CRYPTO_get_dynlock_destroy_callback () { &CRYPTO_get_dynlock_destroy_cb;}' unless defined(&CRYPTO_get_dynlock_destroy_callback);
	eval 'sub CRYPTO_get_dynlock_create_callback () { &CRYPTO_get_dynlock_create_cb;}' unless defined(&CRYPTO_get_dynlock_create_callback);
	eval 'sub SSL_CTX_set_default_verify_paths () { &SSL_CTX_set_def_verify_paths;}' unless defined(&SSL_CTX_set_default_verify_paths);
	eval 'sub SSL_get_ex_data_X509_STORE_CTX_idx () { &SSL_get_ex_d_X509_STORE_CTX_idx;}' unless defined(&SSL_get_ex_data_X509_STORE_CTX_idx);
	eval 'sub SSL_add_file_cert_subjects_to_stack () { &SSL_add_file_cert_subjs_to_stk;}' unless defined(&SSL_add_file_cert_subjects_to_stack);
	eval 'sub SSL_add_dir_cert_subjects_to_stack () { &SSL_add_dir_cert_subjs_to_stk;}' unless defined(&SSL_add_dir_cert_subjects_to_stack);
	eval 'sub SSL_CTX_use_certificate_chain_file () { &SSL_CTX_use_cert_chain_file;}' unless defined(&SSL_CTX_use_certificate_chain_file);
	eval 'sub SSL_CTX_set_cert_verify_callback () { &SSL_CTX_set_cert_verify_cb;}' unless defined(&SSL_CTX_set_cert_verify_callback);
	eval 'sub SSL_CTX_set_default_passwd_cb_userdata () { &SSL_CTX_set_def_passwd_cb_ud;}' unless defined(&SSL_CTX_set_default_passwd_cb_userdata);
	eval 'sub ENGINE_get_default_BN_mod_exp_crt () { &ENGINE_get_def_BN_mod_exp_crt;}' unless defined(&ENGINE_get_default_BN_mod_exp_crt);
	eval 'sub ENGINE_set_default_BN_mod_exp_crt () { &ENGINE_set_def_BN_mod_exp_crt;}' unless defined(&ENGINE_set_default_BN_mod_exp_crt);
    }
    if(defined( &WIN16) || defined( &VMS)) {
	undef(&ERR_load_CRYPTO_strings) if defined(&ERR_load_CRYPTO_strings);
	eval 'sub ERR_load_CRYPTO_strings () { &ERR_load_CRYPTOlib_strings;}' unless defined(&ERR_load_CRYPTO_strings);
    }
}
1;
