These should be char *, but replace them with [1024] for now
[Samba/vl.git] / source3 / dynconfig.c
blobc9dcea5204cd0d1e8cd792572a7893a773ac305c
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 /* JRA - FIXME - these should be dynamic char * */
47 char dyn_CONFIGFILE[1024] = CONFIGFILE; /**< Location of smb.conf file. **/
49 /** Log file directory. **/
50 char dyn_LOGFILEBASE[1024] = LOGFILEBASE;
52 /** Statically configured LanMan hosts. **/
53 char dyn_LMHOSTSFILE[1024] = LMHOSTSFILE;
55 /**
56 * @brief Samba data directory.
58 * @sa data_path() to get the path to a file inside the CODEPAGEDIR.
59 **/
60 char dyn_CODEPAGEDIR[1024] = CODEPAGEDIR;
62 /**
63 * @brief Samba library directory.
65 * @sa lib_path() to get the path to a file inside the LIBDIR.
66 **/
67 char dyn_LIBDIR[1024] = LIBDIR;
68 fstring dyn_SHLIBEXT = SHLIBEXT;
70 /**
71 * @brief Directory holding lock files.
73 * Not writable, but used to set a default in the parameter table.
74 **/
75 char dyn_LOCKDIR[1024] = LOCKDIR;
76 char dyn_PIDDIR[1024] = PIDDIR;
78 char dyn_SMB_PASSWD_FILE[1024] = SMB_PASSWD_FILE;
79 char dyn_PRIVATE_DIR[1024] = PRIVATE_DIR;
82 /* In non-FHS mode, these should be configurable using 'lock dir =';
83 but in FHS mode, they are their own directory. Implement as wrapper
84 functions so that everything can still be kept in dynconfig.c.
87 char *dyn_STATEDIR(void)
89 #ifdef FHS_COMPATIBLE
90 return STATEDIR;
91 #else
92 return lp_lockdir();
93 #endif
96 char *dyn_CACHEDIR(void)
98 #ifdef FHS_COMPATIBLE
99 return CACHEDIR;
100 #else
101 return lp_lockdir();
102 #endif