diff options
Diffstat (limited to 'python')
-rw-r--r-- | python/guestfs-py.c | 53 | ||||
-rw-r--r-- | python/guestfs.py | 23 |
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) + |