File:  [DragonFly] / src / share / man / man9 / device.9
Revision 1.4: download - view: text, annotated - select for diffs
Tue Jun 1 11:36:53 2004 UTC (10 years, 3 months ago) by hmp
Branches: MAIN
CVS tags: HEAD, DragonFly_Stable, DragonFly_Snap29Sep2004, DragonFly_Snap13Sep2004, DragonFly_RELEASE_2_0_Slip, DragonFly_RELEASE_2_0, DragonFly_RELEASE_1_8_Slip, DragonFly_RELEASE_1_8, DragonFly_RELEASE_1_6_Slip, DragonFly_RELEASE_1_6, DragonFly_RELEASE_1_4_Slip, DragonFly_RELEASE_1_4, DragonFly_RELEASE_1_2_Slip, DragonFly_RELEASE_1_2, DragonFly_RELEASE_1_12_Slip, DragonFly_RELEASE_1_12, DragonFly_RELEASE_1_10_Slip, DragonFly_RELEASE_1_10, DragonFly_Preview, DragonFly_1_0_REL, DragonFly_1_0_RC1, DragonFly_1_0A_REL
Remove '-*- nroff -*-'.

Lets make a habit not to put editor-related magic into our base
files.  They are redundant and useless.

    1: .\" Copyright (c) 1998 Doug Rabson
    2: .\"
    3: .\" All rights reserved.
    4: .\"
    5: .\" This program is free software.
    6: .\"
    7: .\" Redistribution and use in source and binary forms, with or without
    8: .\" modification, are permitted provided that the following conditions
    9: .\" are met:
   10: .\" 1. Redistributions of source code must retain the above copyright
   11: .\"    notice, this list of conditions and the following disclaimer.
   12: .\" 2. Redistributions in binary form must reproduce the above copyright
   13: .\"    notice, this list of conditions and the following disclaimer in the
   14: .\"    documentation and/or other materials provided with the distribution.
   15: .\"
   16: .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
   17: .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   18: .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   19: .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
   20: .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   21: .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   22: .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   23: .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   24: .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   25: .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   26: .\"
   27: .\" $FreeBSD: src/share/man/man9/device.9,v 1.7.2.4 2001/08/17 13:08:54 ru Exp $
   28: .\" $DragonFly: src/share/man/man9/device.9,v 1.4 2004/06/01 11:36:53 hmp Exp $
   29: .\"
   30: .Dd June 16, 1998
   31: .Dt DEVICE 9
   32: .Os
   33: .Sh NAME
   34: .Nm device
   35: .Nd an abstract representation of a device
   36: .Sh SYNOPSIS
   37: .Vt typedef struct device *device_t ;
   38: .Sh DESCRIPTION
   39: The device object represents a piece of hardware attached to the
   40: system such as an expansion card, the bus which that card is plugged
   41: into, disk drives attached to the expansion card etc.
   42: The system defines one device,
   43: .Dv root_bus
   44: and all other devices are created dynamically during
   45: autoconfiguration.  Normally devices representing toplevel busses in
   46: the system (ISA, PCI etc.) will be attached directly to
   47: .Dv root_bus
   48: and other devices will be added as children of their relevant bus.
   49: .Pp
   50: The devices in a system form a tree.
   51: All devices except
   52: .Dv root_bus
   53: have a parent (see
   54: .Xr device_get_parent 9 ) .
   55: In addition, any device can have children attached to it (see
   56: .Xr device_add_child 9 ,
   57: .Xr device_add_child_ordered 9 ,
   58: .Xr device_find_child 9 ,
   59: .Xr device_get_children 9 ,
   60: and
   61: .Xr device_delete_child 9 ) .
   62: .Pp
   63: A device which has been successfully probed and attached to the
   64: system will also have a driver (see
   65: .Xr device_get_driver 9
   66: and
   67: .Xr driver 9 )
   68: and a devclass (see
   69: .Xr device_get_devclass 9
   70: and
   71: .Xr devclass 9 ) .
   72: Various other attributes of the device include a unit number (see
   73: .Xr device_get_unit 9 ) ,
   74: verbose description (normally supplied by the driver, see
   75: .Xr device_set_desc 9
   76: and
   77: .Xr device_get_desc 9 ) ,
   78: a set of bus-specific variables (see
   79: .Xr device_get_ivars 9 )
   80: and a set of driver-specific variables (see
   81: .Xr device_get_softc 9 ) .
   82: .Pp
   83: Devices can be in one of several states:
   84: .Bl -tag -width DS_NOTPRESENT
   85: .It Dv DS_NOTPRESENT
   86: the device has not been probed for existence or the probe failed
   87: .It Dv DS_ALIVE
   88: the device probe succeeded but not yet attached
   89: .It Dv DS_ATTACHED
   90: the device has been successfully attached
   91: .It Dv DS_BUSY
   92: the device is currently open
   93: .El
   94: .Pp
   95: The current state of the device can be determined by calling
   96: .Xr device_get_state 9 .
   97: .Sh SEE ALSO
   98: .Xr devclass 9 ,
   99: .Xr driver 9
  100: .Sh AUTHORS
  101: This man page was written by
  102: .An Doug Rabson .