Add 'command' and 'command-lines'. Fix args freeing in Perl bindings.
[libguestfs.git] / guestfs-actions.pod
index 32c6d67..551b3e3 100644 (file)
@@ -283,6 +283,47 @@ yourself (Augeas support makes this relatively easy).
 
 This function returns 0 on success or -1 on error.
 
 
 This function returns 0 on success or -1 on error.
 
+=head2 guestfs_command
+
+ char *guestfs_command (guestfs_h *handle,
+               char * const* const arguments);
+
+This calls runs a command from the guest filesystem.  The
+filesystem must be mounted, and must contain a compatible
+operating system (ie. something Linux, with the same
+or compatible processor architecture).
+
+The single parameter is an argv-style list of arguments.
+The first element is the name of the program to run.
+Subsequent elements are parameters.  The list must be
+non-empty (ie. must contain a program name).
+
+The C<$PATH> environment variable will contain at least
+C</usr/bin> and C</bin>.  If you require a program from
+another location, you should provide the full path in the
+first parameter.
+
+Shared libraries and data files required by the program
+must be available on filesystems which are mounted in the
+correct places.  It is the caller's responsibility to ensure
+all filesystems that are needed are mounted at the right
+locations.
+
+This function returns a string or NULL on error.
+I<The caller must free the returned string after use>.
+
+=head2 guestfs_command_lines
+
+ char **guestfs_command_lines (guestfs_h *handle,
+               char * const* const arguments);
+
+This is the same as C<guestfs_command>, but splits the
+result into a list of lines.
+
+This function returns a NULL-terminated array of strings
+(like L<environ(3)>), or NULL if there was an error.
+I<The caller must free the strings and the array after use>.
+
 =head2 guestfs_config
 
  int guestfs_config (guestfs_h *handle,
 =head2 guestfs_config
 
  int guestfs_config (guestfs_h *handle,