Implement create_file()
[Samba.git] / source / dynconfig.c
blob01460b8363812106c745313b697bd75b23a56a6b
1 /*
2 Unix SMB/CIFS implementation.
3 Copyright (C) 2001 by Martin Pool <mbp@samba.org>
4 Copyright (C) 2003 by Jim McDonough <jmcd@us.ibm.com>
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #include "includes.h"
22 /**
23 * @file dynconfig.c
25 * @brief Global configurations, initialized to configured defaults.
27 * This file should be the only file that depends on path
28 * configuration (--prefix, etc), so that if ./configure is re-run,
29 * all programs will be appropriately updated. Everything else in
30 * Samba should import extern variables from here, rather than relying
31 * on preprocessor macros.
33 * Eventually some of these may become even more variable, so that
34 * they can for example consistently be set across the whole of Samba
35 * by command-line parameters, config file entries, or environment
36 * variables.
38 * @todo Perhaps eventually these should be merged into the parameter
39 * table? There's kind of a chicken-and-egg situation there...
40 **/
42 char const *dyn_SBINDIR = SBINDIR,
43 *dyn_BINDIR = BINDIR,
44 *dyn_SWATDIR = SWATDIR;
46 pstring dyn_CONFIGFILE = CONFIGFILE; /**< Location of smb.conf file. **/
48 /** Log file directory. **/
49 pstring dyn_LOGFILEBASE = LOGFILEBASE;
51 /** Statically configured LanMan hosts. **/
52 pstring dyn_LMHOSTSFILE = LMHOSTSFILE;
54 /**
55 * @brief Samba data directory.
57 * @sa data_path() to get the path to a file inside the CODEPAGEDIR.
58 **/
59 pstring dyn_CODEPAGEDIR = CODEPAGEDIR;
61 /**
62 * @brief Samba library directory.
64 * @sa lib_path() to get the path to a file inside the LIBDIR.
65 **/
66 pstring dyn_LIBDIR = LIBDIR;
67 fstring dyn_SHLIBEXT = SHLIBEXT;
69 /**
70 * @brief Directory holding lock files.
72 * Not writable, but used to set a default in the parameter table.
73 **/
74 pstring dyn_LOCKDIR = LOCKDIR;
75 pstring dyn_PIDDIR = PIDDIR;
77 pstring dyn_SMB_PASSWD_FILE = SMB_PASSWD_FILE;
78 pstring dyn_PRIVATE_DIR = PRIVATE_DIR;
81 /* In non-FHS mode, these should be configurable using 'lock dir =';
82 but in FHS mode, they are their own directory. Implement as wrapper
83 functions so that everything can still be kept in dynconfig.c.
86 char *dyn_STATEDIR(void)
88 #ifdef FHS_COMPATIBLE
89 return STATEDIR;
90 #else
91 return lp_lockdir();
92 #endif
95 char *dyn_CACHEDIR(void)
97 #ifdef FHS_COMPATIBLE
98 return CACHEDIR;
99 #else
100 return lp_lockdir();
101 #endif