From: Kay Sievers <kay.sievers@vrfy.org>
To: linux-hotplug@vger.kernel.org
Subject: Re: [PATCH] udev - advanced user query options
Date: Tue, 13 Jan 2004 01:21:24 +0000 [thread overview]
Message-ID: <20040113012124.GA9689@vrfy.org> (raw)
In-Reply-To: <20040111023300.GA4762@vrfy.org>
[-- Attachment #1: Type: text/plain, Size: 272 bytes --]
On Mon, Jan 12, 2004 at 05:04:45PM -0800, Greg KH wrote:
> On Tue, Jan 13, 2004 at 12:56:27AM +0100, Kay Sievers wrote:
> >
> > Yes, I'll take the man page in the next two hours.
>
> Great.
>
Ready for takeoff!
Here is the man page update after my udev-weekend :)
Kay
[-- Attachment #2: 02-man-page.diff --]
[-- Type: text/plain, Size: 6223 bytes --]
===== udev.8 1.29 vs edited =====
--- 1.29/udev.8 Wed Dec 31 22:49:53 2003
+++ edited/udev.8 Tue Jan 13 02:09:29 2004
@@ -5,7 +5,7 @@
.BI udev " hotplug-subsystem"
.br
.B udev
-.RI "[-q " sysfs_path "] [-rVh]"
+.RI "[-q " query_type " -p " sysfs_path "] [-drVh]"
.SH "DESCRIPTION"
.B udev
creates or removes device node files usually located in the /dev directory.
@@ -21,14 +21,14 @@
.B udev
reads the sysfs directory of the given device to collect device attributes
like label, serial number or bus device number.
-These attributes are treated as a key
-to determine a unique name for device file creation.
+These attributes may used as keys to determine a
+unique name for device file creation.
.B udev
maintains a database for devices present on the system.
.br
On device removal,
.B udev
-queries the internal database for the name of the device file to be deleted.
+queries its database for the name of the device file to be deleted.
.SH "OPTIONS"
.B udev
normally is called by
@@ -42,11 +42,21 @@
.TP
.B -r
Print the the
-.B udev
-root directory.
+.B udev_root
+directory. When used in conjunction with a query for the node name, the
+.B udev_root
+will be prepended.
+.TP
+.BI -q " query_type"
+Query the database for specified value of a created device node.
+Valid types are:
+.BR name ", " symlink ", " owner " or " group .
.TP
-.BI -q " sysfs_path"
-Query with the sysfs path as argument for the name of the created device node.
+.BI -p " sysfs_path"
+Specify the sysfs path needed for the query.
+.TP
+.B -q
+Dump the whole database.
.TP
.B -h
Print help text.
@@ -115,61 +125,50 @@
.I /etc/udev/udev.conf
file.
.P
-Every line in the rules file define the mapping between device attributes and
-the device file name. It starts with a keyword defining the method used to
-match, followed by one ore more keys to compare and the filename for the
-device. One ore more optional symlinks targeting the node may be specified.
+Every line in the rules file defines the mapping between device attributes
+and the device file name. One ore more keys are specified to match a rule
+with the current device. If all keys are matching, the rule will be applied
+and the name is used for the device node. One or more optional symlinks
+targeting the node may be specified.
.br
-If no matching configuration is found, the default kernel device name
-is used.
+If no matching rule is found, the default kernel device name is used.
.P
The line format is:
.sp
-.I method, key,[key,...] name [, symlink]
+.I key,[key,...] name [, symlink]
.sp
-where valid methods with corresponding keys are:
+where keys are:
.TP
-.B CALLOUT
-calling external program, that returns a string to match. The
.B BUS
-key is optional, but if specified, the sysfs device bus must be able to be
-determined by a "device" symlink.
-.br
-.RB "keys: " BUS ", " PROGRAM ", " ID
+Match the bus type of the device.
+(The sysfs device bus must be able to be determined by a "device" symlink.)
.TP
-.B LABEL
-device label or serial number, like 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. The
-.B BUS
-key is optional, but if specified, the sysfs device bus must be able to be
-detemined by a "device" symlink.
-.br
-.RB "keys: " BUS ", " SYSFS_
+.B KERNEL
+Match the kernel device name.
.TP
-.B NUMBER
-device number on the bus, like PCI bus id
-.br
-.RB "keys: " BUS ", " ID
-.TP
-.B TOPOLOGY
-device position on bus, like physical port of USB device
-.br
-.RB "keys: " BUS ", " PLACE
+.B ID
+Match the device number on the bus, like PCI bus id.
.TP
-.B REPLACE
-string replacement of the kernel device name
-.br
-.RB "key: " KERNEL
-.TP
-.B IGNORE
-tell udev to not care about creation of this device, e.g. because the
-device is already handled by another program
-.br
-.RB "key: " KERNEL
-.P
-The methods are applied in the following order:
-.BR IGNORE ", " CALLOUT ", " LABEL ", " NUMBER ", " TOPOLOGY ", " REPLACE "."
+.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:
@@ -203,25 +202,25 @@
.sp
.nf
# if /sbin/scsi_id returns "OEM 0815" device will be called disk1
-CALLOUT, BUS="scsi", PROGRAM="/sbin/scsi_id", ID="OEM 0815", NAME="disk1"
+BUS="scsi", PROGRAM="/sbin/scsi_id", RESULT="OEM 0815", NAME="disk1"
# USB printer to be called lp_color
-LABEL, 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 is to be called boot
-LABEL, 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
-NUMBER, 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
-TOPOLOGY, BUS="usb", PLACE="2.3", NAME="mouse1"
+BUS="usb", PLACE="2.3", NAME="mouse1"
# ttyUSB1 should always be called pda with two additional symlinks
-REPLACE, KERNEL="ttyUSB1", NAME="pda", SYMLINK="palmtop handheld"
+KERNEL="ttyUSB1", NAME="pda", SYMLINK="palmtop handheld"
# multiple USB webcams with symlinks to be called webcam0, webcam1, ...
-LABEL, BUS="usb", SYSFS_model="XV3", NAME="video%n", SYMLINK="webcam%n"
+BUS="usb", SYSFS_model="XV3", NAME="video%n", SYMLINK="webcam%n"
.fi
.P
Permissions and ownership for the created device files may specified at
next prev parent reply other threads:[~2004-01-13 1:21 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-11 2:33 [PATCH] udev - advanced user query options Kay Sievers
2004-01-11 2:37 ` Robert Love
2004-01-11 3:17 ` Kay Sievers
2004-01-12 18:05 ` David Zeuthen
2004-01-12 21:21 ` Greg KH
2004-01-12 21:22 ` Greg KH
2004-01-12 23:56 ` Kay Sievers
2004-01-13 1:04 ` Greg KH
2004-01-13 1:21 ` Kay Sievers [this message]
2004-01-13 4:35 ` Kay Sievers
2004-01-13 18:29 ` Greg KH
2004-01-13 19:47 ` Greg KH
2004-01-15 13:54 ` Olaf Hering
2004-01-15 20:56 ` Greg KH
2004-01-15 21:16 ` Kay Sievers
2004-01-15 21:21 ` Greg KH
2004-01-16 9:49 ` Olaf Hering
2004-01-16 9:57 ` Kay Sievers
2004-01-16 21:54 ` Greg KH
2004-01-19 9:11 ` Olaf Hering
2004-01-19 17:47 ` Greg KH
2004-01-19 19:23 ` Olaf Hering
2004-01-20 0:08 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040113012124.GA9689@vrfy.org \
--to=kay.sievers@vrfy.org \
--cc=linux-hotplug@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).