</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>NAME</option></term>
+ <listitem>
+ <para>Match the name of the node or network interface. It can
+ be used once the NAME key has been set in one of the preceding
+ rules.</para>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><option>SUBSYSTEM</option></term>
<listitem>
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>
+ <para>If the specifiefd 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>
</listitem>
</varlistentry>
</varlistentry>
<varlistentry>
- <term><option>WAIT_FOR_SYSFS</option></term>
+ <term><option>WAIT_FOR</option></term>
<listitem>
- <para>Wait for the specified sysfs file of the device to be created. Can be used
- to fight against kernel sysfs timing issues.</para>
+ <para>Wait for a file to become available.</para>
</listitem>
</varlistentry>
<term><option>link_priority=<replaceable>value</replaceable></option></term>
<listitem>
<para>Specify the priority of the created symlinks. Devices with higher
- priorities overwrite existing symlinks of other devices.</para>
+ priorities overwrite existing symlinks of other devices. The default is 0.</para>
</listitem>
</varlistentry>
<varlistentry>
detected.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>event_timeout=</option></term>
+ <listitem>
+ <para>Number of seconds an event will wait for operations to finish, before it
+ will terminate itself.</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><option>string_escape=<replaceable>none|replace</replaceable></option></term>
<listitem>
</variablelist>
<para>The <option>NAME</option>, <option>SYMLINK</option>, <option>PROGRAM</option>,
- <option>OWNER</option>, <option>GROUP</option> and <option>RUN</option>
+ <option>OWNER</option>, <option>GROUP</option>, <option>MODE</option> and <option>RUN</option>
fields support simple printf-like string substitutions. The <option>RUN</option>
format chars gets applied after all rules have been processed, right before the program
is executed. It allows the use of the complete environment set by earlier matching
<listitem>
<para>The value of a sysfs attribute found at the device, where
all keys of the rule have matched. If the matching device does not have
- such an attribute, all devices along the chain of parents are searched
- for a matching attribute.
+ such an attribute, follow the chain of parent devices and use the value
+ of the first attribute that matches.
If the attribute is a symlink, the last element of the symlink target is
returned as the value.</para>
</listitem>
<varlistentry>
<term><option>$name</option></term>
<listitem>
- <para>The name of the device node. The value is only set if an earlier
- rule assigned a value, or during a remove events.</para>
+ <para>The current name of the device node. If not changed by a rule, it is the
+ name of the kernel device.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>$links</option></term>
+ <listitem>
+ <para>The current list of symlinks, separated by a space character. The value is
+ only set if an earlier rule assigned a value, or during a remove events.</para>
</listitem>
</varlistentry>
<refsect1><title>AUTHOR</title>
<para>Written by Greg Kroah-Hartman <email>greg@kroah.com</email> and
Kay Sievers <email>kay.sievers@vrfy.org</email>. With much help from
- Dan Stekloff <email>dsteklof@us.ibm.com</email> and many others.</para>
+ Dan Stekloff and many others.</para>
</refsect1>
<refsect1>