SES(4) BSD Kernel Interfaces Manual SES(4)
ses -- SCSI Environmental Services driver
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 gen-
erally 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.
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.
The following ioctl(2) calls apply to ses devices. They are defined in the header file <cam/scsi/scsi_ses.h> (q.v.).
SESIOC_GETNOBJ Used to find out how many ses objects are driven by this particular device instance.
SESIOC_GETOBJMAP Read, from the kernel, an array of SES objects which contains the object identifier, which subenclosure it is in, and the
ses type of the object.
SESIOC_GETENCSTAT Get the overall enclosure status.
SESIOC_SETENCSTAT Set the overall enclosure status.
SESIOC_GETOBJSTAT Get the status of a particular object.
SESIOC_SETOBJSTAT Set the status of a particular object.
SESIOC_GETTEXT Get the associated help text for an object (not yet implemented). ses devices often have descriptive text for an object
which can tell you things like location (e.g., "left power supply").
SESIOC_INIT Initialize the enclosure.
The files contained in <usr/share/examples/ses> show simple mechanisms for how to use these interfaces, as well as a very stupid simple moni-
/dev/sesN The Nth SES device.
When the kernel is configured with DEBUG enabled, the first open to an SES device will spit out overall enclosure parameters to the console.
The ses driver was written for the CAM SCSI subsystem by Matthew Jacob. This is a functional equivalent of a similar driver available in
Solaris, Release 7.
January 29, 2000 BSD