<refentry>
<refentryinfo>
<title>udev</title>
- <date>August 2005</date>
<productname>udev</productname>
</refentryinfo>
<refmeta>
<refentrytitle>udev</refentrytitle>
<manvolnum>7</manvolnum>
- <refmiscinfo class="version"></refmiscinfo>
</refmeta>
<refnamediv>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>SYMLINK</option></term>
+ <listitem>
+ <para>Match the name of a symlink targeting the node. It can
+ be used once a SYMLINK key has been set in one of the preceding
+ rules. There may be multiple symlinks; only one needs to match.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><option>SUBSYSTEM</option></term>
<listitem>
<varlistentry>
<term><option>SYMLINK</option></term>
<listitem>
- <para>The name of a symlink targeting the node. Every matching rule can add
+ <para>The name of a symlink targeting the node. Every matching rule will add
this value to the list of symlinks to be created along with the device node.
Multiple symlinks may be specified by separating the names by the space
character.</para>
device. This can only be used for very short running tasks. Running an
event process for a long period of time may block all further events for
this or a dependent device. Long running tasks need to be immediately
- detached from the event process itself.</para>
+ detached from the event process itself. If the option
+ <option>RUN{<replaceable>fail_event_on_error</replaceable>}</option> is
+ specified, and the executed program returns non-zero, the event will be
+ marked as failed for a possible later handling.</para>
+ <para>If no path is given, the program must be in
+ <filename>/lib/udev</filename>, otherwise the full path must be
+ specified.</para>
<para>If the specified string starts with
<option>socket:<replaceable>path</replaceable></option>, all current event
values will be passed to the specified socket, as a message in the same
format the kernel sends an uevent. If the first character of the specified path
is an @ character, an abstract namespace socket is used, instead of an existing
socket file.</para>
+ <para>Program name and arguments are separated with spaces. To
+ include spaces in an argument, use single quotes. Please note
+ that this does not run through a shell.</para>
</listitem>
</varlistentry>
<term><option>program</option></term>
<listitem>
<para>Execute an external program specified as the assigned value and
- import its output, which must be in environment key format.</para>
+ import its output, which must be in environment key
+ format. Path specification, command/argument separation,
+ and quoting work like in <option>RUN</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<listitem>
<para>Rule and device options:</para>
<variablelist>
- <varlistentry>
- <term><option>last_rule</option></term>
- <listitem>
- <para>Stops further rules application. No later rules will have
- any effect.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>ignore_device</option></term>
- <listitem>
- <para>Ignore this event completely.</para>
- </listitem>
- </varlistentry>
<varlistentry>
<term><option>ignore_remove</option></term>
<listitem>