The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
TYPEMAP
const char *    T_PV
const unsigned char *    T_PV
virConnectPtr O_OBJECT_connect
virDomainPtr O_OBJECT_domain
virNetworkPtr O_OBJECT_network
virNWFilterPtr O_OBJECT_nwfilter
virInterfacePtr O_OBJECT_interface
virStoragePoolPtr O_OBJECT_storagepool
virStorageVolPtr O_OBJECT_storagevol
virNodeDevicePtr O_OBJECT_nodedevice
virSecretPtr O_OBJECT_secret
virDomainSnapshotPtr O_OBJECT_domainsnapshot
virStreamPtr O_OBJECT_stream

INPUT
O_OBJECT_connect
    if (sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG))
        $var = INT2PTR($type, SvIV((SV*)SvRV( $arg )));
    else {
        warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
        XSRETURN_UNDEF;
    }

OUTPUT
O_OBJECT_connect
        sv_setref_pv( $arg, "Sys::Virt", (void*)$var );



INPUT
O_OBJECT_domain
    if (sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG))
        $var = INT2PTR($type, SvIV((SV*)SvRV( $arg )));
    else {
        warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
        XSRETURN_UNDEF;
    }

OUTPUT
O_OBJECT_domain
        sv_setref_pv( $arg, "Sys::Virt::Domain", (void*)$var );

INPUT
O_OBJECT_network
    if (sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG))
        $var = INT2PTR($type, SvIV((SV*)SvRV( $arg )));
    else {
        warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
        XSRETURN_UNDEF;
    }

OUTPUT
O_OBJECT_network
        sv_setref_pv( $arg, "Sys::Virt::Network", (void*)$var );


INPUT
O_OBJECT_storagepool
    if (sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG))
        $var = INT2PTR($type, SvIV((SV*)SvRV( $arg )));
    else {
        warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
        XSRETURN_UNDEF;
    }

OUTPUT
O_OBJECT_storagepool
        sv_setref_pv( $arg, "Sys::Virt::StoragePool", (void*)$var );

INPUT
O_OBJECT_storagevol
    if (sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG))
        $var = INT2PTR($type, SvIV((SV*)SvRV( $arg )));
    else {
        warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
        XSRETURN_UNDEF;
    }

OUTPUT
O_OBJECT_storagevol
        sv_setref_pv( $arg, "Sys::Virt::StorageVol", (void*)$var );

INPUT
O_OBJECT_nodedevice
    if (sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG))
        $var = INT2PTR($type, SvIV((SV*)SvRV( $arg )));
    else {
        warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
        XSRETURN_UNDEF;
    }

OUTPUT
O_OBJECT_nodedevice
        sv_setref_pv( $arg, "Sys::Virt::NodeDevice", (void*)$var );



INPUT
O_OBJECT_interface
    if (sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG))
        $var = INT2PTR($type, SvIV((SV*)SvRV( $arg )));
    else {
        warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
        XSRETURN_UNDEF;
    }

OUTPUT
O_OBJECT_interface
        sv_setref_pv( $arg, "Sys::Virt::Interface", (void*)$var );


INPUT
O_OBJECT_secret
    if (sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG))
        $var = INT2PTR($type, SvIV((SV*)SvRV( $arg )));
    else {
        warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
        XSRETURN_UNDEF;
    }

OUTPUT
O_OBJECT_secret
        sv_setref_pv( $arg, "Sys::Virt::Secret", (void*)$var );



INPUT
O_OBJECT_nwfilter
    if (sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG))
        $var = INT2PTR($type, SvIV((SV*)SvRV( $arg )));
    else {
        warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
        XSRETURN_UNDEF;
    }

OUTPUT
O_OBJECT_nwfilter
        sv_setref_pv( $arg, "Sys::Virt::NWFilter", (void*)$var );


INPUT
O_OBJECT_domainsnapshot
    if (sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG))
        $var = INT2PTR($type, SvIV((SV*)SvRV( $arg )));
    else {
        warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
        XSRETURN_UNDEF;
    }

OUTPUT
O_OBJECT_domainsnapshot
        sv_setref_pv( $arg, "Sys::Virt::DomainSnapshot", (void*)$var );


INPUT
O_OBJECT_stream
    if (sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG))
        $var = INT2PTR($type, SvIV((SV*)SvRV( $arg )));
    else {
        warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
        XSRETURN_UNDEF;
    }

OUTPUT
O_OBJECT_stream
        sv_setref_pv( $arg, "Sys::Virt::Stream", (void*)$var );