X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=perl%2FGuestfs.xs;h=f19ea1a15aa700e74fb3d683c1fa1b600d76734f;hp=bcd7304fee1a3246ebada239b7d3f14e336c7ddb;hb=5d6b6a3fbbfea19c606b984bac9cf64b6b81cafe;hpb=826020fe18bf2eee43f8afea392874bb88c0650a;ds=sidebyside diff --git a/perl/Guestfs.xs b/perl/Guestfs.xs index bcd7304..f19ea1a 100644 --- a/perl/Guestfs.xs +++ b/perl/Guestfs.xs @@ -2770,3 +2770,76 @@ PREINIT: } free (lines); +SV * +df (g) + guestfs_h *g; +PREINIT: + char *output; + CODE: + output = guestfs_df (g); + if (output == NULL) + croak ("df: %s", guestfs_last_error (g)); + RETVAL = newSVpv (output, 0); + free (output); + OUTPUT: + RETVAL + +SV * +df_h (g) + guestfs_h *g; +PREINIT: + char *output; + CODE: + output = guestfs_df_h (g); + if (output == NULL) + croak ("df_h: %s", guestfs_last_error (g)); + RETVAL = newSVpv (output, 0); + free (output); + OUTPUT: + RETVAL + +SV * +du (g, path) + guestfs_h *g; + char *path; +PREINIT: + int64_t sizekb; + CODE: + sizekb = guestfs_du (g, path); + if (sizekb == -1) + croak ("du: %s", guestfs_last_error (g)); + RETVAL = my_newSVll (sizekb); + OUTPUT: + RETVAL + +void +initrd_list (g, path) + guestfs_h *g; + char *path; +PREINIT: + char **filenames; + int i, n; + PPCODE: + filenames = guestfs_initrd_list (g, path); + if (filenames == NULL) + croak ("initrd_list: %s", guestfs_last_error (g)); + for (n = 0; filenames[n] != NULL; ++n) /**/; + EXTEND (SP, n); + for (i = 0; i < n; ++i) { + PUSHs (sv_2mortal (newSVpv (filenames[i], 0))); + free (filenames[i]); + } + free (filenames); + +void +mount_loop (g, file, mountpoint) + guestfs_h *g; + char *file; + char *mountpoint; +PREINIT: + int r; + PPCODE: + r = guestfs_mount_loop (g, file, mountpoint); + if (r == -1) + croak ("mount_loop: %s", guestfs_last_error (g)); +