X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=perl%2FGuestfs.xs;h=96b02f9b5fff327609a3a3b777f5d99276e6d5e8;hb=ccacf5dec5207d94bc692bfa59670bc8ee4d049f;hp=08b55b814f302f2621de45640cf5362683b2950c;hpb=d1a1ab972bb22f4c38a21fcc73f81650aaa03b4e;p=libguestfs.git diff --git a/perl/Guestfs.xs b/perl/Guestfs.xs index 08b55b8..96b02f9 100644 --- a/perl/Guestfs.xs +++ b/perl/Guestfs.xs @@ -2523,3 +2523,130 @@ PREINIT: if (r == -1) croak ("e2fsck_f: %s", guestfs_last_error (g)); +void +sleep (g, secs) + guestfs_h *g; + int secs; +PREINIT: + int r; + PPCODE: + r = guestfs_sleep (g, secs); + if (r == -1) + croak ("sleep: %s", guestfs_last_error (g)); + +SV * +ntfs_3g_probe (g, rw, device) + guestfs_h *g; + int rw; + char *device; +PREINIT: + int status; + CODE: + status = guestfs_ntfs_3g_probe (g, rw, device); + if (status == -1) + croak ("ntfs_3g_probe: %s", guestfs_last_error (g)); + RETVAL = newSViv (status); + OUTPUT: + RETVAL + +SV * +sh (g, command) + guestfs_h *g; + char *command; +PREINIT: + char *output; + CODE: + output = guestfs_sh (g, command); + if (output == NULL) + croak ("sh: %s", guestfs_last_error (g)); + RETVAL = newSVpv (output, 0); + free (output); + OUTPUT: + RETVAL + +void +sh_lines (g, command) + guestfs_h *g; + char *command; +PREINIT: + char **lines; + int i, n; + PPCODE: + lines = guestfs_sh_lines (g, command); + if (lines == NULL) + croak ("sh_lines: %s", guestfs_last_error (g)); + for (n = 0; lines[n] != NULL; ++n) /**/; + EXTEND (SP, n); + for (i = 0; i < n; ++i) { + PUSHs (sv_2mortal (newSVpv (lines[i], 0))); + free (lines[i]); + } + free (lines); + +void +glob_expand (g, pattern) + guestfs_h *g; + char *pattern; +PREINIT: + char **paths; + int i, n; + PPCODE: + paths = guestfs_glob_expand (g, pattern); + if (paths == NULL) + croak ("glob_expand: %s", guestfs_last_error (g)); + for (n = 0; paths[n] != NULL; ++n) /**/; + EXTEND (SP, n); + for (i = 0; i < n; ++i) { + PUSHs (sv_2mortal (newSVpv (paths[i], 0))); + free (paths[i]); + } + free (paths); + +void +scrub_device (g, device) + guestfs_h *g; + char *device; +PREINIT: + int r; + PPCODE: + r = guestfs_scrub_device (g, device); + if (r == -1) + croak ("scrub_device: %s", guestfs_last_error (g)); + +void +scrub_file (g, file) + guestfs_h *g; + char *file; +PREINIT: + int r; + PPCODE: + r = guestfs_scrub_file (g, file); + if (r == -1) + croak ("scrub_file: %s", guestfs_last_error (g)); + +void +scrub_freespace (g, dir) + guestfs_h *g; + char *dir; +PREINIT: + int r; + PPCODE: + r = guestfs_scrub_freespace (g, dir); + if (r == -1) + croak ("scrub_freespace: %s", guestfs_last_error (g)); + +SV * +mkdtemp (g, template) + guestfs_h *g; + char *template; +PREINIT: + char *dir; + CODE: + dir = guestfs_mkdtemp (g, template); + if (dir == NULL) + croak ("mkdtemp: %s", guestfs_last_error (g)); + RETVAL = newSVpv (dir, 0); + free (dir); + OUTPUT: + RETVAL +