From a896c8940ca372808c0725bc4f2725f6cb8467b8 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 14 Jan 2008 16:48:27 +0100 Subject: python: Enable python bindings for samr and lsa interfaces. (This used to be commit 3dfcefd8ac640ef1539185f19f7414fbcea9e741) --- source4/librpc/config.mk | 16 ++++++++++++++++ source4/librpc/idl/mgmt.idl | 2 ++ source4/scripting/python/modules.c | 3 +++ source4/scripting/python/pyrpc.h | 27 +++++++++++++++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 source4/scripting/python/pyrpc.h 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 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 . +*/ + +#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 -- cgit