summaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorMatthew Booth <mbooth@redhat.com>2009-06-29 16:27:05 +0100
committerMatthew Booth <mbooth@redhat.com>2009-06-29 16:27:05 +0100
commit128f822e16bb96677c75b88125e18f48d7ccedaf (patch)
treec5f09d72e73c90c02967f48151831e6c4a78fb68 /python
parent103fb55e6b1428366ab31a0f17484ef1baa68e96 (diff)
parentad475104ec7fae456d3309cbf4261b893ed160bb (diff)
downloadlibguestfs-128f822e16bb96677c75b88125e18f48d7ccedaf.tar.gz
libguestfs-128f822e16bb96677c75b88125e18f48d7ccedaf.tar.xz
libguestfs-128f822e16bb96677c75b88125e18f48d7ccedaf.zip
Merge commit 'et/master'
Diffstat (limited to 'python')
-rw-r--r--python/guestfs-py.c53
-rw-r--r--python/guestfs.py23
2 files changed, 76 insertions, 0 deletions
diff --git a/python/guestfs-py.c b/python/guestfs-py.c
index ac1283be..6a81349b 100644
--- a/python/guestfs-py.c
+++ b/python/guestfs-py.c
@@ -4877,6 +4877,57 @@ py_guestfs_du (PyObject *self, PyObject *args)
return py_r;
}
+static PyObject *
+py_guestfs_initrd_list (PyObject *self, PyObject *args)
+{
+ PyObject *py_g;
+ guestfs_h *g;
+ PyObject *py_r;
+ char **r;
+ const char *path;
+
+ if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_initrd_list",
+ &py_g, &path))
+ return NULL;
+ g = get_handle (py_g);
+
+ r = guestfs_initrd_list (g, path);
+ if (r == NULL) {
+ PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
+ return NULL;
+ }
+
+ py_r = put_string_list (r);
+ free_strings (r);
+ return py_r;
+}
+
+static PyObject *
+py_guestfs_mount_loop (PyObject *self, PyObject *args)
+{
+ PyObject *py_g;
+ guestfs_h *g;
+ PyObject *py_r;
+ int r;
+ const char *file;
+ const char *mountpoint;
+
+ if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_mount_loop",
+ &py_g, &file, &mountpoint))
+ return NULL;
+ g = get_handle (py_g);
+
+ r = guestfs_mount_loop (g, file, mountpoint);
+ if (r == -1) {
+ PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
+ return NULL;
+ }
+
+ Py_INCREF (Py_None);
+ py_r = Py_None;
+ return py_r;
+}
+
static PyMethodDef methods[] = {
{ (char *) "create", py_guestfs_create, METH_VARARGS, NULL },
{ (char *) "close", py_guestfs_close, METH_VARARGS, NULL },
@@ -5059,6 +5110,8 @@ static PyMethodDef methods[] = {
{ (char *) "df", py_guestfs_df, METH_VARARGS, NULL },
{ (char *) "df_h", py_guestfs_df_h, METH_VARARGS, NULL },
{ (char *) "du", py_guestfs_du, METH_VARARGS, NULL },
+ { (char *) "initrd_list", py_guestfs_initrd_list, METH_VARARGS, NULL },
+ { (char *) "mount_loop", py_guestfs_mount_loop, METH_VARARGS, NULL },
{ NULL, NULL, 0, NULL }
};
diff --git a/python/guestfs.py b/python/guestfs.py
index e62a5271..46b02a48 100644
--- a/python/guestfs.py
+++ b/python/guestfs.py
@@ -1840,3 +1840,26 @@ class GuestFS:
"""
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)
+