diff options
-rw-r--r-- | isys/isys.c | 17 | ||||
-rw-r--r-- | isys/isys.py | 3 |
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, |