summaryrefslogtreecommitdiff
path: root/source4/scripting/python/modules.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-12-23 23:54:30 -0600
committerStefan Metzmacher <metze@samba.org>2007-12-24 01:51:06 -0600
commitbe33f4c611d37ebba59ff618033dc73601339ad1 (patch)
tree2d1fdd393172069a89dd5819d614db6a917bc984 /source4/scripting/python/modules.c
parent1ab5bcfb93c9fc7b18d55e6c5995efddf97fea09 (diff)
downloadsamba-be33f4c611d37ebba59ff618033dc73601339ad1.tar.gz
samba-be33f4c611d37ebba59ff618033dc73601339ad1.tar.bz2
samba-be33f4c611d37ebba59ff618033dc73601339ad1.zip
r26576: Allow the static module loading code to be used for the Python modules.
Simplify the way module initialization functions are handled. (This used to be commit ba8be2dfc0de4434c798663336b81f7f95cde520)
Diffstat (limited to 'source4/scripting/python/modules.c')
-rw-r--r--source4/scripting/python/modules.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/source4/scripting/python/modules.c b/source4/scripting/python/modules.c
new file mode 100644
index 0000000000..6a766f3412
--- /dev/null
+++ b/source4/scripting/python/modules.c
@@ -0,0 +1,45 @@
+/*
+ Unix SMB/CIFS implementation.
+ Samba utility functions
+ Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007
+
+ 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/>.
+*/
+
+#include "includes.h"
+#include <Python.h>
+#include "build.h"
+
+extern void init_ldb(void);
+extern void init_security(void);
+extern void init_registry(void);
+extern void init_param(void);
+extern void init_misc(void);
+extern void init_ldb(void);
+extern void init_auth(void);
+extern void init_credentials(void);
+extern void init_tdb(void);
+extern void init_dcerpc(void);
+extern void init_events(void);
+extern void inituuid(void);
+
+static struct _inittab py_modules[] = { STATIC_LIBPYTHON_MODULES };
+
+void py_load_samba_modules(void)
+{
+ int i;
+ for (i = 0; i < ARRAY_SIZE(py_modules); i++) {
+ PyImport_ExtendInittab(&py_modules[i]);
+ }
+}