TYPEMAP
OPM_Scan *	T_PTROBJ_SPECIAL
OPM_Remote *	T_PTROBJ_SPECIAL
OPM_Error 	T_PTROBJ_SPECIAL

INPUT
T_PTROBJ_SPECIAL
   if (sv_derived_from($arg, \"${(my $ntt=$ntype)=~s/_/::/g;$ntt=~s/Ptr$//;\$ntt}\")) {
      IV tmp = SvIV((SV*)SvRV($arg));
      $var = ($type) tmp;
   } else {
      croak(\"$var is not of type ${(my $ntt=$ntype)=~s/_/::/g;$ntt=~s/Ptr$//;\$ntt}\");
   }

OUTPUT
T_PTROBJ_SPECIAL
   sv_setref_pv($arg, \"${(my $ntt=$ntype)=~s/_/::/g;$ntt=~s/Ptr$//;\$ntt}\", (void*)$var);
   
