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

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

Разработчик

Ссылка пространства пользователя USB.h

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

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

Ссылка пространства пользователя USB.h

Включенные заголовки

  • <libkern/OSByteOrder.h>

  • <IOKit/IOMemoryDescriptor.h>

  • <libkern/OSByteOrder.h>

  • <IOKit/IOTypes.h>

Функции

  • Объявление

    Objective C

    #define iokit_usb_err(return) (sys_iokit|sub_iokit_usb|return)

    Обсуждение

    Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    IOUSBFamily error codes

  • Объявление

    Objective C

    #define iokit_usb_msg(message) (UInt32)(sys_iokit|sub_iokit_usb|message)

    Обсуждение

    Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.1 и позже.

    См. также

    IOUSBFamily message codes

  • Объявление

    Objective C

    #define EncodeRequest(request, direction, type, recipient) \ (((UInt16)request << 8) + \ ((UInt16)recipient + \ ((UInt16)type << kUSBRqTypeShift) + \ ((UInt16)direction << kUSBRqDirnShift)))

    Обсуждение

    Макрос, кодирующий bRequest и bRequestType поля IOUSBDevRequest в единственное значение. Полезно, когда нужно знать, какой запрос IOUSBDevRequest кодирует и упрощает сравнения.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    #define USBmakebmRequestType(direction, type, recipient) \ (((direction & kUSBRqDirnMask) << kUSBRqDirnShift) | \ ((type & kUSBRqTypeMask) << kUSBRqTypeShift) | \ (recipient & kUSBRqRecipientMask))

    Обсуждение

    Макрос для кодирования bRequest поля Запроса Устройства. Это используется при построении IOUSBDevRequest.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

Обратные вызовы

  • Объявление

    Objective C

    typedef void ( *IOUSBCompletionAction)( void *target, void *parameter, IOReturn status, UInt32 bufferSizeRemaining);

    Параметры

    target

    Цель указана в структуре IOUSBCompletion.

    parameter

    Параметр указан в структуре IOUSBCompletion.

    status

    Состояние Completion.

    bufferSizeRemaining

    Байты уехали, чтобы быть переданными.

    Обсуждение

    Когда USB I/O завершается, функция вызвала.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef void ( *IOUSBCompletionActionWithTimeStamp)( void *target, void *parameter, IOReturn status, UInt32 bufferSizeRemaining, AbsoluteTime timeStamp);

    Параметры

    target

    Цель указана в структуре IOUSBCompletion.

    parameter

    Параметр указан в структуре IOUSBCompletion.

    status

    Состояние Completion.

    bufferSizeRemaining

    Байты уехали, чтобы быть переданными.

    timeStamp

    Время, в которое была обработана транзакция.

    Обсуждение

    Когда USB I/O завершается, функция вызвала.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.3 и позже.

  • Объявление

    Objective C

    typedef void ( *IOUSBIsocCompletionAction)( void *target, void *parameter, IOReturn status, IOUSBIsocFrame *pFrames);

    Параметры

    target

    Цель указана в структуре IOUSBIsocCompletionn.

    parameter

    Параметр указан в структуре IOUSBIsocCompletion.

    status

    Состояние Completion.

    pFrames

    Указатель на список кадра, содержащий состояние для каждого кадра, передается.

    Обсуждение

    Когда Изохронный USB I/O завершается, функция вызвала.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef void ( *IOUSBLowLatencyIsocCompletionAction)( void *target, void *parameter, IOReturn status, IOUSBLowLatencyIsocFrame *pFrames);

    Параметры

    target

    Цель указана в структуре IOUSBLowLatencyIsocCompletion.

    parameter

    Параметр указан в структуре IOUSBLowLatencyIsocCompletion.

    status

    Состояние Completion.

    pFrames

    Указатель на низкую задержку структурирует список, содержащий состояние для каждого переданного кадра.

    Обсуждение

    Когда Низкая Задержка Изохронный USB I/O завершается, функция вызвала.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.2 и позже.

Типы данных

См. Обзор для документации уровня заголовка.

  • Объявление

    Objective C

    typedef struct IOUSBBOSDescriptor IOUSBBOSDescriptor;

    Обсуждение

    Дескриптор BOS для USB-устройства..

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.7 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBCompletion { void *target; IOUSBCompletionAction action; void *parameter; } IOUSBCompletion;

    Обсуждение

    Действие указания структуры для выполнения, когда USB завершается I/O.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBCompletionWithTimeStamp { void *target; IOUSBCompletionActionWithTimeStamp action; void *parameter; } IOUSBCompletionWithTimeStamp;

    Обсуждение

    Действие указания структуры для выполнения, когда USB завершается I/O.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.3 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBConfigurationDescHeader IOUSBConfigurationDescHeader;

    Обсуждение

    Заголовок IOUSBConfigurationDescriptor. Используемый для получения общей длины дескриптора.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.1 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBConfigurationDescriptor IOUSBConfigurationDescriptor;

    Обсуждение

    Стандартный Дескриптор Конфигурации USB. Это - переменная длина, таким образом, это только указывает известные поля. Мы используем wTotalLength поле для чтения целого дескриптора. Посмотрите Спецификацию USB в http://www .usb.org.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBDescriptorHeader IOUSBDescriptorHeader;

    Обсуждение

    Стандартный заголовок используется для всех дескрипторов USB. Используемый для чтения длины дескриптора так, чтобы мы могли выделить хранение для целого дескриптора позже.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBDeviceCapabilityContainerID IOUSBDeviceCapabilityContainerID;

    Обсуждение

    Контейнер функции устройств ID

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.7 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBDeviceCapabilityDescriptorHeader IOUSBDeviceCapabilityDescriptorHeader;

    Обсуждение

    Заголовок для дескриптора функции устройств для USB-устройства..

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.7 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBDeviceCapabilitySuperSpeedUSB IOUSBDeviceCapabilitySuperSpeedUSB;

    Обсуждение

    Функция устройств SuperSpeed USB

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.7 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBDeviceCapabilityUSB2Extension IOUSBDeviceCapabilityUSB2Extension;

    Обсуждение

    Расширение функции устройств USB 2.0

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.7 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBDeviceDescriptor IOUSBDeviceDescriptor;

    Обсуждение

    Дескриптор для USB-устройства. Посмотрите спецификацию USB в http://www .usb.org.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBDeviceQualifierDescriptor IOUSBDeviceQualifierDescriptor;

    Обсуждение

    Дескриптор спецификатора USB-устройства. Посмотрите спецификацию USB в http://www .usb.org.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.2 и позже.

  • Объявление

    Objective C

    typedef struct { UInt8 bmRequestType; UInt8 bRequest; UInt16 wValue; UInt16 wIndex; UInt16 wLength; void *pData; UInt32 wLenDone; } IOUSBDevRequest;

    Обсуждение

    Блок Parameter для запросов управления, с помощью простого указателя для данных, которые будут переданы.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct { UInt8 bmRequestType; UInt8 bRequest; UInt16 wValue; UInt16 wIndex; UInt16 wLength; IOMemoryDescriptor *pData; UInt32 wLenDone; } IOUSBDevRequestDesc;

    Обсуждение

    Блок Parameter для запросов управления, с помощью дескриптора памяти для данных, которые будут переданы. Только доступный в ядре.

    Оператор импорта

    Objective C

    #include <USB.h>;

    Доступность

    Доступный в OS X v10.6 и позже.

  • Объявление

    Objective C

    typedef struct { UInt8 bmRequestType; UInt8 bRequest; UInt16 wValue; UInt16 wIndex; UInt16 wLength; void *pData; UInt32 wLenDone; UInt32 noDataTimeout; UInt32 completionTimeout; } IOUSBDevRequestTO;

    Обсуждение

    Блок Parameter для управления запрашивает с тайм-аутами, с помощью простого указателя для данных, которые будут переданы. То же как IOUSBDevRequest за исключением двух дополнительных полей тайм-аута.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.1 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBDFUDescriptor IOUSBDFUDescriptor;

    Обсуждение

    Встроенное микропрограммное обеспечение USB-устройства обновляет дескриптор. Посмотрите, что встроенное микропрограммное обеспечение USB-устройства обновляет спецификацию в http://www .usb.org.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.2 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBEndpointDescriptor IOUSBEndpointDescriptor;

    Обсуждение

    Дескриптор для конечной точки USB. Посмотрите спецификацию USB в http://www .usb.org.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct { UInt8 type; UInt8 direction; UInt16 maxPacketSize; UInt8 interval; } IOUSBFindEndpointRequest;

    Обсуждение

    Структура раньше находила, что конечные точки интерфейсного типа и направления используются для соответствия конечных точек, тип, направление, maxPacketSize и интервал обновляются со свойствами найденной конечной точки.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct { UInt16 bInterfaceClass; // requested class UInt16 bInterfaceSubClass; // requested subclass UInt16 bInterfaceProtocol; // requested protocol UInt16 bAlternateSetting; // requested alt setting } IOUSBFindInterfaceRequest;

    Обсуждение

    Структура используется с FindNextInterface.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct { UInt64 frame; AbsoluteTime timeStamp; } IOUSBGetFrameStruct;

    Обсуждение

    Структура использовала от пространства пользователя возвращать число кадра и метку времени на том, когда был считан регистр кадра.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBHIDDescriptor IOUSBHIDDescriptor;

    Обсуждение

    USB Дескриптор HID. Посмотрите USB Спецификация HID в http://www .usb.org. (Эта структура должна была использовать пакет #pragma (1) директива компилятора для получения выравнивания байта.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBHIDReportDesc IOUSBHIDReportDesc;

    Обсуждение

    USB заголовок Дескриптора Отчета HID. Посмотрите USB Спецификация HID в http://www .usb.org. (Эта структура должна была использовать пакет #pragma (1) директива компилятора для получения выравнивания байта.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBInterfaceAssociationDescriptor IOUSBInterfaceAssociationDescriptor;

    Обсуждение

    USB дескриптор ассоциации Inerface. ECN к спецификации USB 2.0. Посмотрите спецификацию USB в http://www .usb.org.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.3 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBInterfaceDescriptor IOUSBInterfaceDescriptor;

    Обсуждение

    Дескриптор для интерфейса USB. Посмотрите спецификацию USB в http://www .usb.org.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBIsocCompletion { void *target; IOUSBIsocCompletionAction action; void *parameter; } IOUSBIsocCompletion;

    Обсуждение

    Действие указания структуры для выполнения, когда Изохронный USB завершается I/O.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBIsocFrame { IOReturn frStatus; UInt16 frReqCount; UInt16 frActCount; } IOUSBIsocFrame;

    Обсуждение

    Структура раньше кодировала информацию о каждом кадре isoc.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBLowLatencyIsocCompletion { void *target; IOUSBLowLatencyIsocCompletionAction action; void *parameter; } IOUSBLowLatencyIsocCompletion;

    Обсуждение

    Действие указания структуры для выполнения, когда Низкая Задержка Изохронный USB завершается I/O.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.2 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBLowLatencyIsocFrame IOUSBLowLatencyIsocFrame;

    Обсуждение

    Структура раньше кодировала информацию о каждом кадре isoc, обрабатывающемся во время аппаратного прерывания (низкая задержка).

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.2 и позже.

  • Объявление

    Objective C

    typedef struct IOUSBSuperSpeedEndpointCompanionDescriptor IOUSBSuperSpeedEndpointCompanionDescriptor;

    Обсуждение

    Дескриптор для конечной точки SuperSpeed USB Cpmpanion. Посмотрите спецификацию USB в http://www .usb.org.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.7 и позже.

  • Объявление

    Objective C

    typedef enum { kUSBInformationDeviceIsCaptiveBit = 0, kUSBInformationDeviceIsAttachedToRootHubBit = 1, kUSBInformationDeviceIsInternalBit = 2, kUSBInformationDeviceIsConnectedBit = 3, kUSBInformationDeviceIsEnabledBit = 4, kUSBInformationDeviceIsSuspendedBit = 5, kUSBInformationDeviceIsInResetBit = 6, kUSBInformationDeviceOvercurrentBit = 7, kUSBInformationDevicePortIsInTestModeBit = 8, kUSBInformationDeviceIsRootHub = 9, kUSBInformationRootHubisBuiltIn = 10, kUSBInformationDeviceIsRemote = 11, kUSBInformationDeviceIsAttachedToEnclosure = 12, kUSBInformationDeviceIsCaptiveMask = ( 1 << kUSBInformationDeviceIsCaptiveBit), kUSBInformationDeviceIsAttachedToRootHubMask = ( 1 << kUSBInformationDeviceIsAttachedToRootHubBit), kUSBInformationDeviceIsInternalMask = ( 1 << kUSBInformationDeviceIsInternalBit), kUSBInformationDeviceIsConnectedMask = ( 1 << kUSBInformationDeviceIsConnectedBit), kUSBInformationDeviceIsEnabledMask = ( 1 << kUSBInformationDeviceIsEnabledBit), kUSBInformationDeviceIsSuspendedMask = ( 1 << kUSBInformationDeviceIsSuspendedBit), kUSBInformationDeviceIsInResetMask = ( 1 << kUSBInformationDeviceIsInResetBit), kUSBInformationDeviceOvercurrentMask = ( 1 << kUSBInformationDeviceOvercurrentBit), kUSBInformationDevicePortIsInTestModeMask = ( 1 << kUSBInformationDevicePortIsInTestModeBit), kUSBInformationDeviceIsRootHubMask = ( 1 << kUSBInformationDeviceIsRootHub), kUSBInformationRootHubisBuiltInMask = ( 1 << kUSBInformationRootHubisBuiltIn), kUSBInformationDeviceIsRemoteMask = ( 1 << kUSBInformationDeviceIsRemote), kUSBInformationDeviceIsAttachedToEnclosureMask = ( 1 << kUSBInformationDeviceIsAttachedToEnclosure) } USBDeviceInformationBits;

    Константы

    • kUSBInformationDeviceIsCaptiveBit

      kUSBInformationDeviceIsCaptiveBit

      USB-устройство непосредственно присоединено к своему концентратору и не может быть демонтировано.

      Доступный в OS X v10.6 и позже.

    • kUSBInformationDeviceIsAttachedToRootHubBit

      kUSBInformationDeviceIsAttachedToRootHubBit

      USB-устройство непосредственно присоединено к корневому концентратору

      Доступный в OS X v10.6 и позже.

    • kUSBInformationDeviceIsInternalBit

      kUSBInformationDeviceIsInternalBit

      USB-устройство является внутренним к компьютеру (все концентраторы, к которым это присоединяет, присоединены),

      Доступный в OS X v10.6 и позже.

    • kUSBInformationDeviceIsConnectedBit

      kUSBInformationDeviceIsConnectedBit

      USB-устройство подключено к его концентратору

      Доступный в OS X v10.6 и позже.

    • kUSBInformationDeviceIsEnabledBit

      kUSBInformationDeviceIsEnabledBit

      Порт концентратора, к которому присоединяется USB-устройство, включен

      Доступный в OS X v10.6 и позже.

    • kUSBInformationDeviceIsSuspendedBit

      kUSBInformationDeviceIsSuspendedBit

      Порт концентратора, к которому присоединяется USB-устройство, приостановлен

      Доступный в OS X v10.6 и позже.

    • kUSBInformationDeviceIsInResetBit

      kUSBInformationDeviceIsInResetBit

      Порт концентратора, к которому присоединяется USB-устройство, сбрасывается

      Доступный в OS X v10.6 и позже.

    • kUSBInformationDeviceOvercurrentBit

      kUSBInformationDeviceOvercurrentBit

      USB-устройство генерировало сверхток

      Доступный в OS X v10.6 и позже.

    • kUSBInformationDevicePortIsInTestModeBit

      kUSBInformationDevicePortIsInTestModeBit

      Порт концентратора, к которому присоединяется USB-устройство, находится в тестовом режиме

      Доступный в OS X v10.6 и позже.

    • kUSBInformationDeviceIsRootHub

      kUSBInformationDeviceIsRootHub

      Устройство является фактически корневым моделированием концентратора

      Доступный в OS X v10.6 и позже.

    • kUSBInformationRootHubisBuiltIn

      kUSBInformationRootHubisBuiltIn

      Если это - корневое моделирование концентратора, и оно встроено в машину, этот бит установлен. Если это будет на плате расширения, то это будет очищено

      Доступный в OS X v10.6 и позже.

    • kUSBInformationDeviceIsRemote

      kUSBInformationDeviceIsRemote

      Это устройство «присоединяется» к контроллеру через удаленное соединение

      Доступный в OS X v10.7 и позже.

    • kUSBInformationDeviceIsAttachedToEnclosure

      kUSBInformationDeviceIsAttachedToEnclosure

      Порт концентратора, с которым подключено USB-устройство, имеет разъем USB на корпусе CPU

      Доступный в OS X v10.7 и позже.

    Обсуждение

    GetUSBDeviceInformation возвратит значение unit32_t с набором битов, указывающим, что определенное состояние присутствует в USB-устройстве. Эти биты описаны здесь

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.6 и позже.

  • Объявление

    Objective C

    typedef enum { kUSBLowLatencyWriteBuffer = 0, kUSBLowLatencyReadBuffer = 1, kUSBLowLatencyFrameListBuffer = 2 } USBLowLatencyBufferType;

    Константы

    • kUSBLowLatencyWriteBuffer

      kUSBLowLatencyWriteBuffer

      Буфер будет использоваться для выписывания данных к устройству.

      Доступный в OS X v10.2 и позже.

    • kUSBLowLatencyReadBuffer

      kUSBLowLatencyReadBuffer

      Буфер будет использоваться для чтения данных из устройства.

      Доступный в OS X v10.2 и позже.

    • kUSBLowLatencyFrameListBuffer

      kUSBLowLatencyFrameListBuffer

      Буфер будет использоваться для низкой задержки isoch список кадра.

      Доступный в OS X v10.2 и позже.

    Обсуждение

    Используемый для указания, какой буфер для создания при вызове LowLatencyCreateBuffer ().

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.2 и позже.

  • Объявление

    Objective C

    typedef enum { kUSBPowerDuringSleep = 0, kUSBPowerDuringWake = 1, kUSBPowerRequestWakeRelease = 2, kUSBPowerRequestSleepRelease = 3, kUSBPowerRequestWakeReallocate = 4, kUSBPowerRequestSleepReallocate = 5, kUSBPowerDuringWakeRevokable = 6 } USBPowerRequestTypes;

    Константы

    • kUSBPowerDuringSleep

      kUSBPowerDuringSleep

      Питание состоит в том, чтобы использоваться во время сна.

      Доступный в OS X v10.6 и позже.

    • kUSBPowerDuringWake

      kUSBPowerDuringWake

      В то время как система бодрствует (т.е. не спящий), питание состоит в том, чтобы использоваться

      Доступный в OS X v10.6 и позже.

    • kUSBPowerRequestWakeRelease

      kUSBPowerRequestWakeRelease

      Когда используется с ReturnExtraPower (), это отправит сообщение во все устройства для возврата любого дополнительного питания следа, если это возможно.

      Доступный в OS X v10.7 и позже.

    • kUSBPowerRequestSleepRelease

      kUSBPowerRequestSleepRelease

      Когда используется с ReturnExtraPower (), это отправит сообщение во все устройства для возврата любого питания сна, если это возможно.

      Доступный в OS X v10.7 и позже.

    • kUSBPowerRequestWakeReallocate

      kUSBPowerRequestWakeReallocate

      Когда используется с ReturnExtraPower (), это отправит сообщение во все устройства, указывающие, что они могут попросить больше питания следа, поскольку некоторое устройство выпустило его.

      Доступный в OS X v10.7 и позже.

    • kUSBPowerRequestSleepReallocate

      kUSBPowerRequestSleepReallocate

      Когда используется с ReturnExtraPower (), это отправит сообщение во все устройства, указывающие, что они могут попросить больше питания сна, поскольку некоторое устройство выпустило его.

      Доступный в OS X v10.7 и позже.

    • kUSBPowerDuringWakeRevokable

      kUSBPowerDuringWakeRevokable

      В то время как система бодрствует (т.е. не спящий), но может быть устранена (через сообщение kUSBPowerRequestWakeRelease), питание состоит в том, чтобы использоваться. Система может тогда выделить то дополнительное питание другому устройству.

      Доступный в OS X v10.7 через OS X v10.7.

    Обсуждение

    Используемый для указания, какое питание будет зарезервировано с помощью IOUSBDevice RequestExtraPower и ReturnExtraPower APIs.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.6 и позже.

  • Объявление

    Objective C

    typedef enum { kUSBAddExtraResetTimeBit = 31, kUSBAddExtraResetTimeMask = ( 1 << kUSBAddExtraResetTimeBit) } USBReEnumerateOptions;

    Константы

    • kUSBAddExtraResetTimeBit

      kUSBAddExtraResetTimeBit

      Установка этого бита заставит драйвер Концентратора ожидать 100 мс прежде, чем адресовать устройство после сброса после переперечисления.

      Доступный в OS X v10.3 и позже.

    Обсуждение

    Опции, используемые при вызове ReEnumerateDevice.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.3 и позже.

  • Объявление

    Objective C

    typedef UInt16 USBStatus;

    Обсуждение

    Введите используемый для получения DeviceStatus как единственного количества.

    Оператор импорта

    Objective C

    @import IOKit;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    struct IOUSBBOSDescriptor { UInt8 bLength; UInt8 bDescriptorType; UInt16 wTotalLength; UInt8 bNumDeviceCaps; };

    Обсуждение

    Дескриптор BOS для USB-устройства..

  • Объявление

    Objective C

    struct IOUSBConfigurationDescHeader { UInt8 bLength; UInt8 bDescriptorType; UInt16 wTotalLength; };

    Обсуждение

    Заголовок IOUSBConfigurationDescriptor. Используемый для получения общей длины дескриптора.

  • Объявление

    Objective C

    struct IOUSBConfigurationDescriptor { UInt8 bLength; UInt8 bDescriptorType; UInt16 wTotalLength; UInt8 bNumInterfaces; UInt8 bConfigurationValue; UInt8 iConfiguration; UInt8 bmAttributes; UInt8 MaxPower; };

    Обсуждение

    Стандартный Дескриптор Конфигурации USB. Это - переменная длина, таким образом, это только указывает известные поля. Мы используем wTotalLength поле для чтения целого дескриптора. Посмотрите Спецификацию USB в http://www .usb.org.

  • Объявление

    Objective C

    struct IOUSBDescriptorHeader { UInt8 bLength; UInt8 bDescriptorType; };

    Обсуждение

    Стандартный заголовок используется для всех дескрипторов USB. Используемый для чтения длины дескриптора так, чтобы мы могли выделить хранение для целого дескриптора позже.

  • Объявление

    Objective C

    struct IOUSBDeviceCapabilityContainerID { UInt8 bLength; UInt8 bDescriptorType; UInt8 bDevCapabilityType; UInt8 bReservedID; UInt8 containerID[16]; };

    Обсуждение

    Контейнер функции устройств ID

  • Объявление

    Objective C

    struct IOUSBDeviceCapabilityDescriptorHeader { UInt8 bLength; UInt8 bDescriptorType; UInt8 bDevCapabilityType; UInt8 bNumDeviceCaps; };

    Обсуждение

    Заголовок для дескриптора функции устройств для USB-устройства..

  • Объявление

    Objective C

    struct IOUSBDeviceCapabilitySuperSpeedUSB { UInt8 bLength; UInt8 bDescriptorType; UInt8 bDevCapabilityType; UInt8 bmAttributes; UInt16 wSpeedsSupported; UInt8 bFunctionalitySupport; UInt8 bU1DevExitLat; UInt16 wU2DevExitLat; };

    Обсуждение

    Функция устройств SuperSpeed USB

  • Объявление

    Objective C

    struct IOUSBDeviceCapabilityUSB2Extension { UInt8 bLength; UInt8 bDescriptorType; UInt8 bDevCapabilityType; UInt32 bmAttributes; };

    Обсуждение

    Расширение функции устройств USB 2.0

  • Объявление

    Objective C

    struct IOUSBDeviceDescriptor { UInt8 bLength; UInt8 bDescriptorType; UInt16 bcdUSB; UInt8 bDeviceClass; UInt8 bDeviceSubClass; UInt8 bDeviceProtocol; UInt8 bMaxPacketSize0; UInt16 idVendor; UInt16 idProduct; UInt16 bcdDevice; UInt8 iManufacturer; UInt8 iProduct; UInt8 iSerialNumber; UInt8 bNumConfigurations; };

    Обсуждение

    Дескриптор для USB-устройства. Посмотрите спецификацию USB в http://www .usb.org.

  • Объявление

    Objective C

    struct IOUSBDeviceQualifierDescriptor { UInt8 bLength; UInt8 bDescriptorType; UInt16 bcdUSB; UInt8 bDeviceClass; UInt8 bDeviceSubClass; UInt8 bDeviceProtocol; UInt8 bMaxPacketSize0; UInt8 bNumConfigurations; UInt8 bReserved; };

    Обсуждение

    Дескриптор спецификатора USB-устройства. Посмотрите спецификацию USB в http://www .usb.org.

  • Объявление

    Objective C

    struct IOUSBDFUDescriptor { UInt8 bLength; UInt8 bDescriptorType; UInt8 bmAttributes; UInt16 wDetachTimeout; UInt16 wTransferSize; };

    Обсуждение

    Встроенное микропрограммное обеспечение USB-устройства обновляет дескриптор. Посмотрите, что встроенное микропрограммное обеспечение USB-устройства обновляет спецификацию в http://www .usb.org.

  • Объявление

    Objective C

    struct IOUSBEndpointDescriptor { UInt8 bLength; UInt8 bDescriptorType; UInt8 bEndpointAddress; UInt8 bmAttributes; UInt16 wMaxPacketSize; UInt8 bInterval; };

    Обсуждение

    Дескриптор для конечной точки USB. Посмотрите спецификацию USB в http://www .usb.org.

  • Объявление

    Objective C

    struct IOUSBHIDDescriptor { UInt8 descLen; UInt8 descType; UInt16 descVersNum; UInt8 hidCountryCode; UInt8 hidNumDescriptors; UInt8 hidDescriptorType; UInt8 hidDescriptorLengthLo; UInt8 hidDescriptorLengthHi; };

    Обсуждение

    USB Дескриптор HID. Посмотрите USB Спецификация HID в http://www .usb.org. (Эта структура должна была использовать пакет #pragma (1) директива компилятора для получения выравнивания байта.

  • Объявление

    Objective C

    struct IOUSBHIDReportDesc { UInt8 hidDescriptorType; UInt8 hidDescriptorLengthLo; UInt8 hidDescriptorLengthHi; };

    Обсуждение

    USB заголовок Дескриптора Отчета HID. Посмотрите USB Спецификация HID в http://www .usb.org. (Эта структура должна была использовать пакет #pragma (1) директива компилятора для получения выравнивания байта.

  • Объявление

    Objective C

    struct IOUSBInterfaceAssociationDescriptor { UInt8 bLength; UInt8 bDescriptorType; UInt8 bFirstInterface; UInt8 bInterfaceCount; UInt8 bFunctionClass; UInt8 bFunctionSubClass; UInt8 bFunctionProtocol; UInt8 iFunction; };

    Обсуждение

    USB дескриптор ассоциации Inerface. ECN к спецификации USB 2.0. Посмотрите спецификацию USB в http://www .usb.org.

  • Объявление

    Objective C

    struct IOUSBInterfaceDescriptor { UInt8 bLength; UInt8 bDescriptorType; UInt8 bInterfaceNumber; UInt8 bAlternateSetting; UInt8 bNumEndpoints; UInt8 bInterfaceClass; UInt8 bInterfaceSubClass; UInt8 bInterfaceProtocol; UInt8 iInterface; };

    Обсуждение

    Дескриптор для интерфейса USB. Посмотрите спецификацию USB в http://www .usb.org.

  • Объявление

    Objective C

    struct IOUSBLowLatencyIsocFrame { IOReturn frStatus; UInt16 frReqCount; UInt16 frActCount; AbsoluteTime frTimeStamp; };

    Поля

    frStatus

    Состояние возвратов связалось с кадром.

    frReqCount

    Ввод specifiying, сколько байтов, чтобы читать или записать.

    frActCount

    Фактический # байтов передается.

    frTimeStamp

    Метка времени, указывающая время, когда был обработан кадр.

    Обсуждение

    Структура раньше кодировала информацию о каждом кадре isoc, обрабатывающемся во время аппаратного прерывания (низкая задержка).

  • Объявление

    Objective C

    struct IOUSBSuperSpeedEndpointCompanionDescriptor { UInt8 bLength; UInt8 bDescriptorType; UInt8 bMaxBurst; UInt8 bmAttributes; UInt16 wBytesPerInterval; };

    Обсуждение

    Дескриптор для конечной точки SuperSpeed USB Cpmpanion. Посмотрите спецификацию USB в http://www .usb.org.

Константы

См. Обзор для документации уровня заголовка.

  • Открытые интерфейсы к реализации USB в OS X.

    Объявление

    Objective C

    #define HostToUSBLong OSSwapHostToLittleInt32 #define HostToUSBWord OSSwapHostToLittleInt16 #define USBToHostLong OSSwapLittleToHostInt32 #define USBToHostWord OSSwapLittleToHostInt16

    Константы

    • HostToUSBLong

      HostToUSBLong

      USB API's использует соглашение указания параметров в порядке узла. Спецификация USB указывает, что многобайтовые элементы должны быть отформатированы в порядке с прямым порядком байтов. Следующие макросы позволяют, для перевода многобайтовых значений из Узла упорядочивает к порядку USB и наоборот. Существуют отдельные макросы для использования в ядре и для использования пространства пользователя.

      Доступный в OS X v10.0 и позже.

    • HostToUSBWord

      HostToUSBWord

      USB API's использует соглашение указания параметров в порядке узла. Спецификация USB указывает, что многобайтовые элементы должны быть отформатированы в порядке с прямым порядком байтов. Следующие макросы позволяют, для перевода многобайтовых значений из Узла упорядочивает к порядку USB и наоборот. Существуют отдельные макросы для использования в ядре и для использования пространства пользователя.

      Доступный в OS X v10.0 и позже.

    • USBToHostLong

      USBToHostLong

      USB API's использует соглашение указания параметров в порядке узла. Спецификация USB указывает, что многобайтовые элементы должны быть отформатированы в порядке с прямым порядком байтов. Следующие макросы позволяют, для перевода многобайтовых значений из Узла упорядочивает к порядку USB и наоборот. Существуют отдельные макросы для использования в ядре и для использования пространства пользователя.

      Доступный в OS X v10.0 и позже.

    • USBToHostWord

      USBToHostWord

      USB API's использует соглашение указания параметров в порядке узла. Спецификация USB указывает, что многобайтовые элементы должны быть отформатированы в порядке с прямым порядком байтов. Следующие макросы позволяют, для перевода многобайтовых значений из Узла упорядочивает к порядку USB и наоборот. Существуют отдельные макросы для использования в ядре и для использования пространства пользователя.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Этот заголовочный файл содержит определения и структуры, использующиеся в различном USB API's в OS X, и в ядре и в пространстве пользователя.

  • Объявление

    Objective C

    #define kIOUSBClearPipeStallNotRecursive // 0xe0004048 IOUSBPipe::ClearPipeStall should not be called recursively #define kIOUSBConfigNotFound // 0xe0004056 Configuration Not found #define kIOUSBDeviceCountExceeded // 0xe0004045 The device cannot be enumerated because the controller cannot support more devices #define kIOUSBDeviceNotHighSpeed // 0xe0004049 Name is deprecated, see below #define kIOUSBDevicePortWasNotSuspended // 0xe0004047 Port was not suspended #define kIOUSBDeviceTransferredToCompanion // 0xe0004049 The device has been tranferred to another controller for enumeration #define kIOUSBEndpointCountExceeded // 0xe0004046 The endpoint was not created because the controller cannot support more endpoints #define kIOUSBEndpointNotFound // 0xe0004057 Endpoint Not found #define kIOUSBHighSpeedSplitError // 0xe000404b Error to hub on high speed bus trying to do split transaction #define kIOUSBInterfaceNotFound // 0xe000404e Interface ref not recognized #define kIOUSBLowLatencyBufferNotPreviouslyAllocated // 0xe000404d Attempted to use user land low latency isoc calls w/out calling PrepareBuffer (on the data buffer) first #define kIOUSBLowLatencyFrameListNotPreviouslyAllocated // 0xe000404c Attempted to use user land low latency isoc calls w/out calling PrepareBuffer (on the frame list) first #define kIOUSBNoAsyncPortErr // 0xe000405f no async port #define kIOUSBNotEnoughPipesErr // 0xe000405e not enough pipes in interface #define kIOUSBNotEnoughPowerErr // 0xe000405d not enough power for selected configuration #define kIOUSBPipeStalled // 0xe000404f Pipe has stalled, error needs to be cleared #define kIOUSBStreamsNotSupported // 0xe0004044 The request cannot be completed because the XHCI controller does not support streams #define kIOUSBSyncRequestOnWLThread // 0xe000404a A synchronous USB request was made on the workloop thread (from a callback?). Only async requests are permitted in that case #define kIOUSBTooManyPipesErr // 0xe0004060 Too many pipes #define kIOUSBTransactionReturned // 0xe0004050 The transaction has been returned to the caller #define kIOUSBTransactionTimeout // 0xe0004051 Transaction timed out #define kIOUSBUnknownPipeErr // 0xe0004061 Pipe ref not recognized

    Константы

    • kIOUSBClearPipeStallNotRecursive

      kIOUSBClearPipeStallNotRecursive

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.7 и позже.

    • kIOUSBConfigNotFound

      kIOUSBConfigNotFound

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.0 и позже.

    • kIOUSBDeviceCountExceeded

      kIOUSBDeviceCountExceeded

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.7 и позже.

    • kIOUSBDeviceNotHighSpeed

      kIOUSBDeviceNotHighSpeed

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.4 и позже.

    • kIOUSBDevicePortWasNotSuspended

      kIOUSBDevicePortWasNotSuspended

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.6 и позже.

    • kIOUSBDeviceTransferredToCompanion

      kIOUSBDeviceTransferredToCompanion

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.7 и позже.

    • kIOUSBEndpointCountExceeded

      kIOUSBEndpointCountExceeded

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.7 и позже.

    • kIOUSBEndpointNotFound

      kIOUSBEndpointNotFound

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.0 и позже.

    • kIOUSBHighSpeedSplitError

      kIOUSBHighSpeedSplitError

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.3 и позже.

    • kIOUSBInterfaceNotFound

      kIOUSBInterfaceNotFound

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.0 и позже.

    • kIOUSBLowLatencyBufferNotPreviouslyAllocated

      kIOUSBLowLatencyBufferNotPreviouslyAllocated

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.2 и позже.

    • kIOUSBLowLatencyFrameListNotPreviouslyAllocated

      kIOUSBLowLatencyFrameListNotPreviouslyAllocated

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.2 и позже.

    • kIOUSBNoAsyncPortErr

      kIOUSBNoAsyncPortErr

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.0 и позже.

    • kIOUSBNotEnoughPipesErr

      kIOUSBNotEnoughPipesErr

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.0 и позже.

    • kIOUSBNotEnoughPowerErr

      kIOUSBNotEnoughPowerErr

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.0 и позже.

    • kIOUSBPipeStalled

      kIOUSBPipeStalled

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.0 и позже.

    • kIOUSBStreamsNotSupported

      kIOUSBStreamsNotSupported

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.7 и позже.

    • kIOUSBSyncRequestOnWLThread

      kIOUSBSyncRequestOnWLThread

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.3 и позже.

    • kIOUSBTooManyPipesErr

      kIOUSBTooManyPipesErr

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.0 и позже.

    • kIOUSBTransactionReturned

      kIOUSBTransactionReturned

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.1 и позже.

    • kIOUSBTransactionTimeout

      kIOUSBTransactionTimeout

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.1 и позже.

    • kIOUSBUnknownPipeErr

      kIOUSBUnknownPipeErr

      Ошибки, определенные для IOUSBFamily. Обратите внимание на то, что iokit_usb_err (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.0 и позже.

  • Объявление

    Objective C

    #define kIOUSBBitstufErr // 0xe0004002 Pipe stall, bitstuffing #define kIOUSBBufferOverrunErr // 0xe000400c Buffer Overrun (Host hardware failure on data out, PCI busy?) #define kIOUSBBufferUnderrunErr // 0xe000400d Buffer Underrun (Host hardware failure on data out, PCI busy?) #define kIOUSBCRCErr // 0xe0004001 Pipe stall, bad CRC #define kIOUSBDataToggleErr // 0xe0004003 Pipe stall, Bad data toggle #define kIOUSBLinkErr // 0xe0004010 #define kIOUSBNotSent1Err // 0xe000400e Transaction not sent #define kIOUSBNotSent2Err // 0xe000400f Transaction not sent #define kIOUSBPIDCheckErr // 0xe0004006 Pipe stall, PID CRC error #define kIOUSBReserved1Err // 0xe000400a Reserved #define kIOUSBReserved2Err // 0xe000400b Reserved #define kIOUSBWrongPIDErr // 0xe0004007 Pipe stall, Bad or wrong PID

    Константы

    • kIOUSBBitstufErr

      kIOUSBBitstufErr

      Эти ошибки возвращаются контроллером OHCI. # в круглой скобке (xx) соответствует Коду Завершения OHCI. Для следующих кодов Завершения мы возвращаем универсальную ошибку IOKit вместо USB определенная ошибка.

      • Completion Code Error Returned Description
      • 9 kIOReturnUnderrun (Data Underrun) EP returned less data than max packet size
      • 8 kIOReturnOverrun (Data Overrun) Packet too large or more data than buffer
      • 5 kIOReturnNotResponding Device Not responding
      • 4 kIOUSBPipeStalled Endpoint returned a STALL PID

      Доступный в OS X v10.1 и позже.

    • kIOUSBBufferOverrunErr

      kIOUSBBufferOverrunErr

      Эти ошибки возвращаются контроллером OHCI. # в круглой скобке (xx) соответствует Коду Завершения OHCI. Для следующих кодов Завершения мы возвращаем универсальную ошибку IOKit вместо USB определенная ошибка.

      • Completion Code Error Returned Description
      • 9 kIOReturnUnderrun (Data Underrun) EP returned less data than max packet size
      • 8 kIOReturnOverrun (Data Overrun) Packet too large or more data than buffer
      • 5 kIOReturnNotResponding Device Not responding
      • 4 kIOUSBPipeStalled Endpoint returned a STALL PID

      Доступный в OS X v10.1 и позже.

    • kIOUSBBufferUnderrunErr

      kIOUSBBufferUnderrunErr

      Эти ошибки возвращаются контроллером OHCI. # в круглой скобке (xx) соответствует Коду Завершения OHCI. Для следующих кодов Завершения мы возвращаем универсальную ошибку IOKit вместо USB определенная ошибка.

      • Completion Code Error Returned Description
      • 9 kIOReturnUnderrun (Data Underrun) EP returned less data than max packet size
      • 8 kIOReturnOverrun (Data Overrun) Packet too large or more data than buffer
      • 5 kIOReturnNotResponding Device Not responding
      • 4 kIOUSBPipeStalled Endpoint returned a STALL PID

      Доступный в OS X v10.1 и позже.

    • kIOUSBCRCErr

      kIOUSBCRCErr

      Эти ошибки возвращаются контроллером OHCI. # в круглой скобке (xx) соответствует Коду Завершения OHCI. Для следующих кодов Завершения мы возвращаем универсальную ошибку IOKit вместо USB определенная ошибка.

      • Completion Code Error Returned Description
      • 9 kIOReturnUnderrun (Data Underrun) EP returned less data than max packet size
      • 8 kIOReturnOverrun (Data Overrun) Packet too large or more data than buffer
      • 5 kIOReturnNotResponding Device Not responding
      • 4 kIOUSBPipeStalled Endpoint returned a STALL PID

      Доступный в OS X v10.1 и позже.

    • kIOUSBDataToggleErr

      kIOUSBDataToggleErr

      Эти ошибки возвращаются контроллером OHCI. # в круглой скобке (xx) соответствует Коду Завершения OHCI. Для следующих кодов Завершения мы возвращаем универсальную ошибку IOKit вместо USB определенная ошибка.

      • Completion Code Error Returned Description
      • 9 kIOReturnUnderrun (Data Underrun) EP returned less data than max packet size
      • 8 kIOReturnOverrun (Data Overrun) Packet too large or more data than buffer
      • 5 kIOReturnNotResponding Device Not responding
      • 4 kIOUSBPipeStalled Endpoint returned a STALL PID

      Доступный в OS X v10.1 и позже.

    • kIOUSBLinkErr

      kIOUSBLinkErr

      Эти ошибки возвращаются контроллером OHCI. # в круглой скобке (xx) соответствует Коду Завершения OHCI. Для следующих кодов Завершения мы возвращаем универсальную ошибку IOKit вместо USB определенная ошибка.

      • Completion Code Error Returned Description
      • 9 kIOReturnUnderrun (Data Underrun) EP returned less data than max packet size
      • 8 kIOReturnOverrun (Data Overrun) Packet too large or more data than buffer
      • 5 kIOReturnNotResponding Device Not responding
      • 4 kIOUSBPipeStalled Endpoint returned a STALL PID

      Доступный в OS X v10.1 и позже.

    • kIOUSBNotSent1Err

      kIOUSBNotSent1Err

      Эти ошибки возвращаются контроллером OHCI. # в круглой скобке (xx) соответствует Коду Завершения OHCI. Для следующих кодов Завершения мы возвращаем универсальную ошибку IOKit вместо USB определенная ошибка.

      • Completion Code Error Returned Description
      • 9 kIOReturnUnderrun (Data Underrun) EP returned less data than max packet size
      • 8 kIOReturnOverrun (Data Overrun) Packet too large or more data than buffer
      • 5 kIOReturnNotResponding Device Not responding
      • 4 kIOUSBPipeStalled Endpoint returned a STALL PID

      Доступный в OS X v10.1 и позже.

    • kIOUSBNotSent2Err

      kIOUSBNotSent2Err

      Эти ошибки возвращаются контроллером OHCI. # в круглой скобке (xx) соответствует Коду Завершения OHCI. Для следующих кодов Завершения мы возвращаем универсальную ошибку IOKit вместо USB определенная ошибка.

      • Completion Code Error Returned Description
      • 9 kIOReturnUnderrun (Data Underrun) EP returned less data than max packet size
      • 8 kIOReturnOverrun (Data Overrun) Packet too large or more data than buffer
      • 5 kIOReturnNotResponding Device Not responding
      • 4 kIOUSBPipeStalled Endpoint returned a STALL PID

      Доступный в OS X v10.1 и позже.

    • kIOUSBPIDCheckErr

      kIOUSBPIDCheckErr

      Эти ошибки возвращаются контроллером OHCI. # в круглой скобке (xx) соответствует Коду Завершения OHCI. Для следующих кодов Завершения мы возвращаем универсальную ошибку IOKit вместо USB определенная ошибка.

      • Completion Code Error Returned Description
      • 9 kIOReturnUnderrun (Data Underrun) EP returned less data than max packet size
      • 8 kIOReturnOverrun (Data Overrun) Packet too large or more data than buffer
      • 5 kIOReturnNotResponding Device Not responding
      • 4 kIOUSBPipeStalled Endpoint returned a STALL PID

      Доступный в OS X v10.1 и позже.

    • kIOUSBReserved1Err

      kIOUSBReserved1Err

      Эти ошибки возвращаются контроллером OHCI. # в круглой скобке (xx) соответствует Коду Завершения OHCI. Для следующих кодов Завершения мы возвращаем универсальную ошибку IOKit вместо USB определенная ошибка.

      • Completion Code Error Returned Description
      • 9 kIOReturnUnderrun (Data Underrun) EP returned less data than max packet size
      • 8 kIOReturnOverrun (Data Overrun) Packet too large or more data than buffer
      • 5 kIOReturnNotResponding Device Not responding
      • 4 kIOUSBPipeStalled Endpoint returned a STALL PID

      Доступный в OS X v10.1 и позже.

    • kIOUSBReserved2Err

      kIOUSBReserved2Err

      Эти ошибки возвращаются контроллером OHCI. # в круглой скобке (xx) соответствует Коду Завершения OHCI. Для следующих кодов Завершения мы возвращаем универсальную ошибку IOKit вместо USB определенная ошибка.

      • Completion Code Error Returned Description
      • 9 kIOReturnUnderrun (Data Underrun) EP returned less data than max packet size
      • 8 kIOReturnOverrun (Data Overrun) Packet too large or more data than buffer
      • 5 kIOReturnNotResponding Device Not responding
      • 4 kIOUSBPipeStalled Endpoint returned a STALL PID

      Доступный в OS X v10.1 и позже.

    • kIOUSBWrongPIDErr

      kIOUSBWrongPIDErr

      Эти ошибки возвращаются контроллером OHCI. # в круглой скобке (xx) соответствует Коду Завершения OHCI. Для следующих кодов Завершения мы возвращаем универсальную ошибку IOKit вместо USB определенная ошибка.

      • Completion Code Error Returned Description
      • 9 kIOReturnUnderrun (Data Underrun) EP returned less data than max packet size
      • 8 kIOReturnOverrun (Data Overrun) Packet too large or more data than buffer
      • 5 kIOReturnNotResponding Device Not responding
      • 4 kIOUSBPipeStalled Endpoint returned a STALL PID

      Доступный в OS X v10.1 и позже.

  • Объявление

    Objective C

    #define kIOUSBMessageCompositeDriverReconfigured // 0xe0004011 Message from the composite driver indicating that it has finished re-configuring the device after a reset #define kIOUSBMessageController // 0xe0004015 Generic message sent from controller user client to controllers #define kIOUSBMessageDeviceCountExceeded // 0xe000401a Message sent by a hub when a device cannot be enumerated because the USB controller ran out of resources #define kIOUSBMessageEndpointCountExceeded // 0xe0004019 Message sent to a device when endpoints cannot be created because the USB controller ran out of resources #define kIOUSBMessageExpressCardCantWake // 0xe0004010 Message from a driver to a bus that an express card will disconnect on sleep and thus shouldn't wake #define kIOUSBMessageFromThirdParty // 0xe000400e Message sent from a third party. Uses IOUSBThirdPartyParam to encode the sender's ID #define kIOUSBMessageHubIsDeviceConnected // 0xe0004004 Message sent to a hub to inquire whether a particular port has a device connected or not #define kIOUSBMessageHubIsPortEnabled // 0xe0004005 Message sent to a hub to inquire whether a particular port is enabled or not #define kIOUSBMessageHubPortClearTT // 0xe000400c Message sent to a hub to clear the transaction translator #define kIOUSBMessageHubPortDeviceDisconnected // 0xe000401b Message sent by a built-in hub when a device was disconnected #define kIOUSBMessageHubReEnumeratePort // 0xe0004006 Message sent to a hub to reenumerate the device attached to a particular port #define kIOUSBMessageHubResetPort // 0xe0004001 Message sent to a hub to reset a particular port #define kIOUSBMessageHubResumePort // 0xe0004003 Message sent to a hub to resume a particular port #define kIOUSBMessageHubSetPortRecoveryTime // 0xe0004012 Message sent to a hub to set the # of ms required when resuming a particular port #define kIOUSBMessageHubSuspendPort // 0xe0004002 Message sent to a hub to suspend a particular port #define kIOUSBMessageNotEnoughPower // 0xe0004014 Message sent to the clients of the device's hub parent, when a device causes an low power notice to be displayed. The message argument contains the locationID of the device #define kIOUSBMessageOvercurrentCondition // 0xe0004013 Message sent to the clients of the device's hub parent, when a device causes an overcurrent condition. The message argument contains the locationID of the device #define kIOUSBMessagePortHasBeenReset // 0xe000400a Message sent to a device indicating that the port it is attached to has been reset #define kIOUSBMessagePortHasBeenResumed // 0xe000400b Message sent to a device indicating that the port it is attached to has been resumed #define kIOUSBMessagePortHasBeenSuspended // 0xe000400d Message sent to a device indicating that the port it is attached to has been suspended #define kIOUSBMessagePortWasNotSuspended // 0xe000400f Message indicating that the hub driver received a resume request for a port that was not suspended #define kIOUSBMessageReallocateExtraCurrent // 0xe0004018 Message to ask any clients using extra current to attempt to allocate it some more #define kIOUSBMessageReleaseExtraCurrent // 0xe0004017 Message to ask any clients using extra current to release it if possible #define kIOUSBMessageRootHubWakeEvent // 0xe0004016 Message from the HC Wakeup code indicating that a Root Hub port has a wake event

    Константы

    • kIOUSBMessageCompositeDriverReconfigured

      kIOUSBMessageCompositeDriverReconfigured

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.4 и позже.

    • kIOUSBMessageController

      kIOUSBMessageController

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.7 и позже.

    • kIOUSBMessageDeviceCountExceeded

      kIOUSBMessageDeviceCountExceeded

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.7 и позже.

    • kIOUSBMessageEndpointCountExceeded

      kIOUSBMessageEndpointCountExceeded

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.7 и позже.

    • kIOUSBMessageExpressCardCantWake

      kIOUSBMessageExpressCardCantWake

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.4 и позже.

    • kIOUSBMessageFromThirdParty

      kIOUSBMessageFromThirdParty

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.3 и позже.

    • kIOUSBMessageHubIsDeviceConnected

      kIOUSBMessageHubIsDeviceConnected

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.1 и позже.

    • kIOUSBMessageHubIsPortEnabled

      kIOUSBMessageHubIsPortEnabled

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.1 и позже.

    • kIOUSBMessageHubPortClearTT

      kIOUSBMessageHubPortClearTT

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.3 и позже.

    • kIOUSBMessageHubPortDeviceDisconnected

      kIOUSBMessageHubPortDeviceDisconnected

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.7 и позже.

    • kIOUSBMessageHubReEnumeratePort

      kIOUSBMessageHubReEnumeratePort

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.1 и позже.

    • kIOUSBMessageHubResetPort

      kIOUSBMessageHubResetPort

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.1 и позже.

    • kIOUSBMessageHubResumePort

      kIOUSBMessageHubResumePort

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.1 и позже.

    • kIOUSBMessageHubSetPortRecoveryTime

      kIOUSBMessageHubSetPortRecoveryTime

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.5 и позже.

    • kIOUSBMessageHubSuspendPort

      kIOUSBMessageHubSuspendPort

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.1 и позже.

    • kIOUSBMessageNotEnoughPower

      kIOUSBMessageNotEnoughPower

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.6 и позже.

    • kIOUSBMessageOvercurrentCondition

      kIOUSBMessageOvercurrentCondition

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.6 и позже.

    • kIOUSBMessagePortHasBeenReset

      kIOUSBMessagePortHasBeenReset

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.1 и позже.

    • kIOUSBMessagePortHasBeenResumed

      kIOUSBMessagePortHasBeenResumed

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.1 и позже.

    • kIOUSBMessagePortHasBeenSuspended

      kIOUSBMessagePortHasBeenSuspended

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.3 и позже.

    • kIOUSBMessagePortWasNotSuspended

      kIOUSBMessagePortWasNotSuspended

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.4 и позже.

    • kIOUSBMessageReallocateExtraCurrent

      kIOUSBMessageReallocateExtraCurrent

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.7 и позже.

    • kIOUSBMessageReleaseExtraCurrent

      kIOUSBMessageReleaseExtraCurrent

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.7 и позже.

    • kIOUSBMessageRootHubWakeEvent

      kIOUSBMessageRootHubWakeEvent

      Обменивается сообщениями определенный для IOUSBFamily. Обратите внимание на то, что iokit_usb_msg (x) переводит в 0xe0004xxx, где xxx является значением в круглой скобке как шестнадцатеричное число.

      Доступный в OS X v10.7 и позже.

  • Объявление

    Objective C

    #define kConfigurationDescriptorOverride "ConfigurationDescriptorOverride" #define kOverrideIfAtLocationID "OverrideIfAtLocationID" #define kUSBControllerNeedsContiguousMemoryForIsoch "Need contiguous memory for isoch" #define kUSBDevicePropertyAddress "USB Address" #define kUSBDevicePropertyBusPowerAvailable "Bus Power Available" #define kUSBDevicePropertyLocationID "locationID" #define kUSBDevicePropertySpeed "Device Speed" #define kUSBDeviceResumeRecoveryTime "kUSBDeviceResumeRecoveryTime" #define kUSBExpressCardCantWake "ExpressCardCantWake" #define kUSBHubDontAllowLowPower "kUSBHubDontAllowLowPower" #define kUSBOutOfSpecMPSOK "Out of spec MPS OK" #define kUSBPreferredConfiguration "Preferred Configuration" #define kUSBProductIDMask "idProductMask" #define kUSBProductIdsArrayName "idProductArray" #define kUSBSuspendPort "kSuspendPort"

    Константы

    • kConfigurationDescriptorOverride

      kConfigurationDescriptorOverride

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.7 и позже.

    • kOverrideIfAtLocationID

      kOverrideIfAtLocationID

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.7 и позже.

    • kUSBControllerNeedsContiguousMemoryForIsoch

      kUSBControllerNeedsContiguousMemoryForIsoch

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.4 и позже.

    • kUSBDevicePropertyAddress

      kUSBDevicePropertyAddress

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.0 и позже.

    • kUSBDevicePropertyBusPowerAvailable

      kUSBDevicePropertyBusPowerAvailable

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.0 и позже.

    • kUSBDevicePropertyLocationID

      kUSBDevicePropertyLocationID

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.0 и позже.

    • kUSBDevicePropertySpeed

      kUSBDevicePropertySpeed

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.0 и позже.

    • kUSBDeviceResumeRecoveryTime

      kUSBDeviceResumeRecoveryTime

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.5 и позже.

    • kUSBExpressCardCantWake

      kUSBExpressCardCantWake

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.4 и позже.

    • kUSBHubDontAllowLowPower

      kUSBHubDontAllowLowPower

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.5 и позже.

    • kUSBOutOfSpecMPSOK

      kUSBOutOfSpecMPSOK

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.6 и позже.

    • kUSBPreferredConfiguration

      kUSBPreferredConfiguration

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.4 и позже.

    • kUSBProductIDMask

      kUSBProductIDMask

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.4 и позже.

    • kUSBProductIdsArrayName

      kUSBProductIdsArrayName

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.7 и позже.

    • kUSBSuspendPort

      kUSBSuspendPort

      Полезное свойство называет на земле USB.

      Доступный в OS X v10.4 и позже.

  • Объявление

    Objective C

    #define kCallInterfaceOpenWithGate "kCallInterfaceOpenWithGate"

    Константы

    • kCallInterfaceOpenWithGate

      kCallInterfaceOpenWithGate

      Если USB-устройство будет иметь это свойство, то драйверам для любого из его интерфейсов вызовут их handleOpen метод при содержании логического элемента workloop.

      Доступный в OS X v10.3 и позже.

  • Объявление

    Objective C

    enum { kUSBRqDirnShift = 7, kUSBRqDirnMask = 1, kUSBRqTypeShift = 5, kUSBRqTypeMask = 3, kUSBRqRecipientMask = 0X1F };

    Обсуждение

    Они используются для создания макроса для кодирования bRequest, зарегистрированного Запроса Устройства

  • Объявление

    Objective C

    enum { kUSBDefaultControlNoDataTimeoutMS = 5000, kUSBDefaultControlCompletionTimeoutMS = 0 };

    Обсуждение

    значения по умолчанию, используемые для данных и тайм-аутов завершения.

  • Объявление

    Objective C

    enum { kIOUSBInterfaceOpenAlt = 0x00010000, kIOUSBInterfaceOpenAlternateInterfaceBit = 16, kUSBOptionBitOpenExclusivelyBit = 17, kIOUSBInterfaceOpenAlternateInterfaceMask = ( 1 << kIOUSBInterfaceOpenAlternateInterfaceBit ), kUSBOptionBitOpenExclusivelyMask = ( 1 << kUSBOptionBitOpenExclusivelyBit ) };

    Константы

    • kIOUSBInterfaceOpenAlt

      kIOUSBInterfaceOpenAlt

      Откройтесь альтернативный интерфейс указал при создании интерфейса.

      Доступный в OS X v10.6 и позже.

    • kUSBOptionBitOpenExclusivelyBit

      kUSBOptionBitOpenExclusivelyBit

      Используемый в открытом () 'луг IOUSBDevice или IOUSBInterface соответствующим пользовательским клиентом. Только у 1 пользовательского клиента может быть эксклюзивный доступ к тем объектам

      Доступный в OS X v10.8 и позже.

    Обсуждение

    Опции, используемые исключительно семьей USB при вызове вызывающий IOService APIs, такой как открытый () и близко ().

  • Объявление

    Objective C

    enum { kIOUSBFindInterfaceDontCare = 0xFFFF };

    Обсуждение

    Постоянный, который может использоваться для полей IOUSBFindInterfaceRequest, чтобы указать, что они не должны быть соответствующими.

  • Объявление

    Objective C

    enum { kIOUSBVendorIDAppleComputer = 0x05AC };

    Обсуждение

    Идентификатор поставщика USB для Apple Computer, Inc.

  • Объявление

    Objective C

    enum { kUSBMaxFSIsocEndpointReqCount = 1023, // max size (bytes ) of any one Isoc frame for 1 FS endpoint kUSBMaxHSIsocEndpointReqCount = 3072, // max size (bytes ) of any one Isoc frame for 1 HS endpoint kUSBMaxHSIsocFrameCount = 7168 // max size (bytes ) of all Isoc transfers in a HS frame };

    Обсуждение

    Максимальный размер в байтах допускал один Изохронный кадр

  • Объявление

    Objective C

    enum { kUSBFullSpeedMicrosecondsInFrame = 1000, kUSBHighSpeedMicrosecondsInFrame = 125 };

    Константы

    • kUSBFullSpeedMicrosecondsInFrame

      kUSBFullSpeedMicrosecondsInFrame

      Устройство присоединено к шине, работающей в полной скорости (1 мс / кадр).

      Доступный в OS X v10.2 и позже.

    • kUSBHighSpeedMicrosecondsInFrame

      kUSBHighSpeedMicrosecondsInFrame

      Устройство присоединено к шине, работающей в высокой скорости (125 микросекунд / кадр).

      Доступный в OS X v10.2 и позже.

    Обсуждение

    Возвращает число микросекунд в кадре USB.

  • Объявление

    Objective C

    enum { kUSBDeviceIDShift = 7, kUSBMaxDevices = 128, kUSBMaxDevice = kUSBMaxDevices-1, kUSBDeviceIDMask = 0x7f, kUSBPipeIDMask = 0xf, kUSBMaxPipes = 32, // In and Out pipes can have same pipe number. kUSBInterfaceIDShift = 8, kUSBMaxInterfaces = 1 << kUSBInterfaceIDShift, kUSBInterfaceIDMask = kUSBMaxInterfaces-1, kUSBEndPtShift = 7, kUSBDeviceMask = ( ( 1 << kUSBEndPtShift ) -1), kUSBNoPipeIdx = -1, // Constants for streams kUSBStream0 = 0, kUSBMaxStream = 65533, kUSBPRimeStream = 0xfffe, kUSBNoStream = 0xffff, kUSBAllStreams = 0xffffffff };

  • Объявление

    Objective C

    enum { kClearDeviceFeature = ( ( ( UInt16)kUSBRqClearFeature << 8) + ( ( UInt16) kUSBDevice + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBOut << kUSBRqDirnShift ))), kClearInterfaceFeature = ( ( ( UInt16)kUSBRqClearFeature << 8) + ( ( UInt16) kUSBInterface + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBOut << kUSBRqDirnShift ))), kClearEndpointFeature = ( ( ( UInt16)kUSBRqClearFeature << 8) + ( ( UInt16) kUSBEndpoint + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBOut << kUSBRqDirnShift ))), kGetConfiguration = ( ( ( UInt16)kUSBRqGetConfig << 8) + ( ( UInt16) kUSBDevice + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBIn << kUSBRqDirnShift ))), kGetDescriptor = ( ( ( UInt16)kUSBRqGetDescriptor << 8) + ( ( UInt16) kUSBDevice + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBIn << kUSBRqDirnShift ))), kGetInterface = ( ( ( UInt16)kUSBRqGetInterface << 8) + ( ( UInt16) kUSBInterface + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBIn << kUSBRqDirnShift ))), kGetDeviceStatus = ( ( ( UInt16)kUSBRqGetStatus << 8) + ( ( UInt16) kUSBDevice + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBIn << kUSBRqDirnShift ))), kGetInterfaceStatus = ( ( ( UInt16)kUSBRqGetStatus << 8) + ( ( UInt16) kUSBInterface + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBIn << kUSBRqDirnShift ))), kGetEndpointStatus = ( ( ( UInt16)kUSBRqGetStatus << 8) + ( ( UInt16) kUSBEndpoint + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBIn << kUSBRqDirnShift ))), kSetAddress = ( ( ( UInt16)kUSBRqSetAddress << 8) + ( ( UInt16) kUSBDevice + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBOut << kUSBRqDirnShift ))), kSetConfiguration = ( ( ( UInt16)kUSBRqSetConfig << 8) + ( ( UInt16) kUSBDevice + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBOut << kUSBRqDirnShift ))), kSetDescriptor = ( ( ( UInt16)kUSBRqSetDescriptor << 8) + ( ( UInt16) kUSBDevice + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBOut << kUSBRqDirnShift ))), kSetDeviceFeature = ( ( ( UInt16)kUSBRqSetFeature << 8) + ( ( UInt16) kUSBDevice + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBOut << kUSBRqDirnShift ))), kSetInterfaceFeature = ( ( ( UInt16)kUSBRqSetFeature << 8) + ( ( UInt16) kUSBInterface + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBOut << kUSBRqDirnShift ))), kSetEndpointFeature = ( ( ( UInt16)kUSBRqSetFeature << 8) + ( ( UInt16) kUSBEndpoint + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBOut << kUSBRqDirnShift ))), kSetInterface = ( ( ( UInt16)kUSBRqSetInterface << 8) + ( ( UInt16) kUSBInterface + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBOut << kUSBRqDirnShift ))), kSyncFrame = ( ( ( UInt16)kUSBRqSyncFrame << 8) + ( ( UInt16) kUSBEndpoint + ( ( UInt16) kUSBStandard << kUSBRqTypeShift ) + ( ( UInt16) kUSBIn << kUSBRqDirnShift ))), };

    Обсуждение

    Кодирование запросов стандартного устройства.

    • bmRequestType bRequest wValue wIndex wLength Data
    • 00000000B CLEAR_FEATURE Feature Zero Zero None (device)
    • 00000001B Feature Interface Zero None (Interface)
    • 00000010B Feature Endpoint Zero None (Endpoint)
    • 10000000B GET_CONFIGURATION Zero Zero One Configuration
    • 10000000B GET_DESCRIPTOR Type LangID Length Descriptor
    • 10000001B GET_INTERFACE Zero Interface One Alternate
    • 10000000B GET_STATUS Zero Zero Two status (device)
    • 10000001B Zero Interface Two status (Interface)
    • 10000010B Zero Endpoint Two status (Endpoint)
    • 00000000B SET_ADDRESS Address Zero Zero None
    • 00000000B SET_CONFIGURATION Configuration Zero Zero None
    • 00000000B SET_DESCRIPTOR Type LangID Length Descriptor
    • 00000000B SET_FEATURE Feature Zero Zero None (device)
    • 00000001B Feature Interface Zero None (Interface)
    • 00000010B Feature Endpoint Zero None (Endpoint)
    • 00000001B SET_INTERFACE Alternate Interface Zero None
    • 10000010B SYNCH_FRAME Zero Endpoint Two Frame Number

  • Объявление

    Objective C

    enum { kUSBDeviceSpeedLow = 0, kUSBDeviceSpeedFull = 1, kUSBDeviceSpeedHigh = 2, kUSBDeviceSpeedSuper = 3 };

    Константы

    • kUSBDeviceSpeedLow

      kUSBDeviceSpeedLow

      Устройство является низкоскоростным устройством.

      Доступный в OS X v10.0 и позже.

    • kUSBDeviceSpeedFull

      kUSBDeviceSpeedFull

      Устройство является устройством полной скорости.

      Доступный в OS X v10.0 и позже.

    • kUSBDeviceSpeedHigh

      kUSBDeviceSpeedHigh

      Устройство является высокоскоростным устройством.

      Доступный в OS X v10.2 и позже.

    • kUSBDeviceSpeedSuper

      kUSBDeviceSpeedSuper

      Устройство является устройством SuperSpeed

      Доступный в OS X v10.7 и позже.

    Обсуждение

    Возвращает скорость определенного USB-устройства.