-.B CALLOUT
-calling external program, that returns a string to match
-.br
-keys: \fBBUS\fP, \fBPROGRAM\fP, \fBID\fP
-.SH "EXAMPLE"
+.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 in order to match the rule.
+.TP
+.B PROGRAM
+Call external program. This key is valid if the program returns successful.
+The string returned by the program may additionally matched with the
+.B RESULT
+key.
+.TP
+.B RESULT
+Match the returned string of the last
+.B PROGRAM
+call. This key may used in any following rule after a
+.B PROGRAM
+call.
+.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'
+.TP
+.B %k
+The "kernel name" for the device.
+.TP
+.B %M
+The kernel major number for the device.
+.TP
+.B %m
+The kernel minor number for the device.
+.TP
+.B %b
+The bus id for the device.
+.TP
+.B %c
+The
+.B PROGRAM
+returned string.
+(This does not work within the
+.B PROGRAM
+field for the obvious reason.)
+.TP
+.B %%
+The '%' char itself.
+.P
+.RI "A sample " udev.rules " might look like this:"
+.sp