diff options
author | nima <nima@abc39116-655e-4be6-ad55-d661dc543056> | 2008-10-30 02:11:56 +0000 |
---|---|---|
committer | nima <nima@abc39116-655e-4be6-ad55-d661dc543056> | 2008-10-30 02:11:56 +0000 |
commit | 6e5ae9b4399e847b365b00e03b8c619efdf3bba1 (patch) | |
tree | 308a8cc2ea37ef02a6fcf2ed12dbcf2f50532b56 | |
parent | 90f1ca30ef2d9ce324fc198ea7c3a128410d085a (diff) | |
download | python-dmidecode-6e5ae9b4399e847b365b00e03b8c619efdf3bba1.tar.gz python-dmidecode-6e5ae9b4399e847b365b00e03b8c619efdf3bba1.tar.xz python-dmidecode-6e5ae9b4399e847b365b00e03b8c619efdf3bba1.zip |
Implementing (incomplete) upstream changes.
git-svn-id: svn://svn.autonomy.net.au/python-dmidecode@86 abc39116-655e-4be6-ad55-d661dc543056
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | dmidecodemodule.c | 26 |
2 files changed, 24 insertions, 6 deletions
@@ -23,8 +23,8 @@ CFLAGS += -I/usr/include/$(PY) #CFLAGS += -DALIGNMENT_WORKAROUND #. #. When debugging, disable -O2 and enable -g. -#CFLAGS += -g -DNDEBUG -CFLAGS += -O2 +CFLAGS += -g +#CFLAGS += -O2 -DNDEBUG SOFLAGS = -shared -fPIC diff --git a/dmidecodemodule.c b/dmidecodemodule.c index 62d36c6..69e8351 100644 --- a/dmidecodemodule.c +++ b/dmidecodemodule.c @@ -1,10 +1,15 @@ #include "dmidecodemodule.h" #include <mcheck.h> +static void init() { + opt.devmem = DEFAULT_MEM_DEV; + opt.flags=0; + opt.type = NULL; +} + static PyObject* dmidecode_get(PyObject *self, const char* section) { //mtrace(); - /* This is `embedding API', not applicable to this dmidecode module which is `Extending' Py_SetProgramName("dmidecode"); int argc = 3; @@ -28,9 +33,6 @@ static PyObject* dmidecode_get(PyObject *self, const char* section) { } /* Set default option values */ - opt.devmem = DEFAULT_MEM_DEV; - opt.flags=0; - opt.type = NULL; opt.type=parse_opt_type(opt.type, section); if(opt.type==NULL) return NULL; @@ -111,6 +113,16 @@ static PyObject* dmidecode_get(PyObject *self, const char* section) { return pydata; } +static PyObject* dmidecode_dump(PyObject *self, PyObject *args) { return Py_False; } +static PyObject* dmidecode_load(PyObject *self, PyObject *args) { return Py_False; } +static PyObject* dmidecode_dev(PyObject *self, PyObject *args) { + return PyString_FromString(opt.devmem); +} +static PyObject* dmidecode_set_dev(PyObject *self, PyObject *args) { + opt.devmem = PyString_AS_STRING(args); + return Py_True; +} + static PyObject* dmidecode_get_bios(PyObject *self, PyObject *args) { return dmidecode_get(self, "bios"); } static PyObject* dmidecode_get_system(PyObject *self, PyObject *args) { return dmidecode_get(self, "system"); } static PyObject* dmidecode_get_baseboard(PyObject *self, PyObject *args) { return dmidecode_get(self, "baseboard"); } @@ -128,6 +140,11 @@ static PyObject* dmidecode_get_type(PyObject *self, PyObject *args) { } PyMethodDef DMIDataMethods[] = { + { "dump", dmidecode_dump, METH_NOARGS, "Dump dmidata to set file" }, + { "load", dmidecode_load, METH_NOARGS, "Load dmidata from set file" }, + { "dev", dmidecode_dev, METH_NOARGS, "Return the currently set memory device file" }, + { "set_dev", dmidecode_set_dev, METH_O, "Set an alternative memory device file" }, + { "bios", dmidecode_get_bios, METH_VARARGS, "BIOS Data" }, { "system", dmidecode_get_system, METH_VARARGS, "System Data" }, { "baseboard", dmidecode_get_baseboard, METH_VARARGS, "Baseboard Data" }, @@ -143,5 +160,6 @@ PyMethodDef DMIDataMethods[] = { PyMODINIT_FUNC initdmidecode(void) { + init(); (void) Py_InitModule("dmidecode", DMIDataMethods); } |