summaryrefslogtreecommitdiff
path: root/source4/include
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-12-26 16:46:55 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:47:45 -0500
commit448483199fb436309735f5203b3282fca2c517ec (patch)
treefcd663e46d0eac19b98037008a435bdd57ca7f8e /source4/include
parentee10fb1a12391a76fe81e6e7a92d282ef885bc30 (diff)
downloadsamba-448483199fb436309735f5203b3282fca2c517ec.tar.gz
samba-448483199fb436309735f5203b3282fca2c517ec.tar.bz2
samba-448483199fb436309735f5203b3282fca2c517ec.zip
r12494: Support loading modules from .so files for most subsystems.
We now use a different system for initializing the modules for a subsystem. Most subsystems now have an init function that looks something like this: init_module_fn static_init[] = STATIC_AUTH_MODULES; init_module_fn *shared_init = load_samba_modules(NULL, "auth"); run_init_functions(static_init); run_init_functions(shared_init); talloc_free(shared_init); I hope to eliminate the other init functions later on (the init_programname_subsystems; defines). (This used to be commit b6d2ad4ce0a91c4be790dd258820c492ff1787ea)
Diffstat (limited to 'source4/include')
-rw-r--r--source4/include/dynconfig.h1
-rw-r--r--source4/include/includes.h5
-rw-r--r--source4/include/smb.h1
3 files changed, 6 insertions, 1 deletions
diff --git a/source4/include/dynconfig.h b/source4/include/dynconfig.h
index 303ac1b6a4..8135e53c0b 100644
--- a/source4/include/dynconfig.h
+++ b/source4/include/dynconfig.h
@@ -31,6 +31,7 @@ extern const char *dyn_NCALRPCDIR;
extern const char *dyn_LOGFILEBASE;
extern const char *dyn_LMHOSTSFILE;
extern const char *dyn_LIBDIR;
+extern const char *dyn_MODULESDIR;
extern const char *dyn_SHLIBEXT;
extern const char *dyn_LOCKDIR;
extern const char *dyn_PIDDIR;
diff --git a/source4/include/includes.h b/source4/include/includes.h
index 9f5679fa80..fdd155b0ee 100644
--- a/source4/include/includes.h
+++ b/source4/include/includes.h
@@ -23,7 +23,6 @@
#ifndef NO_CONFIG_H /* for some tests */
#include "config.h"
-#include "smb_build.h"
#endif
#include "local.h"
@@ -114,6 +113,10 @@ struct ipv4_addr {
#include "cli_context.h"
#include "auth/credentials/credentials.h"
+#ifndef NO_CONFIG_H
+#include "smb_build.h"
+#endif
+
/***** automatically generated prototypes *****/
#define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2)
#include "include/proto.h"
diff --git a/source4/include/smb.h b/source4/include/smb.h
index 51e7f666ca..73385d4373 100644
--- a/source4/include/smb.h
+++ b/source4/include/smb.h
@@ -608,5 +608,6 @@ enum brl_type {READ_LOCK, WRITE_LOCK, PENDING_READ_LOCK, PENDING_WRITE_LOCK};
#define FS_ATTR_ENCRYPTION 0x00020000
#define FS_ATTR_NAMED_STREAMS 0x00040000
+typedef NTSTATUS (*init_module_fn) (void);
#endif /* _SMB_H */