SCSI_SETUP_CDB(9F) | Kernel Functions for Drivers | SCSI_SETUP_CDB(9F) |
scsi_setup_cdb - setup SCSI command descriptor block (CDB)
int scsi_setup_cdb(union scsi_cdb *cdbp, uchar_t cmd, uint_t addr,
uint_t cnt, uint_t othr_cdb_data);
illumos DDI specific (illumos DDI).
cdbp
cmd
addr
cnt
othr_cdb_data
The scsi_setup_cdb() function initializes a group 0, 1, 2, 4, or 5 type of command descriptor block pointed to by cdbp using cmd, addr, cnt, othr_cdb_data.
addr should be set to 0 for commands having no addressing information (for example, group 0 READ command for sequential access devices). othr_cdb_data should be additional CDB data for Group 4 commands; otherwise, it should be set to 0.
The scsi_setup_cdb() function does not set the LUN bits in CDB[1] as the makecom(9F) functions do. Also, the fixed bit for sequential access device commands is not set.
The scsi_setup_cdb() function returns:
1
0
These functions can be called from a user, interrupt, or kernel context.
Writing Device Drivers
American National Standard Small Computer System Interface-2 (SCSI-2)
American National Standard SCSI-3 Primary Commands (SPC)
January 16, 2006 | OmniOS |