Ссылка пространства пользователя 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"
Константы
-
Объявление
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-устройства.
-