######################################################################### MODULE = OpenCA::OpenSSL PACKAGE = OpenCA::OpenSSL::CRL OpenCA_OpenSSL_CRL _new_from_der(SV * sv) #### OpenCA_OpenSSL_CRL T_PTROBJ_SPECIAL INPUT T_PTROBJ_SPECIAL if (sv_derived_from($arg, \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\")) { IV tmp = SvIV((SV*)SvRV($arg)); $var = INT2PTR($type,tmp); } else croak(\"$var is not of type ${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\") OUTPUT T_PTROBJ_SPECIAL sv_setref_pv($arg, \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\", (void*)$var); #### typedef X509_CRL * OpenCA_OpenSSL_CRL; #### ######################################################################### MODULE = OpenCA::OpenSSL PACKAGE = OpenCA::OpenSSL::CRLPtr PREFIX = some_ void some_DESTROY(crl) OpenCA_OpenSSL_CRL crl CODE: fprintf(stderr, "DESTROY\n"); X509_CRL_free(crl); #### sub test { my $crl; $crl = OpenCA::OpenSSL::CRL::_new_from_der ($keys->{DATA}); }