TYPEMAP
AjIList        T_PTROBJ_AJP
AjIStr         T_PTROBJ_AJP
AjPAlign       T_PTROBJ_AJP
AjPAtom	       T_PTROBJ_AJP
AjPChain       T_PTROBJ_AJP
AjPCmap	       T_PTROBJ_AJP
AjPCod	       T_PTROBJ_AJP
AjPFeattabIn   T_PTROBJ_AJP
AjPFeattabOut  T_PTROBJ_AJP
AjPFeattable   T_PTROBJ_AJP
AjPFeature     T_PTROBJ_AJP
AjPFile	       T_PTROBJ_AJP
AjPFileBuff    T_PTROBJ_AJP
AjPFloat       T_PTROBJ_AJP
AjPGraph       T_PTROBJ_AJP
AjPGraphData   T_PTROBJ_AJP
AjPGraphPlpData T_PTROBJ_AJP
AjPHet	       T_PTROBJ_AJP
AjPHetent      T_PTROBJ_AJP
AjPHist	       T_PTROBJ_AJP
AjPHit	       T_PTROBJ_AJP
AjPHitidx      T_PTROBJ_AJP
AjPHitlist     T_PTROBJ_AJP
AjPInt	       T_PTROBJ_AJP
AjPInt2d       T_PTROBJ_AJP
AjPList	       T_PTROBJ_AJP
AjPListNode    T_PTROBJ_AJP
AjPMatrix      T_PTROBJ_AJP
AjPMatrixf     T_PTROBJ_AJP
AjPPdb	       T_PTROBJ_AJP
AjPPdbtosp     T_PTROBJ_AJP
AjPRange       T_PTROBJ_AJP
const AjPRange       T_PTROBJ_AJP
AjPRegexp      T_PTROBJ_AJP
AjPReport      T_PTROBJ_AJP
AjPScop	       T_PTROBJ_AJP
AjPScopalg     T_PTROBJ_AJP
AjPScopcla     T_PTROBJ_AJP
AjPScopdes     T_PTROBJ_AJP
AjPScophit     T_PTROBJ_AJP
AjPScorealg    T_PTROBJ_AJP
AjPSelex       T_PTROBJ_AJP
AjPSelexSQ     T_PTROBJ_AJP
AjPSelexdata   T_PTROBJ_AJP
AjPSeq         T_PTROBJ_AJP
AjPSeqCvt      T_PTROBJ_AJP
AjPSeqQuery    T_PTROBJ_AJP
AjPSeqall      T_PTROBJ_AJP
AjPSeqin       T_PTROBJ_AJP
AjPSeqout      T_PTROBJ_AJP
AjPSeqset      T_PTROBJ_AJP
AjPShort       T_PTROBJ_AJP
AjPSigdat      T_PTROBJ_AJP
AjPSignature   T_PTROBJ_AJP
AjPSigpos      T_PTROBJ_AJP
AjPStockholm   T_PTROBJ_AJP
AjPStockholmdata T_PTROBJ_AJP
AjPStr         T_PTROBJ_AJP
const AjPStr   T_PTROBJ_AJP
AjPStr*        T_PTROBJ_AJP
AjPStrTok      T_PTROBJ_AJP
AjPTrn         T_PTROBJ_AJP
AjPVdwall      T_PTROBJ_AJP
AjPVdwres      T_PTROBJ_AJP
SeqPAccess     T_PTROBJ_AJP

GPnode         T_PTROBJ_AJP

AjPDir		T_PTROBJ_AJP
AjPPhyloState *	T_PTROBJ_AJP
AjPPhyloState	T_PTROBJ_AJP
AjPPhyloDist	T_PTROBJ_AJP
AjPPhyloFreq	T_PTROBJ_AJP
AjPOutfile	T_PTROBJ_AJP
AjPPhyloProp	T_PTROBJ_AJP
AjPSeqset *	T_PTROBJ_AJP
AjPPhyloTree *	T_PTROBJ_AJP
AjPPhyloTree	T_PTROBJ_AJP
const AjPSeqset	T_PTROBJ_AJP
const AjPMatrix	T_PTROBJ_AJP
const AjPMatrixf	T_PTROBJ_AJP
const AjPAlign	T_PTROBJ_AJP
AjPDouble	T_PTROBJ_AJP
const AjPDouble	T_PTROBJ_AJP
const AjPCod	T_PTROBJ_AJP

const AjPList		T_PTROBJ_AJP
const AjPScophit	T_PTROBJ_AJP
const AjPScopalg	T_PTROBJ_AJP

const AjPScop	T_PTROBJ_AJP
const AjPPdb	T_PTROBJ_AJP
AjPCath		T_PTROBJ_AJP
const AjPCath	T_PTROBJ_AJP
AjPDomain	T_PTROBJ_AJP
const AjPDomain	T_PTROBJ_AJP

const AjPFeature	T_PTROBJ_AJP
const AjPFeattable	T_PTROBJ_AJP
const AjPSeq		T_PTROBJ_AJP
const AjPFeattabOut	T_PTROBJ_AJP

const AjPDir		T_PTROBJ_AJP
const AjPFileBuff	T_PTROBJ_AJP
const AjPFile		T_PTROBJ_AJP
const AjPOutfile	T_PTROBJ_AJP

const AjPGraphPlpData	T_PTROBJ_AJP
const AjPGraph		T_PTROBJ_AJP

const AjPHist	T_PTROBJ_AJP

AjPBtcache	T_PTROBJ_AJP
AjPBtpage	T_PTROBJ_AJP
const AjPBtId	T_PTROBJ_AJP
AjPBtId		T_PTROBJ_AJP
const AjPBtcache	T_PTROBJ_AJP
AjPBtWild	T_PTROBJ_AJP
AjPBtKeyWild	T_PTROBJ_AJP
AjPBtPri	T_PTROBJ_AJP
const AjPBtPri	T_PTROBJ_AJP

const AjIList	T_PTROBJ_AJP
const AjPSeqQuery	T_PTROBJ_AJP
AjPNexus	T_PTROBJ_AJP
const AjPNexus	T_PTROBJ_AJP

const AjPAtom	T_PTROBJ_AJP
AjPResidue	T_PTROBJ_AJP
const AjPPdbtosp	T_PTROBJ_AJP
const AjPHet	T_PTROBJ_AJP
const AjPCmap	T_PTROBJ_AJP

const AjPPhyloDist	T_PTROBJ_AJP
const AjPPhyloFreq	T_PTROBJ_AJP
const AjPPhyloProp	T_PTROBJ_AJP
const AjPPhyloState	T_PTROBJ_AJP
const AjPPhyloTree	T_PTROBJ_AJP

const AjPRegexp	T_PTROBJ_AJP
const AjPReport	T_PTROBJ_AJP

const AjPSeqall	T_PTROBJ_AJP
const AjPSeqCvt	T_PTROBJ_AJP
const AjPPStr	T_PTROBJ_AJP
const AjPSeqin	T_PTROBJ_AJP

const AjPSeqout	T_PTROBJ_AJP

const AjPStrTok	T_PTROBJ_AJP

AjPTime		T_PTROBJ_AJP
const AjPTime	T_PTROBJ_AJP

const AjPTrn	T_PTROBJ_AJP

AjPTree		T_PTROBJ_AJP
const AjPTree	T_PTROBJ_AJP
const AjP3dVector	T_PTROBJ_AJP
AjP3dVector	T_PTROBJ_AJP

AjPTable	T_PTROBJ_AJP

EmbPEntry	T_PTROBJ_AJP
EmbPField	T_PTROBJ_AJP

AjPStr const		T_PTROBJ_AJP
const AjPHitlist	T_PTROBJ_AJP
AjPFloat2d		T_PTROBJ_AJP
EmbPEstAlign		T_PTROBJ_AJP
const EmbPEstAlign	T_PTROBJ_AJP
EmbPBtreeEntry		T_PTROBJ_AJP
const EmbPBtreeEntry	T_PTROBJ_AJP
EmbPMatMatch		T_PTROBJ_AJP
EmbPMatPrints		T_PTROBJ_AJP
const EmbPMatPrints	T_PTROBJ_AJP
const AjPVdwall		T_PTROBJ_AJP
EmbPShow		T_PTROBJ_AJP
const EmbPShow		T_PTROBJ_AJP

const AjPTable		T_PTROBJ_AJP


AjBool     T_BOOL
AjStatus   T_IV

ajint      T_IV
ajuint     T_IV
ajlong     T_IV
ajulong	   T_IV
const ajlong     T_IV
ajshort    T_IV

const char T_IV

PLFLT      T_DOUBLE

float                   T_FLOAT
const float             T_FLOAT
const char *		T_PV

PLFLT *                 T_PV
const PLFLT *           T_PV
float *                 T_PV
double *                T_PV
char **                 T_PV

INPUT
T_PTROBJ_AJP
  if (sv_derived_from($arg, \"${(my $ntt=$ntype)=~s/^(?:const +)?AjP/Bio::Emboss::/;\$ntt}\")) {
      IV tmp = SvIV((SV*)SvRV($arg));
      $var = ($type) tmp;
  } else if (SvIV($arg) == 0) {
      $var = ($type) 0;
  } else
      croak(\"$var is not of type ${(my $ntt=$ntype)=~s/^(?:const +)?AjP/Bio::Emboss::/;\$ntt}\")

OUTPUT
T_PTROBJ_AJP
  sv_setref_pv($arg, \"${(my $ntt=$ntype)=~s/^(?:const +)?AjP/Bio::Emboss::/;\$ntt}\", (void*)$var);
