34a8cbec9928076619213ede5229d0b73f0ae226
[samba.git] / source / dynconfig.c
1 /* 
2    Unix SMB/CIFS implementation.
3    Copyright (C) 2001 by Martin Pool <mbp@samba.org>
4    Copyright (C) Jim McDonough (jmcd@us.ibm.com)  2003.
5    Copyright (C) Stefan Metzmacher      2003
6    
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11    
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16    
17    You should have received a copy of the GNU General Public License
18    along with this program; if not, write to the Free Software
19    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 */
21
22 #include "includes.h"
23
24 /**
25  * @file dynconfig.c
26  *
27  * @brief Global configurations, initialized to configured defaults.
28  *
29  * This file should be the only file that depends on path
30  * configuration (--prefix, etc), so that if ./configure is re-run,
31  * all programs will be appropriately updated.  Everything else in
32  * Samba should import extern variables from here, rather than relying
33  * on preprocessor macros.
34  *
35  * Eventually some of these may become even more variable, so that
36  * they can for example consistently be set across the whole of Samba
37  * by command-line parameters, config file entries, or environment
38  * variables.
39  *
40  * @todo Perhaps eventually these should be merged into the parameter
41  * table?  There's kind of a chicken-and-egg situation there...
42  **/
43
44 /** Directory with generic binaries */
45 _PUBLIC_ const char *dyn_BINDIR = BINDIR;
46
47 /**< Location of smb.conf file. **/
48 _PUBLIC_ const char *dyn_CONFIGFILE = CONFIGFILE; 
49
50 /** Log file directory. **/
51 _PUBLIC_ const char *dyn_LOGFILEBASE = LOGFILEBASE; 
52
53 /** Directory for local RPC (ncalrpc: transport) */
54 _PUBLIC_ const char *dyn_NCALRPCDIR = NCALRPCDIR;
55
56 /** Statically configured LanMan hosts. **/
57 _PUBLIC_ const char *dyn_LMHOSTSFILE = LMHOSTSFILE; 
58
59 /** Samba data directory. */
60 _PUBLIC_ const char *dyn_DATADIR = DATADIR;
61
62 _PUBLIC_ const char *dyn_MODULESDIR = MODULESDIR;
63
64 /** Shared library extension */
65 _PUBLIC_ const char *dyn_SHLIBEXT = SHLIBEXT;
66
67 /**
68  * @brief Directory holding lock files.
69  *
70  * Not writable, but used to set a default in the parameter table.
71  **/
72 _PUBLIC_ const char *dyn_LOCKDIR = LOCKDIR;
73
74 /** pid file directory */
75 _PUBLIC_ const char *dyn_PIDDIR  = PIDDIR;
76
77 /** Private data directory; holds ldb files and the like */
78 _PUBLIC_ const char *dyn_PRIVATE_DIR = PRIVATE_DIR;
79
80 /** SWAT data file (images, etc) directory */
81 _PUBLIC_ const char *dyn_SWATDIR = SWATDIR;
82
83 /** JSON-RPC Services script directory */
84 _PUBLIC_ const char *dyn_SERVICESDIR = SERVICESDIR;
85
86 /** SETUP files (source files used by the provision) */
87 _PUBLIC_ const char *dyn_SETUPDIR = SETUPDIR;
88
89 /** EJS Javascript library includes */
90 _PUBLIC_ const char *dyn_JSDIR = JSDIR;
91
92 /** Where to find the winbindd socket */
93 _PUBLIC_ const char *dyn_WINBINDD_SOCKET_DIR = WINBINDD_SOCKET_DIR;
94
95 /** Directory with subunit torture tests */
96 _PUBLIC_ const char *dyn_TORTUREDIR = TORTUREDIR;