IOFireWireSerialBusProtocolTransport
Семейство драйвера протокола SCSI для устройств FireWire SBP2.
IOFireWireSerialBusProtocolTransport содержит всю шину определенная поддержка FireWire SBP2 совместимые устройства. Для добавления поставщика определенные функции или обходные решения, Вы разделите надлежащие методы на подклассы этой семьи.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый
Objective C
@import Kernel;
Доступность
Доступный в OS X v10.0 и позже.
-
Этот метод предназначается для прерывания в прогрессе Задачи SCSI.
Объявление
C++
virtual SCSIServiceResponse AbortSCSICommand ( SCSITaskIdentifier
request
);Возвращаемое значение
См. SCSITask.h для кодов SCSIServiceResponse.
Обсуждение
В настоящее время не реализованный в суперклассе. Это - тупиковый метод для добавления команды аварийного прекращения работы в ближайшем будущем.
-
Выделите ресурсы.
Объявление
C++
virtual IOReturn AllocateResources (
void
);Обсуждение
Вызванный от метода запуска для выделения необходимых ресурсов.
-
очистку вызывают для разъединения IOFireWireSerialBusProtocolTransport.
Объявление
C++
virtual void cleanUp (
void
);Обсуждение
очистку вызывают, когда мы получаем сообщение kIOFWMessageServiceIsRequestingClose или если мы приводим нашу инициализацию к сбою.
-
CoalesceSenseData преобразовывают блок состояния SBP-2 в блок смысла SPC 2.
Объявление
C++
SCSITaskStatus CoalesceSenseData ( FWSBP2StatusBlock *
sourceData
, UInt8quadletCount
, SCSI_Sense_Data *targetData
);Обсуждение
CoalesceSenseData вытаскивает надлежащие биты из блока смысла SBP2, столь же определенного в разделе SBP-2 Annex B B.2, и динамично создает блок данных чувственного опыта, как определено в разделе SPC 2 7.23.2.
-
функция средства доступа для fORB.
Объявление
C++
IOFireWireSBP2ORB * CommandORBAccessor (
void
);Обсуждение
xxx.
-
Это квалифицирует и устанавливает надлежащие данные, тогда вызывает CommandCompleted.
Объявление
C++
virtual void CompleteSCSITask ( IOFireWireSBP2ORB *
orb
);Обсуждение
См. IOSCSIProtocolServices.h для большего количества подробных данных относительно CommandCompleted.
-
xxx.
Объявление
C++
void CriticalOrbSubmission ( IOFireWireSBP2ORB *
orb
, SCSITaskIdentifierrequest
);Возвращаемое значение
ни один.
Обсуждение
xxx.
-
Освободите ресурсы.
Объявление
C++
virtual void DeallocateResources (
void
);Обсуждение
Вызванный от метода очистки для освобождения ресурсов.
-
См. IOService для обсуждения.
Объявление
C++
virtual bool finalize ( IOOptionBits
options
);Возвращаемое значение
Возвращает true.
-
Объявление
C++
virtual void free (
void
);Возвращаемое значение
ни один.
Обсуждение
См. IOService для обсуждения.
-
Обработайте указанную функцию, поддерживавшую протокольным уровнем.
Объявление
C++
virtual bool HandleProtocolServiceFeature ( SCSIProtocolFeature
feature
, void *serviceValue
);Возвращаемое значение
Если указанная функция будет поддерживаться протокольным уровнем, возвратит true.
Обсуждение
См. IOSCSIProtocolServices.h для большего количества подробных данных относительно HandleProtocolServiceFeature.
-
См. IOService для обсуждения.
Объявление
C++
bool init ( OSDictionary *
propTable
);Обсуждение
Установка и главный класс в известное состояние.
-
Определите указанная функция, поддерживается протокольным уровнем.
Объявление
C++
virtual bool IsProtocolServiceSupported ( SCSIProtocolFeature
feature
, void *serviceValue
);Возвращаемое значение
Если указанная функция будет поддерживаться протокольным уровнем, возвратит true.
Обсуждение
Если служба будет иметь значение, которое должно быть возвращено, то она будет возвращена в выходном параметре serviceValue. См. IOSCSIProtocolServices.h для большего количества подробных данных относительно IsProtocolServiceSupported.
-
Подпрограмма завершения для завершенного входа в систему.
Объявление
C++
virtual void LoginCompletion ( FWSBP2LoginCompleteParams *
params
);Обсуждение
См. IOFireWireSBP2Lib.h для подробных данных относительно структуры FWSBP2LogoutCompleteParams, передающейся в завершению.
-
Подпрограмма завершения для завершенного выхода из системы.
Объявление
C++
virtual void LogoutCompletion ( FWSBP2LogoutCompleteParams *
params
);Обсуждение
См. IOFireWireSBP2Lib.h для подробных данных относительно структуры FWSBP2LogoutCompleteParams, передающейся в завершению.
-
Обратный вызов для представления Сброса Агента Выборки.
Объявление
C++
virtual void LunResetComplete ( IOReturn
status
, IOFireWireSBP2ManagementORB *orb
);Обсуждение
См. IOFireWireSBP2Lib.h для подробных данных относительно submitFetchAgentReset метода.
-
функция средства доступа для того, чтобы пороть.
Объявление
C++
IOFireWireSBP2Login * SBP2LoginAccessor (
void
);Обсуждение
xxx.
-
Подготовьте и отправьте команду SCSI в устройство.
Объявление
C++
virtual bool SendSCSICommand ( SCSITaskIdentifier
request
, SCSIServiceResponse *serviceResponse
, SCSITaskStatus *taskStatus
);Возвращаемое значение
Если бы команда была отправлена в устройство и ожидает завершение, то подкласс должен возвратить true и возвратить назад kSCSIServiceResponse_Request_In_Process ответ. Если команда сразу завершится с ошибкой, то подкласс возвратит true и возвратит назад надлежащее состояние. Если подкласс в настоящее время обрабатывает все команды, он может, подкласс возвратить false, и команда будет снова послана в следующий раз, когда CommandCompleted вызывают.
Обсуждение
Во входящий SCSITaskIdentifier превращаются IOFireWireSBP2ORB и представляют уровню SBP2. См. IOSCSIProtocolServices.h для большего количества подробных данных относительно SendSCSICommand. Также см. IOFireWireSBP2Lib.h для подробных данных относительно структуры IOFireWireSBP2ORB и submitORB метода.
-
Метод для установки буферов шара.
Объявление
C++
virtual IOReturn SetCommandBuffers ( IOFireWireSBP2ORB *
orb
, SCSITaskIdentifierrequest
);Возвращаемое значение
xxx.
Обсуждение
Этот метод был добавлен так, чтобы подклассы могли переопределить и массажные буферы по мере необходимости. Значение по умолчанию просто вызывает setCommandBuffers. См. IOFireWireSBP2Lib.h для подробных данных относительно setCommandBuffers метода.
-
Установите автоматические данные чувственного опыта, который был возвращен для данной Задачи SCSI.
Объявление
C++
void SetValidAutoSenseData ( SBP2ClientOrbData *
clientData
, FWSBP2StatusBlock *statusBlock
, SCSI_Sense_Data *targetData
);Обсуждение
SetValidAutoSenseData вызывают для квалификации данных чувственного опыта, который копируется в клиент через метод SetAutoSenseData. См. IOSCSIProtocolServices.h для большего количества подробных данных относительно SetAutoSenseData.
-
Объявление
C++
virtual bool start ( IOService *
provider
);Возвращаемое значение
Возвратите true, если запуск был успешным, ложным иначе (который заставит экземпляр быть отсоединенным и обычно освобождаться).
Обсуждение
См. IOService для обсуждения.
-
Это - наш обработчик для состояния.
Объявление
C++
virtual void StatusNotify ( FWSBP2NotifyParams *
params
);Обсуждение
См. IOFireWireSBP2Lib.h для подробных данных относительно структуры FWSBP2NotifyParams, передающейся в завершению..
-
Это - наш обработчик для незапрашиваемого состояния.
Объявление
C++
virtual void UnsolicitedStatusNotify ( FWSBP2NotifyParamsPtr
params
);Обсуждение
После того, как мы проанализировали и обработали незапрашиваемое состояние, мы вызываем enableUnsolicitedStatus. См. IOFireWireSBP2Lib.h для подробных данных относительно enableUnsolicitedStatus метода.
-
Объявление
CPlusPlus
typedef struct { IOFireWireSBP2ORB *orb; SCSITaskIdentifier scsiTask; SCSIServiceResponse serviceResponse; SCSITaskStatus taskStatus; IOBufferMemoryDescriptor *quadletAlignedBuffer; } SBP2ClientOrbData;
Обсуждение
Эта структура наполнена в refcon, таким образом, мы можем связаться, какой IOFireWireSBP2ORB и SCSITaskIdentifier завершаются.
Оператор импорта