devd.conf man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

DEVD.CONF(5)		    BSD File Formats Manual		  DEVD.CONF(5)

NAME
     devd.conf — configuration file for devd(8)

DESCRIPTION
   General Syntax
     A devd(8) configuration consists of two general features, statements and
     comments.	All statements end with a semicolon.  Many statements can con‐
     tain substatements, which are also terminated with a semicolon.

     The following statements are supported:

     attach   Specifies various matching criteria and actions to perform when
	      a newly attached device matches said criteria.

     detach   Specifies various matching criteria and actions to perform when
	      a newly detached device matches said criteria.

     nomatch  Specifies various matching criteria and actions to perform when
	      no device driver currently loaded in the kernel claims a (new)
	      device.

     notify   Specifies various matching criteria and actions to perform when
	      the kernel sends an event notification to userland.

     options  Specifies various options and parameters for the operation of
	      devd(8).

     Statements may occur in any order in the configuration file, and may be
     repeated as often as required.  Further details on the syntax and meaning
     of each statement and their substatements are explained below.

     Each statement, except options has a priority (an arbitrary number) asso‐
     ciated with it, where ‘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.

     The general syntax of a statement is:

	   statement priority {
		   substatement "value";
		   ...
		   substatement "value";
	   };

   Sub-statements
     The following sub-statements are supported within the options statement.

     directory "/some/path";
		Adds the given directory to the list of directories from which
		devd(8) will read configuration files.	Any number of
		directory statements can be used.

     set regexp-name "(some|regexp)";
		Creates a regular expression and assigns it to the variable
		regexp-name.  The variable is avaiable throughout the rest of
		the configuration file.	 All regular expressions have an
		implicit ‘^$’ around them.

     The following sub-statements are supported within the attach and detach
     statements.

     action "command";
		Command to execute upon a successful match.  Example
		“/etc/pccard_ether $device-name start”.

     class "string";
		This is shorthand for “match "class" "string"”.

     device-name "string";
		This is shorthand for “match "device-name" "string"”.  This
		matches a device named string, which is allowed to be a regu‐
		lar expression or a variable previously created containing a
		regular expression.  The “device-name” variable is available
		for later use with the action statement.

     match "variable" "value";
		Matches the content of value against variable; the content of
		value may be a regular expression.  Not required during attach
		nor detach events since the device-name statement takes care
		of all device matching.	 For a partial list of variables, see
		below.

     media-type "string";
		For network devices, media-type will match devices that have
		the given media type.  Valid media types are: “Ethernet”,
		“802.11”, “ATM”, and “CARP”.

     subdevice "string";
		This is shorthand for “match "subdevice" "string"”.

     The following sub-statements are supported within the nomatch statement.

     action "command";
		Same as above.

     match "variable" "value";
		Matches the content of value against variable; the content of
		value may be a regular expression.  For a partial list of
		variables, see below.

     The following sub-statements are supported within the notify statement.
     The “notify” variable is avaiable inside this statement and contains, a
     value, depending on which system and subsystem that delivered the event.

     action "command";
		Command to execute upon a successful match.  Example
		“/etc/rc.d/power_profile $notify”.

     match "system | subsystem | type | notify" "value";
		Any number of match statements can exist 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.

     media-type "string";
		See above.

   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 match statement.

     Variable	   Description
     bus	   Device name of parent bus.
     cisproduct	   CIS-product.
     cisvendor	   CIS-vendor.
     class	   Device class.
     device	   Device ID.
     device-name   Name of attached/detached device.
     function	   Card functions.
     manufacturer  Manufacturer ID (pccard).
     notify	   Match the value of the “notify” variable.
     product	   Product ID (pccard).
     serial	   Serial Number (USB).
     slot	   Card slot.
     subvendor	   Sub-vendor ID.
     subdevice	   Sub-device ID.
     subsystem	   Matches a subsystem of a system, see below.
     system	   Matches a system type, see below.
     type	   Type of notification, see below.
     vendor	   Vendor ID.

   Notify matching
     A partial list of systems, subsystems, and types used within the notify
     mechanism.

     System
     ACPI   Events related to the ACPI subsystem.
	    Subsystem
	    ACAD       AC line state ($notify=0x00 is offline, 0x01 is
		       online).
	    Button     Button state ($notify=0x00 is power, 0x01 is sleep).
	    CMBAT      Battery events.
	    Lid	       Lid state ($notify=0x00 is closed, 0x01 is open).
	    Thermal    Thermal zone events.

     IFNET  Events related to the network subsystem.
	    Subsystem
	    interface  The “subsystem” is the actual name of the network
		       interface on which the event took place.
		       Type
		       LINK_UP	  Carrier status changed to UP.
		       LINK_DOWN  Carrier status changed to DOWN.

     A link state change to UP on the interface “fxp0” would result in the
     following notify event:

	   system=IFNET, subsystem=fxp0, type=LINK_UP

     An AC line state change to “offline” would result in the following event:

	   system=ACPI, subsystem=ACAD, notify=0x00

   Comments
     Comments may appear anywhere that whitespace may appear in a configura‐
     tion file.	 To appeal to programmers of all kinds, they can be written in
     C, C++, or shell/Perl constructs.

     C-style comments start with the two characters ‘/*’ (slash, star) and end
     with ‘*/’ (star, slash).  Because they are completely delimited with
     these characters, they can be used to comment only a portion of a line or
     to span multiple lines.

     C-style comments cannot be nested.	 For example, the following is not
     valid because the entire comment ends with the first ‘*/’:

	   /* This is the start of a comment.
	      This is still part of the comment.
	   /* This is an incorrect attempt at nesting a comment. */
	      This is no longer in any comment. */

     C++-style comments start with the two characters ‘//’ (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 ‘//’ pair.  For example:

	   // This is the start of a comment.  The next line
	   // is a new comment, even though it is logically
	   // part of the previous comment.

FILES
     /etc/devd.conf  The devd(8) configuration file.

EXAMPLES
     #
     # 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";
     };

     The installed /etc/devd.conf has many additional examples.

SEE ALSO
     devd(8)

BSD				October 2, 2008				   BSD
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net