2002-10-20 22:15:17 +00:00
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 2002 M. Warner Losh.
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
|
|
|
.\"
|
|
|
|
.\" $FreeBSD$
|
|
|
|
.\"
|
|
|
|
.Dd October 17, 2002
|
|
|
|
.Dt DEVD 8
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm devd
|
2003-03-03 11:51:30 +00:00
|
|
|
.Nd "device state change daemon"
|
2002-10-20 22:15:17 +00:00
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm
|
2003-04-21 06:26:08 +00:00
|
|
|
.Op Fl Ddn
|
2002-10-20 22:15:17 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
daemon provides a way to have userland programs run when certain
|
|
|
|
kernel events happen.
|
|
|
|
.Pp
|
|
|
|
The following options are accepted.
|
|
|
|
.Bl -tag -width indent
|
2003-04-21 06:26:08 +00:00
|
|
|
.It Fl D
|
|
|
|
Enable debugging messages.
|
2002-10-20 22:15:17 +00:00
|
|
|
.It Fl d
|
2003-04-21 06:26:08 +00:00
|
|
|
Run in the foreground instead of becoming a daemon.
|
|
|
|
.It Fl n
|
2003-05-17 22:21:27 +00:00
|
|
|
Do not process all pending events before becoming a daemon.
|
2003-09-26 12:24:16 +00:00
|
|
|
Instead, call daemon right away.
|
2002-10-20 22:15:17 +00:00
|
|
|
.El
|
|
|
|
.Sh IMPLEMENTATION NOTES
|
2003-03-03 11:51:30 +00:00
|
|
|
The
|
2002-12-27 12:15:40 +00:00
|
|
|
.Nm
|
2003-03-03 11:51:30 +00:00
|
|
|
utility
|
2002-11-13 19:31:04 +00:00
|
|
|
is a system daemon that runs in the background all the time.
|
|
|
|
Whenever a device is added to or removed from the device tree,
|
|
|
|
.Nm
|
2002-11-13 20:27:46 +00:00
|
|
|
will execute actions specified in
|
|
|
|
.Xr devd.conf 5 .
|
|
|
|
For example,
|
2002-11-13 19:31:04 +00:00
|
|
|
.Nm
|
2002-11-13 20:27:46 +00:00
|
|
|
might execute
|
|
|
|
.Xr dhclient 8
|
2003-03-03 11:51:30 +00:00
|
|
|
when an Ethernet adapter is added to the system, and kill the
|
2002-11-13 20:27:46 +00:00
|
|
|
.Xr dhclient 8
|
|
|
|
instance when the same adapter is removed.
|
|
|
|
Another example would be for
|
|
|
|
.Nm
|
|
|
|
to use a table to locate and load via
|
|
|
|
.Xr kldload 8
|
|
|
|
the proper driver for an unrecognized device that is added to the system.
|
2002-10-20 22:15:17 +00:00
|
|
|
.Pp
|
2003-03-03 11:51:30 +00:00
|
|
|
The
|
2002-12-27 12:15:40 +00:00
|
|
|
.Nm
|
2003-03-03 11:51:30 +00:00
|
|
|
utility
|
2002-10-20 22:15:17 +00:00
|
|
|
hooks into the
|
|
|
|
.Xr devctl 4
|
|
|
|
device driver.
|
|
|
|
This device driver has hooks into the device configuration system.
|
|
|
|
When nodes are added or deleted from the tree, this device will
|
2002-11-13 19:31:04 +00:00
|
|
|
deliver information about the event to
|
2002-10-20 22:15:17 +00:00
|
|
|
.Nm .
|
2002-12-27 12:15:40 +00:00
|
|
|
Once
|
|
|
|
.Nm
|
2002-10-20 22:15:17 +00:00
|
|
|
has parsed the message, it will search its action list for that kind
|
2002-11-13 19:31:04 +00:00
|
|
|
of event and perform the action with the highest matching value.
|
2002-10-20 22:15:17 +00:00
|
|
|
For most mundane uses, the default handlers are adequate.
|
|
|
|
However, for more advanced users, the power is present to tweak every
|
|
|
|
aspect of what happens.
|
|
|
|
.Pp
|
2003-03-03 11:51:30 +00:00
|
|
|
The
|
2002-11-13 19:31:04 +00:00
|
|
|
.Nm
|
2003-03-03 11:51:30 +00:00
|
|
|
utility
|
|
|
|
reads
|
|
|
|
.Pa /etc/devd.conf
|
|
|
|
and uses that file to drive the rest of the process.
|
2002-12-27 12:15:40 +00:00
|
|
|
While the format of this file is described in
|
2003-03-03 11:51:30 +00:00
|
|
|
.Xr devd.conf 5 ,
|
2002-10-20 22:15:17 +00:00
|
|
|
some basics are covered here.
|
2003-03-03 11:51:30 +00:00
|
|
|
In the
|
|
|
|
.Ic options
|
|
|
|
section, one can define multiple directories to search
|
2002-10-20 22:15:17 +00:00
|
|
|
for config files.
|
|
|
|
All files in each of these directories are parsed.
|
|
|
|
These files are intended to be installed by third party vendors that
|
2002-11-13 19:31:04 +00:00
|
|
|
wish to hook into the
|
|
|
|
.Nm
|
|
|
|
system without modifying the user's other
|
2002-10-20 22:15:17 +00:00
|
|
|
config files.
|
2004-07-01 07:24:18 +00:00
|
|
|
.Pp
|
|
|
|
All messages that
|
|
|
|
.Nm
|
2004-07-07 19:57:16 +00:00
|
|
|
receives are forwarded to the
|
|
|
|
.Ux
|
|
|
|
domain socket at
|
2004-07-01 07:24:18 +00:00
|
|
|
.Pa /var/run/devd.pipe .
|
2002-10-20 22:15:17 +00:00
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr devctl 4 ,
|
|
|
|
.Xr devd.conf 5
|
|
|
|
.Sh AUTHORS
|
|
|
|
.An M. Warner Losh
|