---
name: "ses"
section: "4"
platform: "linux"
package: "freebsd-manpages"
version: "6.0-5"
release: "Debian 4.0 (Etch)"
platforms: ["linux", "freebsd", "openbsd"]
url: "https://new.carta.tech/ses"
---

# ses(4)

SCSI Environmental Services driver

## 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)](/ioctl/2.md) 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.

## 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/ses**N*

  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.

## HISTORY

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.
