This is IOSCSIController.h in view mode; [Download] [Up]
/* * Copyright (c) 1991, 1992, 1993 NeXT Computer, Inc. * * Abstract superclass for SCSI controllers. * * HISTORY * * 25 June 1993 David E. Bohman at NeXT * Cleaned up some (made machine independent). * * 11/9/92 Brian Pinkerton at NeXT * Created. */ #import <driverkit/IODirectDevice.h> #import <driverkit/return.h> #import <driverkit/scsiTypes.h> @interface IOSCSIController : IODirectDevice<IOSCSIControllerExported> { @private /* * Target/lun reservation array. We reserve target SC_HOST_ID for * ourself. We keep track of how many active devices are on the bus * in _reserveCount. */ id _reserveArray[SCSI_NTARGETS][SCSI_NLUNS]; unsigned int _reserveCount; id _reserveLock; /* NXSpinLock. Protects _reserveArray.*/ unsigned _worstCaseAlign; /* worst case DMA alignment.*/ int _IOSCSIController_reserved[4]; } - initFromDeviceDescription : deviceDescription; - (unsigned int)numReserved; - (IOReturn)getIntValues : (unsigned *)parameterArray forParameter : (IOParameterName)parameterName count : (unsigned int *)count; - (IOReturn)setIntValues : (unsigned *)parameterArray forParameter : (IOParameterName)parameterName count : (unsigned int)count; - (unsigned int) numQueueSamples; /* simple statistics */ - (unsigned int) sumQueueLengths; - (unsigned int) maxQueueLength; - (void)resetStats; /* zero the above counters */ /* * Subclasses of SCSIController must implement the following two * methods of the SCSIControllerExported protocol. * SCSIController's versions of these return SR_IOST_INVALID. * * - (sc_status_t) executeRequest : (IOSCSIRequest *)scsiReq * buffer : (void *)buffer * client : (vm_task_t)client; * * - (sc_status_t) resetSCSIBus; * * * May optionally be overridden by subclass. * * - (unsigned) maxTransfer; * - (void)getDMAAlignment : (IODMAAlignment *)alignment; */ @end #define IO_IS_A_SCSI_CONTROLLER "IOIsASCSIController" #define IO_SCSI_CONTROLLER_STATS "IOSCSIControllerStatistics" #define IO_SCSI_CONTROLLER_STAT_ARRAY_SIZE 3 #define IO_SCSI_CONTROLLER_MAX_QUEUE_LENGTH 0 #define IO_SCSI_CONTROLLER_QUEUE_SAMPLES 1 #define IO_SCSI_CONTROLLER_QUEUE_TOTAL 2
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.