First version of Perl bindings, compiled but not tested.
[libguestfs.git] / perl / typemap
diff --git a/perl/typemap b/perl/typemap
new file mode 100644 (file)
index 0000000..421e73a
--- /dev/null
@@ -0,0 +1,17 @@
+TYPEMAP
+char *         T_PV
+const char *   T_PV
+guestfs_h *    O_OBJECT_guestfs_h
+
+INPUT
+O_OBJECT_guestfs_h
+    if (sv_isobject ($arg) && SvTYPE (SvRV ($arg)) == SVt_PVMG)
+        $var = ($type) SvIV ((SV *) SvRV ($arg));
+    else {
+        warn (\"${Package}::$func_name(): $var is not a blessed SV reference\");
+       XSRETURN_UNDEF;
+    }
+
+OUTPUT
+O_OBJECT_guestfs_h
+    sv_setref_pv ($arg, "Sys::Guestfs", (void *) $var);