chiark / gitweb /
volume_id: clean up linux_raid code
[elogind.git] / udev.xml
index 68edb8fb99000826084c8f74392c401bd1a5cd09..ac3676e4663e94a1daa9ef5f65eb7f5728e63487 100644 (file)
--- a/udev.xml
+++ b/udev.xml
 
         <para>Usually udev runs as <citerefentry><refentrytitle>udevd</refentrytitle>
         <manvolnum>8</manvolnum></citerefentry> and receives uevents directly from the
-        kernel if a device is added or removed form the system.</para>
+        kernel if a device is added or removed from the system.</para>
 
         <para>If udev receives a device event, it matches its configured rules
         against the available device attributes provided in sysfs to identify the device.
-        Rules that match, may provide additional device information or specify a device
+        Rules that match may provide additional device information or specify a device
         node name and multiple symlink names and instruct udev to run additional programs
         as part of the device event handling.</para>
       </refsect1>
@@ -90,7 +90,7 @@
           pointing to the node, or run a specified program as part of the event handling.
           If no matching rule is found, the default device node name is used.</para>
 
-          <para>A rule may consists of a list of one or more key value pairs separated by
+          <para>A rule may consist of a list of one or more key value pairs separated by
           a comma. Each key has a distinct operation, depending on the used operator. Valid
           operators are:</para>
           <variablelist>
               </listitem>
             </varlistentry>
 
+            <varlistentry>
+              <term><option>TEST{<replaceable>octal mode mask</replaceable>}</option></term>
+              <listitem>
+                <para>Test the existence of a file. An octal mode mask can be specified
+                if needed.</para>
+              </listitem>
+            </varlistentry>
+
             <varlistentry>
               <term><option>PROGRAM</option></term>
               <listitem>
                 <para>Execute external program. The key is true, if the program returns
-                without exit code zero. The whole event environment is available to the
-                executed program. The program's output printed to stdout is available for
+                with exit code zero. The whole event environment is available to the
+                executed program. The program's output printed to stdout, is available in
                 the RESULT key.</para>
               </listitem>
             </varlistentry>
                 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>
                 </variablelist>
                 <para>If no option is given, udev will choose between <option>program</option>
-                and <option>file</option> based on the executable bit of of the file
+                and <option>file</option> based on the executable bit of the file
                 permissions.</para>
               </listitem>
             </varlistentry>
             <varlistentry>
               <term><option>OPTIONS</option></term>
               <listitem>
-                <para><option>last_rule</option> stops further rules application. No later rules
-                will have any effect.
-                <option>ignore_device</option> will ignore this event completely.
-                <option>ignore_remove</option> will ignore  any  later  remove  event  for  this
-                device. This may be useful as a workaround for broken device drivers.
-                <option>all_partitions</option> will create the device nodes for all available
-                partitions of a block device. This may be useful for removable media devices where
-                media changes are not detected.</para>
+                <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>
+                      <para>Do not remove the device node when the device goes away. This may be
+                      useful as a workaround for broken device drivers.</para>
+                    </listitem>
+                  </varlistentry>
+                  <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>
+                    </listitem>
+                  </varlistentry>
+                  <varlistentry>
+                    <term><option>all_partitions</option></term>
+                    <listitem>
+                      <para>Create the device nodes for all available partitions of a block device.
+                      This may be useful for removable media devices where media changes are not
+                      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>
+                      <para>Usually control and other possibly unsafe characters are replaced
+                      in strings used for device naming. The mode of replacement can be specified
+                      with this option.</para>
+                    </listitem>
+                  </varlistentry>
+                </variablelist>
               </listitem>
             </varlistentry>
           </variablelist>
               </listitem>
             </varlistentry>
 
+            <varlistentry>
+              <term><option>$driver</option></term>
+              <listitem>
+                <para>The driver name of the device matched while searching the devpath upwards for
+                  <option>SUBSYSTEMS</option>, <option>KERNELS</option>, <option>DRIVERS</option> and <option>ATTRS</option>.
+                </para>
+              </listitem>
+            </varlistentry>
+
             <varlistentry>
               <term><option>$attr{<replaceable>file</replaceable>}</option>, <option>%s{<replaceable>file</replaceable>}</option></term>
               <listitem>
             </varlistentry>
 
             <varlistentry>
-              <term><option>$minor</option> <option>%m</option></term>
+              <term><option>$minor</option>, <option>%m</option></term>
               <listitem>
                 <para>The kernel minor number for the device.</para>
               </listitem>
               </listitem>
             </varlistentry>
 
+            <varlistentry>
+              <term><option>$name</option></term>
+              <listitem>
+                <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>
+
             <varlistentry>
               <term><option>$root</option>, <option>%r</option></term>
               <listitem>
               </listitem>
             </varlistentry>
 
+            <varlistentry>
+              <term><option>$sys</option>, <option>%S</option></term>
+              <listitem>
+                <para>The sysfs mount point.</para>
+              </listitem>
+            </varlistentry>
+
             <varlistentry>
               <term><option>$tempnode</option>, <option>%N</option></term>
               <listitem>
       <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>
             <refentrytitle>udevd</refentrytitle><manvolnum>8</manvolnum>
           </citerefentry>, 
           <citerefentry>
-            <refentrytitle>udevinfo</refentrytitle><manvolnum>8</manvolnum>
-          </citerefentry>, 
-          <citerefentry>
-            <refentrytitle>udevmonitor</refentrytitle><manvolnum>8</manvolnum>
+            <refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum>
         </citerefentry></para>
       </refsect1>
     </refentry>