docs/85097: [patch] devd.conf.5 lacks a lot of vital information.

Fredrik Lindberg fli+freebsd at shapeshifter.se
Thu Aug 18 19:20:17 UTC 2005


>Number:         85097
>Category:       docs
>Synopsis:       [patch] devd.conf.5 lacks a lot of vital information.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-doc
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          doc-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Aug 18 19:20:15 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Fredrik Lindberg
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD biocandy.shapeshifter.se 7.0-CURRENT FreeBSD 7.0-CURRENT #2: Sun Aug 14 12:18:18 CEST 2005 root at biocandy.shapeshifter.se:/usr/obj/usr/src/sys/BIOCANDY-CURRENT i386


	
>Description:
The manual page for devd.conf(5) is very sparse.
This patch adds information on how you actually configure devd and explains
the syntax and meaning of the avaiable substatements.

>How-To-Repeat:
	
>Fix:

Index: devd.conf.5
===================================================================
RCS file: /home/ncvs/src/sbin/devd/devd.conf.5,v
retrieving revision 1.8
diff -u -r1.8 devd.conf.5
--- devd.conf.5	3 Mar 2003 11:51:30 -0000	1.8
+++ devd.conf.5	18 Aug 2005 18:59:21 -0000
@@ -41,7 +41,7 @@
 .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 .\" SOFTWARE.
 .\"
-.Dd October 17, 2002
+.Dd August 18, 2005
 .Dt DEVD.CONF 5
 .Os
 .Sh NAME
@@ -73,6 +73,9 @@
 specifies various matching criteria and actions to perform when
 no device driver currently loaded in the kernel claims a (new)
 device.
+.It Ic notify
+specifies various matching criteria and actions to perform when the kernel
+sends an event notification to user land.
 .El
 .Pp
 Statements may occur in any order in the configuration file, and may be
@@ -80,6 +83,162 @@
 Further details on the syntax and meaning of each statement and their
 substatements are explained below.
 .Pp
+Each statement, except 
+.Ql options
+has a priority (arbitrary number) associated with it, where
+0 is defined as the lowest priority.
+If two statements matches the same event, only the action of the statement with
+highest priority will be carried out. In this way generic statements can be
+overridden for devices/notifications that requires special attention. 
+.Pp
+The general syntax to create a statement is as follows
+.Pp
+.Bd -literal
+statement priority {
+	substatement "value"; 
+	...
+	substatement "value"; 
+};
+.Ed
+.Pp
+.Ss Substatements
+The following statements are supported within the 
+.Ql options
+statement.
+.Bl -tag -width ".Ic directory"
+.It Ic directory \*q/some/path\*q; 
+Adds the given directory to the list of directories from which devd will read
+configuration files. Any number of this directive is valid.
+.It Ic pid-file \*q/var/run/devd.pid\*q;
+Specifies pid file.
+.It Ic set regexp-name \*q(some|regexp)\*q;
+Creates a regular expression and assigns it to the variable
+regexp-name, this variable is then avaiable through out the rest of 
+the configuration file.
+All regular expressions have an implicit ^$ around them.
+.El
+.Pp
+The following statements are supported within the 
+.Ql attach
+and
+.Ql detach
+statements.
+.Bl -tag -width ".Ic directory"
+.It Ic device-name \*qstring\*q;
+Actually a shorthand to `match device-name'. Matches a device named string.
+string is allowed to be a regular expression or a variable previously created
+containing a regular expression.
+The variable $device-name is avaiable for later use with the action-statement.
+.It Ic match \*qvariable\*q \*qvalue\*q;
+Matches the content of value against variable. value can be a regular expression.
+Not really needed during attach/detach events since the device-name statement
+takes care of all device matching.
+For a partial list of variables, see below.
+.It Ic action \*qcommand\*q;
+Command to execute upon a successful match. 
+Example /etc/pccard_ether $device-name start
+.El
+.Pp
+The following statements are supported within the 
+.Ql nomatch
+statement. 
+.Bl -tag -width ".Ic directory"
+.It Ic match \*qvariable\*q \*qvalue\*q;
+Matches the content of value against variable. value can be a regular expression.
+For a partial list of variables, see below.
+.It Ic action \*qcommand\*q;
+Same as above.
+.El
+.Pp
+The following statements are supported within the 
+.Ql notify 
+statement.
+The variable
+.Ql $notify
+is avaiable inside this statement and contains, possibly, a value depending
+on which system and subsystem that delivered the event. 
+.Bl -tag -width ".Ic directory"
+.It Ic match \*qsystem|subsystem|type\*q \*qvalue\*q;
+Any number of match-statements can exists within a notify-statement.
+value can be either a fixed string or a regular expression. 
+Below is a list of avaiable systems, subsystems and types.
+.It Ic action \*qcommand\*q;
+Command to execute upon a successful match. For example 
+/etc/rc.d/power_profile $notify
+.El
+.Ss Variables that can be used with the match-statement
+Partial list of variables and their possible values that can be used together
+with the
+.Ql match
+statement.
+.Pp
+.Bl -tag -width "manufacturer" -compact
+.It Ic Variable
+.Ic Possible value
+.It bus
+pccard[0-9]+, cardbus[0-9]+
+.It vendor
+Vendor ID
+.It device
+Device ID
+.It subvendor
+Sub-vendor ID
+.It subdevice
+Sub-device ID
+.It class
+Device class
+.It slot
+Card slot
+.It function
+Card functions
+.It manufacturer
+Manufacturer ID (pccard)
+.It product 
+Product ID (pccard)
+.It cisvendor
+CIS-vendor
+.It cisproduct
+CIS-product
+.El 
+.Ss Notify matching 
+Partial list of systems, subsystems and types used within the
+.Ql notify
+mechanism. 
+.Pp
+.Bl -tag -width "IFNET" -compact
+.It Ic System 
+.It ACPI
+Events related to the ACPI subsystem.
+.Bl -tag -compact 
+.It Ic Subsystem 
+.It ACAD
+AC Line state ($notify=0 is offline, 1 is online)
+.It Button
+Button state ($notify=0 is power, 1 is sleep)
+.It CMBAT
+Battery events.
+.It Lid
+Lid state ($notify=0 is closed, 1 is open)
+.It Thermal
+Thermal zone events.
+.El
+.It IFNET
+Events related to the network subsystem. 
+.Bl -tag -compact 
+.It Ic Subsystem 
+.It [interface]
+Subsystem is the actual name of the network interface on which the event 
+took place.
+.Bl -tag -compact
+.It Ic Type
+.It LINK_UP
+Carrier status changed to UP.
+.It LINK_DOWN
+Carrier status changed to DOWN.
+.El 
+.El
+.El
+.Ss Comments 
 Comments may appear anywhere that whitespace may appear in a
 configuration file.
 To appeal to programmers of all kinds, they can
@@ -118,6 +277,10 @@
 // is a new comment, even though it is logically
 // part of the previous comment.
 .Ed
+.Sh EXAMPLES 
+The file
+.Pa /etc/devd.conf
+contains numerous of different examples.
 .Sh FILES
 .Bl -tag -width ".Pa /etc/devd.conf" -compact
 .It Pa /etc/devd.conf
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-doc mailing list