Ссылка 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
Ссылка на устройство, на котором был установлен обратный вызов
commandID
FWClientCommandID, который будет передан ClientCommandIsComplete ()
Оператор импорта
Objective C
@import IOKit;
Доступность
Доступный в OS X v10.0 и позже.
-
Вызванный, когда сброс шины произошел, но прежде чем FireWire завершил конфигурирование шины.
Объявление
Objective C
typedef void ( *IOFireWireBusResetHandler)( IOFireWireLibDeviceRef interface, FWClientCommandID commandID ); // parameters may change
Параметры
interface
Ссылка на устройство, на котором был установлен обратный вызов
commandID
FWClientCommandID, который будет передан 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
Слушатель, получивший обратный вызов
commandID
FWClientCommandID, который будет передан 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
Слушатель, отбросивший пакеты
commandID
FWClientCommandID, который будет передан 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
Адресное пространство, к которому выполняется запрос
commandID
FWClientCommandID, который должен быть передан ClientCommandIsComplete, когда буфер был заполнен в
packetLen
число байтов требуют
packetOffset
число байтов с начала запоминающего устройства адресного пространства
srcNodeID
nodeID запрашивающей стороны
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
Адресное пространство, отбросившее пакет (ы)
commandID
FWClientCommandID, который будет передан 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
Адресное пространство, к которому делается запись
commandID
FWClientCommandID, который будет передан 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
Слушатель, получивший обратный вызов
commandID
FWClientCommandID, который будет передан ClientCommandIsComplete ()
packet
Указатель на полученные данные
refCon
пользователь указал, что ссылочный номер передал в том, когда создается асинхронный потоковый интерфейс
Оператор импорта
Objective C
@import IOKit;
Доступность
Доступный в OS X v10.5 и позже.
-
Когда входящие пакеты были отброшены от внутренней очереди, обратный вызов вызвал
Объявление
Objective C
typedef void ( *IOFWAsyncStreamListenerSkippedPacketHandler)( IOFWAsyncStreamListenerInterfaceRef listener, FWClientCommandID commandID, UInt32 skippedPacketCount);
Параметры
listener
Слушатель, отбросивший пакеты
commandID
FWClientCommandID, который будет передан 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 различных команд.