Copyright ã1994 by Christopher A. Wolf 
($Id: SCSI2KitClassSummary.rtf,v 0.8 94/12/06 03:38:21 chris Exp $) 

SCSI 2 Kit

Classes

SCSI

Inherits From:	Object

Set and Read Instance Variables

-  setImmediate:(BOOL)immediate	Specifies whether lengthy SCSI commands should return immediately.
-  immediate	Returns TRUE if lengthy SCSI commands will return immediately.
-  setTimeout: (int)seconds	Sets the timeout delay for SCSI commands.
-  timeout 	Returns the current timeout delay for SCSI commands.

Open, Close, Select a Device

-  openDevice:(const char *)deviceName	Open specified  SCSI device, use specified ioctl codes
ioctlCode: (int)iCode
-  setDevice:(const char *)deviceName	Select specified  SCSI device and ioctl codes
ioctlCode: (int)iCode
-  openTarget: (int)target lun: (int)lun 	Open generic SCSI device driver and selects target and lun
-  setTarget: (int)target lun: (int)lun 	Select target and lun for generic SCSI device driver
-  openSCSI	Open previously specified SCSI device driver (sg)
-  closeSCSI	Close currently open SCSI device driver

Locate a Device

-  findDevice	Return first target (starting with 0) recognized by (sub)class 
-  findDevice: (int)target	Return first target (starting with  target) recognized by (sub)class
-  isDevice	Check whether current target is a valid device

Error Output and Status Reporting

+  dprintf	Return pointer to current error/debugging display function
+  setDprintf: (PrintFunction)pf	Specify error/debugging print function
±  fd	Return file descriptor for currently open device driver
-  isOpen	Check whether SCSI device driver is open
-  errorString	Return SCSI class ASCII error message 
-  statusReq	Return status of last SCSI request
-  returnDriverStatus: (char **)driverStatus	Return ASCII strings with driver, scsi and extended sense messages 
scsiStatus: (char **)scsiStatus
andExtendedSense: (char **)extendedSense
-  returnError: sender	Return composite error message

Send Pre-packaged SCSI Commands

-  inquiry: (struct inquiry2_reply *)ibuffer	Issue SCSI Inquiry command 
-  readCapacity: (struct capacity2_reply *)rbuffer	Issue SCSI Read Capacity command 
-  requestSense: (struct esense2_reply *)rbuffer	Issue SCSI Extended Sense command
-  testUnitReady 	Issue SCSI Test Unit Ready command
-  receiveDiagnostic: (char *)dbuf	Issue SCSI Receive Diagnostic command
size: (u_char)size
-  sendDiagnostic: (char *)dbuf	Issue SCSI Send Diagnostic command
size: (u_char)size
pf: (BOOL)pf
st: (BOOL)st
dol: (BOOL)dol
uol: (BOOL)uol
-  modeSenseRaw: (mode_parameter_list *)mpl	Issue SCSI Mode Sense command and return a mode parameter list structure
size: (u_char)size
page: (u_char)page
pc: (u_char)pc
dbd: (BOOL)dbd
-  modeSenseCooked: (mode_page *)mp	Issue SCSI Mode Sense command and return a mode page structure
size: (u_char)size
page: (u_char)page
pc: (u_char)pc
dbd: (BOOL)dbd
-  modeSelectRaw: (mode_parameter_list *)mpl	Issue SCSI Mode Select command
size: (u_char)size
save: (BOOL)save

Send Low-level SCSI Commands	

+  clearCommandBlock: (union cdb *)cdb	Clear the command data block
±  executeRequest: (struct scsi_req *)sp	Execute SCSI request
±  executeBusReset	Reset SCSI bus

Private Methods for Sub-class Use Only

±  performRequest	Execute SCSI request

DriveSCSI

Inherits From:	SCSI : Object

Find a Device 

-  isDevice	Check whether current target is a disk device

Send Pre-packaged SCSI commands

-  seekExtended: (unsigned int)lba	Issue SCSI Seek Extended command
-  readExtended: (char *)destBuffer	Issue SCSI Read Extended command
numBytes: (unsigned int)numBytes
numBlocks: (unsigned int)numBlocks
lba: (unsigned int)lba
-  read: (char *)destBuffer	Issue SCSI Read command
numBytes: (unsigned int)numBytes
numBlocks: (unsigned int)numBlocks
lba: (unsigned int)lba
-  formatUntiInterleave: (unsigned int)interleave	Issue SCSI Format Unit command
clearGList: (BOOL)clearGList
cert: (BOOL)mediaCert