summaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2009-05-13 17:51:14 +0100
committerRichard W.M. Jones <rjones@redhat.com>2009-05-13 17:51:14 +0100
commite8ecc08f663b44f3d79517affe52f137858dfe00 (patch)
tree0bee77cb454884699d671f5b1ef264ba4fde5f9e /python
parent5b17af107f75a0d6f3a39b88b9c18714014eb7af (diff)
downloadlibguestfs-e8ecc08f663b44f3d79517affe52f137858dfe00.tar.gz
libguestfs-e8ecc08f663b44f3d79517affe52f137858dfe00.tar.xz
libguestfs-e8ecc08f663b44f3d79517affe52f137858dfe00.zip
Add 'append', LIBGUESTFS_APPEND to set additional kernel options.
Diffstat (limited to 'python')
-rw-r--r--python/guestfs-py.c50
-rw-r--r--python/guestfs.py24
2 files changed, 74 insertions, 0 deletions
diff --git a/python/guestfs-py.c b/python/guestfs-py.c
index 11ea6a45..3a09afb3 100644
--- a/python/guestfs-py.c
+++ b/python/guestfs-py.c
@@ -633,6 +633,54 @@ py_guestfs_get_path (PyObject *self, PyObject *args)
}
static PyObject *
+py_guestfs_set_append (PyObject *self, PyObject *args)
+{
+ PyObject *py_g;
+ guestfs_h *g;
+ PyObject *py_r;
+ int r;
+ const char *append;
+
+ if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_set_append",
+ &py_g, &append))
+ return NULL;
+ g = get_handle (py_g);
+
+ r = guestfs_set_append (g, append);
+ 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 PyObject *
+py_guestfs_get_append (PyObject *self, PyObject *args)
+{
+ PyObject *py_g;
+ guestfs_h *g;
+ PyObject *py_r;
+ const char *r;
+
+ if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_append",
+ &py_g))
+ return NULL;
+ g = get_handle (py_g);
+
+ r = guestfs_get_append (g);
+ if (r == NULL) {
+ PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
+ return NULL;
+ }
+
+ py_r = PyString_FromString (r);
+ return py_r;
+}
+
+static PyObject *
py_guestfs_set_autosync (PyObject *self, PyObject *args)
{
PyObject *py_g;
@@ -3367,6 +3415,8 @@ static PyMethodDef methods[] = {
{ (char *) "get_qemu", py_guestfs_get_qemu, METH_VARARGS, NULL },
{ (char *) "set_path", py_guestfs_set_path, METH_VARARGS, NULL },
{ (char *) "get_path", py_guestfs_get_path, METH_VARARGS, NULL },
+ { (char *) "set_append", py_guestfs_set_append, METH_VARARGS, NULL },
+ { (char *) "get_append", py_guestfs_get_append, METH_VARARGS, NULL },
{ (char *) "set_autosync", py_guestfs_set_autosync, METH_VARARGS, NULL },
{ (char *) "get_autosync", py_guestfs_get_autosync, METH_VARARGS, NULL },
{ (char *) "set_verbose", py_guestfs_set_verbose, METH_VARARGS, NULL },
diff --git a/python/guestfs.py b/python/guestfs.py
index 37dc80f7..324dea56 100644
--- a/python/guestfs.py
+++ b/python/guestfs.py
@@ -192,6 +192,30 @@ class GuestFS:
"""
return libguestfsmod.get_path (self._o)
+ def set_append (self, append):
+ u"""This function is used to add additional options to the
+ guest kernel command line.
+
+ The default is "NULL" unless overridden by setting
+ "LIBGUESTFS_APPEND" environment variable.
+
+ The string "append" is stashed in the libguestfs handle,
+ so the caller must make sure it remains valid for the
+ lifetime of the handle.
+
+ Setting "append" to "NULL" means *no* additional options
+ are passed (libguestfs always adds a few of its own).
+ """
+ return libguestfsmod.set_append (self._o, append)
+
+ def get_append (self):
+ u"""Return the additional kernel options which are added to
+ the guest kernel command line.
+
+ If "NULL" then no options are added.
+ """
+ return libguestfsmod.get_append (self._o)
+
def set_autosync (self, autosync):
u"""If "autosync" is true, this enables autosync. Libguestfs
will make a best effort attempt to run "g.umount_all"