SESIO(7I) Ioctl Requests SESIO(7I)

enclosure services device driver interface

#include <sys/scsi/targets/sesio.h>

The ses device driver provides the following ioctls as a means to access SCSI enclosure services devices.

The ses driver supports the following ioctls:
This ioctl obtains enclosure state in the ses_ioctl structure.
This ioctl is used to set parameters on the enclosure services device. The ses_ioctl structure is used to pass information into the driver.

Example 1
Using the SES_IOCTL_GETSTATE ioctl

The following example uses the SES_IOCTL_GETSTATE ioctl to recover 20 bytes of page 4 from a previously opened device.

char   abuf[30];
struct ses_ioctl *sesp;
int    status;

sesp = (ses_ioctl *)abuf;
sesp->size = 20;
sesp->page_code = 4;
status = ioctl(fd, SES_IOCTL_GETSTATE, abuf);

The ses driver was unable to obtain data from the enclosure services device or the data transfer could not be completed.
The ses driver does not support the requested ioctl function.
The enclosure services device does not exist.
The user specified a bad data length.

The ses_ioctl structure has the following fields:
uint32_t page_size;      /* Size of buffer that follows */
uint8_t  page_code:      /* Page to be read/written */
uint8_t  reserved[3];    /* Reserved; Set to 0 */


ioctl(2), ses(7D)
February 17, 2020 illumos