ADC Home > Reference Library > Reference > Hardware & Drivers > I/O Kit Framework Reference

 


SCSITaskLib.h

Include Path:

<IOKit/scsi>

Path:

/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/scsi/SCSITaskLib.h

Includes:
<IOKit/scsi/SCSITask.h>
<IOKit/scsi/SCSICommandDefinitions.h>
<IOKit/scsi/SCSICmds_INQUIRY_Definitions.h>
<IOKit/scsi/SCSICmds_REQUEST_SENSE_Defs.h>
<CoreFoundation/CFPlugIn.h>
<CoreFoundation/CFPlugInCOM.h>
<IOKit/IOReturn.h>
<IOKit/IOTypes.h>
<IOKit/IOCFPlugIn.h>

Overview

This header implements non-kernel task access to specific I/O Kit object types, namely any SCSI Peripheral Device for which there isn't an in-kernel driver and for authoring devices such as CD-R/W and DVD-R/W drives.

For more information on accessing such a device, see SCSI Architecture Model Device Interface Guide.



C Pseudoclasses

MMCDeviceInterface

Basic interface for an MMC-2 Compliant Device.

SCSITaskDeviceInterface

Basic interface for a SCSITask Device.

SCSITaskInterface

Basic interface for a SCSITask.



Typedefs


SCSITaskCallbackFunction


Asynchronous callback routine definition.

typedef void ( *SCSITaskCallbackFunction ) (
    SCSIServiceResponse serviceResponse, 
    SCSITaskStatus taskStatus, 
    UInt64 bytesTransferred, 
    void *refCon );  
Fields
serviceResponse

An SCSIServiceResponse returned by the protocol transport.

taskStatus

An SCSITaskStatus to indicate the task's status

bytesTransferred

A total byte count of bytes transferred.

refCon

The refCon passed when the task was executed.

Discussion

Asynchronous callback routine definition. Any function which is used as a callback routine for SCSITasks must conform to this function definition.

Enumerations


MMCDeviceTrayState


Used to identify the state of an MMCDevice's tray (if applicable).

enum { 
    kMMCDeviceTrayClosed = 0, 
    kMMCDeviceTrayOpen = 1, 
    kMMCDeviceTrayMask = 0x1 
};  
Constants
kMMCDeviceTrayClosed

This value means the tray is closed.

kMMCDeviceTrayOpen

This value means the tray is open.

Discussion

Used to identify the state of an MMCDevice's tray (if applicable).

#defines


kIOMMCDeviceInterfaceID


#define kIOMMCDeviceInterfaceID \ 
    CFUUIDGetConstantUUIDWithBytes(NULL, \ 
    0x1F, 0x65, 0x11, 0x06, 0x23, 0xCC, 0x11, 0xD5, \ 
    0xBB, 0xDB, 0x00, 0x30, 0x65, 0x70, 0x48, 0x66) 
Discussion

InterfaceID for MMCDeviceInterface.


kIOMMCDeviceUserClientTypeID


#define kIOMMCDeviceUserClientTypeID \ 
    CFUUIDGetConstantUUIDWithBytes(NULL, \ 
    0x97, 0xAB, 0xCF, 0x2C, 0x23, 0xCC, 0x11, 0xD5, \ 
    0xA0, 0xE8, 0x00, 0x30, 0x65, 0x70, 0x48, 0x66) 
Discussion

Factory ID for creating an MMC Device User Client.


kIOPropertySCSITaskAuthoringDevice


#define kIOPropertySCSITaskAuthoringDevice "SCSITaskAuthoringDevice" 
Discussion

I/O Registry property for the SCSI Task User Client. This property identifies an SCSITask enabled device capable of authoring.


kIOPropertySCSITaskDeviceCategory


#define kIOPropertySCSITaskDeviceCategory "SCSITaskDeviceCategory" 
Discussion

I/O Registry property for the SCSITaskUserClient. This category identifies which type of device and interface to the device is used in conjunction with the SCSITaskUserClient.


kIOPropertySCSITaskUserClientDevice


#define kIOPropertySCSITaskUserClientDevice "SCSITaskUserClientDevice" 
Discussion

I/O Registry property for the SCSI Task User Client. This property identifies an SCSITask enabled device.


kIOPropertySCSITaskUserClientInstanceGUID


#define kIOPropertySCSITaskUserClientInstanceGUID "SCSITaskUserClient GUID" 
Discussion

I/O Registry property for the SCSITaskUserClient GUID. This GUID helps uniquely identify and track SCSITask enabled devices


kIOSCSITaskDeviceInterfaceID


#define kIOSCSITaskDeviceInterfaceID \ 
    CFUUIDGetConstantUUIDWithBytes(NULL, \ 
    0x1B, 0xBC, 0x41, 0x32, 0x08, 0xA5, 0x11, 0xD5, \ 
    0x90, 0xED, 0x00, 0x30, 0x65, 0x7D, 0x05, 0x2A) 
Discussion

InterfaceID for SCSITaskDeviceInterface.


kIOSCSITaskDeviceUserClientTypeID


#define kIOSCSITaskDeviceUserClientTypeID CFUUIDGetConstantUUIDWithBytes(NULL, \ 
    0x7D, 0x66, 0x67, 0x8E, 0x08, 0xA2, 0x11, 0xD5, \ 
    0xA1, 0xB8, 0x00, 0x30, 0x65, 0x7D, 0x05, 0x2A) 
Discussion

Factory ID for creating an SCSITask Device User Client.


kIOSCSITaskInterfaceID


#define kIOSCSITaskInterfaceID CFUUIDGetConstantUUIDWithBytes(NULL, \ 
    0x0B, 0x85, 0xB6, 0x3C, 0x46, 0x2E, 0x11, 0xD5, \ 
    0xA9, 0xD6, 0x00, 0x30, 0x65, 0x70, 0x48, 0x66) 
Discussion

InterfaceID for SCSITaskInterface.


kIOSCSITaskLibFactoryID


#define kIOSCSITaskLibFactoryID CFUUIDGetConstantUUIDWithBytes(NULL, \ 
    0x63, 0x32, 0x6D, 0x72, 0x08, 0xA2, 0x11, 0xD5, \ 
    0x86, 0x5F, 0x00, 0x30, 0x65, 0x7D, 0x05, 0x2A) 
Discussion

UUID for the SCSITaskLib Factory.


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.

 

Last Updated: 2009-02-23