Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка IOFireWireLib.h

Опции
Развертывание Target:

На этой странице

Ссылка 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 различных команд.