diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2003-11-25 03:15:26 +0000 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2003-11-25 03:15:26 +0000 |
commit | a846e592058726b670e40505493a4668bd856186 (patch) | |
tree | ef949e82c7bbd5e58dffb11f75ecababcf10d369 /source4/include | |
parent | 97dbe926ecbc71a8b0f423c07b09140f44647598 (diff) | |
download | samba-a846e592058726b670e40505493a4668bd856186.tar.gz samba-a846e592058726b670e40505493a4668bd856186.tar.bz2 samba-a846e592058726b670e40505493a4668bd856186.zip |
CVS: ----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: Makefile.in configure.in include/includes.h include/ntvfs.h
CVS: include/smb.h lib/iconv.c lib/module.c ntvfs/ntvfs_base.c
CVS: ntvfs/cifs/vfs_cifs.c ntvfs/ipc/vfs_ipc.c
CVS: ntvfs/posix/vfs_posix.c ntvfs/print/vfs_print.c
CVS: ntvfs/reference/vfs_ref.c ntvfs/simple/vfs_simple.c
CVS: passdb/pdb_interface.c
CVS: Added Files:
CVS: include/module.h
CVS: ----------------------------------------------------------------------
Update to the modules system. Fixed:
- get rid of smb_probe_module
- merge older updates from 3.0
- introduced register_subsystem() and register_backend() functions
- adapt ntvfs and charset to use new register functions
- made smb_load_modules() work recursively (e.g. 'preload modules = /usr/lib/samba')
- got rid of some old remains
Things that still need work:
- Did I break tankFS? I don't think so, but I can't test it here :-(
- Add 'postload modules = ' (for modules that need to be loaded after fork() in smbd, if applicable)
- Convert RPC, auth, passdb, etc to use new register_{subsystem,backend}() functions
- Accept wildcards in 'preload modules' option, instead of loading recursively
(This used to be commit 7512b9ab1a8b3103f7a6c13f736353c46a26b668)
Diffstat (limited to 'source4/include')
-rw-r--r-- | source4/include/includes.h | 3 | ||||
-rw-r--r-- | source4/include/module.h | 30 | ||||
-rw-r--r-- | source4/include/ntvfs.h | 3 | ||||
-rw-r--r-- | source4/include/smb.h | 3 |
4 files changed, 35 insertions, 4 deletions
diff --git a/source4/include/includes.h b/source4/include/includes.h index 0f5e73cf56..908d2a4e76 100644 --- a/source4/include/includes.h +++ b/source4/include/includes.h @@ -759,11 +759,12 @@ extern int errno; #include "ntlmssp.h" #include "auth.h" - #include "passdb.h" #include "session.h" +#include "module.h" + #include "asn_1.h" #include "popt.h" diff --git a/source4/include/module.h b/source4/include/module.h new file mode 100644 index 0000000000..02826595e4 --- /dev/null +++ b/source4/include/module.h @@ -0,0 +1,30 @@ +/* + Unix SMB/CIFS implementation. + Handling of idle/exit events + Copyright (C) Jelmer Vernooij 2003 + + 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 2 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, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#ifndef _MODULE_H +#define _MODULE_H + +/* Module support */ +typedef NTSTATUS (*init_module_function) (void); + +/* Module that registers a backend for a certain subsystem */ +typedef NTSTATUS (*register_backend_function) (void *data); + +#endif /* _MODULE_H */ diff --git a/source4/include/ntvfs.h b/source4/include/ntvfs.h index 2b1f519b32..b972a4ef99 100644 --- a/source4/include/ntvfs.h +++ b/source4/include/ntvfs.h @@ -32,6 +32,9 @@ enum ntvfs_type {NTVFS_DISK, NTVFS_PRINT, NTVFS_IPC}; /* the ntvfs operations structure - contains function pointers to the backend implementations of each operation */ struct ntvfs_ops { + const char *name; + enum ntvfs_type type; + /* initial setup */ NTSTATUS (*connect)(struct request_context *req, const char *sharename); NTSTATUS (*disconnect)(struct tcon_context *conn); diff --git a/source4/include/smb.h b/source4/include/smb.h index f6a4281e01..e9f09ce0a5 100644 --- a/source4/include/smb.h +++ b/source4/include/smb.h @@ -1355,9 +1355,6 @@ typedef struct { #define DEFAULT_TRUST_ACCOUNT_PASSWORD_LENGTH 14 -/* Module support */ -typedef int (init_module_function) (void); - /* a set of flags to control handling of request structures */ #define REQ_CONTROL_PROTECTED (1<<0) /* don't destroy this request */ |