python: Enable python bindings for samr and lsa interfaces.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 14 Jan 2008 15:48:27 +0000 (16:48 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Mon, 14 Jan 2008 18:53:07 +0000 (19:53 +0100)
source/librpc/config.mk
source/librpc/idl/mgmt.idl
source/scripting/python/modules.c
source/scripting/python/pyrpc.h [new file with mode: 0644]

index 03977e82639802a5d39ccaa478ac9f53293a7fe5..31013289dd2aa31a4df2323bf49133700c821a59 100644 (file)
@@ -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
index 60d1ebdc8500b3ac5bde274d06673d75294aacbb..35857f26cd2d640e6a70b5a06924e4b9a2811957 100644 (file)
@@ -2,6 +2,8 @@
   dcerpc remote management interface
 */
 
+import "misc.idl";
+
 [
   uuid("afa8bd80-7d8a-11c9-bef4-08002b102989"), 
   version(1.0),
index d8a5fdeeaee274b6a66236ee6abe184ae40f20e2..8c5115efca052b2428959ac95922bda3acafac21 100644 (file)
@@ -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/source/scripting/python/pyrpc.h b/source/scripting/python/pyrpc.h
new file mode 100644 (file)
index 0000000..d7b64db
--- /dev/null
@@ -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