2007-12-10 22:30:37 +03:00
/*
2002-01-30 09:08:46 +03:00
Unix SMB / CIFS implementation .
2001-11-19 05:24:05 +03:00
Copyright ( C ) 2001 by Martin Pool < mbp @ samba . org >
2003-08-01 18:47:39 +04:00
Copyright ( C ) 2003 by Jim McDonough < jmcd @ us . ibm . com >
2007-12-10 22:30:37 +03:00
Copyright ( C ) 2007 by Jeremy Allison < jra @ samba . org >
2001-11-19 05:24:05 +03:00
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
2007-07-09 23:25:36 +04:00
the Free Software Foundation ; either version 3 of the License , or
2001-11-19 05:24:05 +03:00
( at your option ) any later version .
2007-12-10 22:30:37 +03:00
2001-11-19 05:24:05 +03:00
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 .
2007-12-10 22:30:37 +03:00
2001-11-19 05:24:05 +03:00
You should have received a copy of the GNU General Public License
2007-07-10 04:52:41 +04:00
along with this program . If not , see < http : //www.gnu.org/licenses/>.
2001-11-19 05:24:05 +03:00
*/
# include "includes.h"
/**
* @ file dynconfig . c
*
2001-11-19 05:49:53 +03:00
* @ brief Global configurations , initialized to configured defaults .
2001-11-19 05:24:05 +03:00
*
* This file should be the only file that depends on path
* configuration ( - - prefix , etc ) , so that if . / configure is re - run ,
* all programs will be appropriately updated . Everything else in
* Samba should import extern variables from here , rather than relying
* on preprocessor macros .
*
* Eventually some of these may become even more variable , so that
* they can for example consistently be set across the whole of Samba
* by command - line parameters , config file entries , or environment
* variables .
2001-11-19 06:35:27 +03:00
*
* @ todo Perhaps eventually these should be merged into the parameter
* table ? There ' s kind of a chicken - and - egg situation there . . .
2001-11-19 05:24:05 +03:00
* */
2007-12-10 22:30:37 +03:00
# define DEFINE_DYN_CONFIG_PARAM(name) \
static char * dyn_ # # name ; \
\
const char * get_dyn_ # # name ( void ) \
{ \
if ( dyn_ # # name = = NULL ) { \
return name ; \
} \
return dyn_ # # name ; \
} \
\
const char * set_dyn_ # # name ( const char * newpath ) \
{ \
if ( dyn_ # # name ) { \
SAFE_FREE ( dyn_ # # name ) ; \
} \
dyn_ # # name = SMB_STRDUP ( newpath ) ; \
return dyn_ # # name ; \
2008-02-04 18:16:59 +03:00
} \
\
bool is_default_dyn_ # # name ( void ) \
{ \
return ( dyn_ # # name = = NULL ) ; \
2007-12-10 22:30:37 +03:00
}
DEFINE_DYN_CONFIG_PARAM ( SBINDIR )
DEFINE_DYN_CONFIG_PARAM ( BINDIR )
DEFINE_DYN_CONFIG_PARAM ( SWATDIR )
DEFINE_DYN_CONFIG_PARAM ( CONFIGFILE ) /**< Location of smb.conf file. **/
DEFINE_DYN_CONFIG_PARAM ( LOGFILEBASE ) /** Log file directory. **/
DEFINE_DYN_CONFIG_PARAM ( LMHOSTSFILE ) /** Statically configured LanMan hosts. **/
DEFINE_DYN_CONFIG_PARAM ( CODEPAGEDIR )
DEFINE_DYN_CONFIG_PARAM ( LIBDIR )
2008-08-15 02:43:31 +04:00
DEFINE_DYN_CONFIG_PARAM ( MODULESDIR )
2007-12-10 22:30:37 +03:00
DEFINE_DYN_CONFIG_PARAM ( SHLIBEXT )
DEFINE_DYN_CONFIG_PARAM ( LOCKDIR )
2009-01-08 22:18:13 +03:00
DEFINE_DYN_CONFIG_PARAM ( STATEDIR ) /** Persistent state files. Default LOCKDIR */
DEFINE_DYN_CONFIG_PARAM ( CACHEDIR ) /** Temporary cache files. Default LOCKDIR */
2007-12-10 22:30:37 +03:00
DEFINE_DYN_CONFIG_PARAM ( PIDDIR )
2008-09-22 21:24:59 +04:00
DEFINE_DYN_CONFIG_PARAM ( NCALRPCDIR )
2007-12-10 22:30:37 +03:00
DEFINE_DYN_CONFIG_PARAM ( SMB_PASSWD_FILE )
DEFINE_DYN_CONFIG_PARAM ( PRIVATE_DIR )