require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&OPENSSL_ESS_H)) {
    eval 'sub OPENSSL_ESS_H () {1;}' unless defined(&OPENSSL_ESS_H);
    require 'openssl/opensslconf.ph';
    require 'openssl/safestack.ph';
    require 'openssl/x509.ph';
    require 'openssl/esserr.ph';
    if(defined(&__cplusplus)) {
    }
    eval 'sub sk_ESS_CERT_ID_num {
        my($sk) = @_;
	    eval q( &OPENSSL_sk_num( &ossl_check_const_ESS_CERT_ID_sk_type($sk)));
    }' unless defined(&sk_ESS_CERT_ID_num);
    eval 'sub sk_ESS_CERT_ID_value {
        my($sk, $idx) = @_;
	    eval q((( &ESS_CERT_ID *) &OPENSSL_sk_value( &ossl_check_const_ESS_CERT_ID_sk_type($sk), ($idx))));
    }' unless defined(&sk_ESS_CERT_ID_value);
    eval 'sub sk_ESS_CERT_ID_new {
        my($cmp) = @_;
	    eval q((( &STACK_OF( &ESS_CERT_ID) *) &OPENSSL_sk_new( &ossl_check_ESS_CERT_ID_compfunc_type($cmp))));
    }' unless defined(&sk_ESS_CERT_ID_new);
    eval 'sub sk_ESS_CERT_ID_new_null () {
        eval q((( &STACK_OF( &ESS_CERT_ID) *) &OPENSSL_sk_new_null()));
    }' unless defined(&sk_ESS_CERT_ID_new_null);
    eval 'sub sk_ESS_CERT_ID_new_reserve {
        my($cmp, $n) = @_;
	    eval q((( &STACK_OF( &ESS_CERT_ID) *) &OPENSSL_sk_new_reserve( &ossl_check_ESS_CERT_ID_compfunc_type($cmp), ($n))));
    }' unless defined(&sk_ESS_CERT_ID_new_reserve);
    eval 'sub sk_ESS_CERT_ID_reserve {
        my($sk, $n) = @_;
	    eval q( &OPENSSL_sk_reserve( &ossl_check_ESS_CERT_ID_sk_type($sk), ($n)));
    }' unless defined(&sk_ESS_CERT_ID_reserve);
    eval 'sub sk_ESS_CERT_ID_free {
        my($sk) = @_;
	    eval q( &OPENSSL_sk_free( &ossl_check_ESS_CERT_ID_sk_type($sk)));
    }' unless defined(&sk_ESS_CERT_ID_free);
    eval 'sub sk_ESS_CERT_ID_zero {
        my($sk) = @_;
	    eval q( &OPENSSL_sk_zero( &ossl_check_ESS_CERT_ID_sk_type($sk)));
    }' unless defined(&sk_ESS_CERT_ID_zero);
    eval 'sub sk_ESS_CERT_ID_delete {
        my($sk, $i) = @_;
	    eval q((( &ESS_CERT_ID *) &OPENSSL_sk_delete( &ossl_check_ESS_CERT_ID_sk_type($sk), ($i))));
    }' unless defined(&sk_ESS_CERT_ID_delete);
    eval 'sub sk_ESS_CERT_ID_delete_ptr {
        my($sk, $ptr) = @_;
	    eval q((( &ESS_CERT_ID *) &OPENSSL_sk_delete_ptr( &ossl_check_ESS_CERT_ID_sk_type($sk),  &ossl_check_ESS_CERT_ID_type($ptr))));
    }' unless defined(&sk_ESS_CERT_ID_delete_ptr);
    eval 'sub sk_ESS_CERT_ID_push {
        my($sk, $ptr) = @_;
	    eval q( &OPENSSL_sk_push( &ossl_check_ESS_CERT_ID_sk_type($sk),  &ossl_check_ESS_CERT_ID_type($ptr)));
    }' unless defined(&sk_ESS_CERT_ID_push);
    eval 'sub sk_ESS_CERT_ID_unshift {
        my($sk, $ptr) = @_;
	    eval q( &OPENSSL_sk_unshift( &ossl_check_ESS_CERT_ID_sk_type($sk),  &ossl_check_ESS_CERT_ID_type($ptr)));
    }' unless defined(&sk_ESS_CERT_ID_unshift);
    eval 'sub sk_ESS_CERT_ID_pop {
        my($sk) = @_;
	    eval q((( &ESS_CERT_ID *) &OPENSSL_sk_pop( &ossl_check_ESS_CERT_ID_sk_type($sk))));
    }' unless defined(&sk_ESS_CERT_ID_pop);
    eval 'sub sk_ESS_CERT_ID_shift {
        my($sk) = @_;
	    eval q((( &ESS_CERT_ID *) &OPENSSL_sk_shift( &ossl_check_ESS_CERT_ID_sk_type($sk))));
    }' unless defined(&sk_ESS_CERT_ID_shift);
    eval 'sub sk_ESS_CERT_ID_pop_free {
        my($sk, $freefunc) = @_;
	    eval q( &OPENSSL_sk_pop_free( &ossl_check_ESS_CERT_ID_sk_type($sk), &ossl_check_ESS_CERT_ID_freefunc_type($freefunc)));
    }' unless defined(&sk_ESS_CERT_ID_pop_free);
    eval 'sub sk_ESS_CERT_ID_insert {
        my($sk, $ptr, $idx) = @_;
	    eval q( &OPENSSL_sk_insert( &ossl_check_ESS_CERT_ID_sk_type($sk),  &ossl_check_ESS_CERT_ID_type($ptr), ($idx)));
    }' unless defined(&sk_ESS_CERT_ID_insert);
    eval 'sub sk_ESS_CERT_ID_set {
        my($sk, $idx, $ptr) = @_;
	    eval q((( &ESS_CERT_ID *) &OPENSSL_sk_set( &ossl_check_ESS_CERT_ID_sk_type($sk), ($idx),  &ossl_check_ESS_CERT_ID_type($ptr))));
    }' unless defined(&sk_ESS_CERT_ID_set);
    eval 'sub sk_ESS_CERT_ID_find {
        my($sk, $ptr) = @_;
	    eval q( &OPENSSL_sk_find( &ossl_check_ESS_CERT_ID_sk_type($sk),  &ossl_check_ESS_CERT_ID_type($ptr)));
    }' unless defined(&sk_ESS_CERT_ID_find);
    eval 'sub sk_ESS_CERT_ID_find_ex {
        my($sk, $ptr) = @_;
	    eval q( &OPENSSL_sk_find_ex( &ossl_check_ESS_CERT_ID_sk_type($sk),  &ossl_check_ESS_CERT_ID_type($ptr)));
    }' unless defined(&sk_ESS_CERT_ID_find_ex);
    eval 'sub sk_ESS_CERT_ID_find_all {
        my($sk, $ptr, $pnum) = @_;
	    eval q( &OPENSSL_sk_find_all( &ossl_check_ESS_CERT_ID_sk_type($sk),  &ossl_check_ESS_CERT_ID_type($ptr), $pnum));
    }' unless defined(&sk_ESS_CERT_ID_find_all);
    eval 'sub sk_ESS_CERT_ID_sort {
        my($sk) = @_;
	    eval q( &OPENSSL_sk_sort( &ossl_check_ESS_CERT_ID_sk_type($sk)));
    }' unless defined(&sk_ESS_CERT_ID_sort);
    eval 'sub sk_ESS_CERT_ID_is_sorted {
        my($sk) = @_;
	    eval q( &OPENSSL_sk_is_sorted( &ossl_check_const_ESS_CERT_ID_sk_type($sk)));
    }' unless defined(&sk_ESS_CERT_ID_is_sorted);
    eval 'sub sk_ESS_CERT_ID_dup {
        my($sk) = @_;
	    eval q((( &STACK_OF( &ESS_CERT_ID) *) &OPENSSL_sk_dup( &ossl_check_const_ESS_CERT_ID_sk_type($sk))));
    }' unless defined(&sk_ESS_CERT_ID_dup);
    eval 'sub sk_ESS_CERT_ID_deep_copy {
        my($sk, $copyfunc, $freefunc) = @_;
	    eval q((( &STACK_OF( &ESS_CERT_ID) *) &OPENSSL_sk_deep_copy( &ossl_check_const_ESS_CERT_ID_sk_type($sk),  &ossl_check_ESS_CERT_ID_copyfunc_type($copyfunc),  &ossl_check_ESS_CERT_ID_freefunc_type($freefunc))));
    }' unless defined(&sk_ESS_CERT_ID_deep_copy);
    eval 'sub sk_ESS_CERT_ID_set_cmp_func {
        my($sk, $cmp) = @_;
	    eval q((( &sk_ESS_CERT_ID_compfunc) &OPENSSL_sk_set_cmp_func( &ossl_check_ESS_CERT_ID_sk_type($sk),  &ossl_check_ESS_CERT_ID_compfunc_type($cmp))));
    }' unless defined(&sk_ESS_CERT_ID_set_cmp_func);
    eval 'sub sk_ESS_CERT_ID_V2_num {
        my($sk) = @_;
	    eval q( &OPENSSL_sk_num( &ossl_check_const_ESS_CERT_ID_V2_sk_type($sk)));
    }' unless defined(&sk_ESS_CERT_ID_V2_num);
    eval 'sub sk_ESS_CERT_ID_V2_value {
        my($sk, $idx) = @_;
	    eval q((( &ESS_CERT_ID_V2 *) &OPENSSL_sk_value( &ossl_check_const_ESS_CERT_ID_V2_sk_type($sk), ($idx))));
    }' unless defined(&sk_ESS_CERT_ID_V2_value);
    eval 'sub sk_ESS_CERT_ID_V2_new {
        my($cmp) = @_;
	    eval q((( &STACK_OF( &ESS_CERT_ID_V2) *) &OPENSSL_sk_new( &ossl_check_ESS_CERT_ID_V2_compfunc_type($cmp))));
    }' unless defined(&sk_ESS_CERT_ID_V2_new);
    eval 'sub sk_ESS_CERT_ID_V2_new_null () {
        eval q((( &STACK_OF( &ESS_CERT_ID_V2) *) &OPENSSL_sk_new_null()));
    }' unless defined(&sk_ESS_CERT_ID_V2_new_null);
    eval 'sub sk_ESS_CERT_ID_V2_new_reserve {
        my($cmp, $n) = @_;
	    eval q((( &STACK_OF( &ESS_CERT_ID_V2) *) &OPENSSL_sk_new_reserve( &ossl_check_ESS_CERT_ID_V2_compfunc_type($cmp), ($n))));
    }' unless defined(&sk_ESS_CERT_ID_V2_new_reserve);
    eval 'sub sk_ESS_CERT_ID_V2_reserve {
        my($sk, $n) = @_;
	    eval q( &OPENSSL_sk_reserve( &ossl_check_ESS_CERT_ID_V2_sk_type($sk), ($n)));
    }' unless defined(&sk_ESS_CERT_ID_V2_reserve);
    eval 'sub sk_ESS_CERT_ID_V2_free {
        my($sk) = @_;
	    eval q( &OPENSSL_sk_free( &ossl_check_ESS_CERT_ID_V2_sk_type($sk)));
    }' unless defined(&sk_ESS_CERT_ID_V2_free);
    eval 'sub sk_ESS_CERT_ID_V2_zero {
        my($sk) = @_;
	    eval q( &OPENSSL_sk_zero( &ossl_check_ESS_CERT_ID_V2_sk_type($sk)));
    }' unless defined(&sk_ESS_CERT_ID_V2_zero);
    eval 'sub sk_ESS_CERT_ID_V2_delete {
        my($sk, $i) = @_;
	    eval q((( &ESS_CERT_ID_V2 *) &OPENSSL_sk_delete( &ossl_check_ESS_CERT_ID_V2_sk_type($sk), ($i))));
    }' unless defined(&sk_ESS_CERT_ID_V2_delete);
    eval 'sub sk_ESS_CERT_ID_V2_delete_ptr {
        my($sk, $ptr) = @_;
	    eval q((( &ESS_CERT_ID_V2 *) &OPENSSL_sk_delete_ptr( &ossl_check_ESS_CERT_ID_V2_sk_type($sk),  &ossl_check_ESS_CERT_ID_V2_type($ptr))));
    }' unless defined(&sk_ESS_CERT_ID_V2_delete_ptr);
    eval 'sub sk_ESS_CERT_ID_V2_push {
        my($sk, $ptr) = @_;
	    eval q( &OPENSSL_sk_push( &ossl_check_ESS_CERT_ID_V2_sk_type($sk),  &ossl_check_ESS_CERT_ID_V2_type($ptr)));
    }' unless defined(&sk_ESS_CERT_ID_V2_push);
    eval 'sub sk_ESS_CERT_ID_V2_unshift {
        my($sk, $ptr) = @_;
	    eval q( &OPENSSL_sk_unshift( &ossl_check_ESS_CERT_ID_V2_sk_type($sk),  &ossl_check_ESS_CERT_ID_V2_type($ptr)));
    }' unless defined(&sk_ESS_CERT_ID_V2_unshift);
    eval 'sub sk_ESS_CERT_ID_V2_pop {
        my($sk) = @_;
	    eval q((( &ESS_CERT_ID_V2 *) &OPENSSL_sk_pop( &ossl_check_ESS_CERT_ID_V2_sk_type($sk))));
    }' unless defined(&sk_ESS_CERT_ID_V2_pop);
    eval 'sub sk_ESS_CERT_ID_V2_shift {
        my($sk) = @_;
	    eval q((( &ESS_CERT_ID_V2 *) &OPENSSL_sk_shift( &ossl_check_ESS_CERT_ID_V2_sk_type($sk))));
    }' unless defined(&sk_ESS_CERT_ID_V2_shift);
    eval 'sub sk_ESS_CERT_ID_V2_pop_free {
        my($sk, $freefunc) = @_;
	    eval q( &OPENSSL_sk_pop_free( &ossl_check_ESS_CERT_ID_V2_sk_type($sk), &ossl_check_ESS_CERT_ID_V2_freefunc_type($freefunc)));
    }' unless defined(&sk_ESS_CERT_ID_V2_pop_free);
    eval 'sub sk_ESS_CERT_ID_V2_insert {
        my($sk, $ptr, $idx) = @_;
	    eval q( &OPENSSL_sk_insert( &ossl_check_ESS_CERT_ID_V2_sk_type($sk),  &ossl_check_ESS_CERT_ID_V2_type($ptr), ($idx)));
    }' unless defined(&sk_ESS_CERT_ID_V2_insert);
    eval 'sub sk_ESS_CERT_ID_V2_set {
        my($sk, $idx, $ptr) = @_;
	    eval q((( &ESS_CERT_ID_V2 *) &OPENSSL_sk_set( &ossl_check_ESS_CERT_ID_V2_sk_type($sk), ($idx),  &ossl_check_ESS_CERT_ID_V2_type($ptr))));
    }' unless defined(&sk_ESS_CERT_ID_V2_set);
    eval 'sub sk_ESS_CERT_ID_V2_find {
        my($sk, $ptr) = @_;
	    eval q( &OPENSSL_sk_find( &ossl_check_ESS_CERT_ID_V2_sk_type($sk),  &ossl_check_ESS_CERT_ID_V2_type($ptr)));
    }' unless defined(&sk_ESS_CERT_ID_V2_find);
    eval 'sub sk_ESS_CERT_ID_V2_find_ex {
        my($sk, $ptr) = @_;
	    eval q( &OPENSSL_sk_find_ex( &ossl_check_ESS_CERT_ID_V2_sk_type($sk),  &ossl_check_ESS_CERT_ID_V2_type($ptr)));
    }' unless defined(&sk_ESS_CERT_ID_V2_find_ex);
    eval 'sub sk_ESS_CERT_ID_V2_find_all {
        my($sk, $ptr, $pnum) = @_;
	    eval q( &OPENSSL_sk_find_all( &ossl_check_ESS_CERT_ID_V2_sk_type($sk),  &ossl_check_ESS_CERT_ID_V2_type($ptr), $pnum));
    }' unless defined(&sk_ESS_CERT_ID_V2_find_all);
    eval 'sub sk_ESS_CERT_ID_V2_sort {
        my($sk) = @_;
	    eval q( &OPENSSL_sk_sort( &ossl_check_ESS_CERT_ID_V2_sk_type($sk)));
    }' unless defined(&sk_ESS_CERT_ID_V2_sort);
    eval 'sub sk_ESS_CERT_ID_V2_is_sorted {
        my($sk) = @_;
	    eval q( &OPENSSL_sk_is_sorted( &ossl_check_const_ESS_CERT_ID_V2_sk_type($sk)));
    }' unless defined(&sk_ESS_CERT_ID_V2_is_sorted);
    eval 'sub sk_ESS_CERT_ID_V2_dup {
        my($sk) = @_;
	    eval q((( &STACK_OF( &ESS_CERT_ID_V2) *) &OPENSSL_sk_dup( &ossl_check_const_ESS_CERT_ID_V2_sk_type($sk))));
    }' unless defined(&sk_ESS_CERT_ID_V2_dup);
    eval 'sub sk_ESS_CERT_ID_V2_deep_copy {
        my($sk, $copyfunc, $freefunc) = @_;
	    eval q((( &STACK_OF( &ESS_CERT_ID_V2) *) &OPENSSL_sk_deep_copy( &ossl_check_const_ESS_CERT_ID_V2_sk_type($sk),  &ossl_check_ESS_CERT_ID_V2_copyfunc_type($copyfunc),  &ossl_check_ESS_CERT_ID_V2_freefunc_type($freefunc))));
    }' unless defined(&sk_ESS_CERT_ID_V2_deep_copy);
    eval 'sub sk_ESS_CERT_ID_V2_set_cmp_func {
        my($sk, $cmp) = @_;
	    eval q((( &sk_ESS_CERT_ID_V2_compfunc) &OPENSSL_sk_set_cmp_func( &ossl_check_ESS_CERT_ID_V2_sk_type($sk),  &ossl_check_ESS_CERT_ID_V2_compfunc_type($cmp))));
    }' unless defined(&sk_ESS_CERT_ID_V2_set_cmp_func);
    if(defined(&__cplusplus)) {
    }
}
1;
