Bool                                            T_BOOL
VMControlVM *                                   T_PTROBJ_VM
VMControlServer *                               T_PTROBJ_SERVER
VMControlConnectParams *                        T_PTROBJ_CONNECTPARAMS
VMControlExternalQuestion *                     T_PTROBJ_QUESTION
const char *                                    T_CCHAR

VMControlVM_Old *                               T_PTROBJ_VM_OLD
VMControlServer_Old *                           T_PTROBJ_SERVER_OLD

#############################################################################
INPUT
T_CCHAR
        if (SvOK($arg)) {
                $var = ($type)SvPV($arg,PL_na);
        } else {
                $var = NULL;
        }

T_PTROBJ_VM
        if (sv_derived_from($arg, \"VMware::VmPerl::VM\")) {
               IV tmp = SvIV((SV*)SvRV($arg));
                $var = ($type) tmp;
        }
        else
                croak(\"$var is not of type VMware::VmPerl::VM\")

T_PTROBJ_VM_OLD
        if (sv_derived_from($arg, \"VMware::Control::VM\")) {
               IV tmp = SvIV((SV*)SvRV($arg));
                $var = ($type) tmp;
        }
        else
                croak(\"$var is not of type VMware::Control::VM\")

T_PTROBJ_SERVER
        if (sv_derived_from($arg, \"VMware::VmPerl::Server\")) {
               IV tmp = SvIV((SV*)SvRV($arg));
                $var = ($type) tmp;
        }
        else
                croak(\"$var is not of type VMware::VmPerl::Server\")

T_PTROBJ_SERVER_OLD
        if (sv_derived_from($arg, \"VMware::Control::Server\")) {
               IV tmp = SvIV((SV*)SvRV($arg));
                $var = ($type) tmp;
        }
        else
                croak(\"$var is not of type VMware::Control::Server\")

T_PTROBJ_CONNECTPARAMS
        if (sv_derived_from($arg, \"VMware::VmPerl::ConnectParams\")) {
               IV tmp = SvIV((SV*)SvRV($arg));
                $var = ($type) tmp;
        }
        else
                croak(\"$var is not of type VMware::VmPerl::ConnectParams\")

T_PTROBJ_QUESTION
        if (sv_derived_from($arg, \"VMware::VmPerl::Question\")) {
               IV tmp = SvIV((SV*)SvRV($arg));
                $var = ($type) tmp;
        }
        else
                croak(\"$var is not of type VMware::VmPerl::Question\")


#############################################################################
OUTPUT
T_CCHAR
          sv_setpv((SV*)$arg, $var);

T_PTROBJ_VM_OLD
          sv_setref_pv($arg, \"VMware::Control::VM\", (void*)$var);

T_PTROBJ_VM
          sv_setref_pv($arg, \"VMware::VmPerl::VM\", (void*)$var);

T_PTROBJ_SERVER_OLD
          sv_setref_pv($arg, \"VMware::Control::Server\", (void*)$var);

T_PTROBJ_SERVER
          sv_setref_pv($arg, \"VMware::VmPerl::Server\", (void*)$var);

T_PTROBJ_CONNECTPARAMS
          sv_setref_pv($arg, \"VMware::VmPerl::ConnectParams\", (void*)$var);

T_PTROBJ_QUESTION
          sv_setref_pv($arg, \"VMware::VmPerl::Question\", (void*)$var);
