require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&OPENSSL_SRP_H)) {
    eval 'sub OPENSSL_SRP_H () {1;}' unless defined(&OPENSSL_SRP_H);
    require 'openssl/macros.ph';
    unless(defined(&OPENSSL_NO_DEPRECATED_3_0)) {
	eval 'sub HEADER_SRP_H () {1;}' unless defined(&HEADER_SRP_H);
    }
    require 'openssl/opensslconf.ph';
    unless(defined(&OPENSSL_NO_SRP)) {
	require 'stdio.ph';
	require 'string.ph';
	require 'openssl/safestack.ph';
	require 'openssl/bn.ph';
	require 'openssl/crypto.ph';
	if(defined(&__cplusplus)) {
	}
	unless(defined(&OPENSSL_NO_DEPRECATED_3_0)) {
	    eval 'sub sk_SRP_gN_cache_num {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_num( &ossl_check_const_SRP_gN_cache_sk_type($sk)));
	    }' unless defined(&sk_SRP_gN_cache_num);
	    eval 'sub sk_SRP_gN_cache_value {
	        my($sk, $idx) = @_;
    		eval q((( &SRP_gN_cache *) &OPENSSL_sk_value( &ossl_check_const_SRP_gN_cache_sk_type($sk), ($idx))));
	    }' unless defined(&sk_SRP_gN_cache_value);
	    eval 'sub sk_SRP_gN_cache_new {
	        my($cmp) = @_;
    		eval q((( &STACK_OF( &SRP_gN_cache) *) &OPENSSL_sk_new( &ossl_check_SRP_gN_cache_compfunc_type($cmp))));
	    }' unless defined(&sk_SRP_gN_cache_new);
	    eval 'sub sk_SRP_gN_cache_new_null () {
	        eval q((( &STACK_OF( &SRP_gN_cache) *) &OPENSSL_sk_new_null()));
	    }' unless defined(&sk_SRP_gN_cache_new_null);
	    eval 'sub sk_SRP_gN_cache_new_reserve {
	        my($cmp, $n) = @_;
    		eval q((( &STACK_OF( &SRP_gN_cache) *) &OPENSSL_sk_new_reserve( &ossl_check_SRP_gN_cache_compfunc_type($cmp), ($n))));
	    }' unless defined(&sk_SRP_gN_cache_new_reserve);
	    eval 'sub sk_SRP_gN_cache_reserve {
	        my($sk, $n) = @_;
    		eval q( &OPENSSL_sk_reserve( &ossl_check_SRP_gN_cache_sk_type($sk), ($n)));
	    }' unless defined(&sk_SRP_gN_cache_reserve);
	    eval 'sub sk_SRP_gN_cache_free {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_free( &ossl_check_SRP_gN_cache_sk_type($sk)));
	    }' unless defined(&sk_SRP_gN_cache_free);
	    eval 'sub sk_SRP_gN_cache_zero {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_zero( &ossl_check_SRP_gN_cache_sk_type($sk)));
	    }' unless defined(&sk_SRP_gN_cache_zero);
	    eval 'sub sk_SRP_gN_cache_delete {
	        my($sk, $i) = @_;
    		eval q((( &SRP_gN_cache *) &OPENSSL_sk_delete( &ossl_check_SRP_gN_cache_sk_type($sk), ($i))));
	    }' unless defined(&sk_SRP_gN_cache_delete);
	    eval 'sub sk_SRP_gN_cache_delete_ptr {
	        my($sk, $ptr) = @_;
    		eval q((( &SRP_gN_cache *) &OPENSSL_sk_delete_ptr( &ossl_check_SRP_gN_cache_sk_type($sk),  &ossl_check_SRP_gN_cache_type($ptr))));
	    }' unless defined(&sk_SRP_gN_cache_delete_ptr);
	    eval 'sub sk_SRP_gN_cache_push {
	        my($sk, $ptr) = @_;
    		eval q( &OPENSSL_sk_push( &ossl_check_SRP_gN_cache_sk_type($sk),  &ossl_check_SRP_gN_cache_type($ptr)));
	    }' unless defined(&sk_SRP_gN_cache_push);
	    eval 'sub sk_SRP_gN_cache_unshift {
	        my($sk, $ptr) = @_;
    		eval q( &OPENSSL_sk_unshift( &ossl_check_SRP_gN_cache_sk_type($sk),  &ossl_check_SRP_gN_cache_type($ptr)));
	    }' unless defined(&sk_SRP_gN_cache_unshift);
	    eval 'sub sk_SRP_gN_cache_pop {
	        my($sk) = @_;
    		eval q((( &SRP_gN_cache *) &OPENSSL_sk_pop( &ossl_check_SRP_gN_cache_sk_type($sk))));
	    }' unless defined(&sk_SRP_gN_cache_pop);
	    eval 'sub sk_SRP_gN_cache_shift {
	        my($sk) = @_;
    		eval q((( &SRP_gN_cache *) &OPENSSL_sk_shift( &ossl_check_SRP_gN_cache_sk_type($sk))));
	    }' unless defined(&sk_SRP_gN_cache_shift);
	    eval 'sub sk_SRP_gN_cache_pop_free {
	        my($sk, $freefunc) = @_;
    		eval q( &OPENSSL_sk_pop_free( &ossl_check_SRP_gN_cache_sk_type($sk), &ossl_check_SRP_gN_cache_freefunc_type($freefunc)));
	    }' unless defined(&sk_SRP_gN_cache_pop_free);
	    eval 'sub sk_SRP_gN_cache_insert {
	        my($sk, $ptr, $idx) = @_;
    		eval q( &OPENSSL_sk_insert( &ossl_check_SRP_gN_cache_sk_type($sk),  &ossl_check_SRP_gN_cache_type($ptr), ($idx)));
	    }' unless defined(&sk_SRP_gN_cache_insert);
	    eval 'sub sk_SRP_gN_cache_set {
	        my($sk, $idx, $ptr) = @_;
    		eval q((( &SRP_gN_cache *) &OPENSSL_sk_set( &ossl_check_SRP_gN_cache_sk_type($sk), ($idx),  &ossl_check_SRP_gN_cache_type($ptr))));
	    }' unless defined(&sk_SRP_gN_cache_set);
	    eval 'sub sk_SRP_gN_cache_find {
	        my($sk, $ptr) = @_;
    		eval q( &OPENSSL_sk_find( &ossl_check_SRP_gN_cache_sk_type($sk),  &ossl_check_SRP_gN_cache_type($ptr)));
	    }' unless defined(&sk_SRP_gN_cache_find);
	    eval 'sub sk_SRP_gN_cache_find_ex {
	        my($sk, $ptr) = @_;
    		eval q( &OPENSSL_sk_find_ex( &ossl_check_SRP_gN_cache_sk_type($sk),  &ossl_check_SRP_gN_cache_type($ptr)));
	    }' unless defined(&sk_SRP_gN_cache_find_ex);
	    eval 'sub sk_SRP_gN_cache_find_all {
	        my($sk, $ptr, $pnum) = @_;
    		eval q( &OPENSSL_sk_find_all( &ossl_check_SRP_gN_cache_sk_type($sk),  &ossl_check_SRP_gN_cache_type($ptr), $pnum));
	    }' unless defined(&sk_SRP_gN_cache_find_all);
	    eval 'sub sk_SRP_gN_cache_sort {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_sort( &ossl_check_SRP_gN_cache_sk_type($sk)));
	    }' unless defined(&sk_SRP_gN_cache_sort);
	    eval 'sub sk_SRP_gN_cache_is_sorted {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_is_sorted( &ossl_check_const_SRP_gN_cache_sk_type($sk)));
	    }' unless defined(&sk_SRP_gN_cache_is_sorted);
	    eval 'sub sk_SRP_gN_cache_dup {
	        my($sk) = @_;
    		eval q((( &STACK_OF( &SRP_gN_cache) *) &OPENSSL_sk_dup( &ossl_check_const_SRP_gN_cache_sk_type($sk))));
	    }' unless defined(&sk_SRP_gN_cache_dup);
	    eval 'sub sk_SRP_gN_cache_deep_copy {
	        my($sk, $copyfunc, $freefunc) = @_;
    		eval q((( &STACK_OF( &SRP_gN_cache) *) &OPENSSL_sk_deep_copy( &ossl_check_const_SRP_gN_cache_sk_type($sk),  &ossl_check_SRP_gN_cache_copyfunc_type($copyfunc),  &ossl_check_SRP_gN_cache_freefunc_type($freefunc))));
	    }' unless defined(&sk_SRP_gN_cache_deep_copy);
	    eval 'sub sk_SRP_gN_cache_set_cmp_func {
	        my($sk, $cmp) = @_;
    		eval q((( &sk_SRP_gN_cache_compfunc) &OPENSSL_sk_set_cmp_func( &ossl_check_SRP_gN_cache_sk_type($sk),  &ossl_check_SRP_gN_cache_compfunc_type($cmp))));
	    }' unless defined(&sk_SRP_gN_cache_set_cmp_func);
	    eval 'sub sk_SRP_user_pwd_num {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_num( &ossl_check_const_SRP_user_pwd_sk_type($sk)));
	    }' unless defined(&sk_SRP_user_pwd_num);
	    eval 'sub sk_SRP_user_pwd_value {
	        my($sk, $idx) = @_;
    		eval q((( &SRP_user_pwd *) &OPENSSL_sk_value( &ossl_check_const_SRP_user_pwd_sk_type($sk), ($idx))));
	    }' unless defined(&sk_SRP_user_pwd_value);
	    eval 'sub sk_SRP_user_pwd_new {
	        my($cmp) = @_;
    		eval q((( &STACK_OF( &SRP_user_pwd) *) &OPENSSL_sk_new( &ossl_check_SRP_user_pwd_compfunc_type($cmp))));
	    }' unless defined(&sk_SRP_user_pwd_new);
	    eval 'sub sk_SRP_user_pwd_new_null () {
	        eval q((( &STACK_OF( &SRP_user_pwd) *) &OPENSSL_sk_new_null()));
	    }' unless defined(&sk_SRP_user_pwd_new_null);
	    eval 'sub sk_SRP_user_pwd_new_reserve {
	        my($cmp, $n) = @_;
    		eval q((( &STACK_OF( &SRP_user_pwd) *) &OPENSSL_sk_new_reserve( &ossl_check_SRP_user_pwd_compfunc_type($cmp), ($n))));
	    }' unless defined(&sk_SRP_user_pwd_new_reserve);
	    eval 'sub sk_SRP_user_pwd_reserve {
	        my($sk, $n) = @_;
    		eval q( &OPENSSL_sk_reserve( &ossl_check_SRP_user_pwd_sk_type($sk), ($n)));
	    }' unless defined(&sk_SRP_user_pwd_reserve);
	    eval 'sub sk_SRP_user_pwd_free {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_free( &ossl_check_SRP_user_pwd_sk_type($sk)));
	    }' unless defined(&sk_SRP_user_pwd_free);
	    eval 'sub sk_SRP_user_pwd_zero {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_zero( &ossl_check_SRP_user_pwd_sk_type($sk)));
	    }' unless defined(&sk_SRP_user_pwd_zero);
	    eval 'sub sk_SRP_user_pwd_delete {
	        my($sk, $i) = @_;
    		eval q((( &SRP_user_pwd *) &OPENSSL_sk_delete( &ossl_check_SRP_user_pwd_sk_type($sk), ($i))));
	    }' unless defined(&sk_SRP_user_pwd_delete);
	    eval 'sub sk_SRP_user_pwd_delete_ptr {
	        my($sk, $ptr) = @_;
    		eval q((( &SRP_user_pwd *) &OPENSSL_sk_delete_ptr( &ossl_check_SRP_user_pwd_sk_type($sk),  &ossl_check_SRP_user_pwd_type($ptr))));
	    }' unless defined(&sk_SRP_user_pwd_delete_ptr);
	    eval 'sub sk_SRP_user_pwd_push {
	        my($sk, $ptr) = @_;
    		eval q( &OPENSSL_sk_push( &ossl_check_SRP_user_pwd_sk_type($sk),  &ossl_check_SRP_user_pwd_type($ptr)));
	    }' unless defined(&sk_SRP_user_pwd_push);
	    eval 'sub sk_SRP_user_pwd_unshift {
	        my($sk, $ptr) = @_;
    		eval q( &OPENSSL_sk_unshift( &ossl_check_SRP_user_pwd_sk_type($sk),  &ossl_check_SRP_user_pwd_type($ptr)));
	    }' unless defined(&sk_SRP_user_pwd_unshift);
	    eval 'sub sk_SRP_user_pwd_pop {
	        my($sk) = @_;
    		eval q((( &SRP_user_pwd *) &OPENSSL_sk_pop( &ossl_check_SRP_user_pwd_sk_type($sk))));
	    }' unless defined(&sk_SRP_user_pwd_pop);
	    eval 'sub sk_SRP_user_pwd_shift {
	        my($sk) = @_;
    		eval q((( &SRP_user_pwd *) &OPENSSL_sk_shift( &ossl_check_SRP_user_pwd_sk_type($sk))));
	    }' unless defined(&sk_SRP_user_pwd_shift);
	    eval 'sub sk_SRP_user_pwd_pop_free {
	        my($sk, $freefunc) = @_;
    		eval q( &OPENSSL_sk_pop_free( &ossl_check_SRP_user_pwd_sk_type($sk), &ossl_check_SRP_user_pwd_freefunc_type($freefunc)));
	    }' unless defined(&sk_SRP_user_pwd_pop_free);
	    eval 'sub sk_SRP_user_pwd_insert {
	        my($sk, $ptr, $idx) = @_;
    		eval q( &OPENSSL_sk_insert( &ossl_check_SRP_user_pwd_sk_type($sk),  &ossl_check_SRP_user_pwd_type($ptr), ($idx)));
	    }' unless defined(&sk_SRP_user_pwd_insert);
	    eval 'sub sk_SRP_user_pwd_set {
	        my($sk, $idx, $ptr) = @_;
    		eval q((( &SRP_user_pwd *) &OPENSSL_sk_set( &ossl_check_SRP_user_pwd_sk_type($sk), ($idx),  &ossl_check_SRP_user_pwd_type($ptr))));
	    }' unless defined(&sk_SRP_user_pwd_set);
	    eval 'sub sk_SRP_user_pwd_find {
	        my($sk, $ptr) = @_;
    		eval q( &OPENSSL_sk_find( &ossl_check_SRP_user_pwd_sk_type($sk),  &ossl_check_SRP_user_pwd_type($ptr)));
	    }' unless defined(&sk_SRP_user_pwd_find);
	    eval 'sub sk_SRP_user_pwd_find_ex {
	        my($sk, $ptr) = @_;
    		eval q( &OPENSSL_sk_find_ex( &ossl_check_SRP_user_pwd_sk_type($sk),  &ossl_check_SRP_user_pwd_type($ptr)));
	    }' unless defined(&sk_SRP_user_pwd_find_ex);
	    eval 'sub sk_SRP_user_pwd_find_all {
	        my($sk, $ptr, $pnum) = @_;
    		eval q( &OPENSSL_sk_find_all( &ossl_check_SRP_user_pwd_sk_type($sk),  &ossl_check_SRP_user_pwd_type($ptr), $pnum));
	    }' unless defined(&sk_SRP_user_pwd_find_all);
	    eval 'sub sk_SRP_user_pwd_sort {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_sort( &ossl_check_SRP_user_pwd_sk_type($sk)));
	    }' unless defined(&sk_SRP_user_pwd_sort);
	    eval 'sub sk_SRP_user_pwd_is_sorted {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_is_sorted( &ossl_check_const_SRP_user_pwd_sk_type($sk)));
	    }' unless defined(&sk_SRP_user_pwd_is_sorted);
	    eval 'sub sk_SRP_user_pwd_dup {
	        my($sk) = @_;
    		eval q((( &STACK_OF( &SRP_user_pwd) *) &OPENSSL_sk_dup( &ossl_check_const_SRP_user_pwd_sk_type($sk))));
	    }' unless defined(&sk_SRP_user_pwd_dup);
	    eval 'sub sk_SRP_user_pwd_deep_copy {
	        my($sk, $copyfunc, $freefunc) = @_;
    		eval q((( &STACK_OF( &SRP_user_pwd) *) &OPENSSL_sk_deep_copy( &ossl_check_const_SRP_user_pwd_sk_type($sk),  &ossl_check_SRP_user_pwd_copyfunc_type($copyfunc),  &ossl_check_SRP_user_pwd_freefunc_type($freefunc))));
	    }' unless defined(&sk_SRP_user_pwd_deep_copy);
	    eval 'sub sk_SRP_user_pwd_set_cmp_func {
	        my($sk, $cmp) = @_;
    		eval q((( &sk_SRP_user_pwd_compfunc) &OPENSSL_sk_set_cmp_func( &ossl_check_SRP_user_pwd_sk_type($sk),  &ossl_check_SRP_user_pwd_compfunc_type($cmp))));
	    }' unless defined(&sk_SRP_user_pwd_set_cmp_func);
	    eval 'sub sk_SRP_gN_num {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_num( &ossl_check_const_SRP_gN_sk_type($sk)));
	    }' unless defined(&sk_SRP_gN_num);
	    eval 'sub sk_SRP_gN_value {
	        my($sk, $idx) = @_;
    		eval q((( &SRP_gN *) &OPENSSL_sk_value( &ossl_check_const_SRP_gN_sk_type($sk), ($idx))));
	    }' unless defined(&sk_SRP_gN_value);
	    eval 'sub sk_SRP_gN_new {
	        my($cmp) = @_;
    		eval q((( &STACK_OF( &SRP_gN) *) &OPENSSL_sk_new( &ossl_check_SRP_gN_compfunc_type($cmp))));
	    }' unless defined(&sk_SRP_gN_new);
	    eval 'sub sk_SRP_gN_new_null () {
	        eval q((( &STACK_OF( &SRP_gN) *) &OPENSSL_sk_new_null()));
	    }' unless defined(&sk_SRP_gN_new_null);
	    eval 'sub sk_SRP_gN_new_reserve {
	        my($cmp, $n) = @_;
    		eval q((( &STACK_OF( &SRP_gN) *) &OPENSSL_sk_new_reserve( &ossl_check_SRP_gN_compfunc_type($cmp), ($n))));
	    }' unless defined(&sk_SRP_gN_new_reserve);
	    eval 'sub sk_SRP_gN_reserve {
	        my($sk, $n) = @_;
    		eval q( &OPENSSL_sk_reserve( &ossl_check_SRP_gN_sk_type($sk), ($n)));
	    }' unless defined(&sk_SRP_gN_reserve);
	    eval 'sub sk_SRP_gN_free {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_free( &ossl_check_SRP_gN_sk_type($sk)));
	    }' unless defined(&sk_SRP_gN_free);
	    eval 'sub sk_SRP_gN_zero {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_zero( &ossl_check_SRP_gN_sk_type($sk)));
	    }' unless defined(&sk_SRP_gN_zero);
	    eval 'sub sk_SRP_gN_delete {
	        my($sk, $i) = @_;
    		eval q((( &SRP_gN *) &OPENSSL_sk_delete( &ossl_check_SRP_gN_sk_type($sk), ($i))));
	    }' unless defined(&sk_SRP_gN_delete);
	    eval 'sub sk_SRP_gN_delete_ptr {
	        my($sk, $ptr) = @_;
    		eval q((( &SRP_gN *) &OPENSSL_sk_delete_ptr( &ossl_check_SRP_gN_sk_type($sk),  &ossl_check_SRP_gN_type($ptr))));
	    }' unless defined(&sk_SRP_gN_delete_ptr);
	    eval 'sub sk_SRP_gN_push {
	        my($sk, $ptr) = @_;
    		eval q( &OPENSSL_sk_push( &ossl_check_SRP_gN_sk_type($sk),  &ossl_check_SRP_gN_type($ptr)));
	    }' unless defined(&sk_SRP_gN_push);
	    eval 'sub sk_SRP_gN_unshift {
	        my($sk, $ptr) = @_;
    		eval q( &OPENSSL_sk_unshift( &ossl_check_SRP_gN_sk_type($sk),  &ossl_check_SRP_gN_type($ptr)));
	    }' unless defined(&sk_SRP_gN_unshift);
	    eval 'sub sk_SRP_gN_pop {
	        my($sk) = @_;
    		eval q((( &SRP_gN *) &OPENSSL_sk_pop( &ossl_check_SRP_gN_sk_type($sk))));
	    }' unless defined(&sk_SRP_gN_pop);
	    eval 'sub sk_SRP_gN_shift {
	        my($sk) = @_;
    		eval q((( &SRP_gN *) &OPENSSL_sk_shift( &ossl_check_SRP_gN_sk_type($sk))));
	    }' unless defined(&sk_SRP_gN_shift);
	    eval 'sub sk_SRP_gN_pop_free {
	        my($sk, $freefunc) = @_;
    		eval q( &OPENSSL_sk_pop_free( &ossl_check_SRP_gN_sk_type($sk), &ossl_check_SRP_gN_freefunc_type($freefunc)));
	    }' unless defined(&sk_SRP_gN_pop_free);
	    eval 'sub sk_SRP_gN_insert {
	        my($sk, $ptr, $idx) = @_;
    		eval q( &OPENSSL_sk_insert( &ossl_check_SRP_gN_sk_type($sk),  &ossl_check_SRP_gN_type($ptr), ($idx)));
	    }' unless defined(&sk_SRP_gN_insert);
	    eval 'sub sk_SRP_gN_set {
	        my($sk, $idx, $ptr) = @_;
    		eval q((( &SRP_gN *) &OPENSSL_sk_set( &ossl_check_SRP_gN_sk_type($sk), ($idx),  &ossl_check_SRP_gN_type($ptr))));
	    }' unless defined(&sk_SRP_gN_set);
	    eval 'sub sk_SRP_gN_find {
	        my($sk, $ptr) = @_;
    		eval q( &OPENSSL_sk_find( &ossl_check_SRP_gN_sk_type($sk),  &ossl_check_SRP_gN_type($ptr)));
	    }' unless defined(&sk_SRP_gN_find);
	    eval 'sub sk_SRP_gN_find_ex {
	        my($sk, $ptr) = @_;
    		eval q( &OPENSSL_sk_find_ex( &ossl_check_SRP_gN_sk_type($sk),  &ossl_check_SRP_gN_type($ptr)));
	    }' unless defined(&sk_SRP_gN_find_ex);
	    eval 'sub sk_SRP_gN_find_all {
	        my($sk, $ptr, $pnum) = @_;
    		eval q( &OPENSSL_sk_find_all( &ossl_check_SRP_gN_sk_type($sk),  &ossl_check_SRP_gN_type($ptr), $pnum));
	    }' unless defined(&sk_SRP_gN_find_all);
	    eval 'sub sk_SRP_gN_sort {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_sort( &ossl_check_SRP_gN_sk_type($sk)));
	    }' unless defined(&sk_SRP_gN_sort);
	    eval 'sub sk_SRP_gN_is_sorted {
	        my($sk) = @_;
    		eval q( &OPENSSL_sk_is_sorted( &ossl_check_const_SRP_gN_sk_type($sk)));
	    }' unless defined(&sk_SRP_gN_is_sorted);
	    eval 'sub sk_SRP_gN_dup {
	        my($sk) = @_;
    		eval q((( &STACK_OF( &SRP_gN) *) &OPENSSL_sk_dup( &ossl_check_const_SRP_gN_sk_type($sk))));
	    }' unless defined(&sk_SRP_gN_dup);
	    eval 'sub sk_SRP_gN_deep_copy {
	        my($sk, $copyfunc, $freefunc) = @_;
    		eval q((( &STACK_OF( &SRP_gN) *) &OPENSSL_sk_deep_copy( &ossl_check_const_SRP_gN_sk_type($sk),  &ossl_check_SRP_gN_copyfunc_type($copyfunc),  &ossl_check_SRP_gN_freefunc_type($freefunc))));
	    }' unless defined(&sk_SRP_gN_deep_copy);
	    eval 'sub sk_SRP_gN_set_cmp_func {
	        my($sk, $cmp) = @_;
    		eval q((( &sk_SRP_gN_compfunc) &OPENSSL_sk_set_cmp_func( &ossl_check_SRP_gN_sk_type($sk),  &ossl_check_SRP_gN_compfunc_type($cmp))));
	    }' unless defined(&sk_SRP_gN_set_cmp_func);
	    eval 'sub SRP_NO_ERROR () {0;}' unless defined(&SRP_NO_ERROR);
	    eval 'sub SRP_ERR_VBASE_INCOMPLETE_FILE () {1;}' unless defined(&SRP_ERR_VBASE_INCOMPLETE_FILE);
	    eval 'sub SRP_ERR_VBASE_BN_LIB () {2;}' unless defined(&SRP_ERR_VBASE_BN_LIB);
	    eval 'sub SRP_ERR_OPEN_FILE () {3;}' unless defined(&SRP_ERR_OPEN_FILE);
	    eval 'sub SRP_ERR_MEMORY () {4;}' unless defined(&SRP_ERR_MEMORY);
	    eval 'sub DB_srptype () {0;}' unless defined(&DB_srptype);
	    eval 'sub DB_srpverifier () {1;}' unless defined(&DB_srpverifier);
	    eval 'sub DB_srpsalt () {2;}' unless defined(&DB_srpsalt);
	    eval 'sub DB_srpid () {3;}' unless defined(&DB_srpid);
	    eval 'sub DB_srpgN () {4;}' unless defined(&DB_srpgN);
	    eval 'sub DB_srpinfo () {5;}' unless defined(&DB_srpinfo);
	    undef(&DB_NUMBER) if defined(&DB_NUMBER);
	    eval 'sub DB_NUMBER () {6;}' unless defined(&DB_NUMBER);
	    eval 'sub DB_SRP_INDEX () {ord(\'I\');}' unless defined(&DB_SRP_INDEX);
	    eval 'sub DB_SRP_VALID () {ord(\'V\');}' unless defined(&DB_SRP_VALID);
	    eval 'sub DB_SRP_REVOKED () {ord(\'R\');}' unless defined(&DB_SRP_REVOKED);
	    eval 'sub DB_SRP_MODIF () {ord(\'v\');}' unless defined(&DB_SRP_MODIF);
	    eval 'sub SRP_MINIMAL_N () {1024;}' unless defined(&SRP_MINIMAL_N);
	}
	unless(defined(&OPENSSL_NO_DEPRECATED_1_1_0)) {
	}
	if(defined(&__cplusplus)) {
	}
    }
}
1;
