my $msg = shift;
my $val = $messages{$msg};
- $val or do {
+ defined($val) or do {
$val = $msg_ctr++;
$messages{$msg} = $val;
};
MessageContent3 => $msg_option,
WaitBefore => [ ],
DetachStorageOnly => [ ],
+ MBIM => $mode_option,
HuaweiMode => $mode_option,
+ HuaweiNewMode => $mode_option,
+ QuantaMode => $mode_option,
+ BlackberryMode => $mode_option,
+ OptionMode => $mode_option,
SierraMode => $mode_option,
SonyMode => $mode_option,
QisdaMode => $mode_option,
SequansMode => $mode_option,
MobileActionMode => $mode_option,
CiscoMode => $mode_option,
+ StandardEject => $mode_option,
NoDriverLoading => [],
MessageEndpoint => $hex_option,
ReleaseDelay => [],
my @val = @$val;
undef $val;
foreach my $elem (@val) {
+ my $json = json_val($elem, $type);
+ next unless defined $json;
if (defined $val) {
- $val = "$val, "
+ $val = "$val, $json"
} else {
- $val = "";
+ $val = $json;
}
- $val .= json_val($elem, $type);
}
$val = "[ $val ]";
} else {
dev_opt($cur->{Mode}, "mode", "string", \$sep);
dev_opt($cur->{NoDriverLoading}, "no_driver", "bool", \$sep);
dev_opt($cur->{MessageEndpoint}, "msg_endpoint", "int", \$sep);
- dev_opt($cur->{MessageContent}, "msg", "int", \$sep);
- dev_opt($cur->{MessageContent2}, "msg2", "int", \$sep);
- dev_opt($cur->{MessageContent3}, "msg3", "int", \$sep);
+ my $msg = [
+ $cur->{MessageContent},
+ $cur->{MessageContent2},
+ $cur->{MessageContent3}
+ ];
+ dev_opt($msg, "msg", "array:int", \$sep);
dev_opt($cur->{WaitBefore}, "wait", "int", \$sep);
dev_opt($cur->{ReleaseDelay}, "release_delay", "int", \$sep);
dev_opt($cur->{NeedResponse}, "response", "bool", \$sep);