require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&OPENSSL_DH_H)) {
    eval 'sub OPENSSL_DH_H () {1;}' unless defined(&OPENSSL_DH_H);
    require 'openssl/macros.ph';
    unless(defined(&OPENSSL_NO_DEPRECATED_3_0)) {
	eval 'sub HEADER_DH_H () {1;}' unless defined(&HEADER_DH_H);
    }
    require 'openssl/opensslconf.ph';
    require 'openssl/types.ph';
    if(defined(&__cplusplus)) {
    }
    require 'stdlib.ph';
    eval 'sub DH_PARAMGEN_TYPE_GENERATOR () {0;}' unless defined(&DH_PARAMGEN_TYPE_GENERATOR);
    eval 'sub DH_PARAMGEN_TYPE_FIPS_186_2 () {1;}' unless defined(&DH_PARAMGEN_TYPE_FIPS_186_2);
    eval 'sub DH_PARAMGEN_TYPE_FIPS_186_4 () {2;}' unless defined(&DH_PARAMGEN_TYPE_FIPS_186_4);
    eval 'sub DH_PARAMGEN_TYPE_GROUP () {3;}' unless defined(&DH_PARAMGEN_TYPE_GROUP);
    unless(defined(&OPENSSL_NO_DEPRECATED_3_0)) {
    }
    eval 'sub EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN () {( &EVP_PKEY_ALG_CTRL + 1);}' unless defined(&EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN);
    eval 'sub EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR () {( &EVP_PKEY_ALG_CTRL + 2);}' unless defined(&EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR);
    eval 'sub EVP_PKEY_CTRL_DH_RFC5114 () {( &EVP_PKEY_ALG_CTRL + 3);}' unless defined(&EVP_PKEY_CTRL_DH_RFC5114);
    eval 'sub EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN () {( &EVP_PKEY_ALG_CTRL + 4);}' unless defined(&EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN);
    eval 'sub EVP_PKEY_CTRL_DH_PARAMGEN_TYPE () {( &EVP_PKEY_ALG_CTRL + 5);}' unless defined(&EVP_PKEY_CTRL_DH_PARAMGEN_TYPE);
    eval 'sub EVP_PKEY_CTRL_DH_KDF_TYPE () {( &EVP_PKEY_ALG_CTRL + 6);}' unless defined(&EVP_PKEY_CTRL_DH_KDF_TYPE);
    eval 'sub EVP_PKEY_CTRL_DH_KDF_MD () {( &EVP_PKEY_ALG_CTRL + 7);}' unless defined(&EVP_PKEY_CTRL_DH_KDF_MD);
    eval 'sub EVP_PKEY_CTRL_GET_DH_KDF_MD () {( &EVP_PKEY_ALG_CTRL + 8);}' unless defined(&EVP_PKEY_CTRL_GET_DH_KDF_MD);
    eval 'sub EVP_PKEY_CTRL_DH_KDF_OUTLEN () {( &EVP_PKEY_ALG_CTRL + 9);}' unless defined(&EVP_PKEY_CTRL_DH_KDF_OUTLEN);
    eval 'sub EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN () {( &EVP_PKEY_ALG_CTRL + 10);}' unless defined(&EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN);
    eval 'sub EVP_PKEY_CTRL_DH_KDF_UKM () {( &EVP_PKEY_ALG_CTRL + 11);}' unless defined(&EVP_PKEY_CTRL_DH_KDF_UKM);
    eval 'sub EVP_PKEY_CTRL_GET_DH_KDF_UKM () {( &EVP_PKEY_ALG_CTRL + 12);}' unless defined(&EVP_PKEY_CTRL_GET_DH_KDF_UKM);
    eval 'sub EVP_PKEY_CTRL_DH_KDF_OID () {( &EVP_PKEY_ALG_CTRL + 13);}' unless defined(&EVP_PKEY_CTRL_DH_KDF_OID);
    eval 'sub EVP_PKEY_CTRL_GET_DH_KDF_OID () {( &EVP_PKEY_ALG_CTRL + 14);}' unless defined(&EVP_PKEY_CTRL_GET_DH_KDF_OID);
    eval 'sub EVP_PKEY_CTRL_DH_NID () {( &EVP_PKEY_ALG_CTRL + 15);}' unless defined(&EVP_PKEY_CTRL_DH_NID);
    eval 'sub EVP_PKEY_CTRL_DH_PAD () {( &EVP_PKEY_ALG_CTRL + 16);}' unless defined(&EVP_PKEY_CTRL_DH_PAD);
    eval 'sub EVP_PKEY_DH_KDF_NONE () {1;}' unless defined(&EVP_PKEY_DH_KDF_NONE);
    eval 'sub EVP_PKEY_DH_KDF_X9_42 () {2;}' unless defined(&EVP_PKEY_DH_KDF_X9_42);
    unless(defined(&OPENSSL_NO_DH)) {
	require 'openssl/e_os2.ph';
	require 'openssl/bio.ph';
	require 'openssl/asn1.ph';
	unless(defined(&OPENSSL_NO_DEPRECATED_1_1_0)) {
	    require 'openssl/bn.ph';
	}
	require 'openssl/dherr.ph';
	unless(defined(&OPENSSL_DH_MAX_MODULUS_BITS)) {
	    eval 'sub OPENSSL_DH_MAX_MODULUS_BITS () {10000;}' unless defined(&OPENSSL_DH_MAX_MODULUS_BITS);
	}
	unless(defined(&OPENSSL_DH_CHECK_MAX_MODULUS_BITS)) {
	    eval 'sub OPENSSL_DH_CHECK_MAX_MODULUS_BITS () {32768;}' unless defined(&OPENSSL_DH_CHECK_MAX_MODULUS_BITS);
	}
	eval 'sub OPENSSL_DH_FIPS_MIN_MODULUS_BITS () {1024;}' unless defined(&OPENSSL_DH_FIPS_MIN_MODULUS_BITS);
	eval 'sub DH_FLAG_CACHE_MONT_P () {0x1;}' unless defined(&DH_FLAG_CACHE_MONT_P);
	eval 'sub DH_FLAG_TYPE_MASK () {0xf000;}' unless defined(&DH_FLAG_TYPE_MASK);
	eval 'sub DH_FLAG_TYPE_DH () {0x;}' unless defined(&DH_FLAG_TYPE_DH);
	eval 'sub DH_FLAG_TYPE_DHX () {0x1000;}' unless defined(&DH_FLAG_TYPE_DHX);
	unless(defined(&OPENSSL_NO_DEPRECATED_1_1_0)) {
	    eval 'sub DH_FLAG_NO_EXP_CONSTTIME () {0x;}' unless defined(&DH_FLAG_NO_EXP_CONSTTIME);
	}
	unless(defined(&OPENSSL_NO_DEPRECATED_3_0)) {
	    eval 'sub DH_FLAG_FIPS_METHOD () {0x400;}' unless defined(&DH_FLAG_FIPS_METHOD);
	    eval 'sub DH_FLAG_NON_FIPS_ALLOW () {0x400;}' unless defined(&DH_FLAG_NON_FIPS_ALLOW);
	}
	unless(defined(&OPENSSL_NO_DEPRECATED_3_0)) {
	    eval 'sub DH_GENERATOR_2 () {2;}' unless defined(&DH_GENERATOR_2);
	    eval 'sub DH_GENERATOR_3 () {3;}' unless defined(&DH_GENERATOR_3);
	    eval 'sub DH_GENERATOR_5 () {5;}' unless defined(&DH_GENERATOR_5);
	    eval 'sub DH_CHECK_P_NOT_PRIME () {0x1;}' unless defined(&DH_CHECK_P_NOT_PRIME);
	    eval 'sub DH_CHECK_P_NOT_SAFE_PRIME () {0x2;}' unless defined(&DH_CHECK_P_NOT_SAFE_PRIME);
	    eval 'sub DH_UNABLE_TO_CHECK_GENERATOR () {0x4;}' unless defined(&DH_UNABLE_TO_CHECK_GENERATOR);
	    eval 'sub DH_NOT_SUITABLE_GENERATOR () {0x8;}' unless defined(&DH_NOT_SUITABLE_GENERATOR);
	    eval 'sub DH_CHECK_Q_NOT_PRIME () {0x10;}' unless defined(&DH_CHECK_Q_NOT_PRIME);
	    eval 'sub DH_CHECK_INVALID_Q_VALUE () {0x20;}' unless defined(&DH_CHECK_INVALID_Q_VALUE);
	    eval 'sub DH_CHECK_INVALID_J_VALUE () {0x40;}' unless defined(&DH_CHECK_INVALID_J_VALUE);
	    eval 'sub DH_MODULUS_TOO_SMALL () {0x80;}' unless defined(&DH_MODULUS_TOO_SMALL);
	    eval 'sub DH_MODULUS_TOO_LARGE () {0x100;}' unless defined(&DH_MODULUS_TOO_LARGE);
	    eval 'sub DH_CHECK_PUBKEY_TOO_SMALL () {0x1;}' unless defined(&DH_CHECK_PUBKEY_TOO_SMALL);
	    eval 'sub DH_CHECK_PUBKEY_TOO_LARGE () {0x2;}' unless defined(&DH_CHECK_PUBKEY_TOO_LARGE);
	    eval 'sub DH_CHECK_PUBKEY_INVALID () {0x4;}' unless defined(&DH_CHECK_PUBKEY_INVALID);
	    eval 'sub DH_CHECK_P_NOT_STRONG_PRIME () { &DH_CHECK_P_NOT_SAFE_PRIME;}' unless defined(&DH_CHECK_P_NOT_STRONG_PRIME);
	    eval 'sub d2i_DHparams_fp {
	        my($fp, $x) = @_;
    		eval q(( &DH *) &ASN1_d2i_fp(( &void *(*)( &void)) &DH_new, ( &d2i_of_void *) &d2i_DHparams, ($fp), ( &void **)($x)));
	    }' unless defined(&d2i_DHparams_fp);
	    eval 'sub i2d_DHparams_fp {
	        my($fp, $x) = @_;
    		eval q( &ASN1_i2d_fp( &i2d_DHparams, , ($x)));
	    }' unless defined(&i2d_DHparams_fp);
	    eval 'sub d2i_DHparams_bio {
	        my($bp, $x) = @_;
    		eval q( &ASN1_d2i_bio_of( &DH,  &DH_new,  &d2i_DHparams, $bp, $x));
	    }' unless defined(&d2i_DHparams_bio);
	    eval 'sub i2d_DHparams_bio {
	        my($bp, $x) = @_;
    		eval q( &ASN1_i2d_bio_of( &DH,  &i2d_DHparams, $bp, $x));
	    }' unless defined(&i2d_DHparams_bio);
	    eval 'sub d2i_DHxparams_fp {
	        my($fp, $x) = @_;
    		eval q(( &DH *) &ASN1_d2i_fp(( &void *(*)( &void)) &DH_new, ( &d2i_of_void *) &d2i_DHxparams, ($fp), ( &void **)($x)));
	    }' unless defined(&d2i_DHxparams_fp);
	    eval 'sub i2d_DHxparams_fp {
	        my($fp, $x) = @_;
    		eval q( &ASN1_i2d_fp( &i2d_DHxparams, , ($x)));
	    }' unless defined(&i2d_DHxparams_fp);
	    eval 'sub d2i_DHxparams_bio {
	        my($bp, $x) = @_;
    		eval q( &ASN1_d2i_bio_of( &DH,  &DH_new,  &d2i_DHxparams, $bp, $x));
	    }' unless defined(&d2i_DHxparams_bio);
	    eval 'sub i2d_DHxparams_bio {
	        my($bp, $x) = @_;
    		eval q( &ASN1_i2d_bio_of( &DH,  &i2d_DHxparams, $bp, $x));
	    }' unless defined(&i2d_DHxparams_bio);
	    eval 'sub DH_get_ex_new_index {
	        my($l, $p, $newf, $dupf, $freef) = @_;
    		eval q( &CRYPTO_get_ex_new_index( &CRYPTO_EX_INDEX_DH, $l, $p, $newf, $dupf, $freef));
	    }' unless defined(&DH_get_ex_new_index);
	    unless(defined(&OPENSSL_NO_STDIO)) {
	    }
	}
	unless(defined(&OPENSSL_NO_DEPRECATED_0_9_8)) {
	}
    }
    if(defined(&__cplusplus)) {
    }
}
1;
