scsi_mode_select — issue a mode select


int scsi_mode_select (struct scsi_device * sdev,
 int pf,
 int sp,
 int modepage,
 unsigned char * buffer,
 int len,
 int timeout,
 int retries,
 struct scsi_mode_data * data,
 struct scsi_sense_hdr * sshdr);


struct scsi_device * sdev

SCSI device to be queried

int pf

Page format bit (1 == standard, 0 == vendor specific)

int sp

Save page bit (0 == don't save, 1 == save)

int modepage

mode page being requested

unsigned char * buffer

request buffer (may not be smaller than eight bytes)

int len

length of request buffer.

int timeout

command timeout

int retries

number of retries before failing

struct scsi_mode_data * data

returns a structure abstracting the mode header data

struct scsi_sense_hdr * sshdr

place to put sense data (or NULL if no sense to be collected). must be SCSI_SENSE_BUFFERSIZE big.


Returns zero if successful; negative error number or scsi status on error