-/*
+/*
Unix SMB/CIFS implementation.
-
+
type definitions for loadparm
Copyright (C) Karl Auer 1993-1998
Copyright (C) Stefan (metze) Metzmacher 2002
Copyright (C) Jim McDonough (jmcd@us.ibm.com) 2003.
Copyright (C) James Myers 2003 <myersjj@samba.org>
-
+
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/>.
*/
+/* the following are used by loadparm for option lists */
/* the following are used by loadparm for option lists */
typedef enum {
- P_BOOL,P_INTEGER,P_OCTAL,P_BYTES,P_LIST,P_CMDLIST,P_STRING,P_USTRING,P_ENUM
+ P_BOOL,P_BOOLREV,P_CHAR,P_INTEGER,P_OCTAL,P_LIST,
+ P_STRING,P_USTRING,P_ENUM,P_BYTES,P_CMDLIST,P_SEP
} parm_type;
typedef enum {
- P_LOCAL,P_GLOBAL,P_NONE
+ P_LOCAL,P_GLOBAL,P_SEPARATOR,P_NONE
} parm_class;
struct enum_list {
const char *name;
};
+struct loadparm_service;
struct loadparm_context;
struct parm_struct {
} def;
};
-#define FLAG_DEFAULT 0x0001 /* this option was a default */
-#define FLAG_CMDLINE 0x0002 /* this option was set from the command line */
-
+/* The following flags are used in SWAT */
+#define FLAG_BASIC 0x0001 /* Display only in BASIC view */
+#define FLAG_SHARE 0x0002 /* file sharing options */
+#define FLAG_PRINT 0x0004 /* printing options */
+#define FLAG_GLOBAL 0x0008 /* local options that should be globally settable in SWAT */
+#define FLAG_WIZARD 0x0010 /* Parameters that the wizard will operate on */
+#define FLAG_ADVANCED 0x0020 /* Parameters that will be visible in advanced view */
+#define FLAG_DEVELOPER 0x0040 /* No longer used */
+#define FLAG_DEPRECATED 0x1000 /* options that should no longer be used */
+#define FLAG_HIDE 0x2000 /* options that should be hidden in SWAT */
+#define FLAG_META 0x8000 /* A meta directive - not a real parameter */
+#define FLAG_CMDLINE 0x10000 /* option has been overridden */
+#define FLAG_DEFAULT 0x20000 /* this option was a default */
+
+/* This defines the section name in the configuration file that will
+ refer to the special "printers" service */
#ifndef PRINTERS_NAME
#define PRINTERS_NAME "printers"
#endif
+/* This defines the section name in the configuration file that will
+ refer to the special "homes" service */
#ifndef HOMES_NAME
#define HOMES_NAME "homes"
#endif
#ifndef PRINT_MAX_JOBID
#define PRINT_MAX_JOBID 10000
#endif
-
-
#ifndef _LOCAL_H
#define _LOCAL_H
-/* The default workgroup - usually overridden in smb.conf */
-#ifndef WORKGROUP
-#define WORKGROUP "WORKGROUP"
-#endif
-
-/* This defines the section name in the configuration file that will contain */
-/* global parameters - that is, parameters relating to the whole server, not */
-/* just services. This name is then reserved, and may not be used as a */
-/* a service name. It will default to "global" if not defined here. */
-#define GLOBAL_NAME "global"
-#define GLOBAL_NAME2 "globals"
-
-/* This defines the section name in the configuration file that will
- refer to the special "homes" service */
-#define HOMES_NAME "homes"
-
-/* This defines the section name in the configuration file that will
- refer to the special "printers" service */
-#define PRINTERS_NAME "printers"
-
/* Yves Gaige <yvesg@hptnodur.grenoble.hp.com> requested this set this */
/* to a maximum of 8 if old smb clients break because of long printer names. */
#define MAXPRINTERLEN 15
it are worked out */
#define USE_READ_PREDICTION 0
-/*
- * Default passwd chat script.
- */
-
-#define DEFAULT_PASSWD_CHAT "*new*password* %n\\n *new*password* %n\\n *changed*"
-
/* Minimum length of allowed password when changing UNIX password. */
#define MINPASSWDLENGTH 5
/* this enables the "rabbit pellet" fix for SMBwritebraw */
#define RABBIT_PELLET_FIX 1
-/* Max number of jobs per print queue. */
-#define PRINT_MAX_JOBID 10000
-
/* Max number of open RPC pipes. */
#define MAX_OPEN_PIPES 2048
int lp_parm_int(int snum, const char *type, const char *option, int def);
unsigned long lp_parm_ulong(int snum, const char *type, const char *option, unsigned long def);
bool lp_parm_bool(int snum, const char *type, const char *option, bool def);
+struct enum_list;
int lp_parm_enum(int snum, const char *type, const char *option,
const struct enum_list *_enum, int def);
char *canonicalize_servicename(TALLOC_CTX *ctx, const char *src);
const char *lp_ldap_user_suffix(void);
const char *lp_ldap_group_suffix(void);
const char *lp_ldap_idmap_suffix(void);
+struct loadparm_service;
+struct parm_struct;
void *lp_parm_ptr(struct loadparm_service *service, struct parm_struct *parm);
void *lp_local_ptr_by_snum(int snum, struct parm_struct *parm);
bool lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue);
uint32 unused_compatitibility_field;
};
-
-/* the following are used by loadparm for option lists */
-typedef enum {
- P_BOOL,P_BOOLREV,P_CHAR,P_INTEGER,P_OCTAL,P_LIST,
- P_STRING,P_USTRING,P_ENUM,P_SEP
-} parm_type;
-
-typedef enum {
- P_LOCAL,P_GLOBAL,P_SEPARATOR,P_NONE
-} parm_class;
-
-struct enum_list {
- int value;
- const char *name;
-};
-
-struct loadparm_service;
-struct loadparm_context;
-
-struct parm_struct {
- const char *label;
- parm_type type;
- parm_class p_class;
- offset_t offset;
- bool (*special)(struct loadparm_context *lpcfg_ctx,
- int snum, const char *, char **);
- const struct enum_list *enum_list;
- unsigned flags;
- union {
- bool bvalue;
- int ivalue;
- char *svalue;
- char cvalue;
- char **lvalue;
- } def;
-};
-
-/* The following flags are used in SWAT */
-#define FLAG_BASIC 0x0001 /* Display only in BASIC view */
-#define FLAG_SHARE 0x0002 /* file sharing options */
-#define FLAG_PRINT 0x0004 /* printing options */
-#define FLAG_GLOBAL 0x0008 /* local options that should be globally settable in SWAT */
-#define FLAG_WIZARD 0x0010 /* Parameters that the wizard will operate on */
-#define FLAG_ADVANCED 0x0020 /* Parameters that will be visible in advanced view */
-#define FLAG_DEVELOPER 0x0040 /* No longer used */
-#define FLAG_DEPRECATED 0x1000 /* options that should no longer be used */
-#define FLAG_HIDE 0x2000 /* options that should be hidden in SWAT */
-#define FLAG_META 0x8000 /* A meta directive - not a real parameter */
-#define FLAG_CMDLINE 0x10000 /* option has been overridden */
-
struct bitmap {
uint32 *b;
unsigned int n;
#include "system/filesys.h"
#include "passdb/lookup_sid.h"
#include "util_tdb.h"
+#include "lib/param/loadparm.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_ACLS
#include "system/filesys.h"
#include "system/syslog.h"
#include "smbd/smbd.h"
+#include "lib/param/loadparm.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_VFS
#include "system/filesys.h"
#include "system/syslog.h"
#include "smbd/smbd.h"
+#include "lib/param/loadparm.h"
static int vfs_extd_audit_debug_level = DBGC_VFS;
#include "../librpc/gen_ndr/ndr_netlogon.h"
#include "auth.h"
#include "ntioctl.h"
+#include "lib/param/loadparm.h"
static int vfs_full_audit_debug_level = DBGC_VFS;
#include "printing.h"
#include "lib/smbconf/smbconf.h"
#include "lib/smbconf/smbconf_init.h"
+#include "lib/param/loadparm.h"
#include "ads.h"
#include "../librpc/gen_ndr/svcctl.h"
*/
string_set(&Globals.szPasswdChat, DEFAULT_PASSWD_CHAT);
- string_set(&Globals.szWorkgroup, WORKGROUP);
+ string_set(&Globals.szWorkgroup, DEFAULT_WORKGROUP);
string_set(&Globals.szPasswdProgram, "");
string_set(&Globals.szLockDir, get_dyn_LOCKDIR());
#include "printing/pcap.h"
#include "passdb/lookup_sid.h"
#include "auth.h"
+#include "lib/param/loadparm.h"
static int load_registry_service(const char *servicename)
{
#include "includes.h"
#include "printing/pcap.h"
#include "printing/load.h"
+#include "lib/param/loadparm.h"
/***************************************************************************
auto-load some homes and printer services
#include "auth.h"
#include "messages.h"
#include "util_tdb.h"
+#include "lib/param/loadparm.h"
extern struct current_user current_user;
extern userdom_struct current_user_info;
#include "smbd/globals.h"
#include "msdfs.h"
#include "auth.h"
+#include "lib/param/loadparm.h"
/**********************************************************************
Parse a DFS pathname of the form \hostname\service\reqpath
#include "printing/load.h"
#include "auth.h"
#include "messages.h"
+#include "lib/param/loadparm.h"
/****************************************************************************
purge stale printers and reload from pre-populated pcap cache
#include "printing/pcap.h"
#include "passdb/lookup_sid.h"
#include "auth.h"
+#include "lib/param/loadparm.h"
extern userdom_struct current_user_info;
#include "../libcli/smb/smb_common.h"
#include "../libcli/security/security.h"
#include "auth.h"
+#include "lib/param/loadparm.h"
static NTSTATUS smbd_smb2_tree_connect(struct smbd_smb2_request *req,
const char *in_path,
#include "lib/smbconf/smbconf.h"
#include "lib/smbconf/smbconf_init.h"
#include "lib/smbconf/smbconf_reg.h"
+#include "lib/param/loadparm.h"
/**********************************************************************
*
#include "includes.h"
#include "system/filesys.h"
#include "popt_common.h"
+#include "lib/param/loadparm.h"
/*******************************************************************
Check if a directory exists.
#include "printing/load.h"
#include "passdb.h"
#include "intl/lang_tdb.h"
+#include "lib/param/loadparm.h"
static int demo_mode = False;
static int passwd_only = False;