Ссылка USBSpec.h
Посмотрите раздел Overview выше для документации уровня заголовка.
-
Константы и определения параметров, использующихся в communcating с USB-устройствами и интерфейсами.
Объявление
Objective C
#define kUSB1284DeviceID "1284 Device ID" #define kUSBAlternateSetting "bAlternateSetting" #define kUSBConfigurationValue "bConfigurationValue" #define kUSBDeviceClass "bDeviceClass" #define kUSBDeviceMaxPacketSize "bMaxPacketSize0" #define kUSBDeviceNumConfigs "bNumConfigurations" #define kUSBDeviceProtocol "bDeviceProtocol" #define kUSBDeviceReleaseNumber "bcdDevice" #define kUSBDeviceSubClass "bDeviceSubClass" #define kUSBInterfaceClass "bInterfaceClass" #define kUSBInterfaceNumber "bInterfaceNumber" #define kUSBInterfaceProtocol "bInterfaceProtocol" #define kUSBInterfaceStringIndex "iInterface" #define kUSBInterfaceSubClass "bInterfaceSubClass" #define kUSBManufacturerStringIndex "iManufacturer" #define kUSBNumEndpoints "bNumEndpoints" #define kUSBProductID "idProduct" // good name #define kUSBProductName "idProduct" /* good name \ */ // bad name - keep for backward compatibility #define kUSBProductString "USB Product Name" #define kUSBProductStringIndex "iProduct" #define kUSBSerialNumberString "USB Serial Number" #define kUSBSerialNumberStringIndex "iSerialNumber" #define kUSBVendorID "idVendor" // good name #define kUSBVendorName "idVendor" /* good name \ */ // bad name - keep for backward compatibility #define kUSBVendorString "USB Vendor Name"
Константы
-
kUSB1284DeviceID
kUSB1284DeviceID
Ключ IORegistry для Устройства 1284 ID принтера
Доступный в OS X v10.6 и позже.
-
kUSBAlternateSetting
kUSBAlternateSetting
Поле в Дескрипторе Конфигурации USB, соответствующем числу конфигураций
Доступный в OS X v10.0 и позже.
-
kUSBConfigurationValue
kUSBConfigurationValue
Поле в Дескрипторе Интерфейса USB, соответствующем конфигурации
Доступный в OS X v10.0 и позже.
-
kUSBDeviceClass
kUSBDeviceClass
Поле в Дескрипторе USB-устройства, соответствующем классу устройства
Доступный в OS X v10.0 и позже.
-
kUSBDeviceMaxPacketSize
kUSBDeviceMaxPacketSize
Поле в Дескрипторе USB-устройства, соответствующем максимальному размеру пакета для конечной точки 0
Доступный в OS X v10.1 и позже.
-
kUSBDeviceNumConfigs
kUSBDeviceNumConfigs
Поле в Дескрипторе Конфигурации USB, соответствующем числу конфигураций
Доступный в OS X v10.0 и позже.
-
kUSBDeviceProtocol
kUSBDeviceProtocol
Поле в Дескрипторе USB-устройства, соответствующем протоколу устройства
Доступный в OS X v10.0 и позже.
-
kUSBDeviceReleaseNumber
kUSBDeviceReleaseNumber
Поле в Дескрипторе USB-устройства, соответствующем версии выпуска устройства
Доступный в OS X v10.0 и позже.
-
kUSBDeviceSubClass
kUSBDeviceSubClass
Поле в Дескрипторе USB-устройства, соответствующем устройству sub класс
Доступный в OS X v10.0 и позже.
-
kUSBInterfaceClass
kUSBInterfaceClass
Поле в Дескрипторе Интерфейса USB, соответствующем интерфейсному классу
Доступный в OS X v10.0 и позже.
-
kUSBInterfaceNumber
kUSBInterfaceNumber
Поле в Дескрипторе Конфигурации USB, соответствующем числу конфигураций
Доступный в OS X v10.0 и позже.
-
kUSBInterfaceProtocol
kUSBInterfaceProtocol
Поле в Дескрипторе Интерфейса USB, соответствующем интерфейсному протоколу
Доступный в OS X v10.0 и позже.
-
kUSBInterfaceStringIndex
kUSBInterfaceStringIndex
Поле в Дескрипторе Интерфейса USB, соответствующем индексу для строки имени интерфейса
Доступный в OS X v10.1 и позже.
-
kUSBInterfaceSubClass
kUSBInterfaceSubClass
Поле в Дескрипторе Интерфейса USB, соответствующем интерфейсу sub класс
Доступный в OS X v10.0 и позже.
-
kUSBManufacturerStringIndex
kUSBManufacturerStringIndex
Поле в Дескрипторе USB-устройства, соответствующем индексу для строки производителя
Доступный в OS X v10.1 и позже.
-
kUSBNumEndpoints
kUSBNumEndpoints
Поле в Дескрипторе Конфигурации USB, соответствующем числу конфигураций
Доступный в OS X v10.0 и позже.
-
kUSBProductID
kUSBProductID
Поле в Дескрипторе USB-устройства, соответствующем устройству Идентификатор продукта USB
Доступный в OS X v10.1 и позже.
-
kUSBProductName
kUSBProductName
Осуждаемый. Используйте kUSBProductID
Доступный в OS X v10.0 и позже.
-
kUSBProductString
kUSBProductString
Ключ IORegistry для строки продукта USB устройства
Доступный в OS X v10.6 и позже.
-
kUSBProductStringIndex
kUSBProductStringIndex
Поле в Дескрипторе USB-устройства, соответствующем индексу для строки названия продукта
Доступный в OS X v10.1 и позже.
-
kUSBSerialNumberString
kUSBSerialNumberString
Ключ IORegistry для строки порядкового номера USB устройства
Доступный в OS X v10.6 и позже.
-
kUSBSerialNumberStringIndex
kUSBSerialNumberStringIndex
Поле в Дескрипторе USB-устройства, соответствующем индексу для строки порядкового номера
Доступный в OS X v10.1 и позже.
-
kUSBVendorID
kUSBVendorID
Поле в Дескрипторе USB-устройства, соответствующем устройству Идентификатор поставщика USB
Доступный в OS X v10.1 и позже.
-
kUSBVendorName
kUSBVendorName
Осуждаемый. Используйте kUSBVendorID
Доступный в OS X v10.0 и позже.
-
kUSBVendorString
kUSBVendorString
Ключ IORegistry для строки производителя USB устройства
Доступный в OS X v10.6 и позже.
-
-
Объявление
Objective C
enum { kAppleVendorID = 0x05AC };
Обсуждение
Идентификатор поставщика Apple, присвоенный USB-IF
-
Объявление
Objective C
enum { kUSBDeviceCapabilityWirelessUSB = 1, kUSBDeviceCapabilityUSB20Extension = 2, kUSBDeviceCapabilitySuperSpeedUSB = 3, kUSBDeviceCapabilityContainerID = 4 };
Обсуждение
Используемый с декодированием дескриптора Функции устройств
-
Объявление
Objective C
enum { kUSBCompositeClass = 0, kUSBCommClass = 2, // Deprecated kUSBCommunicationClass = 2, kUSBHubClass = 9, kUSBDataClass = 10, kUSBPersonalHealthcareClass = 15, kUSBDiagnosticClass = 220, kUSBWirelessControllerClass = 224, kUSBMiscellaneousClass = 239, kUSBApplicationSpecificClass = 254, kUSBVendorSpecificClass = 255 };
Обсуждение
Константы для классов USB-устройства (bDeviceClass).
-
Объявление
Objective C
enum { kUSBRqGetStatus = 0, kUSBRqClearFeature = 1, kUSBRqGetState = 2, kUSBRqSetFeature = 3, kUSBRqReserved2 = 4, kUSBRqSetAddress = 5, kUSBRqGetDescriptor = 6, kUSBRqSetDescriptor = 7, kUSBRqGetConfig = 8, kUSBRqSetConfig = 9, kUSBRqGetInterface = 10, kUSBRqSetInterface = 11, kUSBRqSyncFrame = 12, kUSBSetSel = 48, kUSBSetIsochDelay = 49 };
Обсуждение
Указывает значения для bRequest поля Запроса Устройства.
-
Объявление
Objective C
enum { kUSBDevice = 0, kUSBInterface = 1, kUSBEndpoint = 2, kUSBOther = 3 };
Обсуждение
Этот получатель кодируется в bmRequestType поле Запроса Устройства. Это указывает тип получателя для запроса: устройство, интерфейс или конечная точка.
-
Объявление
Objective C
enum { kUSBStandard = 0, kUSBClass = 1, kUSBVendor = 2 };
Обсуждение
Этот тип кодируется в bmRequestType поле Запроса Устройства. Это указывает тип запроса: стандарт, класс или определенный поставщик.
-
Объявление
Objective C
enum { kUSBDFUAttributesMask = 0x07, kUSBDFUCanDownloadBit = 0, kUSBDFUCanUploadBit = 1, kUSBDFUManifestationTolerantBit = 2 };
-
Объявление
Objective C
enum { kUSBbEndpointAddressMask = 0x0f, kUSBbEndpointDirectionBit = 7, kUSBbEndpointDirectionMask = ( 1 << kUSBbEndpointDirectionBit ), kUSBEndpointDirectionOut = 0x00, kUSBEndpointDirectionIn = 0x80, kUSBEndpointbmAttributesTransferTypeMask = 0x03, kUSBEndpointbmAttributesSynchronizationTypeMask = 0x0c, kUSBEndpointbmAttributesSynchronizationTypeShift = 2, kUSBEndpointbmAttributesUsageTypeMask = 0x30, kUSBEndpointbmAttributesUsageTypeShift = 4, kUSBPeriodicInterruptUsageType = 0, kUSBNotificationInterruptUsageType = 1, kUSBNoSynchronizationIsocSyncType = 0, kUSBAsynchronousIsocSyncType = 1, kUSBAdaptiveIsocSyncType = 2, kUSBSynchronousIsocSyncType = 3, kUSBDataIsocUsageType = 0, kUSBFeedbackIsocUsageType = 1, kUSBImplicitFeedbackDataIsocUsageType = 2 };
Обсуждение
Разрядные определения для полей дескриптора конечной точки
-
Объявление
Objective C
enum { kUSBOut = 0, kUSBIn = 1, kUSBNone = 2, kUSBAnyDirn = 3 };
Обсуждение
Используемый в поле направления IOUSBFindEndpointRequest
-
Объявление
Objective C
enum { kUSBControl = 0, kUSBIsoc = 1, kUSBBulk = 2, kUSBInterrupt = 3, kUSBAnyType = 0xFF };
Обсуждение
Используемый в поле типа IOUSBFindEndpointRequest
-
Объявление
Objective C
enum { kUSBFeatureEndpointStall = 0, // Endpoint kUSBFeatureDeviceRemoteWakeup = 1, // Device kUSBFeatureTestMode = 2, // Device kUSBFeatureFunctionSuspend = 0, // Interface kUSBFeatureU1Enable = 48, // Device kUSBFeatureU2Enable = 49, // Device kUSBFeatureLTMEnable = 50 // Device };
Обсуждение
Используемый с запросами SET/CLEAR_FEATURE.
-
Объявление
Objective C
enum { kHIDBootProtocolValue = 0, kHIDReportProtocolValue = 1 };
Обсуждение
Используемый в запросе устройства SET_PROTOCOL
-
Объявление
Objective C
enum { kHIDRtInputReport = 1, kHIDRtOutputReport = 2, kHIDRtFeatureReport = 3 };
Обсуждение
Константы для трех видов отчетов HID.
-
Объявление
Objective C
enum { kHIDRqGetReport = 1, kHIDRqGetIdle = 2, kHIDRqGetProtocol = 3, kHIDRqSetReport = 9, kHIDRqSetIdle = 10, kHIDRqSetProtocol = 11 };
Обсуждение
Константы для запросов HID.
-
Объявление
Objective C
enum { kUSBAudioClass = 1, // Deprecated kUSBAudioInterfaceClass = 1, kUSBCommunicationControlInterfaceClass = 2, kUSBCommunicationDataInterfaceClass = 10, kUSBHIDClass = 3, kUSBHIDInterfaceClass = 3, kUSBPhysicalInterfaceClass = 5, kUSBImageInterfaceClass = 6, kUSBPrintingClass = 7, // Deprecated kUSBPrintingInterfaceClass = 7, kUSBMassStorageClass = 8, // Deprecated kUSBMassStorageInterfaceClass = 8, kUSBChipSmartCardInterfaceClass = 11, kUSBContentSecurityInterfaceClass = 13, kUSBVideoInterfaceClass = 14, kUSBPersonalHealthcareInterfaceClass = 15, kUSBDiagnosticDeviceInterfaceClass = 220, kUSBWirelessControllerInterfaceClass = 224, kUSBApplicationSpecificInterfaceClass = 254, kUSBVendorSpecificInterfaceClass = 255 };
Обсуждение
Константы для Интерфейсных классов (bInterfaceClass).
-
Объявление
Objective C
enum { // For kUSBHubClass kHubSuperSpeedProtocol = 3, // For kUSBHIDInterfaceClass // kHIDNoInterfaceProtocol = 0, kHIDKeyboardInterfaceProtocol = 1, kHIDMouseInterfaceProtocol = 2, kUSBVendorSpecificProtocol = 0xff, // For kUSBDiagnosticDeviceInterfaceClass // kUSB2ComplianceDeviceProtocol = 0x01, // For kUSBWirelessControllerInterfaceClass // kUSBBluetoothProgrammingInterfaceProtocol = 0x01, // For kUSBMiscellaneousClass // KUSBInterfaceAssociationDescriptorProtocol = 0x01, // For Mass Storage // kMSCProtocolControlBulkInterrupt = 0x00, kMSCProtocolControlBulk = 0x01, kMSCProtocolBulkOnly = 0x50, kMSCProtocolUSBAttachedSCSI = 0x62 };
Обсуждение
Сообщаемый в bInterfaceProtocol поле Интерфейсного Дескриптора.
-
Объявление
Objective C
enum { kUSBCompositeSubClass = 0, kUSBHubSubClass = 0, // For the kUSBAudioInterfaceClass // kUSBAudioControlSubClass = 0x01, kUSBAudioStreamingSubClass = 0x02, kUSBMIDIStreamingSubClass = 0x03, // For the kUSBApplicationSpecificInterfaceClass // kUSBDFUSubClass = 0x01, kUSBIrDABridgeSubClass = 0x02, kUSBTestMeasurementSubClass = 0x03, // For the kUSBMassStorageInterfaceClass // kUSBMassStorageRBCSubClass = 0x01, kUSBMassStorageATAPISubClass = 0x02, kUSBMassStorageQIC157SubClass = 0x03, kUSBMassStorageUFISubClass = 0x04, kUSBMassStorageSFF8070iSubClass = 0x05, kUSBMassStorageSCSISubClass = 0x06, // For the kUSBHIDInterfaceClass // kUSBHIDBootInterfaceSubClass = 0x01, // For the kUSBCommunicationDataInterfaceClass // kUSBCommDirectLineSubClass = 0x01, kUSBCommAbstractSubClass = 0x02, kUSBCommTelephoneSubClass = 0x03, kUSBCommMultiChannelSubClass = 0x04, kUSBCommCAPISubClass = 0x05, kUSBCommEthernetNetworkingSubClass = 0x06, kUSBATMNetworkingSubClass = 0x07, // For the kUSBDiagnosticDeviceInterfaceClass // kUSBReprogrammableDiagnosticSubClass = 0x01, // For the kUSBWirelessControllerInterfaceClass // kUSBRFControllerSubClass = 0x01, // For the kUSBMiscellaneousClass // kUSBCommonClassSubClass = 0x02, // For the kUSBVideoInterfaceClass // kUSBVideoControlSubClass = 0x01, kUSBVideoStreamingSubClass = 0x02, kUSBVideoInterfaceCollectionSubClass = 0x03 };
Обсуждение
Константы для USB соединяют интерфейсом с SubClasses (bInterfaceSubClass).
-
Объявление
Objective C
enum { kUSBFunctionRemoteWakeCapableBit = 0, // GET_STATUS kUSBFunctionRemoteWakeupBit = 1, // GET_STATUS kUSBLowPowerSuspendStateBit = 0, // SET_FEATURE (FUNCTION_SUSPEND ) kUSBFunctionRemoteWakeEnableBit = 1 // SET_FEATURE (FUNCTION_SUSPEND ) };
Обсуждение
биты и маски
-
Объявление
Objective C
enum { kUSPrintingClassGetDeviceID = 0, kUSPrintingClassGePortStatus = 1, kUSPrintingClassSoftReset = 2 };
Обсуждение
bRequest параметр для Печати Класса Запросы Sepcific
-
Объявление
Objective C
enum { kUSBAnyDesc = 0, // Wildcard for searches kUSBDeviceDesc = 1, kUSBConfDesc = 2, kUSBStringDesc = 3, kUSBInterfaceDesc = 4, kUSBEndpointDesc = 5, kUSBDeviceQualifierDesc = 6, kUSBOtherSpeedConfDesc = 7, kUSBInterfacePowerDesc = 8, kUSBOnTheGoDesc = 9, kUSDebugDesc = 10, kUSBInterfaceAssociationDesc = 11, kUSBBOSDescriptor = 15, kUSBDeviceCapability = 16, kUSBSuperSpeedEndpointCompanion = 48, kUSB3HUBDesc = 0x2A, kUSBHIDDesc = 0x21, kUSBReportDesc = 0x22, kUSBPhysicalDesc = 0x23, kUSBHUBDesc = 0x29, };
Обсуждение
Указывает значения для diffent типов дескриптора.
-
Объявление
Objective C
enum { kUSB20ExtensionLPMSupported = 1, // Bit 1 of bmAttributes of USB 2.0 Extension Device Capability kUSBSuperSpeedLTMCapable = 1, // Bit 1 of bmAttributes of SuperSpeed USB Device Capability kUSBSuperSpeedSupportsLS = 0, // Value of wSpeedSupported indicating that the device supports low speed kUSBSuperSpeedSupportsFS = 1, // Value of wSpeedSupported indicating that the device supports full speed kUSBSuperSpeedSupportsHS = 2, // Value of wSpeedSupported indicating that the device supports high speed kUSBSuperSpeedSupportsSS = 3, // Value of wSpeedSupported indicating that the device supports 5 Gbps };
Обсуждение
Разрядные определения и константы для различных значений типов Возможности USB-устройства
-
Объявление
Objective C
enum { kUSB100mAAvailable = 50, kUSB500mAAvailable = 250, kUSB100mA = 50, kUSBAtrBusPowered = 0x80, kUSBAtrSelfPowered = 0x40, kUSBAtrRemoteWakeup = 0x20, kUSB2MaxPowerPerPort = kUSB500mAAvailable * 2, kUSB150mAAvailable = 75, kUSB900mAAvailable = 450, kUSB150mA = 75, kUSB3MaxPowerPerPort = kUSB900mAAvailable * 2 };
Обсуждение
Константы, касающиеся Питания USB.
-
Объявление
Objective C
enum { kUSBRel10 = 0x0100, kUSBRel11 = 0x0110, kUSBRel20 = 0x0200, kUSBRel30 = 0x0300 };
Обсуждение
Константы, касающиеся USB, выпускают, как найдено в bcdUSB поле Дескриптора Устройства.