summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-01-14 16:48:27 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-01-14 19:53:07 +0100
commita896c8940ca372808c0725bc4f2725f6cb8467b8 (patch)
treec85d7bd3d830e92da2a418a96ccba8770c38e8b7
parentfa5397fbeda759ac66fc5d0a6bdfb60a070a7962 (diff)
downloadsamba-a896c8940ca372808c0725bc4f2725f6cb8467b8.tar.gz
samba-a896c8940ca372808c0725bc4f2725f6cb8467b8.tar.bz2
samba-a896c8940ca372808c0725bc4f2725f6cb8467b8.zip
python: Enable python bindings for samr and lsa interfaces.
(This used to be commit 3dfcefd8ac640ef1539185f19f7414fbcea9e741)
-rw-r--r--source4/librpc/config.mk16
-rw-r--r--source4/librpc/idl/mgmt.idl2
-rw-r--r--source4/scripting/python/modules.c3
-rw-r--r--source4/scripting/python/pyrpc.h27
4 files changed, 48 insertions, 0 deletions
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk
index 03977e8263..31013289dd 100644
--- a/source4/librpc/config.mk
+++ b/source4/librpc/config.mk
@@ -612,3 +612,19 @@ PRIVATE_DEPENDENCIES = RPC_NDR_INITSHUTDOWN
[PYTHON::python_epmapper]
OBJ_FILES = gen_ndr/py_epmapper.o
+
+[PYTHON::python_mgmt]
+OBJ_FILES = gen_ndr/py_mgmt.o
+PRIVATE_DEPENDENCIES = dcerpc_mgmt
+
+[PYTHON::python_atsvc]
+OBJ_FILES = gen_ndr/py_atsvc.o
+PRIVATE_DEPENDENCIES = dcerpc_atsvc
+
+[PYTHON::python_samr]
+OBJ_FILES = gen_ndr/py_samr.o
+PRIVATE_DEPENDENCIES = dcerpc_samr
+
+[PYTHON::python_lsa]
+OBJ_FILES = gen_ndr/py_lsa.o
+PRIVATE_DEPENDENCIES = RPC_NDR_LSA
diff --git a/source4/librpc/idl/mgmt.idl b/source4/librpc/idl/mgmt.idl
index 60d1ebdc85..35857f26cd 100644
--- a/source4/librpc/idl/mgmt.idl
+++ b/source4/librpc/idl/mgmt.idl
@@ -2,6 +2,8 @@
dcerpc remote management interface
*/
+import "misc.idl";
+
[
uuid("afa8bd80-7d8a-11c9-bef4-08002b102989"),
version(1.0),
diff --git a/source4/scripting/python/modules.c b/source4/scripting/python/modules.c
index d8a5fdeeae..8c5115efca 100644
--- a/source4/scripting/python/modules.c
+++ b/source4/scripting/python/modules.c
@@ -39,6 +39,9 @@ extern void initwinreg(void);
extern void initepmapper(void);
extern void initinitshutdown(void);
static void initdcerpc_misc(void) {}
+extern void initmgmt(void);
+extern void initatsvc(void);
+extern void initsamr(void);
static struct _inittab py_modules[] = { STATIC_LIBPYTHON_MODULES };
diff --git a/source4/scripting/python/pyrpc.h b/source4/scripting/python/pyrpc.h
new file mode 100644
index 0000000000..d7b64dbe93
--- /dev/null
+++ b/source4/scripting/python/pyrpc.h
@@ -0,0 +1,27 @@
+/*
+ Unix SMB/CIFS implementation.
+ Samba utility functions
+ Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2008
+
+ 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 3 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, see <http://www.gnu.org/licenses/>.
+*/
+
+#define PY_CHECK_TYPE(type, var, fail) \
+ if (!type ## _Check(var)) {\
+ PyErr_Format(PyExc_TypeError, "Expected type %s", type ## _Type.tp_name); \
+ fail; \
+ }
+
+#define dom_sid2_Type dom_sid_Type
+#define dom_sid28_Type dom_sid_Type