chiark / gitweb /
[PATCH] support =, ==, !=, += for the key match and assignment
[elogind.git] / udev.8.in
index 51c55bc5a6adc83cfc7ea609f8ce7ab2a284c2a7..dbba2979728f3f57ed0db18f030d0bc3ef549a7e 100644 (file)
--- a/udev.8.in
+++ b/udev.8.in
@@ -92,11 +92,11 @@ the name is used to name the device file or the network interface.
 .br
 If no matching rule is found, the default kernel device name is used.
 .P
-Every rule consists of a list of comma separated fields:
+Every rule consists of a list of comma separated key value fields:
 .sp
-.IR "key " ,[ "key " ,...] " name " [, " symlink" ]
-.sp
-where fields are:
+.IR "key " ,[ "key " ,...]
+.P
+The following key names can be used to match against device properties:
 .TP
 .B BUS
 Match the bus type of the device.
@@ -114,9 +114,6 @@ Match the kernel driver name.
 .B ID
 Match the device number on the bus, like PCI bus id.
 .TP
-.B PLACE
-Match the topological position on bus, like physical port of USB device
-.TP
 .BI SYSFS{ filename }
 Match sysfs device attribute like label, vendor, USB serial number, SCSI UUID
 or file system label. Up to 5 different sysfs files can be checked, with
@@ -129,36 +126,24 @@ the key doesn't have any trailing whitespace characters by itself.
 Call external program. This key is valid if the program returns successful.
 The environment variables of
 .B udev
-are also available for the program.
+are also available to the program.
 .br
 The string returned by the program may be additionally matched with the
 .B RESULT
-key.
+key in the same or any later rule.
 .TP
 .B RESULT
 Match the returned string of the last
 .B PROGRAM
-call. This key may be used in any following rule after a
+call. This key can be used in the same or in any later rule after a
 .B PROGRAM
 call.
+.P
+The following keys can get values assigned:
 .TP
 .B NAME
 The name of the node to be created, or the name, the network interface
 should be renamed to.
-.br
-If given with the attribute
-.BR NAME{ all_partitions }
-.B udev
-will create device nodes for all 15 partitions of a blockdevice.
-This may be useful for removable media devices.
-.br
-If given with the attribute
-.BR NAME{ ignore_remove }
-.B udev
-will ignore any later remove event for this device.
-This may be useful as a workaround for broken device drivers.
-.sp
-Multiple attributes may be separated by comma.
 .TP
 .B SYMLINK
 The name of a symlink targeting the node. Multiple symlinks may be
@@ -177,6 +162,25 @@ distribution provided rules file.
 .B OWNER, GROUP, MODE
 The permissions for the device node. Every specified value overwrites the
 compiled-in default value.
+.TP
+.B OPTIONS
+.B last_rule
+will be the last rule applied. No later rules will have any effect.
+.sp
+.B OPTIONS
+.B ignore_device
+will ignore this device. No node will be created.
+.sp
+.B ignore_remove
+will ignore any later remove event for this device.
+This may be useful as a workaround for broken device drivers.
+.sp
+.B all_partitions
+will create device nodes for all available partitions of a blockdevice.
+This may be useful for removable media devices which do not detect a media
+change.
+.sp
+Multiple attributes may be separated by comma.
 .P
 .RB "The " NAME ", " SYMLINK ", " PROGRAM ", " OWNER " and " GROUP
 fields support simple printf-like string substitutions:
@@ -218,6 +222,9 @@ all remaining parts of the result string are substituted:
 The name of a created temporary device node to provide access to the
 device from a external program.
 .TP
+.B %P
+The node name of the parent device.
+.TP
 .BI %s{ filename }
 The content of a sysfs attribute.
 .TP
@@ -239,31 +246,31 @@ the first three characters of the sysfs attribute.
 .sp
 .nf
 # if /sbin/scsi_id returns "OEM 0815", the device will be called disk1
-BUS="scsi", PROGRAM="/sbin/scsi_id", RESULT="OEM 0815", NAME="disk1"
+BUS=="scsi", PROGRAM=="/sbin/scsi_id", RESULT=="OEM 0815", NAME="disk1"
 
 # USB printer to be called lp_color
-BUS="usb", SYSFS{serial}="W09090207101241330", NAME="lp_color"
+BUS=="usb", SYSFS{serial}=="W09090207101241330", NAME="lp_color"
 
 # SCSI disk with a specific vendor and model number will be called boot
-BUS="scsi", SYSFS{vendor}="IBM", SYSFS{model}="ST336", NAME="boot%n"
+BUS=="scsi", SYSFS{vendor}=="IBM", SYSFS{model}=="ST336", NAME="boot%n"
 
 # sound card with PCI bus id 00:0b.0 to be called dsp
-BUS="pci", ID="00:0b.0", NAME="dsp"
+BUS=="pci", ID=="00:0b.0", NAME="dsp"
 
 # USB mouse at third port of the second hub to be called mouse1
-BUS="usb", PLACE="2.3", NAME="mouse1"
+BUS=="usb", ID=="2.3", NAME="mouse1"
 
 # ttyUSB1 should always be called pda with two additional symlinks
-KERNEL="ttyUSB1", NAME="pda", SYMLINK="palmtop handheld"
+KERNEL=="ttyUSB1", NAME="pda", SYMLINK="palmtop handheld"
 
 # multiple USB webcams with symlinks to be called webcam0, webcam1, ...
-BUS="usb", SYSFS{model}="XV3", NAME="video%n", SYMLINK="webcam%n"
+BUS=="usb", SYSFS{model}=="XV3", NAME=="video%n", SYMLINK="webcam%n"
 
 # grouping of optical drives from multiple kernel subsystems
-KERNEL="sr*", NAME="%k", SYMLINK="cdrom%e"
-KERNEL="scd*", NAME="%k", SYMLINK="cdrom%e"
-KERNEL="pcd*", NAME="%k", SYMLINK="cdrom%e"
-KERNEL="hd[a-z]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="cdrom",
+KERNEL=="sr*", NAME="%k", SYMLINK="cdrom%e"
+KERNEL=="scd*", NAME="%k", SYMLINK="cdrom%e"
+KERNEL=="pcd*", NAME="%k", SYMLINK="cdrom%e"
+KERNEL=="hd[a-z]", PROGRAM=="/bin/cat /proc/ide/%k/media", RESULT=="cdrom",
   NAME="%k", SYMLINK="cdrom%e"
 .fi
 .P