Test booting repeatedly to track down qemu boot hangs.
[libguestfs.git] / python / guestfs.py
index 1596bcd..37dc80f 100644 (file)
@@ -279,6 +279,15 @@ class GuestFS:
         """
         return libguestfsmod.set_ready (self._o)
 
         """
         return libguestfsmod.set_ready (self._o)
 
+    def end_busy (self):
+        u"""This sets the state to "READY", or if in "CONFIG" then
+        it leaves the state as is. This is only used when
+        implementing actions using the low-level API.
+        
+        For more information on states, see guestfs(3).
+        """
+        return libguestfsmod.end_busy (self._o)
+
     def mount (self, device, mountpoint):
         u"""Mount a guest disk at a position in the filesystem.
         Block devices are named "/dev/sda", "/dev/sdb" and so
     def mount (self, device, mountpoint):
         u"""Mount a guest disk at a position in the filesystem.
         Block devices are named "/dev/sda", "/dev/sdb" and so
@@ -700,7 +709,7 @@ class GuestFS:
 
     def mkfs (self, fstype, device):
         u"""This creates a filesystem on "device" (usually a
 
     def mkfs (self, fstype, device):
         u"""This creates a filesystem on "device" (usually a
-        partition of LVM logical volume). The filesystem type is
+        partition or LVM logical volume). The filesystem type is
         "fstype", for example "ext3".
         """
         return libguestfsmod.mkfs (self._o, fstype, device)
         "fstype", for example "ext3".
         """
         return libguestfsmod.mkfs (self._o, fstype, device)
@@ -743,6 +752,11 @@ class GuestFS:
         calculated using "strlen" (so in this case the content
         cannot contain embedded ASCII NULs).
         
         calculated using "strlen" (so in this case the content
         cannot contain embedded ASCII NULs).
         
+        *NB.* Owing to a bug, writing content containing ASCII
+        NUL characters does *not* work, even if the length is
+        specified. We hope to resolve this bug in a future
+        version. In the meantime use "g.upload".
+        
         Because of the message protocol, there is a transfer
         limit of somewhere between 2MB and 4MB. To transfer
         large files you should use FTP.
         Because of the message protocol, there is a transfer
         limit of somewhere between 2MB and 4MB. To transfer
         large files you should use FTP.
@@ -806,6 +820,13 @@ class GuestFS:
         Subsequent elements are parameters. The list must be
         non-empty (ie. must contain a program name).
         
         Subsequent elements are parameters. The list must be
         non-empty (ie. must contain a program name).
         
+        The return value is anything printed to *stdout* by the
+        command.
+        
+        If the command returns a non-zero exit status, then this
+        function returns an error message. The error message
+        string is the content of *stderr* from the command.
+        
         The $PATH environment variable will contain at least
         "/usr/bin" and "/bin". If you require a program from
         another location, you should provide the full path in
         The $PATH environment variable will contain at least
         "/usr/bin" and "/bin". If you require a program from
         another location, you should provide the full path in
@@ -816,6 +837,10 @@ class GuestFS:
         the correct places. It is the caller's responsibility to
         ensure all filesystems that are needed are mounted at
         the right locations.
         the correct places. It is the caller's responsibility to
         ensure all filesystems that are needed are mounted at
         the right locations.
+        
+        Because of the message protocol, there is a transfer
+        limit of somewhere between 2MB and 4MB. To transfer
+        large files you should use FTP.
         """
         return libguestfsmod.command (self._o, arguments)
 
         """
         return libguestfsmod.command (self._o, arguments)
 
@@ -824,6 +849,10 @@ class GuestFS:
         into a list of lines.
         
         This function returns a list of strings.
         into a list of lines.
         
         This function returns a list of strings.
+        
+        Because of the message protocol, there is a transfer
+        limit of somewhere between 2MB and 4MB. To transfer
+        large files you should use FTP.
         """
         return libguestfsmod.command_lines (self._o, arguments)
 
         """
         return libguestfsmod.command_lines (self._o, arguments)
 
@@ -1242,3 +1271,54 @@ class GuestFS:
         """
         return libguestfsmod.ping_daemon (self._o)
 
         """
         return libguestfsmod.ping_daemon (self._o)
 
+    def equal (self, file1, file2):
+        u"""This compares the two files "file1" and "file2" and
+        returns true if their content is exactly equal, or false
+        otherwise.
+        
+        The external cmp(1) program is used for the comparison.
+        """
+        return libguestfsmod.equal (self._o, file1, file2)
+
+    def strings (self, path):
+        u"""This runs the strings(1) command on a file and returns
+        the list of printable strings found.
+        
+        This function returns a list of strings.
+        
+        Because of the message protocol, there is a transfer
+        limit of somewhere between 2MB and 4MB. To transfer
+        large files you should use FTP.
+        """
+        return libguestfsmod.strings (self._o, path)
+
+    def strings_e (self, encoding, path):
+        u"""This is like the "g.strings" command, but allows you to
+        specify the encoding.
+        
+        See the strings(1) manpage for the full list of
+        encodings.
+        
+        Commonly useful encodings are "l" (lower case L) which
+        will show strings inside Windows/x86 files.
+        
+        The returned strings are transcoded to UTF-8.
+        
+        This function returns a list of strings.
+        
+        Because of the message protocol, there is a transfer
+        limit of somewhere between 2MB and 4MB. To transfer
+        large files you should use FTP.
+        """
+        return libguestfsmod.strings_e (self._o, encoding, path)
+
+    def hexdump (self, path):
+        u"""This runs "hexdump -C" on the given "path". The result
+        is the human-readable, canonical hex dump of the file.
+        
+        Because of the message protocol, there is a transfer
+        limit of somewhere between 2MB and 4MB. To transfer
+        large files you should use FTP.
+        """
+        return libguestfsmod.hexdump (self._o, path)
+