Annotation of XNU/iokit/IOKit/usb/USBSpec.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * The contents of this file constitute Original Code as defined in and
                      7:  * are subject to the Apple Public Source License Version 1.1 (the
                      8:  * "License").  You may not use this file except in compliance with the
                      9:  * License.  Please obtain a copy of the License at
                     10:  * http://www.apple.com/publicsource and read it before using this file.
                     11:  * 
                     12:  * This Original Code and all software distributed under the License are
                     13:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     14:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     15:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     16:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     17:  * License for the specific language governing rights and limitations
                     18:  * under the License.
                     19:  * 
                     20:  * @APPLE_LICENSE_HEADER_END@
                     21:  */
                     22: /*
                     23:  * Constants that both OS8 and OSX want to define, and whose values are
                     24:  * specified by the USB Standard.
                     25:  * Put in a seperate file so they can be included if the OS8 include file isn't already
                     26:  * included.
                     27: */
                     28: #ifndef _USBSPEC_H
                     29: #define _USBSPEC_H
                     30: 
                     31: #ifdef __cplusplus
                     32: extern "C" {
                     33: #endif
                     34: 
                     35: enum {
                     36:        kUSBControl             = 0,
                     37:        kUSBIsoc                = 1,
                     38:        kUSBBulk                = 2,
                     39:        kUSBInterrupt           = 3,
                     40:        kUSBAnyType             = 0xFF
                     41: };
                     42: 
                     43: /* endpoint type */
                     44: 
                     45: enum {
                     46:        kUSBOut                 = 0,
                     47:        kUSBIn                  = 1,
                     48:        kUSBNone                = 2,
                     49:        kUSBAnyDirn             = 3
                     50: };
                     51: 
                     52: /*USBDirection*/
                     53: 
                     54: enum {
                     55:        kUSBStandard            = 0,
                     56:        kUSBClass               = 1,
                     57:        kUSBVendor              = 2
                     58: };
                     59: 
                     60: /*USBRqType*/
                     61: 
                     62: enum {
                     63:        kUSBDevice              = 0,
                     64:        kUSBInterface           = 1,
                     65:        kUSBEndpoint            = 2,
                     66:        kUSBOther               = 3
                     67: };
                     68: 
                     69: /*USBRqRecipient*/
                     70: 
                     71: enum {
                     72:        kUSBRqGetStatus         = 0,
                     73:        kUSBRqClearFeature      = 1,
                     74:        kUSBRqGetState          = 2,
                     75:        kUSBRqSetFeature        = 3,
                     76:        kUSBRqReserved2         = 4,
                     77:        kUSBRqSetAddress        = 5,
                     78:        kUSBRqGetDescriptor     = 6,
                     79:        kUSBRqSetDescriptor     = 7,
                     80:        kUSBRqGetConfig         = 8,
                     81:        kUSBRqSetConfig         = 9,
                     82:        kUSBRqGetInterface      = 10,
                     83:        kUSBRqSetInterface      = 11,
                     84:        kUSBRqSyncFrame         = 12
                     85: };
                     86: 
                     87: /*USBRequest*/
                     88: 
                     89: 
                     90: enum {
                     91:         kUSBAnyDesc            = 0,    // Wildcard for searches
                     92:        kUSBDeviceDesc          = 1,
                     93:        kUSBConfDesc            = 2,
                     94:        kUSBStringDesc          = 3,
                     95:        kUSBInterfaceDesc       = 4,
                     96:        kUSBEndpointDesc        = 5,
                     97:        kUSBHIDDesc             = 0x21,
                     98:        kUSBReportDesc          = 0x22,
                     99:        kUSBPhysicalDesc        = 0x23,
                    100:        kUSBHUBDesc             = 0x29
                    101: };
                    102: 
                    103: /* descriptorType */
                    104: 
                    105: enum {
                    106:        kUSB100mAAvailable      = 50,
                    107:        kUSB500mAAvailable      = 250,
                    108:        kUSB100mA               = 50,
                    109:        kUSBAtrBusPowered       = 0x80,
                    110:        kUSBAtrSelfPowered      = 0x40,
                    111:        kUSBAtrRemoteWakeup     = 0x20
                    112: };
                    113: 
                    114: 
                    115: enum {
                    116:        kUSBRel10               = 0x0100
                    117: };
                    118: 
                    119: 
                    120: enum {
                    121:     kHIDRqGetReport            = 1,
                    122:     kHIDRqGetIdle              = 2,
                    123:     kHIDRqGetProtocol          = 3,
                    124:     kHIDRqSetReport            = 9,
                    125:     kHIDRqSetIdle              = 10,
                    126:     kHIDRqSetProtocol          = 11
                    127: };
                    128: 
                    129: 
                    130: enum {
                    131:     kHIDRtInputReport          = 1,
                    132:     kHIDRtOutputReport         = 2,
                    133:     kHIDRtFeatureReport                = 3
                    134: };
                    135: 
                    136: 
                    137: enum {
                    138:     kHIDBootProtocolValue      = 0,
                    139:     kHIDReportProtocolValue    = 1
                    140: };
                    141: 
                    142: 
                    143: enum {
                    144:     kHIDKeyboardInterfaceProtocol = 1,
                    145:     kHIDMouseInterfaceProtocol = 2
                    146: };
                    147: 
                    148: 
                    149: enum {
                    150:     kUSBCapsLockKey            = 0x39,
                    151:     kUSBNumLockKey             = 0x53,
                    152:     kUSBScrollLockKey          = 0x47
                    153: };
                    154: 
                    155: enum {
                    156:     kUSBCompositeClass          = 0,
                    157:     kUSBAudioClass              = 1,
                    158:     kUSBCommClass               = 2,
                    159:     kUSBHIDClass                = 3,
                    160:     kUSBDisplayClass            = 4,
                    161:     kUSBPrintingClass           = 7,
                    162:     kUSBMassStorageClass        = 8,
                    163:     kUSBHubClass                = 9,
                    164:     kUSBDataClass               = 10,
                    165:     kUSBVendorSpecificClass     = 0xFF
                    166: };
                    167: 
                    168: /* deviceClass */
                    169: 
                    170: enum {
                    171:     kUSBCompositeSubClass       = 0,
                    172:     kUSBHubSubClass             = 1,
                    173:     kUSBRootHubSubClass                = 2
                    174: };
                    175: 
                    176: /* deviceSubClass */
                    177: 
                    178: #ifdef __cplusplus
                    179: }       
                    180: #endif
                    181: 
                    182: #endif /* _USBSPEC_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.