POPT_TABLEEND
};
+static struct poptOption popt_common_config[] = {
+ {
+ .argInfo = POPT_ARG_CALLBACK|POPT_CBFLAG_PRE|POPT_CBFLAG_POST,
+ .arg = (void *)popt_samba_callback,
+ },
+ {
+ .longName = "configfile",
+ .shortName = 's',
+ .argInfo = POPT_ARG_STRING,
+ .val = 's',
+ .descrip = "Use alternative configuration file",
+ .argDescrip = "CONFIGFILE",
+ },
+ POPT_TABLEEND
+};
+
static struct poptOption popt_common_samba[] = {
{
.argInfo = POPT_ARG_CALLBACK|POPT_CBFLAG_PRE|POPT_CBFLAG_POST,
case SAMBA_CMDLINE_POPT_OPT_OPTION_ONLY:
return popt_common_option;
break;
+ case SAMBA_CMDLINE_POPT_OPT_CONFIG_ONLY:
+ return popt_common_config;
+ break;
case SAMBA_CMDLINE_POPT_OPT_SAMBA:
return popt_common_samba;
break;
enum smb_cmdline_popt_options {
SAMBA_CMDLINE_POPT_OPT_DEBUG_ONLY = 1,
SAMBA_CMDLINE_POPT_OPT_OPTION_ONLY,
+ SAMBA_CMDLINE_POPT_OPT_CONFIG_ONLY,
SAMBA_CMDLINE_POPT_OPT_SAMBA,
SAMBA_CMDLINE_POPT_OPT_CONNECTION,
SAMBA_CMDLINE_POPT_OPT_CREDENTIALS,
.descrip = "Options:", \
.argDescrip = NULL },
+/**
+ * @brief A popt structure for --configfile only.
+ */
+#define POPT_COMMON_CONFIG_ONLY { \
+ .longName = NULL, \
+ .shortName = '\0', \
+ .argInfo = POPT_ARG_INCLUDE_TABLE, \
+ .arg = samba_cmdline_get_popt(SAMBA_CMDLINE_POPT_OPT_CONFIG_ONLY), \
+ .val = 0, \
+ .descrip = "Config file:", \
+ .argDescrip = NULL },
+
/**
* @brief A popt structure for common samba options.
*/