TYPEMAP
AstFitsChan *	T_ASTOBJ
AstObject *	T_ASTOBJ
AstChannel * 	T_ASTOBJ
AstFrame *	T_ASTOBJ
AstCmpFrame *	T_ASTOBJ
AstMapping *	T_ASTOBJ
AstCmpMap *	T_ASTOBJ
AstFrameSet *	T_ASTOBJ
AstGrismMap *	T_ASTOBJ
AstIntraMap *	T_ASTOBJ
AstLutMap *	T_ASTOBJ
const char *	T_PV
AstMathMap *	T_ASTOBJ
AstMatrixMap *	T_ASTOBJ
AstPlot *	T_ASTOBJ
AstPcdMap *	T_ASTOBJ
AstPermMap *	T_ASTOBJ
AstPolyMap *	T_ASTOBJ
AstShiftMap *	T_ASTOBJ
AstSkyFrame *	T_ASTOBJ
AstSlaMap *	T_ASTOBJ
AstSphMap *	T_ASTOBJ
AstSpecFrame *	T_ASTOBJ
AstDSBSpecFrame *	T_ASTOBJ
AstSpecMap *	T_ASTOBJ
AstTranMap *	T_ASTOBJ
AstUnitMap *	T_ASTOBJ
AstWcsMap *	T_ASTOBJ
AstWinMap *	T_ASTOBJ
AstXmlChan *	T_ASTOBJ
AstZoomMap *	T_ASTOBJ
StatusType      T_STATUSINT
WcsMapType      T_WCSMAPINT
AstKeyMap *	T_ASTOBJ
AstRegion *	T_ASTOBJ
AstEllipse *	T_ASTOBJ
AstBox *	T_ASTOBJ
AstCircle *	T_ASTOBJ
AstRateMap *	T_ASTOBJ
AstFluxFrame *	T_ASTOBJ
AstSpecFluxFrame *	T_ASTOBJ

INPUT

T_STATUSINT
	if (sv_derived_from($arg, \"Starlink::AST::Status\")) {
	    $var = ($type)SvIV((SV*)SvRV($arg));
	}
	else
	    Perl_croak(aTHX_ \"$var is not of type Starlink::AST::Status\")
T_WCSMAPINT
	if (sv_derived_from($arg, \"Starlink::AST::WcsMap\")) {
	    $var = ($type)SvIV((SV*)SvRV($arg));
	}
	else
	    Perl_croak(aTHX_ \"$var is not of type Starlink::AST::WcsMap\")
T_ASTOBJ
	if (sv_derived_from($arg, ntypeToClass(\"${ntype}\"))) {
	    IV tmp = extractAstIntPointer( $arg );
	    $var = INT2PTR($type,tmp);
	}
	else
	    Perl_croak(aTHX_ \"$var is not of class %s\",ntypeToClass(\"${ntype}\"))

OUTPUT

T_STATUSINT
	sv_setiv(newSVrv($arg,\"Starlink::AST::Status\"), (IV)$var);
T_WCSMAPINT
	sv_setiv(newSVrv($arg,\"Starlink::AST::WcsMap\"), (IV)$var);
T_ASTOBJ
	$arg = createPerlObject(\"${ntype}\", (void*)$var);
