FreeBSD manual
download PDF document: ses.4.pdf
SES(4) FreeBSD Kernel Interfaces Manual SES(4)
NAME
ses - SCSI Environmental Services driver
SYNOPSIS
device ses
DESCRIPTION
The ses driver provides support for all SCSI devices of the environmental
services class that are attached to the system through a supported SCSI
Host Adapter, as well as emulated support for SAF-TE (SCSI Accessible
Fault Tolerant Enclosures). The environmental services class generally
are enclosure devices that provide environmental information such as
number of power supplies (and state), temperature, device slots, and so
on.
A SCSI Host adapter must also be separately configured into the system
before a SCSI Environmental Services device can be configured.
KERNEL CONFIGURATION
It is only necessary to explicitly configure one ses device; data
structures are dynamically allocated as devices are found on the SCSI
bus.
A separate option, SES_ENABLE_PASSTHROUGH, may be specified to allow the
ses driver to perform functions on devices of other classes that claim to
also support ses functionality.
IOCTLS
The following ioctl(2) calls apply to ses devices. They are defined in
the header file <cam/scsi/scsi_enc.h> (q.v.).
ENCIOC_GETNELM Used to find out how many ses elements are driven by
this particular device instance.
ENCIOC_GETELMMAP Read, from the kernel, an array of SES elements which
contains the element identifier, which subenclosure it
is in, and the ses type of the element.
ENCIOC_GETENCSTAT Get the overall enclosure status.
ENCIOC_SETENCSTAT Set the overall enclosure status.
ENCIOC_GETELMSTAT Get the status of a particular element.
ENCIOC_SETELMSTAT Set the status of a particular element.
ENCIOC_GETTEXT Get the associated help text for an element (not yet
implemented). ses devices often have descriptive text
for an element which can tell you things like location
(e.g., "left power supply").
ENCIOC_INIT Initialize the enclosure.
ENCIOC_GETELMDESC Get the element's descriptor string.
ENCIOC_GETELMDEVNAMES
Get the device names, if any, associated with this
ENCIOC_GETENCNAME Used to get the name of the enclosure.
ENCIOC_GETENCID Used to get the Enclosure Logical Identifier.
EXAMPLE USAGE
The files contained in </usr/share/examples/ses> show simple mechanisms
for how to use these interfaces, as well as a very stupid simple
monitoring daemon.
FILES
/dev/sesN The Nth SES device.
DIAGNOSTICS
When the kernel is configured with DEBUG enabled, the first open to an
SES device will spit out overall enclosure parameters to the console.
SEE ALSO
sesutil(8)
HISTORY
The ses driver was originally written for the CAM SCSI subsystem by
Matthew Jacob and first released in FreeBSD 4.3. It was a functional
equivalent of a similar driver available in Solaris, Release 7. It was
largely rewritten by Alexander Motin, Justin Gibbs, and Will Andrews for
FreeBSD 9.2.
FreeBSD 14.0-RELEASE-p11 November 12, 2019 FreeBSD 14.0-RELEASE-p11