FreeBSD Bugzilla – Attachment 56371 Details for
Bug 85097
[patch] devd.conf.5 lacks a lot of vital information.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
devd.conf.5-20050820.patch
devd.conf.5-20050820.patch (text/plain), 8.50 KB, created by
Fredrik Lindberg
on 2005-08-20 11:46:52 UTC
(
hide
)
Description:
devd.conf.5-20050820.patch
Filename:
MIME Type:
Creator:
Fredrik Lindberg
Created:
2005-08-20 11:46:52 UTC
Size:
8.50 KB
patch
obsolete
>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 20 Aug 2005 10:29:28 -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 20, 2005 > .Dt DEVD.CONF 5 > .Os > .Sh NAME >@@ -61,18 +61,21 @@ > The following statements are supported: > .Bl -tag -width ".Ic options" > .It Ic options >-specifies various options and parameters for the operation of >+Specifies various options and parameters for the operation of > .Xr devd 8 . > .It Ic attach >-specifies various matching criteria and actions to perform when >+Specifies various matching criteria and actions to perform when > a newly attached device matches said criteria. > .It Ic detach >-specifies various matching criteria and actions to perform when >+Specifies various matching criteria and actions to perform when > a newly detached device matches said criteria. > .It Ic nomatch >-specifies various matching criteria and actions to perform when >+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 userland. > .El > .Pp > Statements may occur in any order in the configuration file, and may be >@@ -80,6 +83,229 @@ > Further details on the syntax and meaning of each statement and their > substatements are explained below. > .Pp >+Each statement, except >+.Dq options >+has a priority (an arbitrary number) associated with it, where >+.Ql 0 >+is defined as the lowest priority. >+If two statements match the same event, only the action of the statement with >+highest priority will be executed. >+In this way generic statements can be overridden for devices or >+notifications that require special attention. >+.Pp >+The general syntax of a statement is: >+.Pp >+.Bd -literal -offset indent >+statement priority { >+ substatement "value"; >+ ... >+ substatement "value"; >+}; >+.Ed >+.Pp >+.Ss Sub-statements >+The following sub-statements are supported within the >+.Dq 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 >+.Xr devd 8 >+will read >+configuration files. Any number of >+.Dq directory >+statements can be used. >+.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 >+.Va regexp-name >+; this variable is then avaiable throughout the rest of >+the configuration file. >+All regular expressions have an implicit >+.Ql Li ^$ >+around them. >+.El >+.Pp >+The following sub-statements are supported within the >+.Dq attach >+and >+.Dq detach >+statements. >+.Bl -tag -width ".Ic directory" >+.It Ic device-name \*qstring\*q; >+Actually a shorthand to >+.Dq match device-name >+Matches a device named >+.Va string >+; which are allowed to be a regular expression or a variable previously created >+containing a regular expression. >+The >+.Va device-name >+variable >+is avaiable for later use with the action-statement. >+.It Ic match \*qvariable\*q \*qvalue\*q; >+Matches the content of >+.Va value >+against >+.Va variable >+, the content of >+.Va value >+may be a regular expression. >+Not really needed during >+.Dq Li attach >+nor >+.Dq Li detach >+events since the >+.Dq Li 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 >+.Ic /etc/pccard_ether $device-name start >+.El >+.Pp >+The following sub-statements are supported within the >+.Dq nomatch >+statement. >+.Bl -tag -width ".Ic directory" >+.It Ic match \*qvariable\*q \*qvalue\*q; >+Matches the content of >+.Va value >+against >+.Va variable >+, the content of >+.Va value >+may be a regular expression. >+For a partial list of variables, see below. >+.It Ic action \*qcommand\*q; >+Same as above. >+.El >+.Pp >+The following sub-statements are supported within the >+.Dq notify >+statement. >+The >+.Dq Li notify >+variable is avaiable inside this statement and contains, a value, depending >+on which system and subsystem that delivered the event. >+.Bl -tag -width ".Ic directory" >+.It Ic match \*qsystem|subsystem|type|notify\*q \*qvalue\*q; >+Any number of >+.Dq match >+statements can exists within a >+.Dq notify >+statement. >+.Va 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. Example >+.Ic /etc/rc.d/power_profile $notify >+.El >+.Ss Variables that can be used with the match statement >+A partial list of variables and their possible values that can be used together >+with the >+.Dq match >+statement. >+.Pp >+.Bl -tag -width "manufacturer" -compact >+.It Ic Variable >+.Ic Possible value >+.It system >+Matches a system type, see below >+.It subsystem >+Matches a subsystem of a system, see below >+.It type >+Type of notification, see below >+.It notify >+Match the value of the >+.Dq Li notify >+variable. >+.It device-name >+Name of attached/detached device >+.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 >+A Partial list of systems, subsystems, and types used within the >+.Dq 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=0x00 is offline, 0x01 is online). >+.It Button >+Button state ($notify=0x00 is power, 0x01 is sleep). >+.It CMBAT >+Battery events. >+.It Lid >+Lid state ($notify=0x00 is closed, 0x01 is open). >+.It Thermal >+Thermal zone events. >+.El >+.Pp >+.It IFNET >+Events related to the network subsystem. >+.Bl -tag -compact >+.It Ic Subsystem >+.It [interface] >+The >+.Dq 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 >+.Pp >+A link state change to UP on the interface >+.Dq fxp0 >+would result in the following notify event: >+.Bd -literal -offset indent >+system=IFNET, subsystem=fxp0, type=LINK_UP >+.Ed >+.Pp >+An AC line state change to >+.Dq offline >+would result in the following event: >+.Bd -literal -offset indent >+system=ACPI, subsystem=ACAD, notify=0x00 >+.Ed >+.Ss Comments > Comments may appear anywhere that whitespace may appear in a > configuration file. > To appeal to programmers of all kinds, they can >@@ -110,7 +336,7 @@ > (slash, slash) and continue to the end of the physical line. > They cannot be continued across multiple physical lines; to have > one logical comment span multiple lines, each line must use the >-.Ql // >+.Dq // > pair. > For example: > .Bd -literal -offset indent >@@ -118,6 +344,59 @@ > // is a new comment, even though it is logically > // part of the previous comment. > .Ed >+.Sh EXAMPLES >+.Bd -literal >+# >+# This will catch link down events on the interfaces fxp0 and ath0 >+# >+notify 0 { >+ match "system" "IFNET"; >+ match "subsystem" "(fxp0|ath0)"; >+ match "type" "LINK_DOWN"; >+ action "logger $subsystem is DOWN"; >+}; >+ >+# >+# Match lid open/close events >+# These can be combined to a single event, by passing the >+# value of $notify to the external script. >+# >+notify 0 { >+ match "system" "ACPI"; >+ match "subsystem" "Lid"; >+ match "notify" "0x00"; >+ action "logger Lid closed, we can sleep now!"; >+}; >+ >+notify 0 { >+ match "system" "ACPI"; >+ match "subsystem" "Lid"; >+ match "notify" "0x01"; >+ action "logger Lid opened, the sleeper must awaken!"; >+}; >+ >+# >+# Try to configure ath and wi devices with pccard_ether >+# as they are attached. >+# >+attach 0 { >+ device-name "(ath|wi)[0-9]+"; >+ action "/etc/pccard_ether $device-name start"; >+}; >+ >+# >+# Stop ath and wi devices as they are detached from >+# the system. >+# >+detach 0 { >+ device-name "(ath|wi)[0-9]+"; >+ action "/etc/pccard_ether $device-name stop"; >+}; >+.Ed >+.Pp >+The installed >+.Pa /etc/devd.conf >+has many additional examples. > .Sh FILES > .Bl -tag -width ".Pa /etc/devd.conf" -compact > .It Pa /etc/devd.conf
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 85097
:
56370
| 56371