X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=python%2Fguestfs.py;h=46b02a48e54987b1464d18c2862db252c7c5cebf;hp=a82c8cba48878fea56dbd003b19f44b7d2d570e2;hb=128f822e16bb96677c75b88125e18f48d7ccedaf;hpb=3e408f493496597dc026d20778837f421f05a9dd diff --git a/python/guestfs.py b/python/guestfs.py index a82c8cb..46b02a4 100644 --- a/python/guestfs.py +++ b/python/guestfs.py @@ -78,6 +78,87 @@ class GuestFS: def __del__ (self): libguestfsmod.close (self._o) + def test0 (self, str, optstr, strlist, b, integer, filein, fileout): + return libguestfsmod.test0 (self._o, str, optstr, strlist, b, integer, filein, fileout) + + def test0rint (self, val): + return libguestfsmod.test0rint (self._o, val) + + def test0rinterr (self): + return libguestfsmod.test0rinterr (self._o) + + def test0rint64 (self, val): + return libguestfsmod.test0rint64 (self._o, val) + + def test0rint64err (self): + return libguestfsmod.test0rint64err (self._o) + + def test0rbool (self, val): + return libguestfsmod.test0rbool (self._o, val) + + def test0rboolerr (self): + return libguestfsmod.test0rboolerr (self._o) + + def test0rconststring (self, val): + return libguestfsmod.test0rconststring (self._o, val) + + def test0rconststringerr (self): + return libguestfsmod.test0rconststringerr (self._o) + + def test0rstring (self, val): + return libguestfsmod.test0rstring (self._o, val) + + def test0rstringerr (self): + return libguestfsmod.test0rstringerr (self._o) + + def test0rstringlist (self, val): + return libguestfsmod.test0rstringlist (self._o, val) + + def test0rstringlisterr (self): + return libguestfsmod.test0rstringlisterr (self._o) + + def test0rintbool (self, val): + return libguestfsmod.test0rintbool (self._o, val) + + def test0rintboolerr (self): + return libguestfsmod.test0rintboolerr (self._o) + + def test0rpvlist (self, val): + return libguestfsmod.test0rpvlist (self._o, val) + + def test0rpvlisterr (self): + return libguestfsmod.test0rpvlisterr (self._o) + + def test0rvglist (self, val): + return libguestfsmod.test0rvglist (self._o, val) + + def test0rvglisterr (self): + return libguestfsmod.test0rvglisterr (self._o) + + def test0rlvlist (self, val): + return libguestfsmod.test0rlvlist (self._o, val) + + def test0rlvlisterr (self): + return libguestfsmod.test0rlvlisterr (self._o) + + def test0rstat (self, val): + return libguestfsmod.test0rstat (self._o, val) + + def test0rstaterr (self): + return libguestfsmod.test0rstaterr (self._o) + + def test0rstatvfs (self, val): + return libguestfsmod.test0rstatvfs (self._o, val) + + def test0rstatvfserr (self): + return libguestfsmod.test0rstatvfserr (self._o) + + def test0rhashtable (self, val): + return libguestfsmod.test0rhashtable (self._o, val) + + def test0rhashtableerr (self): + return libguestfsmod.test0rhashtableerr (self._o) + def launch (self): u"""Internally libguestfs is implemented by running a virtual machine using qemu(1). @@ -116,7 +197,13 @@ class GuestFS: to modify the image). This is equivalent to the qemu parameter "-drive - file=filename". + file=filename,cache=off". + + Note that this call checks for the existence of + "filename". This stops you from specifying other types + of drive which are supported by qemu such as "nbd:" and + "http:" URLs. To specify those, use the general + "g.config" call instead. """ return libguestfsmod.add_drive (self._o, filename) @@ -126,9 +213,37 @@ class GuestFS: This is equivalent to the qemu parameter "-cdrom filename". + + Note that this call checks for the existence of + "filename". This stops you from specifying other types + of drive which are supported by qemu such as "nbd:" and + "http:" URLs. To specify those, use the general + "g.config" call instead. """ return libguestfsmod.add_cdrom (self._o, filename) + def add_drive_ro (self, filename): + u"""This adds a drive in snapshot mode, making it + effectively read-only. + + Note that writes to the device are allowed, and will be + seen for the duration of the guestfs handle, but they + are written to a temporary file which is discarded as + soon as the guestfs handle is closed. We don't currently + have any method to enable changes to be committed, + although qemu can support this. + + This is equivalent to the qemu parameter "-drive + file=filename,snapshot=on". + + Note that this call checks for the existence of + "filename". This stops you from specifying other types + of drive which are supported by qemu such as "nbd:" and + "http:" URLs. To specify those, use the general + "g.config" call instead. + """ + return libguestfsmod.add_drive_ro (self._o, filename) + def config (self, qemuparam, qemuvalue): u"""This can be used to add arbitrary qemu command line parameters of the form "-param value". Actually it's not @@ -832,7 +947,9 @@ class GuestFS: 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). + non-empty (ie. must contain a program name). Note that + the command runs directly, and is *not* invoked via the + shell (see "g.sh"). The return value is anything printed to *stdout* by the command. @@ -862,6 +979,8 @@ class GuestFS: u"""This is the same as "g.command", but splits the result into a list of lines. + See also: "g.sh_lines" + This function returns a list of strings. Because of the message protocol, there is a transfer @@ -1223,6 +1342,8 @@ class GuestFS: *not* enough to securely wipe the device). It should be sufficient to remove any partition tables, filesystem superblocks and so on. + + See also: "g.scrub_device". """ return libguestfsmod.zero (self._o, device) @@ -1357,7 +1478,7 @@ class GuestFS: """ return libguestfsmod.pvresize (self._o, device) - def sfdisk_N (self, device, n, cyls, heads, sectors, line): + def sfdisk_N (self, device, partnum, cyls, heads, sectors, line): u"""This runs sfdisk(8) option to modify just the single partition "n" (note: "n" counts from 1). @@ -1367,7 +1488,7 @@ class GuestFS: This command is dangerous. Without careful use you can easily destroy all your data. """ - return libguestfsmod.sfdisk_N (self._o, device, n, cyls, heads, sectors, line) + return libguestfsmod.sfdisk_N (self._o, device, partnum, cyls, heads, sectors, line) def sfdisk_l (self, device): u"""This displays the partition table on "device", in the @@ -1484,3 +1605,261 @@ class GuestFS: """ return libguestfsmod.e2fsck_f (self._o, device) + def sleep (self, secs): + u"""Sleep for "secs" seconds. + """ + return libguestfsmod.sleep (self._o, secs) + + def ntfs_3g_probe (self, rw, device): + u"""This command runs the ntfs-3g.probe(8) command which + probes an NTFS "device" for mountability. (Not all NTFS + volumes can be mounted read-write, and some cannot be + mounted at all). + + "rw" is a boolean flag. Set it to true if you want to + test if the volume can be mounted read-write. Set it to + false if you want to test if the volume can be mounted + read-only. + + The return value is an integer which 0 if the operation + would succeed, or some non-zero value documented in the + ntfs-3g.probe(8) manual page. + """ + return libguestfsmod.ntfs_3g_probe (self._o, rw, device) + + def sh (self, command): + u"""This call runs a command from the guest filesystem via + the guest's "/bin/sh". + + This is like "g.command", but passes the command to: + + /bin/sh -c "command" + + Depending on the guest's shell, this usually results in + wildcards being expanded, shell expressions being + interpolated and so on. + + All the provisos about "g.command" apply to this call. + """ + return libguestfsmod.sh (self._o, command) + + def sh_lines (self, command): + u"""This is the same as "g.sh", but splits the result into a + list of lines. + + See also: "g.command_lines" + + This function returns a list of strings. + """ + return libguestfsmod.sh_lines (self._o, command) + + def glob_expand (self, pattern): + u"""This command searches for all the pathnames matching + "pattern" according to the wildcard expansion rules used + by the shell. + + If no paths match, then this returns an empty list + (note: not an error). + + It is just a wrapper around the C glob(3) function with + flags "GLOB_MARK|GLOB_BRACE". See that manual page for + more details. + + This function returns a list of strings. + """ + return libguestfsmod.glob_expand (self._o, pattern) + + def scrub_device (self, device): + u"""This command writes patterns over "device" to make data + retrieval more difficult. + + It is an interface to the scrub(1) program. See that + manual page for more details. + + This command is dangerous. Without careful use you can + easily destroy all your data. + """ + return libguestfsmod.scrub_device (self._o, device) + + def scrub_file (self, file): + u"""This command writes patterns over a file to make data + retrieval more difficult. + + The file is *removed* after scrubbing. + + It is an interface to the scrub(1) program. See that + manual page for more details. + """ + return libguestfsmod.scrub_file (self._o, file) + + def scrub_freespace (self, dir): + u"""This command creates the directory "dir" and then fills + it with files until the filesystem is full, and scrubs + the files as for "g.scrub_file", and deletes them. The + intention is to scrub any free space on the partition + containing "dir". + + It is an interface to the scrub(1) program. See that + manual page for more details. + """ + return libguestfsmod.scrub_freespace (self._o, dir) + + def mkdtemp (self, template): + u"""This command creates a temporary directory. The + "template" parameter should be a full pathname for the + temporary directory name with the final six characters + being "XXXXXX". + + For example: "/tmp/myprogXXXXXX" or + "/Temp/myprogXXXXXX", the second one being suitable for + Windows filesystems. + + The name of the temporary directory that was created is + returned. + + The temporary directory is created with mode 0700 and is + owned by root. + + The caller is responsible for deleting the temporary + directory and its contents after use. + + See also: mkdtemp(3) + """ + return libguestfsmod.mkdtemp (self._o, template) + + def wc_l (self, path): + u"""This command counts the lines in a file, using the "wc + -l" external command. + """ + return libguestfsmod.wc_l (self._o, path) + + def wc_w (self, path): + u"""This command counts the words in a file, using the "wc + -w" external command. + """ + return libguestfsmod.wc_w (self._o, path) + + def wc_c (self, path): + u"""This command counts the characters in a file, using the + "wc -c" external command. + """ + return libguestfsmod.wc_c (self._o, path) + + def head (self, path): + u"""This command returns up to the first 10 lines of a file + as a list of strings. + + 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.head (self._o, path) + + def head_n (self, nrlines, path): + u"""If the parameter "nrlines" is a positive number, this + returns the first "nrlines" lines of the file "path". + + If the parameter "nrlines" is a negative number, this + returns lines from the file "path", excluding the last + "nrlines" lines. + + If the parameter "nrlines" is zero, this returns an + empty list. + + 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.head_n (self._o, nrlines, path) + + def tail (self, path): + u"""This command returns up to the last 10 lines of a file + as a list of strings. + + 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.tail (self._o, path) + + def tail_n (self, nrlines, path): + u"""If the parameter "nrlines" is a positive number, this + returns the last "nrlines" lines of the file "path". + + If the parameter "nrlines" is a negative number, this + returns lines from the file "path", starting with the + "-nrlines"th line. + + If the parameter "nrlines" is zero, this returns an + empty list. + + 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.tail_n (self._o, nrlines, path) + + def df (self): + u"""This command runs the "df" command to report disk space + used. + + This command is mostly useful for interactive sessions. + It is *not* intended that you try to parse the output + string. Use "statvfs" from programs. + """ + return libguestfsmod.df (self._o) + + def df_h (self): + u"""This command runs the "df -h" command to report disk + space used in human-readable format. + + This command is mostly useful for interactive sessions. + It is *not* intended that you try to parse the output + string. Use "statvfs" from programs. + """ + return libguestfsmod.df_h (self._o) + + def du (self, path): + u"""This command runs the "du -s" command to estimate file + space usage for "path". + + "path" can be a file or a directory. If "path" is a + directory then the estimate includes the contents of the + directory and all subdirectories (recursively). + + The result is the estimated size in *kilobytes* (ie. + units of 1024 bytes). + """ + return libguestfsmod.du (self._o, path) + + def initrd_list (self, path): + u"""This command lists out files contained in an initrd. + + The files are listed without any initial "/" character. + The files are listed in the order they appear (not + necessarily alphabetical). Directory names are listed as + separate items. + + Old Linux kernels (2.4 and earlier) used a compressed + ext2 filesystem as initrd. We *only* support the newer + initramfs format (compressed cpio files). + + This function returns a list of strings. + """ + return libguestfsmod.initrd_list (self._o, path) + + def mount_loop (self, file, mountpoint): + u"""This command lets you mount "file" (a filesystem image + in a file) on a mount point. It is entirely equivalent + to the command "mount -o loop file mountpoint". + """ + return libguestfsmod.mount_loop (self._o, file, mountpoint) +