POPT_TABLEEND
};
+static struct poptOption popt_common_option[] = {
+ {
+ .argInfo = POPT_ARG_CALLBACK|POPT_CBFLAG_PRE|POPT_CBFLAG_POST,
+ .arg = (void *)popt_samba_callback,
+ },
+ {
+ .longName = "option",
+ .argInfo = POPT_ARG_STRING,
+ .val = OPT_OPTION,
+ .descrip = "Set smb.conf option from command line",
+ .argDescrip = "name=value",
+ },
+ POPT_TABLEEND
+};
+
static struct poptOption popt_common_samba[] = {
{
.argInfo = POPT_ARG_CALLBACK|POPT_CBFLAG_PRE|POPT_CBFLAG_POST,
case SAMBA_CMDLINE_POPT_OPT_DEBUG_ONLY:
return popt_common_debug;
break;
+ case SAMBA_CMDLINE_POPT_OPT_OPTION_ONLY:
+ return popt_common_option;
+ 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_SAMBA,
SAMBA_CMDLINE_POPT_OPT_CONNECTION,
SAMBA_CMDLINE_POPT_OPT_CREDENTIALS,
.descrip = "Common debug options:", \
.argDescrip = NULL },
+/**
+ * @brief A popt structure for --option only.
+ */
+#define POPT_COMMON_OPTION_ONLY { \
+ .longName = NULL, \
+ .shortName = '\0', \
+ .argInfo = POPT_ARG_INCLUDE_TABLE, \
+ .arg = samba_cmdline_get_popt(SAMBA_CMDLINE_POPT_OPT_OPTION_ONLY), \
+ .val = 0, \
+ .descrip = "Options:", \
+ .argDescrip = NULL },
+
/**
* @brief A popt structure for common samba options.
*/