SCSITaskLib.h

Overview

SCSITaskLib implements non-kernel task access to specific IOKit 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.



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.


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.

Enumerated Types

MMCDeviceTrayState

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


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).

Macro Definitions

kIOMMCDeviceInterfaceID
kIOMMCDeviceUserClientTypeID
kIOPropertySCSITaskAuthoringDevice
kIOPropertySCSITaskDeviceCategory
kIOPropertySCSITaskUserClientDevice
kIOPropertySCSITaskUserClientInstanceGUID
kIOSCSITaskDeviceInterfaceID
kIOSCSITaskDeviceUserClientTypeID
kIOSCSITaskInterfaceID
kIOSCSITaskLibFactoryID

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

IORegistry property for the SCSI Task User Client. This property identifies an SCSITask enabled device capable of authoring.


kIOPropertySCSITaskDeviceCategory


#define kIOPropertySCSITaskDeviceCategory "SCSITaskDeviceCategory" 
Discussion

IORegistry 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

IORegistry property for the SCSI Task User Client. This property identifies an SCSITask enabled device.


kIOPropertySCSITaskUserClientInstanceGUID


#define kIOPropertySCSITaskUserClientInstanceGUID "SCSITaskUserClient GUID" 
Discussion

IORegistry 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 It's good, but... Not helpful...

 

Last Updated: 2009-10-15