+If no matching rule is found, the default kernel device name is used.
+.P
+Every rule consists of a list a comma separated fields:
+.sp
+.IR "key " ,[ "key " ,...] " name " [, " symlink" ]
+.sp
+where fields are:
+.TP
+.B BUS
+Match the bus type of the device.
+(The sysfs device bus must be able to be determined by a "device" symlink.)
+.TP
+.B KERNEL
+Match the kernel device name.
+.TP
+.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
+all of the values being required to match the rule.
+.br
+Trailing whitespace characters in the sysfs attribute value are ignored, if
+the key doesn't have any trailing whitespace characters by itself.
+.TP
+.B PROGRAM
+Call external program. This key is valid if the program returns successful.
+The environment variables of
+.B udev
+are also available for the program.
+.br
+The string returned by the program may be additionally matched with the
+.B RESULT
+key.
+.TP
+.B RESULT
+Match the returned string of the last
+.B PROGRAM
+call. This key may be used in any following rule after a
+.B PROGRAM
+call.
+.TP
+.B NAME
+The name of the node to be created.
+.br
+If given with the attribute
+.BR NAME{ all_partitions }
+it will create all 15 partitions of a blockdevice.
+This may be useful for removable media devices.
+.TP
+.B SYMLINK
+The name of a symlink targeting the node. Multiple symlinks may be
+specified by separating the names by the space character.
+.br
+If both the name and the symlink fields are omitted or its
+values empty, the device will be ignored and no node will be created.
+.br
+If only the symlink field is given and the name field is omitted,
+the rule will not be applied immediatly, but the symlink field is added
+to the symlink list of the rule which will create the node.
+This makes it possible to specify additional symlinks in a possibly
+separate rules file, while the device nodes are maintained by the
+distribution provided rules file.
+.P
+.RB "The " NAME " ," SYMLINK " and " PROGRAM
+fields support simple printf-like string substitution:
+.TP
+.B %n
+The "kernel number" of the device.
+For example, 'sda3' has a "kernel number" of '3'.