Ссылка IOFireWireLib.h
IOFireWireLib является программным обеспечением, используемым программным обеспечением пространства пользователя, чтобы связаться с устройствами FireWire и управлять шиной FireWire. IOFireWireLib является интерфейсом FireWire самого низкого уровня, доступным в пространстве пользователя.
Для передачи с устройством на шине FireWire экземпляр IOFireWireDeviceInterface (структура, определяющаяся ниже) создается. Методы IOFireWireDeviceInterface позволяют Вам связываться с устройством и создавать экземпляры других интерфейсов, обеспечивающих расширенную функциональность (например, создание каталогов модуля на локальной машине).
Ссылки на интерфейсы должны быть сохранены с помощью интерфейсных ссылочных определений типов, определенных в настоящем документе. Например, необходимо использовать IOFireWireLibDeviceRef, чтобы послать к экземплярам IOFireWireDeviceInterface, IOFireWireLibCommandRef относиться к экземплярам IOFireWireCommandInterface, и т.д.
Для получения IOFireWireDeviceInterface для устройства на шине FireWire используйте функциональный IOCreatePlugInInterfaceForService () определенный в IOKit/IOCFPlugIn.h. (Обратите внимание на то, что «я» в «Плагине» является всегда прописным.) Быстрая ссылка использования:
'служба' является ссылкой на ключ реестра IOKit объекта ядра (обычно типа IOFireWireDevice) представление устройства интереса. Эта ссылка может быть получена с помощью функций, определяемых в IOKit/IOKitLib.h.
'plugInType' должен быть CFUUIDGetUUIDBytes (kIOCFPlugInInterfaceID)
'interfaceType' должен быть CFUUIDGetUUIDBytes (kIOFireWireLibTypeID) при использовании IOFireWireLib
Интерфейс, возвращенный IOCreatePlugInInterfaceForService (), должен быть освобожден с помощью IODestroyPlugInInterface (). Не делайте разъединения вызова () на нем.
Включенные заголовки
<CoreFoundation/CoreFoundation.h><IOKit/IOCFPlugIn.h><IOKit/firewire/IOFireWireFamilyCommon.h>
-
Объявление
Objective C
IOVirtualRange IOVirtualRangeMake ( IOVirtualAddress address, IOByteCount length );Обсуждение
Предстоящее описание
Оператор импорта
Objective C
@import IOKit;Доступность
Доступный в OS X v10.3 и позже.
-
Вызванный, когда сброс шины произошел и FireWire завершил конфигурирование шины.
Объявление
Objective C
typedef void ( *IOFireWireBusResetDoneHandler)( IOFireWireLibDeviceRef interface, FWClientCommandID commandID ); // parameters may changeПараметры
interfaceСсылка на устройство, на котором был установлен обратный вызов
commandIDFWClientCommandID, который будет передан ClientCommandIsComplete ()
Оператор импорта
Objective C
@import IOKit;Доступность
Доступный в OS X v10.0 и позже.
-
Вызванный, когда сброс шины произошел, но прежде чем FireWire завершил конфигурирование шины.
Объявление
Objective C
typedef void ( *IOFireWireBusResetHandler)( IOFireWireLibDeviceRef interface, FWClientCommandID commandID ); // parameters may changeПараметры
interfaceСсылка на устройство, на котором был установлен обратный вызов
commandIDFWClientCommandID, который будет передан ClientCommandIsComplete ()
Оператор импорта
Objective C
@import IOKit;Доступность
Доступный в OS X v10.0 и позже.
-
Когда асинхронная команда завершила выполнение, обратный вызов вызвал
Объявление
Objective C
typedef void ( *IOFireWireLibCommandCallback)( void *refCon, IOReturn completionStatus);Параметры
refConПользователь указал ссылочный набор значений, прежде чем был представлен объект команды
Оператор импорта
Objective C
@import IOKit;Доступность
Доступный в OS X v10.0 и позже.
-
Когда IOFireWireLibIRMAllocationRef не удается предъявить претензии в отношении ресурсов IRM после сброшенного шиной, обратный вызов вызвал
Объявление
Objective C
typedef void ( *IOFireWireLibIRMAllocationLostNotificationProc)( IOFireWireLibIRMAllocationRef irmAllocation, void *refCon);Оператор импорта
Objective C
@import IOKit;Доступность
Доступный в OS X v10.5 и позже.
-
Обратный вызов, вызванный для обработки поступления пакеты PHY
Объявление
Objective C
typedef void ( *IOFireWireLibPHYPacketCallback)( IOFireWireLibPHYPacketListenerRef listener, FWClientCommandID commandID, UInt32 data1, UInt32 data2, void *refCon );Параметры
listenerСлушатель, получивший обратный вызов
commandIDFWClientCommandID, который будет передан ClientCommandIsComplete ()
data1первая четверка полученного пакета PHY
data2вторая четверка полученного пакета PHY
refConпользователь указал ссылочное значение, указанное на слушателе
Оператор импорта
Objective C
@import IOKit;Доступность
Доступный в OS X v10.5 и позже.
-
Когда входящие пакеты были отброшены от внутренней очереди, обратный вызов вызвал
Объявление
Objective C
typedef void ( *IOFireWireLibPHYPacketSkippedCallback)( IOFireWireLibPHYPacketListenerRef listener, FWClientCommandID commandID, UInt32 skippedPacketCount, void *refCon );Параметры
listenerСлушатель, отбросивший пакеты
commandIDFWClientCommandID, который будет передан ClientCommandIsComplete ()
skippedPacketCountЧисло пропущенных пакетов
refConпользователь указал ссылочное значение, указанное на слушателе
Оператор импорта
Objective C
@import IOKit;Доступность
Доступный в OS X v10.5 и позже.
-
Этот обратный вызов вызывают для обрабатывания запросов чтения к псевдо адресным пространствам. Эта функция должна заполнить указанную область в псевдо запоминающем устройстве адресного пространства и вызвать ClientCommandIsComplete с указанной командой ID
Объявление
Objective C
typedef UInt32 ( *IOFireWirePseudoAddressSpaceReadHandler)( IOFireWireLibPseudoAddressSpaceRef addressSpace, FWClientCommandID commandID, UInt32 packetLen, UInt32 packetOffset, UInt16 srcNodeID, // nodeID of requester UInt32 destAddressHi, // destination on this node UInt32 destAddressLo, void *refCon);Параметры
addressSpaceАдресное пространство, к которому выполняется запрос
commandIDFWClientCommandID, который должен быть передан ClientCommandIsComplete, когда буфер был заполнен в
packetLenчисло байтов требуют
packetOffsetчисло байтов с начала запоминающего устройства адресного пространства
srcNodeIDnodeID запрашивающей стороны
destAddressHiвысокие 16 битов адреса назначения на этом компьютере
destAddressLoнизкие 32 бита адреса назначения на этом компьютере
refConпользователь указал, что ссылочный номер передал в том, когда создавалось адресное пространство
Оператор импорта
Objective C
@import IOKit;Доступность
Доступный в OS X v10.0 и позже.
-
Когда входящие пакеты были отброшены от внутренней очереди, обратный вызов вызвал
Объявление
Objective C
typedef void ( *IOFireWirePseudoAddressSpaceSkippedPacketHandler)( IOFireWireLibPseudoAddressSpaceRef addressSpace, FWClientCommandID commandID, UInt32 skippedPacketCount);Параметры
addressSpaceАдресное пространство, отбросившее пакет (ы)
commandIDFWClientCommandID, который будет передан ClientCommandIsComplete ()
skippedPacketCountЧисло пропущенных пакетов
Оператор импорта
Objective C
@import IOKit;Доступность
Доступный в OS X v10.0 и позже.
-
Обратный вызов, вызванный для обрабатывания запросов записи к псевдо адресному пространству.
Объявление
Objective C
typedef UInt32 ( *IOFireWirePseudoAddressSpaceWriteHandler)( IOFireWireLibPseudoAddressSpaceRef addressSpace, FWClientCommandID commandID, UInt32 packetLen, void *packet, UInt16 srcNodeID, // nodeID of sender UInt32 destAddressHi, // destination on this node UInt32 destAddressLo, void *refCon);Параметры
addressSpaceАдресное пространство, к которому делается запись
commandIDFWClientCommandID, который будет передан ClientCommandIsComplete ()
packetLenДлина в байтах входящего пакета
packetУказатель на полученные данные
srcNodeIDУзел ID отправителя
destAddressHiвысокие 16 битов адреса назначения на этом компьютере
destAddressLoнизкие 32 бита адреса назначения на этом компьютере
refConпользователь указал, что ссылочный номер передал в том, когда создавалось адресное пространство
Оператор импорта
Objective C
@import IOKit;Доступность
Доступный в OS X v10.0 и позже.
-
Обратный вызов, вызванный для обработки Асинхронных Потоковых пакетов.
Объявление
Objective C
typedef UInt32 ( *IOFWAsyncStreamListenerHandler)( IOFWAsyncStreamListenerInterfaceRef listener, FWClientCommandID commandID, UInt32 size, void *packet, void *refCon);Параметры
listenerСлушатель, получивший обратный вызов
commandIDFWClientCommandID, который будет передан ClientCommandIsComplete ()
packetУказатель на полученные данные
refConпользователь указал, что ссылочный номер передал в том, когда создается асинхронный потоковый интерфейс
Оператор импорта
Objective C
@import IOKit;Доступность
Доступный в OS X v10.5 и позже.
-
Когда входящие пакеты были отброшены от внутренней очереди, обратный вызов вызвал
Объявление
Objective C
typedef void ( *IOFWAsyncStreamListenerSkippedPacketHandler)( IOFWAsyncStreamListenerInterfaceRef listener, FWClientCommandID commandID, UInt32 skippedPacketCount);Параметры
listenerСлушатель, отбросивший пакеты
commandIDFWClientCommandID, который будет передан ClientCommandIsComplete ()
skippedPacketCountЧисло пропущенных пакетов
Оператор импорта
Objective C
@import IOKit;Доступность
Доступный в OS X v10.5 и позже.
См. Обзор для документации уровня заголовка.
-
Объявление
Objective C
typedef enum { kFWAddressSpaceNoFlags = 0, kFWAddressSpaceNoWriteAccess = ( 1 << 0), kFWAddressSpaceNoReadAccess = ( 1 << 1), kFWAddressSpaceAutoWriteReply = ( 1 << 2), kFWAddressSpaceAutoReadReply = ( 1 << 3), kFWAddressSpaceAutoCopyOnWrite = ( 1 << 4), kFWAddressSpaceShareIfExists = ( 1 << 5), kFWAddressSpaceExclusive = ( 1 << 6) } FWAddressSpaceFlags;Обсуждение
Флаги создания адресного пространства FireWire
Оператор импорта
Objective C
@import IOKit;Доступность
Доступный в OS X v10.0 и позже.
См. Обзор для документации уровня заголовка.
-
Флаги для команд IOFireWireLib
Объявление
Objective C
enum { kFireWireCommandUseCopy = ( 1 << 16), kFireWireCommandAbsolute = ( 1 << 17) };Обсуждение
Передайте эти флаги обратному вызову SetFlags объекта.
-
Флаги для объектов команды IOFireWireLib
Объявление
Objective C
enum { kFWCommandNoFlags = 0, kFWCommandInterfaceForceNoCopy = ( 1 << 0), kFWCommandInterfaceForceCopyAlways = ( 1 << 1), kFWCommandInterfaceSyncExecute = ( 1 << 2), kFWCommandInterfaceAbsolute = ( 1 << 3), kFWVectorCommandInterfaceOrdered = ( 1 << 4), kFWCommandInterfaceForceBlockRequest = ( 1 << 5) };Обсуждение
Передайте эти флаги обратному вызову SetFlags объекта.
-
Флаги для команд IOFireWireLib
Объявление
Objective C
enum { kFWDontFailOnReset = false, kFWFailOnReset = true };Обсуждение
Передайте эти флаги в failOnReset различных команд.
