diff options
author | Tim Potter <tpot@samba.org> | 2002-05-13 06:04:07 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2002-05-13 06:04:07 +0000 |
commit | 5ead26e30b851a544385b3b4d4b3b929b6faf290 (patch) | |
tree | d89f4db601889f74c3e8f050dd36ee904e9f9212 /source3/python | |
parent | 9bd8bf5d12f8a94d355e97ccf1ddace09d9d8254 (diff) | |
download | samba-5ead26e30b851a544385b3b4d4b3b929b6faf290.tar.gz samba-5ead26e30b851a544385b3b4d4b3b929b6faf290.tar.bz2 samba-5ead26e30b851a544385b3b4d4b3b929b6faf290.zip |
Registry module. Only contains REG_xxx constants used by the spoolss
printerdata routines at the moment.
(This used to be commit f2b9447bbdfe025b24a73d1c44885bcadb3f826f)
Diffstat (limited to 'source3/python')
-rw-r--r-- | source3/python/py_winreg.c | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/source3/python/py_winreg.c b/source3/python/py_winreg.c new file mode 100644 index 0000000000..105ad25db2 --- /dev/null +++ b/source3/python/py_winreg.c @@ -0,0 +1,83 @@ +/* + Python wrappers for DCERPC/SMB client routines. + + Copyright (C) Tim Potter, 2002 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "includes.h" +#include "Python.h" + +struct spoolss_const { + char *name; + uint32 value; +} spoolss_const_vals[] = { + + /* Registry value types */ + + { "REG_NONE", REG_NONE }, + { "REG_SZ", REG_SZ }, + { "REG_EXPAND_SZ", REG_EXPAND_SZ }, + { "REG_BINARY", REG_BINARY }, + { "REG_DWORD", REG_DWORD }, + { "REG_DWORD_LE", REG_DWORD_LE }, + { "REG_DWORD_BE", REG_DWORD_BE }, + { "REG_LINK", REG_LINK }, + { "REG_MULTI_SZ", REG_MULTI_SZ }, + { "REG_RESOURCE_LIST", REG_RESOURCE_LIST }, + { "REG_FULL_RESOURCE_DESCRIPTOR", REG_FULL_RESOURCE_DESCRIPTOR }, + { "REG_RESOURCE_REQUIREMENTS_LIST", REG_RESOURCE_REQUIREMENTS_LIST }, + + { NULL }, +}; + +static void const_init(PyObject *dict) +{ + struct spoolss_const *tmp; + PyObject *obj; + + for (tmp = spoolss_const_vals; tmp->name; tmp++) { + obj = PyInt_FromLong(tmp->value); + PyDict_SetItemString(dict, tmp->name, obj); + Py_DECREF(obj); + } +} + +/* + * Module initialisation + */ + +static PyMethodDef winreg_methods[] = { + { NULL } +}; + +void initwinreg(void) +{ + PyObject *module, *dict; + + /* Initialise module */ + + module = Py_InitModule("winreg", winreg_methods); + dict = PyModule_GetDict(module); + + /* Initialise constants */ + + const_init(dict); + + /* Do samba initialisation */ + + py_samba_init(); +} |