2 .\" Matthew Jacob <mjacob@FreeBSD.org>. All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 .Nd SCSI Environmental Services driver
39 driver provides support for all
41 devices of the environmental services class that are attached to the system
44 Host Adapter, as well as emulated support for SAF-TE (SCSI Accessible
45 Fault Tolerant Enclosures).
46 The environmental services class generally are enclosure devices that
47 provide environmental information such as number of power supplies (and
48 state), temperature, device slots, and so on.
53 adapter must also be separately configured into the system
56 Environmental Services device can be configured.
57 .Sh KERNEL CONFIGURATION
58 It is only necessary to explicitly configure one
60 device; data structures are dynamically allocated as devices are found
66 .Va SES_ENABLE_PASSTHROUGH ,
67 may be specified to allow the
69 driver to perform functions on devices of other classes that claim to
79 They are defined in the header file
80 .In cam/scsi/scsi_ses.h
83 .Bl -tag -width SESIOC_GETENCSTAT
85 Used to find out how many
87 objects are driven by this particular device instance.
88 .It Dv SESIOC_GETOBJMAP
89 Read, from the kernel, an array of SES objects which contains
90 the object identifier, which subenclosure it is in, and the
93 .It Dv SESIOC_GETENCSTAT
94 Get the overall enclosure status.
95 .It Dv SESIOC_SETENCSTAT
96 Set the overall enclosure status.
97 .It Dv SESIOC_GETOBJSTAT
98 Get the status of a particular object.
99 .It Dv SESIOC_SETOBJSTAT
100 Set the status of a particular object.
101 .It Dv SESIOC_GETTEXT
102 Get the associated help text for an object (not yet implemented).
104 devices often have descriptive text for an object which can tell
105 you things like location (e.g, "left power supply").
107 Initialize the enclosure.
110 The files contained in
111 .In usr/share/examples/ses
112 show simple mechanisms for how to use these interfaces, as well as a
113 very stupid simple monitoring daemon.
115 .Bl -tag -width /dev/rsdXXXXX -compact
116 .It Pa /dev/ses Ns Ar N
123 When the kernel is configured with
125 enabled, the first open to an SES device will spit out overall enclosure
126 parameters to the console.
130 driver was written for the
133 subsystem by Matthew Jacob.
134 This is a functional equivalent of a similar
135 driver available in Solaris, Release 7.