1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-27 01:55:22 +03:00

udevadm: support special value 'help' for --action option

This commit is contained in:
Yu Watanabe 2019-06-29 04:03:06 +09:00
parent 9e0196b1e2
commit 6d22bd87f0
3 changed files with 17 additions and 5 deletions

View File

@ -228,7 +228,9 @@
<para>Type of event to be triggered. Possible actions are <literal>add</literal>, <para>Type of event to be triggered. Possible actions are <literal>add</literal>,
<literal>remove</literal>, <literal>change</literal>, <literal>move</literal>, <literal>remove</literal>, <literal>change</literal>, <literal>move</literal>,
<literal>online</literal>, <literal>offline</literal>, <literal>bind</literal>, <literal>online</literal>, <literal>offline</literal>, <literal>bind</literal>,
and <literal>unbind</literal>. The default value is <literal>change</literal>.</para> and <literal>unbind</literal>. Also, the special value <literal>help</literal> can be used
to list the possible actions. The default value is <literal>change</literal>.
</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
@ -524,9 +526,10 @@
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term><option>-a</option></term> <term><option>-a</option></term>
<term><option>--action=<replaceable>string</replaceable></option></term> <term><option>--action=<replaceable>ACTION</replaceable></option></term>
<listitem> <listitem>
<para>The action string.</para> <para>The action string. The special value <literal>help</literal> may be used to list
known values.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>

View File

@ -33,7 +33,7 @@ static int help(void) {
"Test an event run.\n\n" "Test an event run.\n\n"
" -h --help Show this help\n" " -h --help Show this help\n"
" -V --version Show package version\n" " -V --version Show package version\n"
" -a --action=ACTION Set action string\n" " -a --action=ACTION|help Set action string\n"
" -N --resolve-names=early|late|never When to resolve names\n" " -N --resolve-names=early|late|never When to resolve names\n"
, program_invocation_short_name); , program_invocation_short_name);
@ -56,6 +56,11 @@ static int parse_argv(int argc, char *argv[]) {
case 'a': { case 'a': {
DeviceAction a; DeviceAction a;
if (streq(optarg, "help")) {
dump_device_action_table();
return 0;
}
a = device_action_from_string(optarg); a = device_action_from_string(optarg);
if (a < 0) if (a < 0)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), return log_error_errno(SYNTHETIC_ERRNO(EINVAL),

View File

@ -115,7 +115,7 @@ static int help(void) {
" -t --type= Type of events to trigger\n" " -t --type= Type of events to trigger\n"
" devices sysfs devices (default)\n" " devices sysfs devices (default)\n"
" subsystems sysfs subsystems and drivers\n" " subsystems sysfs subsystems and drivers\n"
" -c --action=ACTION Event action value, default is \"change\"\n" " -c --action=ACTION|help Event action value, default is \"change\"\n"
" -s --subsystem-match=SUBSYSTEM Trigger devices from a matching subsystem\n" " -s --subsystem-match=SUBSYSTEM Trigger devices from a matching subsystem\n"
" -S --subsystem-nomatch=SUBSYSTEM Exclude devices from a matching subsystem\n" " -S --subsystem-nomatch=SUBSYSTEM Exclude devices from a matching subsystem\n"
" -a --attr-match=FILE[=VALUE] Trigger devices with a matching attribute\n" " -a --attr-match=FILE[=VALUE] Trigger devices with a matching attribute\n"
@ -205,6 +205,10 @@ int trigger_main(int argc, char *argv[], void *userdata) {
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Unknown type --type=%s", optarg); return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Unknown type --type=%s", optarg);
break; break;
case 'c': case 'c':
if (streq(optarg, "help")) {
dump_device_action_table();
return 0;
}
if (device_action_from_string(optarg) < 0) if (device_action_from_string(optarg) < 0)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Unknown action '%s'", optarg); return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Unknown action '%s'", optarg);