+ } elsif ($sig =~ /^(\w+) : uuid$/) {
+ "\
+ CAMLlocal1 (rv);
+ " . gen_unpack_args ($1) . "
+ unsigned char uuid[VIR_UUID_BUFLEN];
+ int r;
+
+ NONBLOCKING (r = $c_name ($1, uuid));
+ CHECK_ERROR (r == -1, conn, \"$c_name\");
+
+ rv = caml_copy_string ((char *) uuid);
+ CAMLreturn (rv);
+"
+ } elsif ($sig =~ /^(\w+) : uuid string$/) {
+ "\
+ CAMLlocal1 (rv);
+ " . gen_unpack_args ($1) . "
+ char uuid[VIR_UUID_STRING_BUFLEN];
+ int r;
+
+ NONBLOCKING (r = $c_name ($1, uuid));
+ CHECK_ERROR (r == -1, conn, \"$c_name\");
+
+ rv = caml_copy_string (uuid);
+ CAMLreturn (rv);
+"