Root/
Source at commit 1164 created 13 years 12 days ago. By azimutz, Add some pauses to nvidia.c and ati.c to help user feedback collection. | |
---|---|
1 | /*␊ |
2 | ␉File:␉␉BluetoothAssignedNumbers.h␊ |
3 | ␉Copyright:␉(c) 2002-2008 by Apple Computer, Inc. All rights reserved.␊ |
4 | */␊ |
5 | ␊ |
6 | #pragma once␊ |
7 | ␊ |
8 | #ifdef␉__cplusplus␊ |
9 | ␉extern "C" {␊ |
10 | #endif␊ |
11 | ␊ |
12 | #if BLUETOOTH_VERSION_MAX_ALLOWED >= BLUETOOTH_VERSION_2_0␊ |
13 | ␊ |
14 | #pragma mark -␊ |
15 | #pragma mark === General ===␊ |
16 | ␊ |
17 | enum BluetoothCompanyIdentifers␊ |
18 | {␊ |
19 | ␉kBluetoothCompanyIdentiferEricssonTechnologyLicensing␉␉␉␉␉␉=␉0,␊ |
20 | ␉kBluetoothCompanyIdentiferNokiaMobilePhones␉␉␉␉␉␉␉␉␉=␉1,␊ |
21 | ␉kBluetoothCompanyIdentiferIntel␉␉␉␉␉␉␉␉␉␉␉␉=␉2,␊ |
22 | ␉kBluetoothCompanyIdentiferIBM␉␉␉␉␉␉␉␉␉␉␉␉=␉3,␊ |
23 | ␉kBluetoothCompanyIdentiferToshiba␉␉␉␉␉␉␉␉␉␉␉=␉4,␊ |
24 | ␉kBluetoothCompanyIdentifer3Com␉␉␉␉␉␉␉␉␉␉␉␉=␉5,␊ |
25 | ␉kBluetoothCompanyIdentiferMicrosoft␉␉␉␉␉␉␉␉␉␉␉=␉6,␊ |
26 | ␉kBluetoothCompanyIdentiferLucent␉␉␉␉␉␉␉␉␉␉␉=␉7,␊ |
27 | ␉kBluetoothCompanyIdentiferMotorola␉␉␉␉␉␉␉␉␉␉␉=␉8,␊ |
28 | ␉kBluetoothCompanyIdentiferInfineonTechnologiesAG␉␉␉␉␉␉␉=␉9,␊ |
29 | ␉kBluetoothCompanyIdentiferCambridgeSiliconRadio␉␉␉␉␉␉␉␉=␉10,␊ |
30 | ␉kBluetoothCompanyIdentiferSiliconWave␉␉␉␉␉␉␉␉␉␉=␉11,␊ |
31 | ␉kBluetoothCompanyIdentiferDigianswerAS␉␉␉␉␉␉␉␉␉␉=␉12,␊ |
32 | ␉kBluetoothCompanyIdentiferTexasInstruments␉␉␉␉␉␉␉␉␉=␉13,␊ |
33 | ␉kBluetoothCompanyIdentiferParthusTechnologies␉␉␉␉␉␉␉␉=␉14,␊ |
34 | ␉kBluetoothCompanyIdentiferBroadcom␉␉␉␉␉␉␉␉␉␉␉=␉15,␊ |
35 | ␉kBluetoothCompanyIdentiferMitelSemiconductor␉␉␉␉␉␉␉␉=␉16,␊ |
36 | ␉kBluetoothCompanyIdentiferWidcomm␉␉␉␉␉␉␉␉␉␉␉=␉17,␊ |
37 | ␉kBluetoothCompanyIdentiferZeevo␉␉␉␉␉␉␉␉␉␉␉␉=␉18,␊ |
38 | ␉kBluetoothCompanyIdentiferAtmel␉␉␉␉␉␉␉␉␉␉␉␉=␉19,␊ |
39 | ␉kBluetoothCompanyIdentiferMistubishiElectric␉␉␉␉␉␉␉␉=␉20,␊ |
40 | ␉kBluetoothCompanyIdentiferRTXTelecom␉␉␉␉␉␉␉␉␉␉=␉21,␊ |
41 | ␉kBluetoothCompanyIdentiferKCTechnology␉␉␉␉␉␉␉␉␉␉=␉22,␊ |
42 | ␉kBluetoothCompanyIdentiferNewlogic␉␉␉␉␉␉␉␉␉␉␉=␉23,␊ |
43 | ␉kBluetoothCompanyIdentiferTransilica␉␉␉␉␉␉␉␉␉␉=␉24,␊ |
44 | ␉kBluetoothCompanyIdentiferRohdeandSchwarz␉␉␉␉␉␉␉␉␉=␉25,␊ |
45 | ␉kBluetoothCompanyIdentiferTTPCom␉␉␉␉␉␉␉␉␉␉␉=␉26,␊ |
46 | ␉kBluetoothCompanyIdentiferSigniaTechnologies␉␉␉␉␉␉␉␉=␉27,␊ |
47 | ␉kBluetoothCompanyIdentiferConexantSystems␉␉␉␉␉␉␉␉␉=␉28,␊ |
48 | ␉kBluetoothCompanyIdentiferQualcomm␉␉␉␉␉␉␉␉␉␉␉=␉29,␊ |
49 | ␉kBluetoothCompanyIdentiferInventel␉␉␉␉␉␉␉␉␉␉␉=␉30,␊ |
50 | ␉kBluetoothCompanyIdentiferAVMBerlin␉␉␉␉␉␉␉␉␉␉␉=␉31,␊ |
51 | ␉kBluetoothCompanyIdentiferBandspeed␉␉␉␉␉␉␉␉␉␉␉=␉32,␊ |
52 | ␉kBluetoothCompanyIdentiferMansella␉␉␉␉␉␉␉␉␉␉␉=␉33,␊ |
53 | ␉kBluetoothCompanyIdentiferNEC␉␉␉␉␉␉␉␉␉␉␉␉=␉34,␊ |
54 | ␉kBluetoothCompanyIdentiferWavePlusTechnology␉␉␉␉␉␉␉␉=␉35,␊ |
55 | ␉kBluetoothCompanyIdentiferAlcatel␉␉␉␉␉␉␉␉␉␉␉=␉36,␊ |
56 | ␉kBluetoothCompanyIdentiferPhilipsSemiconductor␉␉␉␉␉␉␉␉=␉37,␊ |
57 | ␉kBluetoothCompanyIdentiferCTechnologies␉␉␉␉␉␉␉␉␉␉=␉38,␊ |
58 | ␉kBluetoothCompanyIdentiferOpenInterface␉␉␉␉␉␉␉␉␉␉=␉39,␊ |
59 | ␉kBluetoothCompanyIdentiferRFCMicroDevices␉␉␉␉␉␉␉␉␉=␉40,␊ |
60 | ␉kBluetoothCompanyIdentiferHitachi␉␉␉␉␉␉␉␉␉␉␉=␉41,␊ |
61 | ␉kBluetoothCompanyIdentiferSymbolTechnologies␉␉␉␉␉␉␉␉=␉42,␊ |
62 | ␉kBluetoothCompanyIdentiferTenovis␉␉␉␉␉␉␉␉␉␉␉=␉43,␊ |
63 | ␉kBluetoothCompanyIdentiferMacronixInternational␉␉␉␉␉␉␉␉=␉44,␊ |
64 | ␉kBluetoothCompanyIdentiferGCTSemiconductor␉␉␉␉␉␉␉␉␉=␉45,␊ |
65 | ␉kBluetoothCompanyIdentiferNorwoodSystems␉␉␉␉␉␉␉␉␉=␉46,␊ |
66 | ␉kBluetoothCompanyIdentiferMewTelTechnology␉␉␉␉␉␉␉␉␉=␉47,␊ |
67 | ␉kBluetoothCompanyIdentiferSTMicroelectronics␉␉␉␉␉␉␉␉=␉48,␊ |
68 | ␉kBluetoothCompanyIdentiferSynopsys␉␉␉␉␉␉␉␉␉␉␉=␉49,␊ |
69 | ␉kBluetoothCompanyIdentiferRedMCommunications␉␉␉␉␉␉␉␉=␉50,␊ |
70 | ␉kBluetoothCompanyIdentiferCommil␉␉␉␉␉␉␉␉␉␉␉=␉51,␊ |
71 | ␉kBluetoothCompanyIdentiferCATC␉␉␉␉␉␉␉␉␉␉␉␉=␉52,␊ |
72 | ␉kBluetoothCompanyIdentiferEclipse␉␉␉␉␉␉␉␉␉␉␉=␉53,␊ |
73 | ␉kBluetoothCompanyIdentiferRenesasTechnology␉␉␉␉␉␉␉␉␉=␉54,␊ |
74 | ␉kBluetoothCompanyIdentiferMobilian␉␉␉␉␉␉␉␉␉␉␉=␉55,␊ |
75 | ␉kBluetoothCompanyIdentiferTerax␉␉␉␉␉␉␉␉␉␉␉␉=␉56,␊ |
76 | ␉kBluetoothCompanyIdentiferIntegratedSystemSolution␉␉␉␉␉␉␉=␉57,␊ |
77 | ␉kBluetoothCompanyIdentiferMatsushitaElectricIndustrial␉␉␉␉␉␉=␉58,␊ |
78 | ␉kBluetoothCompanyIdentiferGennum␉␉␉␉␉␉␉␉␉␉␉=␉59,␊ |
79 | ␉kBluetoothCompanyIdentiferResearchInMotion␉␉␉␉␉␉␉␉␉=␉60,␊ |
80 | ␉kBluetoothCompanyIdentiferIPextreme␉␉␉␉␉␉␉␉␉␉␉=␉61,␊ |
81 | ␉kBluetoothCompanyIdentiferSystemsAndChips␉␉␉␉␉␉␉␉␉=␉62,␊ |
82 | ␉kBluetoothCompanyIdentiferBluetoothSIG␉␉␉␉␉␉␉␉␉␉=␉63,␊ |
83 | ␉kBluetoothCompanyIdentiferSeikoEpson␉␉␉␉␉␉␉␉␉␉=␉64,␊ |
84 | ␉kBluetoothCompanyIdentiferIntegratedSiliconSolution␉␉␉␉␉␉␉=␉65,␊ |
85 | ␉kBluetoothCompanyIdentiferCONWISETechnology␉␉␉␉␉␉␉␉␉=␉66,␊ |
86 | ␉kBluetoothCompanyIdentiferParrotSA␉␉␉␉␉␉␉␉␉␉␉=␉67,␊ |
87 | ␉kBluetoothCompanyIdentiferSocketCommunications␉␉␉␉␉␉␉␉=␉68,␊ |
88 | ␉kBluetoothCompanyIdentiferAtherosCommunications␉␉␉␉␉␉␉␉=␉69,␊ |
89 | ␉kBluetoothCompanyIdentiferMediaTek␉␉␉␉␉␉␉␉␉␉␉=␉70,␊ |
90 | ␉kBluetoothCompanyIdentiferBluegiga␉␉␉␉␉␉␉␉␉␉␉=␉71,␊ |
91 | ␉kBluetoothCompanyIdentiferMarvellTechnologyGroup␉␉␉␉␉␉␉=␉72,␊ |
92 | ␉kBluetoothCompanyIdentifer3DSP␉␉␉␉␉␉␉␉␉␉␉␉=␉73,␊ |
93 | ␉kBluetoothCompanyIdentiferAccelSemiconductor␉␉␉␉␉␉␉␉=␉74,␊ |
94 | ␉kBluetoothCompanyIdentiferContinentialAutomotiveSystems␉␉␉␉␉␉=␉75,␊ |
95 | ␉kBluetoothCompanyIdentiferApple␉␉␉␉␉␉␉␉␉␉␉␉=␉76,␊ |
96 | ␉kBluetoothCompanyIdentiferStaccatoCommunications␉␉␉␉␉␉␉=␉77,␊ |
97 | ␉kBluetoothCompanyIdentiferAvagoTechnologies␉␉␉␉␉␉␉␉␉=␉78,␊ |
98 | ␉kBluetoothCompanyIdentiferAPT␉␉␉␉␉␉␉␉␉␉␉␉=␉79,␊ |
99 | ␊ |
100 | ␉kBluetoothCompanyIdentiferInteropIdentifier␉␉␉␉␉␉␉␉␉=␉65535␊ |
101 | };␊ |
102 | ␊ |
103 | #endif /* BLUETOOTH_VERSION_MAX_ALLOWED >= BLUETOOTH_VERSION_2_0 */␊ |
104 | ␊ |
105 | #pragma mark -␊ |
106 | #pragma mark === Baseband ===␊ |
107 | ␊ |
108 | //==================================================================================================================␊ |
109 | //␉Baseband␊ |
110 | //==================================================================================================================␊ |
111 | ␊ |
112 | //␊ |
113 | // Service Class Major␊ |
114 | //␊ |
115 | ␊ |
116 | enum␊ |
117 | {␊ |
118 | ␉kBluetoothServiceClassMajorLimitedDiscoverableMode␉␉= 0x001,␉// Bit 13 - Limited Discoverable Mode␊ |
119 | ␉kBluetoothServiceClassMajorReserved1␉␉␉␉␉= 0x002, ␉// Bit 14 - Reserved for future use.␊ |
120 | ␉kBluetoothServiceClassMajorReserved2␉␉␉␉␉= 0x004, ␉// Bit 15 - Reserved for future use.␊ |
121 | ␉kBluetoothServiceClassMajorPositioning␉␉␉␉␉= 0x008, ␉// Bit 16 - Positioning (Location ID)␊ |
122 | ␉kBluetoothServiceClassMajorNetworking␉␉␉␉␉= 0x010, ␉// Bit 17 - LAN, Ad hoc, etc...␊ |
123 | ␉kBluetoothServiceClassMajorRendering␉␉␉␉␉= 0x020, ␉// Bit 18 - Printing, Speaker, etc...␊ |
124 | ␉kBluetoothServiceClassMajorCapturing␉␉␉␉␉= 0x040,␉// Bit 19 - Scanner, Microphone, etc...␊ |
125 | ␉kBluetoothServiceClassMajorObjectTransfer␉␉␉␉= 0x080,␉// Bit 20 - v-Inbox, v-Folder, etc...␊ |
126 | ␉kBluetoothServiceClassMajorAudio␉␉␉␉␉␉= 0x100,␉// Bit 21 - Speaker, Microphone, Headset, etc...␊ |
127 | ␉kBluetoothServiceClassMajorTelephony␉␉␉␉␉= 0x200,␉// Bit 22 - Cordless telephony, Modem, Headset, etc...␊ |
128 | ␉kBluetoothServiceClassMajorInformation␉␉␉␉␉= 0x400,␉// Bit 23 - Web server, WAP server, etc...␊ |
129 | ␉␊ |
130 | ␉kBluetoothServiceClassMajorAny␉␉␉␉␉␉␉= '****',␉// Pseudo-class - means anything acceptable.␊ |
131 | ␉kBluetoothServiceClassMajorNone␉␉␉␉␉␉␉= 'none',␉// Pseudo-class - means no matching.␊ |
132 | ␉␊ |
133 | ␉kBluetoothServiceClassMajorEnd␊ |
134 | };␊ |
135 | ␊ |
136 | //␊ |
137 | // Device Class Major␊ |
138 | //␊ |
139 | ␊ |
140 | enum␊ |
141 | {␊ |
142 | ␉kBluetoothDeviceClassMajorMiscellaneous␉␉␉␉␉= 0x00, ␉// [00000] Miscellaneous␊ |
143 | ␉kBluetoothDeviceClassMajorComputer␉␉␉␉␉␉= 0x01, ␉// [00001] Desktop, Notebook, PDA, Organizers, etc...␊ |
144 | ␉kBluetoothDeviceClassMajorPhone␉␉␉␉␉␉␉= 0x02, ␉// [00010] Cellular, Cordless, Payphone, Modem, etc...␊ |
145 | ␉kBluetoothDeviceClassMajorLANAccessPoint␉␉␉␉= 0x03, ␉// [00011] LAN Access Point␊ |
146 | ␉kBluetoothDeviceClassMajorAudio␉␉␉␉␉␉␉= 0x04, ␉// [00100] Headset, Speaker, Stereo, etc...␊ |
147 | ␉kBluetoothDeviceClassMajorPeripheral␉␉␉␉␉= 0x05, ␉// [00101] Mouse, Joystick, Keyboards, etc...␊ |
148 | kBluetoothDeviceClassMajorImaging␉␉␉␉␉␉= 0x06,␉␉// [00110] Printing, scanner, camera, display, etc...␊ |
149 | ␉kBluetoothDeviceClassMajorUnclassified␉␉␉␉␉= 0x1F, ␉// [11111] Specific device code not assigned␊ |
150 | ␉␊ |
151 | ␉// Range 0x06 to 0x1E Reserved for future use.␊ |
152 | ␉␊ |
153 | ␉kBluetoothDeviceClassMajorAny␉␉␉␉␉␉␉= '****',␉// Pseudo-class - means anything acceptable.␊ |
154 | ␉kBluetoothDeviceClassMajorNone␉␉␉␉␉␉␉= 'none',␉// Pseudo-class - means no matching.␊ |
155 | ␉␊ |
156 | ␉kBluetoothDeviceClassMajorEnd␊ |
157 | };␊ |
158 | ␊ |
159 | //␊ |
160 | // Device Class Minor␊ |
161 | //␊ |
162 | ␊ |
163 | enum␊ |
164 | {␊ |
165 | ␉///␊ |
166 | ␉/// Computer Major Class␊ |
167 | ␉///␊ |
168 | ␉␊ |
169 | ␉kBluetoothDeviceClassMinorComputerUnclassified␉␉␉= 0x00, ␉// [000000] Specific device code not assigned␊ |
170 | ␉kBluetoothDeviceClassMinorComputerDesktopWorkstation␉= 0x01, ␉// [000001] Desktop workstation␊ |
171 | ␉kBluetoothDeviceClassMinorComputerServer␉␉␉␉= 0x02, ␉// [000010] Server-class computer␊ |
172 | ␉kBluetoothDeviceClassMinorComputerLaptop␉␉␉␉= 0x03, ␉// [000011] Laptop␊ |
173 | ␉kBluetoothDeviceClassMinorComputerHandheld␉␉␉␉= 0x04, ␉// [000100] Handheld PC/PDA (clam shell)␊ |
174 | ␉kBluetoothDeviceClassMinorComputerPalmSized␉␉␉␉= 0x05, ␉// [000101] Palm-sized PC/PDA␊ |
175 | kBluetoothDeviceClassMinorComputerWearable␉␉␉␉= 0x06,␉␉// [000110] Wearable computer (watch sized)␊ |
176 | ␉␊ |
177 | ␉// Range 0x06 to 0x7F Reserved for future use.␊ |
178 | ␉␊ |
179 | ␊ |
180 | ␉///␊ |
181 | ␉/// Phone Major Class␊ |
182 | ␉///␊ |
183 | ␉␊ |
184 | ␉kBluetoothDeviceClassMinorPhoneUnclassified␉␉␉␉= 0x00, ␉// [000000] Specific device code not assigned␊ |
185 | ␉kBluetoothDeviceClassMinorPhoneCellular␉␉␉␉␉= 0x01, ␉// [000001] Cellular␊ |
186 | ␉kBluetoothDeviceClassMinorPhoneCordless␉␉␉␉␉= 0x02, ␉// [000010] Cordless␊ |
187 | ␉kBluetoothDeviceClassMinorPhoneSmartPhone␉␉␉␉= 0x03, ␉// [000011] Smart phone␊ |
188 | ␉kBluetoothDeviceClassMinorPhoneWiredModemOrVoiceGateway␉= 0x04, ␉// [000100] Wired modem or voice gateway␊ |
189 | kBluetoothDeviceClassMinorPhoneCommonISDNAccess␉␉␉= 0x05,␉␉// [000101] Common ISDN Access␊ |
190 | ␉␊ |
191 | ␉// Range 0x05 to 0x7F Reserved for future use.␊ |
192 | ␉␊ |
193 | ␊ |
194 | ␉///␊ |
195 | ␉/// LAN Access Point Major Class␊ |
196 | ␉///␊ |
197 | ␉␊ |
198 | ␉// $$$ TO DO: LAN Access Point minor classes are broken into bits 5-7 for utilization and bits 2-4 for class.␊ |
199 | ␉␊ |
200 | ␊ |
201 | ␉///␊ |
202 | ␉/// Audio Major Class␊ |
203 | ␉///␊ |
204 | ␉␊ |
205 | ␉kBluetoothDeviceClassMinorAudioUnclassified␉␉␉␉␉= 0x00, ␉// [000000] Specific device code not assigned␊ |
206 | ␉kBluetoothDeviceClassMinorAudioHeadset␉␉␉␉␉␉= 0x01, ␉// [000001] Device conforms to the Headset profile␊ |
207 | kBluetoothDeviceClassMinorAudioHandsFree␉␉␉␉␉= 0x02,␉␉// [000010] Hands-free␊ |
208 | kBluetoothDeviceClassMinorAudioReserved1␉␉␉␉␉= 0x03,␉␉// [000011] Reserved␊ |
209 | kBluetoothDeviceClassMinorAudioMicrophone␉␉␉␉␉= 0x04,␉␉// [000100] Microphone␊ |
210 | kBluetoothDeviceClassMinorAudioLoudspeaker␉␉␉␉␉= 0x05,␉␉// [000101] Loudspeaker␊ |
211 | kBluetoothDeviceClassMinorAudioHeadphones␉␉␉␉␉= 0x06,␉␉// [000110] Headphones␊ |
212 | kBluetoothDeviceClassMinorAudioPortable␉␉␉␉␉␉= 0x07,␉␉// [000111] Portable Audio␊ |
213 | kBluetoothDeviceClassMinorAudioCar␉␉␉␉␉␉␉= 0x08,␉␉// [001000] Car Audio␊ |
214 | kBluetoothDeviceClassMinorAudioSetTopBox␉␉␉␉␉= 0x09,␉␉// [001001] Set-top box␊ |
215 | kBluetoothDeviceClassMinorAudioHiFi␉␉␉␉␉␉␉= 0x0a,␉␉// [001010] HiFi Audio Device␊ |
216 | kBluetoothDeviceClassMinorAudioVCR␉␉␉␉␉␉␉= 0x0b,␉␉// [001011] VCR␊ |
217 | kBluetoothDeviceClassMinorAudioVideoCamera␉␉␉␉␉= 0x0c,␉␉// [001100] Video Camera␊ |
218 | kBluetoothDeviceClassMinorAudioCamcorder␉␉␉␉␉= 0x0d,␉␉// [001101] Camcorder␊ |
219 | kBluetoothDeviceClassMinorAudioVideoMonitor␉␉␉␉␉= 0x0e,␉␉// [001110] Video Monitor␊ |
220 | kBluetoothDeviceClassMinorAudioVideoDisplayAndLoudspeaker␉= 0x0f,␉␉// [001111] Video Display and Loudspeaker␊ |
221 | kBluetoothDeviceClassMinorAudioVideoConferencing␉␉␉= 0x10,␉␉// [010000] Video Conferencing␊ |
222 | kBluetoothDeviceClassMinorAudioReserved2␉␉␉␉␉= 0x11,␉␉// [010001] Reserved␊ |
223 | kBluetoothDeviceClassMinorAudioGamingToy␉␉␉␉␉= 0x12,␉␉// [010010] Gaming/Toy␊ |
224 | ␊ |
225 | ␉␊ |
226 | ␉// Range 0x13 to 0x7F Reserved for future use.␊ |
227 | ␉␊ |
228 | ␊ |
229 | ␉///␊ |
230 | ␉/// Peripheral Major Class␊ |
231 | ␉///␊ |
232 | ␊ |
233 | // Peripheral1 subclass is bits 7 & 6␊ |
234 | ␊ |
235 | kBluetoothDeviceClassMinorPeripheral1Keyboard␉␉␉= 0x10,␉␉// [01XXXX] Keyboard␊ |
236 | kBluetoothDeviceClassMinorPeripheral1Pointing␉␉␉= 0x20,␉␉// [10XXXX] Pointing device␊ |
237 | kBluetoothDeviceClassMinorPeripheral1Combo␉␉␉␉= 0x30,␉␉// [11XXXX] Combo keyboard/pointing device␊ |
238 | ␊ |
239 | // Peripheral2 subclass is bits 5-2␊ |
240 | ␊ |
241 | kBluetoothDeviceClassMinorPeripheral2Unclassified␉␉= 0x00,␉␉// [XX0000] Uncategorized device␊ |
242 | kBluetoothDeviceClassMinorPeripheral2Joystick␉␉␉= 0x01,␉␉// [XX0001] Joystick␊ |
243 | kBluetoothDeviceClassMinorPeripheral2Gamepad␉␉␉= 0x02,␉␉// [XX0010] Gamepad␊ |
244 | kBluetoothDeviceClassMinorPeripheral2RemoteControl␉␉= 0x03,␉␉// [XX0011] Remote control␊ |
245 | kBluetoothDeviceClassMinorPeripheral2SensingDevice␉␉= 0x04,␉␉// [XX0100] Sensing device␊ |
246 | kBluetoothDeviceClassMinorPeripheral2DigitizerTablet␉= 0x05,␉␉// [XX0101] Digitizer Tablet␉␊ |
247 | kBluetoothDeviceClassMinorPeripheral2CardReader␉␉␉= 0x06,␉␉// [XX0110] Card Reader␊ |
248 | ␊ |
249 | ␉kBluetoothDeviceClassMinorPeripheral2AnyPointing␉␉= 'poin',␉// Anything under MinorPeripheral1Pointing␊ |
250 | ␉␊ |
251 | // Range 0x05 to 0x0f reserved for future use␊ |
252 | ␉␊ |
253 | ␊ |
254 | ␉///␊ |
255 | ␉/// Imaging Major Class␊ |
256 | ␉///␊ |
257 | ␊ |
258 | // Imaging1 subclass is bits 7 - 4␊ |
259 | ␊ |
260 | kBluetoothDeviceClassMinorImaging1Display␉␉␉␉= 0x04,␉␉// [XXX1XX] Display␊ |
261 | kBluetoothDeviceClassMinorImaging1Camera␉␉␉␉= 0x08,␉␉// [XX1XXX] Camera␊ |
262 | kBluetoothDeviceClassMinorImaging1Scanner␉␉␉␉= 0x10,␉␉// [X1XXXX] Scanner␊ |
263 | kBluetoothDeviceClassMinorImaging1Printer␉␉␉␉= 0x20,␉␉// [1XXXXX] Printer␊ |
264 | ␊ |
265 | // Imaging2 subclass is bits 3 - 2␊ |
266 | ␊ |
267 | kBluetoothDeviceClassMinorImaging2Unclassified␉␉␉= 0x00,␉␉// [XXXX00] Uncategorized, default␊ |
268 | ␊ |
269 | // Range 0x01 - 0x03 reserved for future use␊ |
270 | ␊ |
271 | ␊ |
272 | ␉///␊ |
273 | ␉///␉Misc␊ |
274 | ␉///␊ |
275 | ␉␊ |
276 | ␉kBluetoothDeviceClassMinorAny␉␉␉␉␉␉␉= '****',␉// Pseudo-class - means anything acceptable.␊ |
277 | ␉kBluetoothDeviceClassMinorNone␉␉␉␉␉␉␉= 'none',␉// Pseudo-class - means no matching.␊ |
278 | ␉␊ |
279 | ␉kBluetoothDeviceClassMinorEnd␊ |
280 | };␊ |
281 | ␉␉␊ |
282 | ␉␉␊ |
283 | // Peripheral devices bits 7 & 6␊ |
284 | #define BluetoothCoDMinorPeripheral1(minorClass) (minorClass & 0x30)␊ |
285 | ␉␉␊ |
286 | // Peripheral devices bits 5 - 2␊ |
287 | #define BluetoothCoDMinorPeripheral2(minorClass) (minorClass & 0x0f)␉␊ |
288 | ␉␉␊ |
289 | #pragma mark -␊ |
290 | #pragma mark === L2CAP ===␊ |
291 | ␊ |
292 | //===========================================================================================================================␊ |
293 | //␉L2CAP␊ |
294 | //===========================================================================================================================␊ |
295 | ␊ |
296 | enum␊ |
297 | {␊ |
298 | ␉kBluetoothL2CAPPSMSDP␉␉␉␉␉␉= 0x0001, ␊ |
299 | ␉kBluetoothL2CAPPSMRFCOMM␉␉␉␉␉= 0x0003, ␊ |
300 | ␉kBluetoothL2CAPPSMTCS_BIN␉␉␉␉␉= 0x0005,␉// Telephony Control Specifictation / TCS Binary␊ |
301 | kBluetoothL2CAPPSMTCS_BIN_Cordless␉␉␉= 0x0007,␉// Telephony Control Specifictation / TCS Binary␊ |
302 | kBluetoothL2CAPPSMBNEP␉␉␉␉␉␉= 0x000F,␉// Bluetooth Network Encapsulation Protocol␊ |
303 | kBluetoothL2CAPPSMHIDControl␉␉␉␉= 0x0011,␉// HID profile - control interface␊ |
304 | kBluetoothL2CAPPSMHIDInterrupt␉␉␉␉= 0x0013,␉// HID profile - interrupt interface␊ |
305 | kBluetoothL2CAPPSMAVCTP␉␉␉␉␉␉= 0x0017,␉// Audio/Video Control Transport Protocol␊ |
306 | kBluetoothL2CAPPSMAVDTP␉␉␉␉␉␉= 0x0019,␉// Audio/Video Distribution Transport Protocol␊ |
307 | kBluetoothL2CAPPSMUID_C_Plane␉␉␉␉= 0x001D,␉// Unrestricted Digital Information Profile (UDI)␊ |
308 | ␉␊ |
309 | ␉// Range < 0x1000 reserved.␊ |
310 | kBluetoothL2CAPPSMReservedStart␉␉␉␉= 0x0001,␊ |
311 | kBluetoothL2CAPPSMReservedEnd␉␉␉␉= 0x1000,␊ |
312 | ␊ |
313 | ␉// Range 0x1001-0xFFFF dynamically assigned.␊ |
314 | kBluetoothL2CAPPSMDynamicStart␉␉␉␉= 0x1001,␊ |
315 | ␉kBluetoothL2CAPPSMD2D␉␉␉␉␉␉= 0x100F,␊ |
316 | kBluetoothL2CAPPSMDynamicEnd␉␉␉␉= 0xFFFF,␊ |
317 | ␊ |
318 | kBluetoothL2CAPPSMNone␉␉␉␉␉␉= 0x0000␊ |
319 | };␊ |
320 | ␊ |
321 | ␊ |
322 | #pragma mark -␊ |
323 | #pragma mark === SDP ===␊ |
324 | ␊ |
325 | //===========================================================================================================================␊ |
326 | //␉Service Discovery Protocol␊ |
327 | //===========================================================================================================================␊ |
328 | ␊ |
329 | enum␊ |
330 | {␊ |
331 | ␉// General␊ |
332 | ␉␊ |
333 | ␉kBluetoothSDPUUID16Base␉␉␉␉␉␉␉␉␉= 0x0000, ␉// 00000000-0000-1000-8000-00805f9b34fb␊ |
334 | ␉␊ |
335 | ␉// Protocols␊ |
336 | ␉␊ |
337 | ␉kBluetoothSDPUUID16SDP␉␉␉␉ ␉␉␉␉␉= 0x0001, ␉// 00000001-0000-1000-8000-00805f9b34fb␊ |
338 | ␉kBluetoothSDPUUID16UDP ␉␉␉␉␉␉␉␉␉= 0x0002, ␉// 00000002-0000-1000-8000-00805f9b34fb ␊ |
339 | ␉kBluetoothSDPUUID16RFCOMM ␉␉␉␉␉␉␉␉= 0x0003, ␉// 00000003-0000-1000-8000-00805f9b34fb ␊ |
340 | ␉kBluetoothSDPUUID16TCP ␉␉␉␉␉␉␉␉␉= 0x0004, ␉// 00000004-0000-1000-8000-00805f9b34fb ␊ |
341 | ␉kBluetoothSDPUUID16TCSBIN ␉␉␉␉␉␉␉␉= 0x0005, ␉// 00000005-0000-1000-8000-00805f9b34fb ␊ |
342 | ␉kBluetoothSDPUUID16TCSAT ␉␉␉␉␉␉␉␉= 0x0006, ␉// 00000006-0000-1000-8000-00805f9b34fb ␊ |
343 | ␉kBluetoothSDPUUID16OBEX ␉␉␉␉␉␉␉␉= 0x0008, ␉// 00000008-0000-1000-8000-00805f9b34fb ␊ |
344 | ␉kBluetoothSDPUUID16IP ␉␉␉␉␉␉␉␉␉= 0x0009, ␉// 00000009-0000-1000-8000-00805f9b34fb ␊ |
345 | ␉kBluetoothSDPUUID16FTP ␉␉␉␉␉␉␉␉␉= 0x000A, ␉// 0000000A-0000-1000-8000-00805f9b34fb ␊ |
346 | ␉kBluetoothSDPUUID16HTTP ␉␉␉␉␉␉␉␉= 0x000C, ␉// 0000000C-0000-1000-8000-00805f9b34fb ␊ |
347 | ␉kBluetoothSDPUUID16WSP␉ ␉␉␉␉␉␉␉␉= 0x000E, ␉// 0000000E-0000-1000-8000-00805f9b34fb ␊ |
348 | ␉kBluetoothSDPUUID16BNEP␉␉␉␉␉␉␉␉␉= 0x000F,␊ |
349 | ␉kBluetoothSDPUUID16UPNP␉␉␉␉␉␉␉␉␉= 0x0010,␊ |
350 | ␉kBluetoothSDPUUID16HIDP␉␉␉␉␉␉␉␉␉= 0x0011,␊ |
351 | ␉kBluetoothSDPUUID16HardcopyControlChannel␉␉␉␉= 0x0012,␊ |
352 | ␉kBluetoothSDPUUID16HardcopyDataChannel␉␉␉␉␉= 0x0014,␊ |
353 | ␉kBluetoothSDPUUID16HardcopyNotification␉␉␉␉␉= 0x0016,␊ |
354 | ␉kBluetoothSDPUUID16AVCTP␉␉␉␉␉␉␉␉= 0x0017,␊ |
355 | ␉kBluetoothSDPUUID16AVDTP␉␉␉␉␉␉␉␉= 0x0019,␊ |
356 | ␉kBluetoothSDPUUID16CMPT␉␉␉␉␉␉␉␉␉= 0x001B,␊ |
357 | ␉kBluetoothSDPUUID16UDI_C_Plane␉␉␉␉␉␉␉= 0x001D,␊ |
358 | ␉kBluetoothSDPUUID16L2CAP ␉␉␉␉␉␉␉␉= 0x0100, ␉// 00000100-0000-1000-8000-00805f9b34fb ␊ |
359 | };␊ |
360 | ␊ |
361 | enum SDPServiceClasses␊ |
362 | {␊ |
363 | ␉kBluetoothSDPUUID16ServiceClassServiceDiscoveryServer␉␉␉␉␉= 0x1000,␉// 00001000-0000-1000-8000-00805f9b34fb␊ |
364 | ␉kBluetoothSDPUUID16ServiceClassBrowseGroupDescriptor␉␉␉␉␉= 0x1001,␉// 00001001-0000-1000-8000-00805f9b34fb␊ |
365 | ␉kBluetoothSDPUUID16ServiceClassPublicBrowseGroup␉␉␉␉␉␉= 0x1002,␉// 00001002-0000-1000-8000-00805f9b34fb␊ |
366 | ␉kBluetoothSDPUUID16ServiceClassSerialPort␉␉␉␉␉␉␉␉= 0x1101,␉// 00001101-0000-1000-8000-00805f9b34fb␊ |
367 | ␉kBluetoothSDPUUID16ServiceClassLANAccessUsingPPP␉␉␉␉␉␉= 0x1102,␉// 00001102-0000-1000-8000-00805f9b34fb␊ |
368 | ␉kBluetoothSDPUUID16ServiceClassDialupNetworking␉␉␉␉␉␉␉= 0x1103,␉// 00001103-0000-1000-8000-00805f9b34fb␊ |
369 | ␉kBluetoothSDPUUID16ServiceClassIrMCSync␉␉␉␉␉␉␉␉␉= 0x1104,␉// 00001104-0000-1000-8000-00805f9b34fb␊ |
370 | ␉kBluetoothSDPUUID16ServiceClassOBEXObjectPush␉␉␉␉␉␉␉= 0x1105,␉// 00001105-0000-1000-8000-00805f9b34fb␊ |
371 | ␉kBluetoothSDPUUID16ServiceClassOBEXFileTransfer␉␉␉␉␉␉␉= 0x1106,␉// 00001106-0000-1000-8000-00805f9b34fb␊ |
372 | ␉kBluetoothSDPUUID16ServiceClassIrMCSyncCommand␉␉␉␉␉␉␉= 0x1107,␉// 00001107-0000-1000-8000-00805f9b34fb␊ |
373 | ␉kBluetoothSDPUUID16ServiceClassHeadset␉␉␉␉␉␉␉␉␉= 0x1108,␉// 00001108-0000-1000-8000-00805f9b34fb␊ |
374 | ␉kBluetoothSDPUUID16ServiceClassCordlessTelephony␉␉␉␉␉␉= 0x1109,␉// 00001109-0000-1000-8000-00805f9b34fb␊ |
375 | kBluetoothSDPUUID16ServiceClassAudioSource␉␉␉␉␉␉␉␉= 0x110A,␊ |
376 | kBluetoothSDPUUID16ServiceClassAudioSink␉␉␉␉␉␉␉␉= 0x110B,␊ |
377 | kBluetoothSDPUUID16ServiceClassAVRemoteControlTarget␉␉␉␉␉= 0x110C,␊ |
378 | kBluetoothSDPUUID16ServiceClassAdvancedAudioDistribution␉␉␉␉= 0x110D,␊ |
379 | kBluetoothSDPUUID16ServiceClassAVRemoteControl␉␉␉␉␉␉␉= 0x110E,␊ |
380 | kBluetoothSDPUUID16ServiceClassVideoConferencing␉␉␉␉␉␉= 0x110F,␊ |
381 | ␉kBluetoothSDPUUID16ServiceClassIntercom␉␉␉␉␉␉␉␉␉= 0x1110,␉// 00001110-0000-1000-8000-00805f9b34fb␊ |
382 | ␉kBluetoothSDPUUID16ServiceClassFax␉␉␉␉␉␉␉␉␉␉= 0x1111,␉// 00001111-0000-1000-8000-00805f9b34fb␊ |
383 | ␉kBluetoothSDPUUID16ServiceClassHeadsetAudioGateway␉␉␉␉␉␉= 0x1112,␉// 00001112-0000-1000-8000-00805f9b34fb␊ |
384 | kBluetoothSDPUUID16ServiceClassWAP␉␉␉␉␉␉␉␉␉␉= 0x1113,␊ |
385 | kBluetoothSDPUUID16ServiceClassWAPClient␉␉␉␉␉␉␉␉= 0x1114,␊ |
386 | kBluetoothSDPUUID16ServiceClassPANU␉␉␉␉␉␉␉␉␉␉= 0x1115,␊ |
387 | kBluetoothSDPUUID16ServiceClassNAP␉␉␉␉␉␉␉␉␉␉= 0x1116,␊ |
388 | kBluetoothSDPUUID16ServiceClassGN␉␉␉␉␉␉␉␉␉␉= 0x1117,␊ |
389 | kBluetoothSDPUUID16ServiceClassDirectPrinting␉␉␉␉␉␉␉= 0x1118,␊ |
390 | kBluetoothSDPUUID16ServiceClassReferencePrinting␉␉␉␉␉␉= 0x1119,␊ |
391 | kBluetoothSDPUUID16ServiceClassImaging␉␉␉␉␉␉␉␉␉= 0x111A,␊ |
392 | kBluetoothSDPUUID16ServiceClassImagingResponder␉␉␉␉␉␉␉= 0x111B,␊ |
393 | kBluetoothSDPUUID16ServiceClassImagingAutomaticArchive␉␉␉␉␉= 0x111C,␊ |
394 | kBluetoothSDPUUID16ServiceClassImagingReferencedObjects␉␉␉␉␉= 0x111D,␊ |
395 | kBluetoothSDPUUID16ServiceClassHandsFree␉␉␉␉␉␉␉␉= 0x111E,␊ |
396 | kBluetoothSDPUUID16ServiceClassHandsFreeAudioGateway␉␉␉␉␉= 0x111F,␊ |
397 | kBluetoothSDPUUID16ServiceClassDirectPrintingReferenceObjectsService␉= 0x1120,␊ |
398 | kBluetoothSDPUUID16ServiceClassReflectedUI␉␉␉␉␉␉␉␉= 0x1121,␊ |
399 | kBluetoothSDPUUID16ServiceClassBasicPrinting␉␉␉␉␉␉␉= 0x1122,␊ |
400 | kBluetoothSDPUUID16ServiceClassPrintingStatus␉␉␉␉␉␉␉= 0x1123,␊ |
401 | kBluetoothSDPUUID16ServiceClassHumanInterfaceDeviceService␉␉␉␉= 0x1124,␊ |
402 | kBluetoothSDPUUID16ServiceClassHardcopyCableReplacement␉␉␉␉␉= 0x1125,␊ |
403 | kBluetoothSDPUUID16ServiceClassHCR_Print␉␉␉␉␉␉␉␉= 0x1126,␊ |
404 | kBluetoothSDPUUID16ServiceClassHCR_Scan␉␉␉␉␉␉␉␉␉= 0x1127,␊ |
405 | kBluetoothSDPUUID16ServiceClassCommonISDNAccess␉␉␉␉␉␉␉= 0x1128,␊ |
406 | kBluetoothSDPUUID16ServiceClassVideoConferencingGW␉␉␉␉␉␉= 0x1129,␊ |
407 | kBluetoothSDPUUID16ServiceClassUDI_MT␉␉␉␉␉␉␉␉␉= 0x112A,␊ |
408 | kBluetoothSDPUUID16ServiceClassUDI_TA␉␉␉␉␉␉␉␉␉= 0x112B,␊ |
409 | kBluetoothSDPUUID16ServiceClassAudioVideo␉␉␉␉␉␉␉␉= 0x112C,␊ |
410 | kBluetoothSDPUUID16ServiceClassSIM_Access␉␉␉␉␉␉␉␉= 0x112D,␊ |
411 | kBluetoothSDPUUID16ServiceClassPhonebookAccess_PCE␉␉␉␉␉␉= 0x112E,␊ |
412 | kBluetoothSDPUUID16ServiceClassPhonebookAccess_PSE␉␉␉␉␉␉= 0x112F,␊ |
413 | kBluetoothSDPUUID16ServiceClassPhonebookAccess␉␉␉␉␉␉␉= 0x1130,␊ |
414 | kBluetoothSDPUUID16ServiceClassHeadset_HS␉␉␉␉␉␉␉␉= 0x1131,␊ |
415 | kBluetoothSDPUUID16ServiceClassMessageAccessServer␉␉␉␉␉␉= 0x1132,␊ |
416 | kBluetoothSDPUUID16ServiceClassMessageNotificationServer␉␉␉␉= 0x1133,␊ |
417 | kBluetoothSDPUUID16ServiceClassMessageAccessProfile␉␉␉␉␉␉= 0x1134,␊ |
418 | ␉kBluetoothSDPUUID16ServiceClassPnPInformation␉␉␉␉␉␉␉= 0x1200,␉// 00001200-0000-1000-8000-00805f9b34fb␊ |
419 | ␉kBluetoothSDPUUID16ServiceClassGenericNetworking␉␉␉␉␉␉= 0x1201,␉// 00001201-0000-1000-8000-00805f9b34fb␊ |
420 | ␉kBluetoothSDPUUID16ServiceClassGenericFileTransfer␉␉␉␉␉␉= 0x1202,␉// 00001202-0000-1000-8000-00805f9b34fb␊ |
421 | ␉kBluetoothSDPUUID16ServiceClassGenericAudio␉␉␉␉␉␉␉␉= 0x1203,␉// 00001203-0000-1000-8000-00805f9b34fb␊ |
422 | ␉kBluetoothSDPUUID16ServiceClassGenericTelephony␉␉␉␉␉␉␉= 0x1204␉// 00001204-0000-1000-8000-00805f9b34fb␊ |
423 | };␊ |
424 | ␊ |
425 | enum SDPAttributeIdentifierCodes␊ |
426 | {␊ |
427 | ␉kBluetoothSDPAttributeIdentifierServiceRecordHandle␉␉␉␉␉= 0x0000,␊ |
428 | ␉kBluetoothSDPAttributeIdentifierServiceClassIDList␉␉␉␉␉= 0x0001,␊ |
429 | ␉kBluetoothSDPAttributeIdentifierServiceRecordState␉␉␉␉␉= 0x0002,␊ |
430 | ␉kBluetoothSDPAttributeIdentifierServiceID␉␉␉␉␉␉␉= 0x0003,␊ |
431 | ␉kBluetoothSDPAttributeIdentifierProtocolDescriptorList␉␉␉␉= 0x0004,␊ |
432 | ␉kBluetoothSDPAttributeIdentifierBrowseGroupList␉␉␉␉␉␉= 0x0005,␊ |
433 | ␉kBluetoothSDPAttributeIdentifierLanguageBaseAttributeIDList␉␉␉= 0x0006,␊ |
434 | ␉kBluetoothSDPAttributeIdentifierServiceInfoTimeToLive␉␉␉␉= 0x0007,␊ |
435 | ␉kBluetoothSDPAttributeIdentifierServiceAvailability␉␉␉␉␉= 0x0008,␊ |
436 | ␉kBluetoothSDPAttributeIdentifierBluetoothProfileDescriptorList␉␉= 0x0009,␊ |
437 | ␉kBluetoothSDPAttributeIdentifierDocumentationURL␉␉␉␉␉= 0x000A,␊ |
438 | ␉kBluetoothSDPAttributeIdentifierClientExecutableURL␉␉␉␉␉= 0x000B,␊ |
439 | ␉kBluetoothSDPAttributeIdentifierIconURL␉␉␉␉␉␉␉␉= 0x000C,␊ |
440 | ␉kBluetoothSDPAttributeIdentifierAdditionalProtocolsDescriptorList␉= 0x000D,␊ |
441 | ␊ |
442 | // Service Discovery Server␊ |
443 | ␉kBluetoothSDPAttributeIdentifierVersionNumberList␉␉␉␉␉= 0x0200,␊ |
444 | ␉kBluetoothSDPAttributeIdentifierServiceDatabaseState␉␉␉␉= 0x0201,␊ |
445 | ␊ |
446 | // Browse Group Descriptor␊ |
447 | kBluetoothSDPAttributeIdentifierGroupID␉␉␉␉␉␉␉␉= 0x0200,␊ |
448 | ␊ |
449 | // PAN␊ |
450 | kBluetoothSDPAttributeIdentifierIPSubnet␉␉␉␉␉␉␉= 0x0200,␊ |
451 | ␊ |
452 | #if BLUETOOTH_VERSION_MAX_ALLOWED >= BLUETOOTH_VERSION_2_1_1␊ |
453 | ␊ |
454 | // HID␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉Required␉␉Type␉␉Section␉␉Notes␊ |
455 | kBluetoothSDPAttributeIdentifierHIDReleaseNumber␉␉␉␉␉= 0x0200,␉// O␉␉␉uint16␉␉7.11.1␊ |
456 | kBluetoothSDPAttributeIdentifierHIDParserVersion␉␉␉␉␉= 0x0201,␉// M␉␉␉uint16␉␉-␊ |
457 | kBluetoothSDPAttributeIdentifierHIDDeviceSubclass␉␉␉␉␉= 0x0202,␉// M␉␉␉uint8␉␉7.11.2␉␉Should match the low order 8 bits of CoD unless a combo device␊ |
458 | kBluetoothSDPAttributeIdentifierHIDCountryCode␉␉␉␉␉␉= 0x0203,␉// M␉␉␉uint8␉␉7.11.3␊ |
459 | kBluetoothSDPAttributeIdentifierHIDVirtualCable␉␉␉␉␉␉= 0x0204,␉// M␉␉␉bool␉␉7.11.4␊ |
460 | kBluetoothSDPAttributeIdentifierHIDReconnectInitiate␉␉␉␉= 0x0205,␉// M␉␉␉bool␉␉7.11.5␊ |
461 | kBluetoothSDPAttributeIdentifierHIDDescriptorList␉␉␉␉␉= 0x0206,␉// M␉␉␉sequence␉7.11.6␉␉Layout is defined in Section 6.2 of the HID Specification␊ |
462 | kBluetoothSDPAttributeIdentifierHIDLangIDBaseList␉␉␉␉␉= 0x0207,␉// M␉␉␉sequence␉7.11.7␊ |
463 | kBluetoothSDPAttributeIdentifierHIDSDPDisable␉␉␉␉␉␉= 0x0208,␉// O␉␉␉bool␉␉7.11.8␊ |
464 | kBluetoothSDPAttributeIdentifierHIDBatteryPower␉␉␉␉␉␉= 0x0209,␉// O␉␉␉bool␉␉7.11.9␊ |
465 | kBluetoothSDPAttributeIdentifierHIDRemoteWake␉␉␉␉␉␉= 0x020A,␉// O␉␉␉bool␉␉7.11.10␊ |
466 | kBluetoothSDPAttributeIdentifierHIDProfileVersion␉␉␉␉␉= 0x020B,␉// M␉␉␉uint16␉␉7.11.14␊ |
467 | kBluetoothSDPAttributeIdentifierHIDSupervisionTimeout␉␉␉␉= 0x020C,␉// O␉␉␉uint16␉␉7.11.12␉␉Default to 5 seconds or longer if not defined␊ |
468 | kBluetoothSDPAttributeIdentifierHIDNormallyConnectable␉␉␉␉= 0x020D,␉// O␉␉␉bool␉␉7.11.13␊ |
469 | kBluetoothSDPAttributeIdentifierHIDBootDevice␉␉␉␉␉␉= 0x020E,␉// M␉␉␉bool␉␉7.11.11␉␉Only defined for mice and keyboards as of HID 1.0␊ |
470 | ␊ |
471 | #endif␊ |
472 | ␊ |
473 | ␉kBluetoothSDPAttributeIdentifierServiceVersion␉␉␉␉␉␉= 0x0300,␊ |
474 | ␉kBluetoothSDPAttributeIdentifierExternalNetwork␉␉␉␉␉␉= 0x0301,␉// Cordless telephony␊ |
475 | kBluetoothSDPAttributeIdentifierNetwork␉␉␉␉␉␉␉␉= 0x0301,␉// Handsfree Profile (HFP)␊ |
476 | ␉kBluetoothSDPAttributeIdentifierSupportedDataStoresList␉␉␉␉= 0x0301,␉// Sync Profile␊ |
477 | ␉kBluetoothSDPAttributeIdentifierFaxClass1Support␉␉␉␉␉= 0x0302,␉// Fax Profile␊ |
478 | ␉kBluetoothSDPAttributeIdentifierRemoteAudioVolumeControl␉␉␉= 0x0302,␉// GAP???␊ |
479 | ␉kBluetoothSDPAttributeIdentifierFaxClass2_0Support␉␉␉␉␉= 0x0303,␊ |
480 | ␉kBluetoothSDPAttributeIdentifierSupporterFormatsList␉␉␉␉= 0x0303,␊ |
481 | ␉kBluetoothSDPAttributeIdentifierFaxClass2Support␉␉␉␉␉= 0x0304,␊ |
482 | ␉kBluetoothSDPAttributeIdentifierAudioFeedbackSupport␉␉␉␉= 0x0305,␊ |
483 | kBluetoothSDPAttributeIdentifierNetworkAddress␉␉␉␉␉␉= 0x0306,␉// WAP␊ |
484 | kBluetoothSDPAttributeIdentifierWAPGateway␉␉␉␉␉␉␉= 0x0307,␉// WAP␊ |
485 | kBluetoothSDPAttributeIdentifierHomepageURL␉␉␉␉␉␉␉= 0x0308,␉// WAP␊ |
486 | kBluetoothSDPAttributeIdentifierWAPStackType␉␉␉␉␉␉= 0x0309,␉// WAP␊ |
487 | kBluetoothSDPAttributeIdentifierSecurityDescription␉␉␉␉␉= 0x030A,␉// PAN␊ |
488 | kBluetoothSDPAttributeIdentifierNetAccessType␉␉␉␉␉␉= 0x030B,␉// PAN␊ |
489 | kBluetoothSDPAttributeIdentifierMaxNetAccessRate␉␉␉␉␉= 0x030C,␉// PAN␊ |
490 | kBluetoothSDPAttributeIdentifierSupportedCapabilities␉␉␉␉= 0x0310,␉// Imaging␊ |
491 | kBluetoothSDPAttributeIdentifierSupportedFeatures␉␉␉␉␉= 0x0311,␉// Imaging & HFP␊ |
492 | kBluetoothSDPAttributeIdentifierSupportedFunctions␉␉␉␉␉= 0x0312,␉// Imaging␊ |
493 | kBluetoothSDPAttributeIdentifierTotalImagingDataCapacity␉␉␉= 0x0313,␉// Imaging␊ |
494 | ␊ |
495 | ␉kBluetoothSDPAttributeIdentifierServiceName␉␉␉␉␉␉␉= 0x0000, /* +language base offset*/␊ |
496 | ␉kBluetoothSDPAttributeIdentifierServiceDescription␉␉␉␉␉= 0x0001, /* +language base offset*/␊ |
497 | ␉kBluetoothSDPAttributeIdentifierProviderName␉␉␉␉␉␉= 0x0002 /* +language base offset*/␊ |
498 | };␊ |
499 | ␊ |
500 | enum SDPAttributeDeviceIdentificationRecord␊ |
501 | {␊ |
502 | ␉/* Values taken from the Bluetooth Device Identification specification, 1.0 draft, 1.16.2003 */␊ |
503 | ␉␊ |
504 | ␉kBluetoothSDPAttributeDeviceIdentifierServiceDescription␉␉␉= 0x0001,␉/* String */␊ |
505 | ␉kBluetoothSDPAttributeDeviceIdentifierDocumentationURL␉␉␉␉= 0x000A,␉/* URL */␊ |
506 | ␉kBluetoothSDPAttributeDeviceIdentifierClientExecutableURL␉␉␉= 0x000B,␉/* URL */␊ |
507 | ␉kBluetoothSDPAttributeDeviceIdentifierSpecificationID␉␉␉␉= 0x0200,␉/* 2 byte unsigned integer */␊ |
508 | ␉kBluetoothSDPAttributeDeviceIdentifierVendorID␉␉␉␉␉␉= 0x0201,␉/* 2 byte unsigned integer */␊ |
509 | ␉kBluetoothSDPAttributeDeviceIdentifierProductID␉␉␉␉␉␉= 0x0202,␉/* 2 byte unsigned integer */␊ |
510 | ␉kBluetoothSDPAttributeDeviceIdentifierVersion␉␉␉␉␉␉= 0x0203,␉/* 2 byte unsigned integer */␊ |
511 | ␉kBluetoothSDPAttributeDeviceIdentifierPrimaryRecord␉␉␉␉␉= 0x0204,␉/* Boolean */␊ |
512 | ␉kBluetoothSDPAttributeDeviceIdentifierVendorIDSource␉␉␉␉= 0x0205,␉/* 2 byte unsigned integer */␊ |
513 | ␉kBluetoothSDPAttributeDeviceIdentifierReservedRangeStart␉␉␉= 0x0206,␊ |
514 | ␉kBluetoothSDPAttributeDeviceIdentifierReservedRangeEnd␉␉␉␉= 0x02FF␊ |
515 | ␉␊ |
516 | };␊ |
517 | ␊ |
518 | enum ProtocolParameters␊ |
519 | {␊ |
520 | kBluetoothSDPProtocolParameterL2CAPPSM␉␉␉␉␉␉␉␉= 1,␊ |
521 | kBluetoothSDPProtocolParameterRFCOMMChannel␉␉␉␉␉␉␉= 1,␊ |
522 | kBluetoothSDPProtocolParameterTCPPort␉␉␉␉␉␉␉␉= 1,␊ |
523 | kBluetoothSDPProtocolParameterUDPPort␉␉␉␉␉␉␉␉= 1,␊ |
524 | kBluetoothSDPProtocolParameterBNEPVersion␉␉␉␉␉␉␉= 1,␊ |
525 | kBluetoothSDPProtocolParameterBNEPSupportedNetworkPacketTypeList␉= 2␊ |
526 | };␊ |
527 | ␊ |
528 | #if BLUETOOTH_VERSION_MAX_ALLOWED >= BLUETOOTH_VERSION_2_0␊ |
529 | ␊ |
530 | //Inquiries with 'Extended Inquiry Response' (v2.1 specification)␊ |
531 | ␊ |
532 | enum BluetoothHCIExtendedInquiryResponseDataTypes␊ |
533 | {␊ |
534 | ␉kBluetoothHCIExtendedInquiryResponseDataTypeFlags␉␉␉␉␉␉␉␉␉␉=␉0x01,␊ |
535 | ␉kBluetoothHCIExtendedInquiryResponseDataType16BitServiceClassUUIDsWithMoreAvailable␉␉=␉0x02,␊ |
536 | ␉kBluetoothHCIExtendedInquiryResponseDataType16BitServiceClassUUIDsCompleteList␉␉␉=␉0x03,␊ |
537 | ␉kBluetoothHCIExtendedInquiryResponseDataType32BitServiceClassUUIDsWithMoreAvailable␉␉=␉0x04,␊ |
538 | ␉kBluetoothHCIExtendedInquiryResponseDataType32BitServiceClassUUIDsCompleteList␉␉␉=␉0x05,␊ |
539 | ␉kBluetoothHCIExtendedInquiryResponseDataType128BitServiceClassUUIDsWithMoreAvailable␉=␉0x06,␊ |
540 | ␉kBluetoothHCIExtendedInquiryResponseDataType128BitServiceClassUUIDsCompleteList␉␉␉=␉0x07,␊ |
541 | ␉kBluetoothHCIExtendedInquiryResponseDataTypeShortenedLocalName␉␉␉␉␉␉␉=␉0x08,␊ |
542 | ␉kBluetoothHCIExtendedInquiryResponseDataTypeCompleteLocalName␉␉␉␉␉␉␉=␉0x09,␊ |
543 | ␉kBluetoothHCIExtendedInquiryResponseDataTypeDeviceID␉␉␉␉␉␉␉␉␉=␉0x10,␊ |
544 | ␉kBluetoothHCIExtendedInquiryResponseDataTypeManufacturerSpecificData␉␉␉␉␉=␉0xFF␊ |
545 | };␊ |
546 | ␊ |
547 | #endif /* BLUETOOTH_VERSION_MAX_ALLOWED >= BLUETOOTH_VERSION_2_0 */␊ |
548 | ␊ |
549 | ␊ |
550 | #ifdef␉__cplusplus␊ |
551 | ␉}␊ |
552 | #endif␊ |
553 |