summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--isys/isys.c17
-rw-r--r--isys/isys.py3
2 files changed, 20 insertions, 0 deletions
diff --git a/isys/isys.c b/isys/isys.c
index 36c6f67e3..9016f0509 100644
--- a/isys/isys.c
+++ b/isys/isys.c
@@ -60,6 +60,7 @@ static PyObject * doReadModInfo(PyObject * s, PyObject * args);
static PyObject * doUMount(PyObject * s, PyObject * args);
static PyObject * getModuleList(PyObject * s, PyObject * args);
static PyObject * makeDevInode(PyObject * s, PyObject * args);
+static PyObject * doMknod(PyObject * s, PyObject * args);
static PyObject * smpAvailable(PyObject * s, PyObject * args);
static PyObject * createProbedList(PyObject * s, PyObject * args);
static PyObject * doChroot(PyObject * s, PyObject * args);
@@ -117,6 +118,7 @@ static PyMethodDef isysModuleMethods[] = {
*/
{ "poptParseArgv", (PyCFunction) doPoptParse, METH_VARARGS, NULL },
{ "mkdevinode", (PyCFunction) makeDevInode, METH_VARARGS, NULL },
+ { "mknod", (PyCFunction) doMknod, METH_VARARGS, NULL },
{ "modulelist", (PyCFunction) getModuleList, METH_VARARGS, NULL },
{ "ProbedList", (PyCFunction) createProbedList, METH_VARARGS, NULL },
{ "readmoduleinfo", (PyCFunction) doReadModInfo, METH_VARARGS, NULL },
@@ -295,6 +297,21 @@ static PyObject * makeDevInode(PyObject * s, PyObject * args) {
return Py_None;
}
+static PyObject * doMknod(PyObject * s, PyObject * args) {
+ char * pathname;
+ int mode, dev;
+
+ if (!PyArg_ParseTuple(args, "sii", &pathname, &mode, &dev)) return NULL;
+
+ if (mknod(pathname, mode, dev)) {
+ PyErr_SetFromErrno(PyExc_SystemError);
+ return NULL;
+ }
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
#if 0
static PyObject * doRmmod(PyObject * s, PyObject * pyargs) {
char * modName;
diff --git a/isys/isys.py b/isys/isys.py
index aa22a4ccb..a02bd4831 100644
--- a/isys/isys.py
+++ b/isys/isys.py
@@ -244,6 +244,9 @@ def makeDevInode(name, fn=None):
_isys.mkdevinode(name, path)
return path
+def mknod(pathname, mode, dev):
+ return _isys.mknod(pathname, mode, dev)
+
def inet_ntoa (addr):
return "%d.%d.%d.%d" % ((addr >> 24) & 0x000000ff,
(addr >> 16) & 0x000000ff,