diff options
-rw-r--r-- | buildtools/wafsamba/wafsamba.py | 2 | ||||
-rw-r--r-- | lib/param/param_functions.c | 23 | ||||
-rw-r--r-- | lib/param/param_structs.h | 13 | ||||
-rw-r--r-- | source4/param/loadparm.c | 39 | ||||
-rw-r--r-- | source4/param/wscript_build | 3 |
5 files changed, 43 insertions, 37 deletions
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index d76afc4984..3858770a6f 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -108,6 +108,7 @@ def SAMBA_LIBRARY(bld, libname, source, external_library=False, realname=None, autoproto=None, + autoproto_extra_source='', group='libraries', depends_on='', local_include=True, @@ -168,6 +169,7 @@ def SAMBA_LIBRARY(bld, libname, source, cflags = cflags, group = subsystem_group, autoproto = autoproto, + autoproto_extra_source=autoproto_extra_source, depends_on = depends_on, hide_symbols = hide_symbols, pyext = pyext or (target_type == "PYTHON"), diff --git a/lib/param/param_functions.c b/lib/param/param_functions.c new file mode 100644 index 0000000000..e68e34ae55 --- /dev/null +++ b/lib/param/param_functions.c @@ -0,0 +1,23 @@ +FN_LOCAL_STRING(pathname, szPath) +FN_LOCAL_LIST(hostsallow, szHostsallow) +FN_LOCAL_LIST(hostsdeny, szHostsdeny) +FN_LOCAL_STRING(comment, comment) +FN_LOCAL_STRING(fstype, fstype) +FN_LOCAL_LIST(ntvfs_handler, ntvfs_handler) +FN_LOCAL_BOOL(msdfs_root, bMSDfsRoot) +FN_LOCAL_BOOL(browseable, bBrowseable) +FN_LOCAL_BOOL(readonly, bRead_only) +FN_LOCAL_BOOL(print_ok, bPrint_ok) +FN_LOCAL_BOOL(map_hidden, bMap_hidden) +FN_LOCAL_BOOL(map_archive, bMap_archive) +FN_LOCAL_BOOL(strict_locking, bStrictLocking) +FN_LOCAL_BOOL(oplocks, bOplocks) +FN_LOCAL_BOOL(strict_sync, bStrictSync) +FN_LOCAL_BOOL(ci_filesystem, bCIFileSystem) +FN_LOCAL_BOOL(map_system, bMap_system) +FN_LOCAL_INTEGER(max_connections, iMaxConnections) +FN_LOCAL_INTEGER(csc_policy, iCSCPolicy) +FN_LOCAL_INTEGER(create_mask, iCreate_mask) +FN_LOCAL_INTEGER(force_create_mode, iCreate_force_mode) +FN_LOCAL_INTEGER(dir_mask, iDir_mask) +FN_LOCAL_INTEGER(force_dir_mode, iDir_force_mode) diff --git a/lib/param/param_structs.h b/lib/param/param_structs.h new file mode 100644 index 0000000000..f076ce15fa --- /dev/null +++ b/lib/param/param_structs.h @@ -0,0 +1,13 @@ +#define LOADPARM_EXTRA_LOCALS \ + struct parmlist_entry *param_opt; \ + char *szService; \ + char *szCopy; \ + char *szInclude; \ + char *szPrintername; \ + int bAvailable; \ + int iMaxPrintJobs; \ + char *volume; \ + struct bitmap *copymap; \ + char dummy[3]; /* for alignment */ + +#include "param_local.h" diff --git a/source4/param/loadparm.c b/source4/param/loadparm.c index b9363435c9..36788290d1 100644 --- a/source4/param/loadparm.c +++ b/source4/param/loadparm.c @@ -70,6 +70,7 @@ #include "auth/gensec/gensec.h" #include "s3_param.h" #include "../lib/util/bitmap.h" +#include "../lib/param/param_structs.h" #define standard_sub_basic talloc_strdup @@ -88,20 +89,7 @@ static bool defaults_saved = false; char *panic_action; \ int bPreferredMaster; -#define LOADPARM_EXTRA_LOCALS \ - struct parmlist_entry *param_opt; \ - char *szService; \ - char *szCopy; \ - char *szInclude; \ - char *szPrintername; \ - int bAvailable; \ - int iMaxPrintJobs; \ - char *volume; \ - struct bitmap *copymap; \ - char dummy[3]; /* for alignment */ - #include "param_global.h" -#include "param_local.h" #define NUMPARAMETERS (sizeof(parm_table) / sizeof(struct parm_struct)) @@ -1450,6 +1438,8 @@ static struct loadparm_context *global_loadparm_context; return((service != NULL)? service->val : sDefault->val); \ } +#include "lib/param/param_functions.c" + FN_GLOBAL_INTEGER(server_role, server_role) FN_GLOBAL_LIST(smb_ports, smb_ports) FN_GLOBAL_INTEGER(nbt_port, nbt_port) @@ -1536,29 +1526,6 @@ FN_GLOBAL_INTEGER(cli_minprotocol, cli_minprotocol) FN_GLOBAL_INTEGER(security, security) FN_GLOBAL_BOOL(paranoid_server_security, paranoid_server_security) -FN_LOCAL_STRING(pathname, szPath) -FN_LOCAL_LIST(hostsallow, szHostsallow) -FN_LOCAL_LIST(hostsdeny, szHostsdeny) -FN_LOCAL_STRING(comment, comment) -FN_LOCAL_STRING(fstype, fstype) -FN_LOCAL_LIST(ntvfs_handler, ntvfs_handler) -FN_LOCAL_BOOL(msdfs_root, bMSDfsRoot) -FN_LOCAL_BOOL(browseable, bBrowseable) -FN_LOCAL_BOOL(readonly, bRead_only) -FN_LOCAL_BOOL(print_ok, bPrint_ok) -FN_LOCAL_BOOL(map_hidden, bMap_hidden) -FN_LOCAL_BOOL(map_archive, bMap_archive) -FN_LOCAL_BOOL(strict_locking, bStrictLocking) -FN_LOCAL_BOOL(oplocks, bOplocks) -FN_LOCAL_BOOL(strict_sync, bStrictSync) -FN_LOCAL_BOOL(ci_filesystem, bCIFileSystem) -FN_LOCAL_BOOL(map_system, bMap_system) -FN_LOCAL_INTEGER(max_connections, iMaxConnections) -FN_LOCAL_INTEGER(csc_policy, iCSCPolicy) -FN_LOCAL_INTEGER(create_mask, iCreate_mask) -FN_LOCAL_INTEGER(force_create_mode, iCreate_force_mode) -FN_LOCAL_INTEGER(dir_mask, iDir_mask) -FN_LOCAL_INTEGER(force_dir_mode, iDir_force_mode) FN_GLOBAL_INTEGER(server_signing, server_signing) FN_GLOBAL_INTEGER(client_signing, client_signing) diff --git a/source4/param/wscript_build b/source4/param/wscript_build index 8cd9955737..a56191d089 100644 --- a/source4/param/wscript_build +++ b/source4/param/wscript_build @@ -6,7 +6,7 @@ bld.SAMBA_GENERATOR('s3_param_h', rule='${PERL} ${SRC[1].abspath(env)} ${SRC[0].abspath(env)} --file ${TGT}') bld.SAMBA_GENERATOR('param_local_h', - source= 'loadparm.c ../../script/mkparamdefs.pl', + source= '../../lib/param/param_functions.c ../../script/mkparamdefs.pl', target='param_local.h', rule='${PERL} ${SRC[1].abspath(env)} ${SRC[0].abspath(env)} --file ${TGT} --generate-scope=LOCAL') @@ -23,6 +23,7 @@ bld.SAMBA_LIBRARY('samba-hostconfig', public_deps='samba-util bitmap', public_headers='param.h', autoproto='param_proto.h', + autoproto_extra_source='../../lib/param/param_functions.c' ) |