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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.