aboutsummaryrefslogtreecommitdiff
path: root/src/hci/commands/param_cmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/hci/commands/param_cmd.c')
-rw-r--r--src/hci/commands/param_cmd.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/hci/commands/param_cmd.c b/src/hci/commands/param_cmd.c
index 9e3260d..dad99f8 100644
--- a/src/hci/commands/param_cmd.c
+++ b/src/hci/commands/param_cmd.c
@@ -90,12 +90,16 @@ static int params_exec ( int argc, char **argv ) {
struct param_options {
/** Parameter list name */
char *params;
+ /** Parameter is a header */
+ int header;
};
/** "param" option list */
static struct option_descriptor param_opts[] = {
OPTION_DESC ( "params", 'p', required_argument,
struct param_options, params, parse_string ),
+ OPTION_DESC ( "header", 'H', no_argument,
+ struct param_options, header, parse_flag ),
};
/** "param" command descriptor */
@@ -114,6 +118,7 @@ static int param_exec ( int argc, char **argv ) {
struct param_options opts;
char *key;
char *value;
+ unsigned int flags;
struct parameters *params;
struct parameter *param;
int rc;
@@ -132,12 +137,15 @@ static int param_exec ( int argc, char **argv ) {
goto err_parse_value;
}
+ /* Construct flags */
+ flags = ( opts.header ? PARAMETER_HEADER : PARAMETER_FORM );
+
/* Identify parameter list */
if ( ( rc = parse_parameters ( opts.params, &params ) ) != 0 )
goto err_parse_parameters;
/* Add parameter */
- param = add_parameter ( params, key, value );
+ param = add_parameter ( params, key, value, flags );
if ( ! param ) {
rc = -ENOMEM;
goto err_add_parameter;