[lxc-devel] [PATCH 7/7] python3: Add (add|remove)_device_node

Stéphane Graber stgraber at ubuntu.com
Wed Nov 27 22:04:56 UTC 2013


Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
 src/python-lxc/lxc.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/src/python-lxc/lxc.c b/src/python-lxc/lxc.c
index 43e571d..de02d4b 100644
--- a/src/python-lxc/lxc.c
+++ b/src/python-lxc/lxc.c
@@ -505,6 +505,25 @@ Container_state(Container *self, void *closure)
 
 /* Container Functions */
 static PyObject *
+Container_add_device_node(Container *self, PyObject *args, PyObject *kwds)
+{
+    static char *kwlist[] = {"src_path", "dest_path", NULL};
+    char *src_path = NULL;
+    char *dst_path = NULL;
+
+    if (! PyArg_ParseTupleAndKeywords(args, kwds, "s|s", kwlist,
+                                      &src_path, &dst_path))
+        return NULL;
+
+    if (self->container->add_device_node(self->container, src_path,
+                                         dst_path)) {
+        Py_RETURN_TRUE;
+    }
+
+    Py_RETURN_FALSE;
+}
+
+static PyObject *
 Container_attach_and_possibly_wait(Container *self, PyObject *args,
                                    PyObject *kwds, int wait)
 {
@@ -930,6 +949,25 @@ Container_reboot(Container *self, PyObject *args, PyObject *kwds)
 }
 
 static PyObject *
+Container_remove_device_node(Container *self, PyObject *args, PyObject *kwds)
+{
+    static char *kwlist[] = {"src_path", "dest_path", NULL};
+    char *src_path = NULL;
+    char *dst_path = NULL;
+
+    if (! PyArg_ParseTupleAndKeywords(args, kwds, "s|s", kwlist,
+                                      &src_path, &dst_path))
+        return NULL;
+
+    if (self->container->remove_device_node(self->container, src_path,
+                                            dst_path)) {
+        Py_RETURN_TRUE;
+    }
+
+    Py_RETURN_FALSE;
+}
+
+static PyObject *
 Container_save_config(Container *self, PyObject *args, PyObject *kwds)
 {
     static char *kwlist[] = {"path", NULL};
@@ -1139,6 +1177,12 @@ static PyGetSetDef Container_getseters[] = {
 };
 
 static PyMethodDef Container_methods[] = {
+    {"add_device_node", (PyCFunction)Container_add_device_node,
+     METH_VARARGS|METH_KEYWORDS,
+     "add_device_node(src_path, dest_path) -> boolean\n"
+     "\n"
+     "Pass a new device to the container."
+    },
     {"attach", (PyCFunction)Container_attach,
      METH_VARARGS|METH_KEYWORDS,
      "attach(run, payload) -> int\n"
@@ -1244,6 +1288,12 @@ static PyMethodDef Container_methods[] = {
      "\n"
      "Ask the container to reboot."
     },
+    {"remove_device_node", (PyCFunction)Container_remove_device_node,
+     METH_VARARGS|METH_KEYWORDS,
+     "remove_device_node(src_path, dest_path) -> boolean\n"
+     "\n"
+     "Remove a device from the container."
+    },
     {"save_config", (PyCFunction)Container_save_config,
      METH_VARARGS|METH_KEYWORDS,
      "save_config(path = DEFAULT) -> boolean\n"
-- 
1.8.4.4





More information about the lxc-devel mailing list