1use crate::Uuid;
4
5pub const BLUETOOTH_BASE_UUID: u128 = 0x00000000_0000_1000_8000_00805f9b34fb;
8
9#[must_use]
11pub const fn bluetooth_uuid_from_u16(uuid: u16) -> Uuid {
12 Uuid::from_u128(((uuid as u128) << 96) | BLUETOOTH_BASE_UUID)
13}
14
15#[must_use]
17pub const fn bluetooth_uuid_from_u32(uuid: u32) -> Uuid {
18 Uuid::from_u128(((uuid as u128) << 96) | BLUETOOTH_BASE_UUID)
19}
20
21pub trait BluetoothUuidExt: private::Sealed {
23 fn from_u16(uuid: u16) -> Self;
25
26 fn from_u32(uuid: u32) -> Self;
28
29 fn from_bluetooth_bytes(bytes: &[u8]) -> Self;
35
36 fn is_u16_uuid(&self) -> bool;
38
39 fn is_u32_uuid(&self) -> bool;
41
42 fn try_to_u16(&self) -> Option<u16>;
44
45 fn try_to_u32(&self) -> Option<u32>;
47
48 fn as_bluetooth_bytes(&self) -> &[u8];
51}
52
53impl BluetoothUuidExt for Uuid {
54 fn from_u16(uuid: u16) -> Self {
55 bluetooth_uuid_from_u16(uuid)
56 }
57
58 fn from_u32(uuid: u32) -> Self {
59 bluetooth_uuid_from_u32(uuid)
60 }
61
62 fn from_bluetooth_bytes(bytes: &[u8]) -> Self {
63 bytes
64 .try_into()
65 .map(|x| Self::from_u16(u16::from_be_bytes(x)))
66 .or_else(|_| {
67 bytes
68 .try_into()
69 .map(|x| Self::from_u32(u32::from_be_bytes(x)))
70 })
71 .or_else(|_| bytes.try_into().map(Self::from_bytes))
72 .expect("invalid slice length for bluetooth UUID")
73 }
74
75 fn is_u16_uuid(&self) -> bool {
76 self.try_to_u16().is_some()
77 }
78
79 fn is_u32_uuid(&self) -> bool {
80 let u = self.as_u128();
81 (u & ((1 << 96) - 1)) == BLUETOOTH_BASE_UUID
82 }
83
84 fn try_to_u16(&self) -> Option<u16> {
85 self.try_to_u32().and_then(|x| x.try_into().ok())
86 }
87
88 fn try_to_u32(&self) -> Option<u32> {
89 let u = self.as_u128();
90 self.is_u32_uuid().then_some((u >> 96) as u32)
91 }
92
93 fn as_bluetooth_bytes(&self) -> &[u8] {
94 let bytes = self.as_bytes();
95 if self.is_u16_uuid() {
96 &bytes[2..4]
97 } else if self.is_u32_uuid() {
98 &bytes[0..4]
99 } else {
100 &bytes[..]
101 }
102 }
103}
104
105mod private {
106 use crate::Uuid;
107
108 pub trait Sealed {}
109
110 impl Sealed for Uuid {}
111}
112
113#[allow(missing_docs)]
115pub mod services {
116 use super::bluetooth_uuid_from_u16;
117 use crate::Uuid;
118
119 pub const GENERIC_ACCESS: Uuid = bluetooth_uuid_from_u16(0x1800);
120 pub const GENERIC_ATTRIBUTE: Uuid = bluetooth_uuid_from_u16(0x1801);
121 pub const IMMEDIATE_ALERT: Uuid = bluetooth_uuid_from_u16(0x1802);
122 pub const LINK_LOSS: Uuid = bluetooth_uuid_from_u16(0x1803);
123 pub const TX_POWER: Uuid = bluetooth_uuid_from_u16(0x1804);
124 pub const CURRENT_TIME: Uuid = bluetooth_uuid_from_u16(0x1805);
125 pub const REFERENCE_TIME_UPDATE: Uuid = bluetooth_uuid_from_u16(0x1806);
126 pub const NEXT_DST_CHANGE: Uuid = bluetooth_uuid_from_u16(0x1807);
127 pub const GLUCOSE: Uuid = bluetooth_uuid_from_u16(0x1808);
128 pub const HEALTH_THERMOMETER: Uuid = bluetooth_uuid_from_u16(0x1809);
129 pub const DEVICE_INFORMATION: Uuid = bluetooth_uuid_from_u16(0x180A);
130 pub const HEART_RATE: Uuid = bluetooth_uuid_from_u16(0x180D);
131 pub const PHONE_ALERT_STATUS: Uuid = bluetooth_uuid_from_u16(0x180E);
132 pub const BATTERY: Uuid = bluetooth_uuid_from_u16(0x180F);
133 pub const BLOOD_PRESSURE: Uuid = bluetooth_uuid_from_u16(0x1810);
134 pub const ALERT_NOTIFICATION: Uuid = bluetooth_uuid_from_u16(0x1811);
135 pub const HUMAN_INTERFACE_DEVICE: Uuid = bluetooth_uuid_from_u16(0x1812);
136 pub const SCAN_PARAMETERS: Uuid = bluetooth_uuid_from_u16(0x1813);
137 pub const RUNNING_SPEED_AND_CADENCE: Uuid = bluetooth_uuid_from_u16(0x1814);
138 pub const AUTOMATION_IO: Uuid = bluetooth_uuid_from_u16(0x1815);
139 pub const CYCLING_SPEED_AND_CADENCE: Uuid = bluetooth_uuid_from_u16(0x1816);
140 pub const CYCLING_POWER: Uuid = bluetooth_uuid_from_u16(0x1818);
141 pub const LOCATION_AND_NAVIGATION: Uuid = bluetooth_uuid_from_u16(0x1819);
142 pub const ENVIRONMENTAL_SENSING: Uuid = bluetooth_uuid_from_u16(0x181A);
143 pub const BODY_COMPOSITION: Uuid = bluetooth_uuid_from_u16(0x181B);
144 pub const USER_DATA: Uuid = bluetooth_uuid_from_u16(0x181C);
145 pub const WEIGHT_SCALE: Uuid = bluetooth_uuid_from_u16(0x181D);
146 pub const BOND_MANAGEMENT: Uuid = bluetooth_uuid_from_u16(0x181E);
147 pub const CONTINUOUS_GLUCOSE_MONITORING: Uuid = bluetooth_uuid_from_u16(0x181F);
148 pub const INTERNET_PROTOCOL_SUPPORT: Uuid = bluetooth_uuid_from_u16(0x1820);
149 pub const INDOOR_POSITIONING: Uuid = bluetooth_uuid_from_u16(0x1821);
150 pub const PULSE_OXIMETER: Uuid = bluetooth_uuid_from_u16(0x1822);
151 pub const HTTP_PROXY: Uuid = bluetooth_uuid_from_u16(0x1823);
152 pub const TRANSPORT_DISCOVERY: Uuid = bluetooth_uuid_from_u16(0x1824);
153 pub const OBJECT_TRANSFER: Uuid = bluetooth_uuid_from_u16(0x1825);
154 pub const FITNESS_MACHINE: Uuid = bluetooth_uuid_from_u16(0x1826);
155 pub const MESH_PROVISIONING: Uuid = bluetooth_uuid_from_u16(0x1827);
156 pub const MESH_PROXY: Uuid = bluetooth_uuid_from_u16(0x1828);
157 pub const RECONNECTION_CONFIGURATION: Uuid = bluetooth_uuid_from_u16(0x1829);
158 pub const INSULIN_DELIVERY: Uuid = bluetooth_uuid_from_u16(0x183A);
159 pub const BINARY_SENSOR: Uuid = bluetooth_uuid_from_u16(0x183B);
160 pub const EMERGENCY_CONFIGURATION: Uuid = bluetooth_uuid_from_u16(0x183C);
161 pub const PHYSICAL_ACTIVITY_MONITOR: Uuid = bluetooth_uuid_from_u16(0x183E);
162 pub const AUDIO_INPUT_CONTROL: Uuid = bluetooth_uuid_from_u16(0x1843);
163 pub const VOLUME_CONTROL: Uuid = bluetooth_uuid_from_u16(0x1844);
164 pub const VOLUME_OFFSET_CONTROL: Uuid = bluetooth_uuid_from_u16(0x1845);
165 pub const COORDINATED_SET_IDENTIFICATION: Uuid = bluetooth_uuid_from_u16(0x1846);
166 pub const DEVICE_TIME: Uuid = bluetooth_uuid_from_u16(0x1847);
167 pub const MEDIA_CONTROL: Uuid = bluetooth_uuid_from_u16(0x1848);
168 pub const GENERIC_MEDIA_CONTROL: Uuid = bluetooth_uuid_from_u16(0x1849);
169 pub const CONSTANT_TONE_EXTENSION: Uuid = bluetooth_uuid_from_u16(0x184A);
170 pub const TELEPHONE_BEARER: Uuid = bluetooth_uuid_from_u16(0x184B);
171 pub const GENERIC_TELEPHONE_BEARER: Uuid = bluetooth_uuid_from_u16(0x184C);
172 pub const MICROPHONE_CONTROL: Uuid = bluetooth_uuid_from_u16(0x184D);
173 pub const AUDIO_STREAM_CONTROL: Uuid = bluetooth_uuid_from_u16(0x184E);
174 pub const BROADCAST_AUDIO_SCAN: Uuid = bluetooth_uuid_from_u16(0x184F);
175 pub const PUBLISHED_AUDIO_CAPABILITIES: Uuid = bluetooth_uuid_from_u16(0x1850);
176 pub const BASIC_AUDIO_ANNOUNCEMENT: Uuid = bluetooth_uuid_from_u16(0x1851);
177 pub const BROADCAST_AUDIO_ANNOUNCEMENT: Uuid = bluetooth_uuid_from_u16(0x1852);
178 pub const COMMON_AUDIO: Uuid = bluetooth_uuid_from_u16(0x1853);
179 pub const HEARING_ACCESS: Uuid = bluetooth_uuid_from_u16(0x1854);
180 pub const TMAS: Uuid = bluetooth_uuid_from_u16(0x1855);
181 pub const PUBLIC_BROADCAST_ANNOUNCEMENT: Uuid = bluetooth_uuid_from_u16(0x1856);
182}
183
184#[allow(missing_docs)]
186pub mod characteristics {
187 use super::bluetooth_uuid_from_u16;
188 use crate::Uuid;
189
190 pub const DEVICE_NAME: Uuid = bluetooth_uuid_from_u16(0x2A00);
191 pub const APPEARANCE: Uuid = bluetooth_uuid_from_u16(0x2A01);
192 pub const PERIPHERAL_PRIVACY_FLAG: Uuid = bluetooth_uuid_from_u16(0x2A02);
193 pub const RECONNECTION_ADDRESS: Uuid = bluetooth_uuid_from_u16(0x2A03);
194 pub const PERIPHERAL_PREFERRED_CONNECTION_PARAMETERS: Uuid = bluetooth_uuid_from_u16(0x2A04);
195 pub const SERVICE_CHANGED: Uuid = bluetooth_uuid_from_u16(0x2A05);
196 pub const ALERT_LEVEL: Uuid = bluetooth_uuid_from_u16(0x2A06);
197 pub const TX_POWER_LEVEL: Uuid = bluetooth_uuid_from_u16(0x2A07);
198 pub const DATE_TIME: Uuid = bluetooth_uuid_from_u16(0x2A08);
199 pub const DAY_OF_WEEK: Uuid = bluetooth_uuid_from_u16(0x2A09);
200 pub const DAY_DATE_TIME: Uuid = bluetooth_uuid_from_u16(0x2A0A);
201 pub const EXACT_TIME_256: Uuid = bluetooth_uuid_from_u16(0x2A0C);
202 pub const DST_OFFSET: Uuid = bluetooth_uuid_from_u16(0x2A0D);
203 pub const TIME_ZONE: Uuid = bluetooth_uuid_from_u16(0x2A0E);
204 pub const LOCAL_TIME_INFORMATION: Uuid = bluetooth_uuid_from_u16(0x2A0F);
205 pub const TIME_WITH_DST: Uuid = bluetooth_uuid_from_u16(0x2A11);
206 pub const TIME_ACCURACY: Uuid = bluetooth_uuid_from_u16(0x2A12);
207 pub const TIME_SOURCE: Uuid = bluetooth_uuid_from_u16(0x2A13);
208 pub const REFERENCE_TIME_INFORMATION: Uuid = bluetooth_uuid_from_u16(0x2A14);
209 pub const TIME_UPDATE_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2A16);
210 pub const TIME_UPDATE_STATE: Uuid = bluetooth_uuid_from_u16(0x2A17);
211 pub const GLUCOSE_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x2A18);
212 pub const BATTERY_LEVEL: Uuid = bluetooth_uuid_from_u16(0x2A19);
213 pub const TEMPERATURE_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x2A1C);
214 pub const TEMPERATURE_TYPE: Uuid = bluetooth_uuid_from_u16(0x2A1D);
215 pub const INTERMEDIATE_TEMPERATURE: Uuid = bluetooth_uuid_from_u16(0x2A1E);
216 pub const MEASUREMENT_INTERVAL: Uuid = bluetooth_uuid_from_u16(0x2A21);
217 pub const BOOT_KEYBOARD_INPUT_REPORT: Uuid = bluetooth_uuid_from_u16(0x2A22);
218 pub const SYSTEM_ID: Uuid = bluetooth_uuid_from_u16(0x2A23);
219 pub const MODEL_NUMBER_STRING: Uuid = bluetooth_uuid_from_u16(0x2A24);
220 pub const SERIAL_NUMBER_STRING: Uuid = bluetooth_uuid_from_u16(0x2A25);
221 pub const FIRMWARE_REVISION_STRING: Uuid = bluetooth_uuid_from_u16(0x2A26);
222 pub const HARDWARE_REVISION_STRING: Uuid = bluetooth_uuid_from_u16(0x2A27);
223 pub const SOFTWARE_REVISION_STRING: Uuid = bluetooth_uuid_from_u16(0x2A28);
224 pub const MANUFACTURER_NAME_STRING: Uuid = bluetooth_uuid_from_u16(0x2A29);
225 pub const IEEE_11073_20601_REGULATORY_CERTIFICATION_DATA_LIST: Uuid =
226 bluetooth_uuid_from_u16(0x2A2A);
227 pub const CURRENT_TIME: Uuid = bluetooth_uuid_from_u16(0x2A2B);
228 pub const SCAN_REFRESH: Uuid = bluetooth_uuid_from_u16(0x2A31);
229 pub const BOOT_KEYBOARD_OUTPUT_REPORT: Uuid = bluetooth_uuid_from_u16(0x2A32);
230 pub const BOOT_MOUSE_INPUT_REPORT: Uuid = bluetooth_uuid_from_u16(0x2A33);
231 pub const GLUCOSE_MEASUREMENT_CONTEXT: Uuid = bluetooth_uuid_from_u16(0x2A34);
232 pub const BLOOD_PRESSURE_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x2A35);
233 pub const INTERMEDIATE_CUFF_PRESSURE: Uuid = bluetooth_uuid_from_u16(0x2A36);
234 pub const HEART_RATE_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x2A37);
235 pub const BODY_SENSOR_LOCATION: Uuid = bluetooth_uuid_from_u16(0x2A38);
236 pub const HEART_RATE_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2A39);
237 pub const ALERT_STATUS: Uuid = bluetooth_uuid_from_u16(0x2A3F);
238 pub const RINGER_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2A40);
239 pub const RINGER_SETTING: Uuid = bluetooth_uuid_from_u16(0x2A41);
240 pub const ALERT_CATEGORY_ID_BIT_MASK: Uuid = bluetooth_uuid_from_u16(0x2A42);
241 pub const ALERT_CATEGORY_ID: Uuid = bluetooth_uuid_from_u16(0x2A43);
242 pub const ALERT_NOTIFICATION_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2A44);
243 pub const UNREAD_ALERT_STATUS: Uuid = bluetooth_uuid_from_u16(0x2A45);
244 pub const NEW_ALERT: Uuid = bluetooth_uuid_from_u16(0x2A46);
245 pub const SUPPORTED_NEW_ALERT_CATEGORY: Uuid = bluetooth_uuid_from_u16(0x2A47);
246 pub const SUPPORTED_UNREAD_ALERT_CATEGORY: Uuid = bluetooth_uuid_from_u16(0x2A48);
247 pub const BLOOD_PRESSURE_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2A49);
248 pub const HID_INFORMATION: Uuid = bluetooth_uuid_from_u16(0x2A4A);
249 pub const REPORT_MAP: Uuid = bluetooth_uuid_from_u16(0x2A4B);
250 pub const HID_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2A4C);
251 pub const REPORT: Uuid = bluetooth_uuid_from_u16(0x2A4D);
252 pub const PROTOCOL_MODE: Uuid = bluetooth_uuid_from_u16(0x2A4E);
253 pub const SCAN_INTERVAL_WINDOW: Uuid = bluetooth_uuid_from_u16(0x2A4F);
254 pub const PNP_ID: Uuid = bluetooth_uuid_from_u16(0x2A50);
255 pub const GLUCOSE_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2A51);
256 pub const RECORD_ACCESS_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2A52);
257 pub const RSC_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x2A53);
258 pub const RSC_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2A54);
259 pub const SC_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2A55);
260 pub const AGGREGATE: Uuid = bluetooth_uuid_from_u16(0x2A5A);
261 pub const CSC_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x2A5B);
262 pub const CSC_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2A5C);
263 pub const SENSOR_LOCATION: Uuid = bluetooth_uuid_from_u16(0x2A5D);
264 pub const PLX_SPOT_CHECK_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x2A5E);
265 pub const PLX_CONTINUOUS_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x2A5F);
266 pub const PLX_FEATURES: Uuid = bluetooth_uuid_from_u16(0x2A60);
267 pub const CYCLING_POWER_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x2A63);
268 pub const CYCLING_POWER_VECTOR: Uuid = bluetooth_uuid_from_u16(0x2A64);
269 pub const CYCLING_POWER_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2A65);
270 pub const CYCLING_POWER_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2A66);
271 pub const LOCATION_AND_SPEED: Uuid = bluetooth_uuid_from_u16(0x2A67);
272 pub const NAVIGATION: Uuid = bluetooth_uuid_from_u16(0x2A68);
273 pub const POSITION_QUALITY: Uuid = bluetooth_uuid_from_u16(0x2A69);
274 pub const LN_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2A6A);
275 pub const LN_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2A6B);
276 pub const ELEVATION: Uuid = bluetooth_uuid_from_u16(0x2A6C);
277 pub const PRESSURE: Uuid = bluetooth_uuid_from_u16(0x2A6D);
278 pub const TEMPERATURE: Uuid = bluetooth_uuid_from_u16(0x2A6E);
279 pub const HUMIDITY: Uuid = bluetooth_uuid_from_u16(0x2A6F);
280 pub const TRUE_WIND_SPEED: Uuid = bluetooth_uuid_from_u16(0x2A70);
281 pub const TRUE_WIND_DIRECTION: Uuid = bluetooth_uuid_from_u16(0x2A71);
282 pub const APPARENT_WIND_SPEED: Uuid = bluetooth_uuid_from_u16(0x2A72);
283 pub const APPARENT_WIND_DIRECTION: Uuid = bluetooth_uuid_from_u16(0x2A73);
284 pub const GUST_FACTOR: Uuid = bluetooth_uuid_from_u16(0x2A74);
285 pub const POLLEN_CONCENTRATION: Uuid = bluetooth_uuid_from_u16(0x2A75);
286 pub const UV_INDEX: Uuid = bluetooth_uuid_from_u16(0x2A76);
287 pub const IRRADIANCE: Uuid = bluetooth_uuid_from_u16(0x2A77);
288 pub const RAINFALL: Uuid = bluetooth_uuid_from_u16(0x2A78);
289 pub const WIND_CHILL: Uuid = bluetooth_uuid_from_u16(0x2A79);
290 pub const HEAT_INDEX: Uuid = bluetooth_uuid_from_u16(0x2A7A);
291 pub const DEW_POINT: Uuid = bluetooth_uuid_from_u16(0x2A7B);
292 pub const DESCRIPTOR_VALUE_CHANGED: Uuid = bluetooth_uuid_from_u16(0x2A7D);
293 pub const AEROBIC_HEART_RATE_LOWER_LIMIT: Uuid = bluetooth_uuid_from_u16(0x2A7E);
294 pub const AEROBIC_THRESHOLD: Uuid = bluetooth_uuid_from_u16(0x2A7F);
295 pub const AGE: Uuid = bluetooth_uuid_from_u16(0x2A80);
296 pub const ANAEROBIC_HEART_RATE_LOWER_LIMIT: Uuid = bluetooth_uuid_from_u16(0x2A81);
297 pub const ANAEROBIC_HEART_RATE_UPPER_LIMIT: Uuid = bluetooth_uuid_from_u16(0x2A82);
298 pub const ANAEROBIC_THRESHOLD: Uuid = bluetooth_uuid_from_u16(0x2A83);
299 pub const AEROBIC_HEART_RATE_UPPER_LIMIT: Uuid = bluetooth_uuid_from_u16(0x2A84);
300 pub const DATE_OF_BIRTH: Uuid = bluetooth_uuid_from_u16(0x2A85);
301 pub const DATE_OF_THRESHOLD_ASSESSMENT: Uuid = bluetooth_uuid_from_u16(0x2A86);
302 pub const EMAIL_ADDRESS: Uuid = bluetooth_uuid_from_u16(0x2A87);
303 pub const FAT_BURN_HEART_RATE_LOWER_LIMIT: Uuid = bluetooth_uuid_from_u16(0x2A88);
304 pub const FAT_BURN_HEART_RATE_UPPER_LIMIT: Uuid = bluetooth_uuid_from_u16(0x2A89);
305 pub const FIRST_NAME: Uuid = bluetooth_uuid_from_u16(0x2A8A);
306 pub const FIVE_ZONE_HEART_RATE_LIMITS: Uuid = bluetooth_uuid_from_u16(0x2A8B);
307 pub const GENDER: Uuid = bluetooth_uuid_from_u16(0x2A8C);
308 pub const HEART_RATE_MAX: Uuid = bluetooth_uuid_from_u16(0x2A8D);
309 pub const HEIGHT: Uuid = bluetooth_uuid_from_u16(0x2A8E);
310 pub const HIP_CIRCUMFERENCE: Uuid = bluetooth_uuid_from_u16(0x2A8F);
311 pub const LAST_NAME: Uuid = bluetooth_uuid_from_u16(0x2A90);
312 pub const MAXIMUM_RECOMMENDED_HEART_RATE: Uuid = bluetooth_uuid_from_u16(0x2A91);
313 pub const RESTING_HEART_RATE: Uuid = bluetooth_uuid_from_u16(0x2A92);
314 pub const SPORT_TYPE_FOR_AEROBIC_AND_ANAEROBIC_THRESHOLDS: Uuid =
315 bluetooth_uuid_from_u16(0x2A93);
316 pub const THREE_ZONE_HEART_RATE_LIMITS: Uuid = bluetooth_uuid_from_u16(0x2A94);
317 pub const TWO_ZONE_HEART_RATE_LIMITS: Uuid = bluetooth_uuid_from_u16(0x2A95);
318 pub const VO2_MAX: Uuid = bluetooth_uuid_from_u16(0x2A96);
319 pub const WAIST_CIRCUMFERENCE: Uuid = bluetooth_uuid_from_u16(0x2A97);
320 pub const WEIGHT: Uuid = bluetooth_uuid_from_u16(0x2A98);
321 pub const DATABASE_CHANGE_INCREMENT: Uuid = bluetooth_uuid_from_u16(0x2A99);
322 pub const USER_INDEX: Uuid = bluetooth_uuid_from_u16(0x2A9A);
323 pub const BODY_COMPOSITION_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2A9B);
324 pub const BODY_COMPOSITION_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x2A9C);
325 pub const WEIGHT_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x2A9D);
326 pub const WEIGHT_SCALE_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2A9E);
327 pub const USER_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2A9F);
328 pub const MAGNETIC_FLUX_DENSITY_2D: Uuid = bluetooth_uuid_from_u16(0x2AA0);
329 pub const MAGNETIC_FLUX_DENSITY_3D: Uuid = bluetooth_uuid_from_u16(0x2AA1);
330 pub const LANGUAGE: Uuid = bluetooth_uuid_from_u16(0x2AA2);
331 pub const BAROMETRIC_PRESSURE_TREND: Uuid = bluetooth_uuid_from_u16(0x2AA3);
332 pub const BOND_MANAGEMENT_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2AA4);
333 pub const BOND_MANAGEMENT_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2AA5);
334 pub const CENTRAL_ADDRESS_RESOLUTION: Uuid = bluetooth_uuid_from_u16(0x2AA6);
335 pub const CGM_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x2AA7);
336 pub const CGM_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2AA8);
337 pub const CGM_STATUS: Uuid = bluetooth_uuid_from_u16(0x2AA9);
338 pub const CGM_SESSION_START_TIME: Uuid = bluetooth_uuid_from_u16(0x2AAA);
339 pub const CGM_SESSION_RUN_TIME: Uuid = bluetooth_uuid_from_u16(0x2AAB);
340 pub const CGM_SPECIFIC_OPS_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2AAC);
341 pub const INDOOR_POSITIONING_CONFIGURATION: Uuid = bluetooth_uuid_from_u16(0x2AAD);
342 pub const LATITUDE: Uuid = bluetooth_uuid_from_u16(0x2AAE);
343 pub const LONGITUDE: Uuid = bluetooth_uuid_from_u16(0x2AAF);
344 pub const LOCAL_NORTH_COORDINATE: Uuid = bluetooth_uuid_from_u16(0x2AB0);
345 pub const LOCAL_EAST_COORDINATE: Uuid = bluetooth_uuid_from_u16(0x2AB1);
346 pub const FLOOR_NUMBER: Uuid = bluetooth_uuid_from_u16(0x2AB2);
347 pub const ALTITUDE: Uuid = bluetooth_uuid_from_u16(0x2AB3);
348 pub const UNCERTAINTY: Uuid = bluetooth_uuid_from_u16(0x2AB4);
349 pub const LOCATION_NAME: Uuid = bluetooth_uuid_from_u16(0x2AB5);
350 pub const URI: Uuid = bluetooth_uuid_from_u16(0x2AB6);
351 pub const HTTP_HEADERS: Uuid = bluetooth_uuid_from_u16(0x2AB7);
352 pub const HTTP_STATUS_CODE: Uuid = bluetooth_uuid_from_u16(0x2AB8);
353 pub const HTTP_ENTITY_BODY: Uuid = bluetooth_uuid_from_u16(0x2AB9);
354 pub const HTTP_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2ABA);
355 pub const HTTPS_SECURITY: Uuid = bluetooth_uuid_from_u16(0x2ABB);
356 pub const TDS_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2ABC);
357 pub const OTS_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2ABD);
358 pub const OBJECT_NAME: Uuid = bluetooth_uuid_from_u16(0x2ABE);
359 pub const OBJECT_TYPE: Uuid = bluetooth_uuid_from_u16(0x2ABF);
360 pub const OBJECT_SIZE: Uuid = bluetooth_uuid_from_u16(0x2AC0);
361 pub const OBJECT_FIRST_CREATED: Uuid = bluetooth_uuid_from_u16(0x2AC1);
362 pub const OBJECT_LAST_MODIFIED: Uuid = bluetooth_uuid_from_u16(0x2AC2);
363 pub const OBJECT_ID: Uuid = bluetooth_uuid_from_u16(0x2AC3);
364 pub const OBJECT_PROPERTIES: Uuid = bluetooth_uuid_from_u16(0x2AC4);
365 pub const OBJECT_ACTION_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2AC5);
366 pub const OBJECT_LIST_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2AC6);
367 pub const OBJECT_LIST_FILTER: Uuid = bluetooth_uuid_from_u16(0x2AC7);
368 pub const OBJECT_CHANGED: Uuid = bluetooth_uuid_from_u16(0x2AC8);
369 pub const RESOLVABLE_PRIVATE_ADDRESS_ONLY: Uuid = bluetooth_uuid_from_u16(0x2AC9);
370 pub const UNSPECIFIED: Uuid = bluetooth_uuid_from_u16(0x2ACA);
371 pub const DIRECTORY_LISTING: Uuid = bluetooth_uuid_from_u16(0x2ACB);
372 pub const FITNESS_MACHINE_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2ACC);
373 pub const TREADMILL_DATA: Uuid = bluetooth_uuid_from_u16(0x2ACD);
374 pub const CROSS_TRAINER_DATA: Uuid = bluetooth_uuid_from_u16(0x2ACE);
375 pub const STEP_CLIMBER_DATA: Uuid = bluetooth_uuid_from_u16(0x2ACF);
376 pub const STAIR_CLIMBER_DATA: Uuid = bluetooth_uuid_from_u16(0x2AD0);
377 pub const ROWER_DATA: Uuid = bluetooth_uuid_from_u16(0x2AD1);
378 pub const INDOOR_BIKE_DATA: Uuid = bluetooth_uuid_from_u16(0x2AD2);
379 pub const TRAINING_STATUS: Uuid = bluetooth_uuid_from_u16(0x2AD3);
380 pub const SUPPORTED_SPEED_RANGE: Uuid = bluetooth_uuid_from_u16(0x2AD4);
381 pub const SUPPORTED_INCLINATION_RANGE: Uuid = bluetooth_uuid_from_u16(0x2AD5);
382 pub const SUPPORTED_RESISTANCE_LEVEL_RANGE: Uuid = bluetooth_uuid_from_u16(0x2AD6);
383 pub const SUPPORTED_HEART_RATE_RANGE: Uuid = bluetooth_uuid_from_u16(0x2AD7);
384 pub const SUPPORTED_POWER_RANGE: Uuid = bluetooth_uuid_from_u16(0x2AD8);
385 pub const FITNESS_MACHINE_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2AD9);
386 pub const FITNESS_MACHINE_STATUS: Uuid = bluetooth_uuid_from_u16(0x2ADA);
387 pub const MESH_PROVISIONING_DATA_IN: Uuid = bluetooth_uuid_from_u16(0x2ADB);
388 pub const MESH_PROVISIONING_DATA_OUT: Uuid = bluetooth_uuid_from_u16(0x2ADC);
389 pub const MESH_PROXY_DATA_IN: Uuid = bluetooth_uuid_from_u16(0x2ADD);
390 pub const MESH_PROXY_DATA_OUT: Uuid = bluetooth_uuid_from_u16(0x2ADE);
391 pub const AVERAGE_CURRENT: Uuid = bluetooth_uuid_from_u16(0x2AE0);
392 pub const AVERAGE_VOLTAGE: Uuid = bluetooth_uuid_from_u16(0x2AE1);
393 pub const BOOLEAN: Uuid = bluetooth_uuid_from_u16(0x2AE2);
394 pub const CHROMATIC_DISTANCE_FROM_PLANCKIAN: Uuid = bluetooth_uuid_from_u16(0x2AE3);
395 pub const CHROMATICITY_COORDINATES: Uuid = bluetooth_uuid_from_u16(0x2AE4);
396 pub const CHROMATICITY_IN_CCT_AND_DUV_VALUES: Uuid = bluetooth_uuid_from_u16(0x2AE5);
397 pub const CHROMATICITY_TOLERANCE: Uuid = bluetooth_uuid_from_u16(0x2AE6);
398 pub const CIE_13_3_1995_COLOR_RENDERING_INDEX: Uuid = bluetooth_uuid_from_u16(0x2AE7);
399 pub const COEFFICIENT: Uuid = bluetooth_uuid_from_u16(0x2AE8);
400 pub const CORRELATED_COLOR_TEMPERATURE: Uuid = bluetooth_uuid_from_u16(0x2AE9);
401 pub const COUNT_16: Uuid = bluetooth_uuid_from_u16(0x2AEA);
402 pub const COUNT_24: Uuid = bluetooth_uuid_from_u16(0x2AEB);
403 pub const COUNTRY_CODE: Uuid = bluetooth_uuid_from_u16(0x2AEC);
404 pub const DATE_UTC: Uuid = bluetooth_uuid_from_u16(0x2AED);
405 pub const ELECTRIC_CURRENT: Uuid = bluetooth_uuid_from_u16(0x2AEE);
406 pub const ELECTRIC_CURRENT_RANGE: Uuid = bluetooth_uuid_from_u16(0x2AEF);
407 pub const ELECTRIC_CURRENT_SPECIFICATION: Uuid = bluetooth_uuid_from_u16(0x2AF0);
408 pub const ELECTRIC_CURRENT_STATISTICS: Uuid = bluetooth_uuid_from_u16(0x2AF1);
409 pub const ENERGY: Uuid = bluetooth_uuid_from_u16(0x2AF2);
410 pub const ENERGY_IN_A_PERIOD_OF_DAY: Uuid = bluetooth_uuid_from_u16(0x2AF3);
411 pub const EVENT_STATISTICS: Uuid = bluetooth_uuid_from_u16(0x2AF4);
412 pub const FIXED_STRING_16: Uuid = bluetooth_uuid_from_u16(0x2AF5);
413 pub const FIXED_STRING_24: Uuid = bluetooth_uuid_from_u16(0x2AF6);
414 pub const FIXED_STRING_36: Uuid = bluetooth_uuid_from_u16(0x2AF7);
415 pub const FIXED_STRING_8: Uuid = bluetooth_uuid_from_u16(0x2AF8);
416 pub const GENERIC_LEVEL: Uuid = bluetooth_uuid_from_u16(0x2AF9);
417 pub const GLOBAL_TRADE_ITEM_NUMBER: Uuid = bluetooth_uuid_from_u16(0x2AFA);
418 pub const ILLUMINANCE: Uuid = bluetooth_uuid_from_u16(0x2AFB);
419 pub const LUMINOUS_EFFICACY: Uuid = bluetooth_uuid_from_u16(0x2AFC);
420 pub const LUMINOUS_ENERGY: Uuid = bluetooth_uuid_from_u16(0x2AFD);
421 pub const LUMINOUS_EXPOSURE: Uuid = bluetooth_uuid_from_u16(0x2AFE);
422 pub const LUMINOUS_FLUX: Uuid = bluetooth_uuid_from_u16(0x2AFF);
423 pub const LUMINOUS_FLUX_RANGE: Uuid = bluetooth_uuid_from_u16(0x2B00);
424 pub const LUMINOUS_INTENSITY: Uuid = bluetooth_uuid_from_u16(0x2B01);
425 pub const MASS_FLOW: Uuid = bluetooth_uuid_from_u16(0x2B02);
426 pub const PERCEIVED_LIGHTNESS: Uuid = bluetooth_uuid_from_u16(0x2B03);
427 pub const PERCENTAGE_8: Uuid = bluetooth_uuid_from_u16(0x2B04);
428 pub const POWER: Uuid = bluetooth_uuid_from_u16(0x2B05);
429 pub const POWER_SPECIFICATION: Uuid = bluetooth_uuid_from_u16(0x2B06);
430 pub const RELATIVE_RUNTIME_IN_A_CURRENT_RANGE: Uuid = bluetooth_uuid_from_u16(0x2B07);
431 pub const RELATIVE_RUNTIME_IN_A_GENERIC_LEVEL_RANGE: Uuid = bluetooth_uuid_from_u16(0x2B08);
432 pub const RELATIVE_VALUE_IN_A_VOLTAGE_RANGE: Uuid = bluetooth_uuid_from_u16(0x2B09);
433 pub const RELATIVE_VALUE_IN_AN_ILLUMINANCE_RANGE: Uuid = bluetooth_uuid_from_u16(0x2B0A);
434 pub const RELATIVE_VALUE_IN_A_PERIOD_OF_DAY: Uuid = bluetooth_uuid_from_u16(0x2B0B);
435 pub const RELATIVE_VALUE_IN_A_TEMPERATURE_RANGE: Uuid = bluetooth_uuid_from_u16(0x2B0C);
436 pub const TEMPERATURE_8: Uuid = bluetooth_uuid_from_u16(0x2B0D);
437 pub const TEMPERATURE_8_IN_A_PERIOD_OF_DAY: Uuid = bluetooth_uuid_from_u16(0x2B0E);
438 pub const TEMPERATURE_8_STATISTICS: Uuid = bluetooth_uuid_from_u16(0x2B0F);
439 pub const TEMPERATURE_RANGE: Uuid = bluetooth_uuid_from_u16(0x2B10);
440 pub const TEMPERATURE_STATISTICS: Uuid = bluetooth_uuid_from_u16(0x2B11);
441 pub const TIME_DECIHOUR_8: Uuid = bluetooth_uuid_from_u16(0x2B12);
442 pub const TIME_EXPONENTIAL_8: Uuid = bluetooth_uuid_from_u16(0x2B13);
443 pub const TIME_HOUR_24: Uuid = bluetooth_uuid_from_u16(0x2B14);
444 pub const TIME_MILLISECOND_24: Uuid = bluetooth_uuid_from_u16(0x2B15);
445 pub const TIME_SECOND_16: Uuid = bluetooth_uuid_from_u16(0x2B16);
446 pub const TIME_SECOND_8: Uuid = bluetooth_uuid_from_u16(0x2B17);
447 pub const VOLTAGE: Uuid = bluetooth_uuid_from_u16(0x2B18);
448 pub const VOLTAGE_SPECIFICATION: Uuid = bluetooth_uuid_from_u16(0x2B19);
449 pub const VOLTAGE_STATISTICS: Uuid = bluetooth_uuid_from_u16(0x2B1A);
450 pub const VOLUME_FLOW: Uuid = bluetooth_uuid_from_u16(0x2B1B);
451 pub const CHROMATICITY_COORDINATE: Uuid = bluetooth_uuid_from_u16(0x2B1C);
452 pub const RC_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2B1D);
453 pub const RC_SETTINGS: Uuid = bluetooth_uuid_from_u16(0x2B1E);
454 pub const RECONNECTION_CONFIGURATION_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2B1F);
455 pub const IDD_STATUS_CHANGED: Uuid = bluetooth_uuid_from_u16(0x2B20);
456 pub const IDD_STATUS: Uuid = bluetooth_uuid_from_u16(0x2B21);
457 pub const IDD_ANNUNCIATION_STATUS: Uuid = bluetooth_uuid_from_u16(0x2B22);
458 pub const IDD_FEATURES: Uuid = bluetooth_uuid_from_u16(0x2B23);
459 pub const IDD_STATUS_READER_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2B24);
460 pub const IDD_COMMAND_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2B25);
461 pub const IDD_COMMAND_DATA: Uuid = bluetooth_uuid_from_u16(0x2B26);
462 pub const IDD_RECORD_ACCESS_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2B27);
463 pub const IDD_HISTORY_DATA: Uuid = bluetooth_uuid_from_u16(0x2B28);
464 pub const CLIENT_SUPPORTED_FEATURES: Uuid = bluetooth_uuid_from_u16(0x2B29);
465 pub const DATABASE_HASH: Uuid = bluetooth_uuid_from_u16(0x2B2A);
466 pub const BSS_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2B2B);
467 pub const BSS_RESPONSE: Uuid = bluetooth_uuid_from_u16(0x2B2C);
468 pub const EMERGENCY_ID: Uuid = bluetooth_uuid_from_u16(0x2B2D);
469 pub const EMERGENCY_TEXT: Uuid = bluetooth_uuid_from_u16(0x2B2E);
470 pub const ENHANCED_BLOOD_PRESSURE_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x2B34);
471 pub const ENHANCED_INTERMEDIATE_CUFF_PRESSURE: Uuid = bluetooth_uuid_from_u16(0x2B35);
472 pub const BLOOD_PRESSURE_RECORD: Uuid = bluetooth_uuid_from_u16(0x2B36);
473 pub const BR_EDR_HANDOVER_DATA: Uuid = bluetooth_uuid_from_u16(0x2B38);
474 pub const BLUETOOTH_SIG_DATA: Uuid = bluetooth_uuid_from_u16(0x2B39);
475 pub const SERVER_SUPPORTED_FEATURES: Uuid = bluetooth_uuid_from_u16(0x2B3A);
476 pub const PHYSICAL_ACTIVITY_MONITOR_FEATURES: Uuid = bluetooth_uuid_from_u16(0x2B3B);
477 pub const GENERAL_ACTIVITY_INSTANTANEOUS_DATA: Uuid = bluetooth_uuid_from_u16(0x2B3C);
478 pub const GENERAL_ACTIVITY_SUMMARY_DATA: Uuid = bluetooth_uuid_from_u16(0x2B3D);
479 pub const CARDIORESPIRATORY_ACTIVITY_INSTANTANEOUS_DATA: Uuid = bluetooth_uuid_from_u16(0x2B3E);
480 pub const CARDIORESPIRATORY_ACTIVITY_SUMMARY_DATA: Uuid = bluetooth_uuid_from_u16(0x2B3F);
481 pub const STEP_COUNTER_ACTIVITY_SUMMARY_DATA: Uuid = bluetooth_uuid_from_u16(0x2B40);
482 pub const SLEEP_ACTIVITY_INSTANTANEOUS_DATA: Uuid = bluetooth_uuid_from_u16(0x2B41);
483 pub const SLEEP_ACTIVITY_SUMMARY_DATA: Uuid = bluetooth_uuid_from_u16(0x2B42);
484 pub const PHYSICAL_ACTIVITY_MONITOR_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2B43);
485 pub const ACTIVITY_CURRENT_SESSION: Uuid = bluetooth_uuid_from_u16(0x2B44);
486 pub const PHYSICAL_ACTIVITY_SESSION_DESCRIPTOR: Uuid = bluetooth_uuid_from_u16(0x2B45);
487 pub const PREFERRED_UNITS: Uuid = bluetooth_uuid_from_u16(0x2B46);
488 pub const HIGH_RESOLUTION_HEIGHT: Uuid = bluetooth_uuid_from_u16(0x2B47);
489 pub const MIDDLE_NAME: Uuid = bluetooth_uuid_from_u16(0x2B48);
490 pub const STRIDE_LENGTH: Uuid = bluetooth_uuid_from_u16(0x2B49);
491 pub const HANDEDNESS: Uuid = bluetooth_uuid_from_u16(0x2B4A);
492 pub const DEVICE_WEARING_POSITION: Uuid = bluetooth_uuid_from_u16(0x2B4B);
493 pub const FOUR_ZONE_HEART_RATE_LIMITS: Uuid = bluetooth_uuid_from_u16(0x2B4C);
494 pub const HIGH_INTENSITY_EXERCISE_THRESHOLD: Uuid = bluetooth_uuid_from_u16(0x2B4D);
495 pub const ACTIVITY_GOAL: Uuid = bluetooth_uuid_from_u16(0x2B4E);
496 pub const SEDENTARY_INTERVAL_NOTIFICATION: Uuid = bluetooth_uuid_from_u16(0x2B4F);
497 pub const CALORIC_INTAKE: Uuid = bluetooth_uuid_from_u16(0x2B50);
498 pub const TMAP_ROLE: Uuid = bluetooth_uuid_from_u16(0x2B51);
499 pub const AUDIO_INPUT_STATE: Uuid = bluetooth_uuid_from_u16(0x2B77);
500 pub const GAIN_SETTINGS_ATTRIBUTE: Uuid = bluetooth_uuid_from_u16(0x2B78);
501 pub const AUDIO_INPUT_TYPE: Uuid = bluetooth_uuid_from_u16(0x2B79);
502 pub const AUDIO_INPUT_STATUS: Uuid = bluetooth_uuid_from_u16(0x2B7A);
503 pub const AUDIO_INPUT_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2B7B);
504 pub const AUDIO_INPUT_DESCRIPTION: Uuid = bluetooth_uuid_from_u16(0x2B7C);
505 pub const VOLUME_STATE: Uuid = bluetooth_uuid_from_u16(0x2B7D);
506 pub const VOLUME_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2B7E);
507 pub const VOLUME_FLAGS: Uuid = bluetooth_uuid_from_u16(0x2B7F);
508 pub const VOLUME_OFFSET_STATE: Uuid = bluetooth_uuid_from_u16(0x2B80);
509 pub const AUDIO_LOCATION: Uuid = bluetooth_uuid_from_u16(0x2B81);
510 pub const VOLUME_OFFSET_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2B82);
511 pub const AUDIO_OUTPUT_DESCRIPTION: Uuid = bluetooth_uuid_from_u16(0x2B83);
512 pub const SET_IDENTITY_RESOLVING_KEY: Uuid = bluetooth_uuid_from_u16(0x2B84);
513 pub const COORDINATED_SET_SIZE: Uuid = bluetooth_uuid_from_u16(0x2B85);
514 pub const SET_MEMBER_LOCK: Uuid = bluetooth_uuid_from_u16(0x2B86);
515 pub const SET_MEMBER_RANK: Uuid = bluetooth_uuid_from_u16(0x2B87);
516 pub const DEVICE_TIME_FEATURE: Uuid = bluetooth_uuid_from_u16(0x2B8E);
517 pub const DEVICE_TIME_PARAMETERS: Uuid = bluetooth_uuid_from_u16(0x2B8F);
518 pub const DEVICE_TIME: Uuid = bluetooth_uuid_from_u16(0x2B90);
519 pub const DEVICE_TIME_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2B91);
520 pub const TIME_CHANGE_LOG_DATA: Uuid = bluetooth_uuid_from_u16(0x2B92);
521 pub const MEDIA_PLAYER_NAME: Uuid = bluetooth_uuid_from_u16(0x2B93);
522 pub const MEDIA_PLAYER_ICON_OBJECT_ID: Uuid = bluetooth_uuid_from_u16(0x2B94);
523 pub const MEDIA_PLAYER_ICON_URL: Uuid = bluetooth_uuid_from_u16(0x2B95);
524 pub const TRACK_CHANGED: Uuid = bluetooth_uuid_from_u16(0x2B96);
525 pub const TRACK_TITLE: Uuid = bluetooth_uuid_from_u16(0x2B97);
526 pub const TRACK_DURATION: Uuid = bluetooth_uuid_from_u16(0x2B98);
527 pub const TRACK_POSITION: Uuid = bluetooth_uuid_from_u16(0x2B99);
528 pub const PLAYBACK_SPEED: Uuid = bluetooth_uuid_from_u16(0x2B9A);
529 pub const SEEKING_SPEED: Uuid = bluetooth_uuid_from_u16(0x2B9B);
530 pub const CURRENT_TRACK_SEGMENTS_OBJECT_ID: Uuid = bluetooth_uuid_from_u16(0x2B9C);
531 pub const CURRENT_TRACK_OBJECT_ID: Uuid = bluetooth_uuid_from_u16(0x2B9D);
532 pub const NEXT_TRACK_OBJECT_ID: Uuid = bluetooth_uuid_from_u16(0x2B9E);
533 pub const PARENT_GROUP_OBJECT_ID: Uuid = bluetooth_uuid_from_u16(0x2B9F);
534 pub const CURRENT_GROUP_OBJECT_ID: Uuid = bluetooth_uuid_from_u16(0x2BA0);
535 pub const PLAYING_ORDER: Uuid = bluetooth_uuid_from_u16(0x2BA1);
536 pub const PLAYING_ORDERS_SUPPORTED: Uuid = bluetooth_uuid_from_u16(0x2BA2);
537 pub const MEDIA_STATE: Uuid = bluetooth_uuid_from_u16(0x2BA3);
538 pub const MEDIA_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2BA4);
539 pub const MEDIA_CONTROL_POINT_OPCODES_SUPPORTED: Uuid = bluetooth_uuid_from_u16(0x2BA5);
540 pub const SEARCH_RESULTS_OBJECT_ID: Uuid = bluetooth_uuid_from_u16(0x2BA6);
541 pub const SEARCH_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2BA7);
542 pub const MEDIA_PLAYER_ICON_OBJECT_TYPE: Uuid = bluetooth_uuid_from_u16(0x2BA9);
543 pub const TRACK_SEGMENTS_OBJECT_TYPE: Uuid = bluetooth_uuid_from_u16(0x2BAA);
544 pub const TRACK_OBJECT_TYPE: Uuid = bluetooth_uuid_from_u16(0x2BAB);
545 pub const GROUP_OBJECT_TYPE: Uuid = bluetooth_uuid_from_u16(0x2BAC);
546 pub const CONSTANT_TONE_EXTENSION_ENABLE: Uuid = bluetooth_uuid_from_u16(0x2BAD);
547 pub const ADVERTISING_CONSTANT_TONE_EXTENSION_MINIMUM_LENGTH: Uuid =
548 bluetooth_uuid_from_u16(0x2BAE);
549 pub const ADVERTISING_CONSTANT_TONE_EXTENSION_MINIMUM_TRANSMIT_COUNT: Uuid =
550 bluetooth_uuid_from_u16(0x2BAF);
551 pub const ADVERTISING_CONSTANT_TONE_EXTENSION_TRANSMIT_DURATION: Uuid =
552 bluetooth_uuid_from_u16(0x2BB0);
553 pub const ADVERTISING_CONSTANT_TONE_EXTENSION_INTERVAL: Uuid = bluetooth_uuid_from_u16(0x2BB1);
554 pub const ADVERTISING_CONSTANT_TONE_EXTENSION_PHY: Uuid = bluetooth_uuid_from_u16(0x2BB2);
555 pub const BEARER_PROVIDER_NAME: Uuid = bluetooth_uuid_from_u16(0x2BB3);
556 pub const BEARER_UCI: Uuid = bluetooth_uuid_from_u16(0x2BB4);
557 pub const BEARER_TECHNOLOGY: Uuid = bluetooth_uuid_from_u16(0x2BB5);
558 pub const BEARER_URI_SCHEMES_SUPPORTED_LIST: Uuid = bluetooth_uuid_from_u16(0x2BB6);
559 pub const BEARER_SIGNAL_STRENGTH: Uuid = bluetooth_uuid_from_u16(0x2BB7);
560 pub const BEARER_SIGNAL_STRENGTH_REPORTING_INTERVAL: Uuid = bluetooth_uuid_from_u16(0x2BB8);
561 pub const BEARER_LIST_CURRENT_CALLS: Uuid = bluetooth_uuid_from_u16(0x2BB9);
562 pub const CONTENT_CONTROL_ID: Uuid = bluetooth_uuid_from_u16(0x2BBA);
563 pub const STATUS_FLAGS: Uuid = bluetooth_uuid_from_u16(0x2BBB);
564 pub const INCOMING_CALL_TARGET_BEARER_URI: Uuid = bluetooth_uuid_from_u16(0x2BBC);
565 pub const CALL_STATE: Uuid = bluetooth_uuid_from_u16(0x2BBD);
566 pub const CALL_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2BBE);
567 pub const CALL_CONTROL_POINT_OPTIONAL_OPCODES: Uuid = bluetooth_uuid_from_u16(0x2BBF);
568 pub const TERMINATION_REASON: Uuid = bluetooth_uuid_from_u16(0x2BC0);
569 pub const INCOMING_CALL: Uuid = bluetooth_uuid_from_u16(0x2BC1);
570 pub const CALL_FRIENDLY_NAME: Uuid = bluetooth_uuid_from_u16(0x2BC2);
571 pub const MUTE: Uuid = bluetooth_uuid_from_u16(0x2BC3);
572 pub const SINK_ASE: Uuid = bluetooth_uuid_from_u16(0x2BC4);
573 pub const SOURCE_ASE: Uuid = bluetooth_uuid_from_u16(0x2BC5);
574 pub const ASE_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2BC6);
575 pub const BROADCAST_AUDIO_SCAN_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2BC7);
576 pub const BROADCAST_RECEIVE_STATE: Uuid = bluetooth_uuid_from_u16(0x2BC8);
577 pub const SINK_PAC: Uuid = bluetooth_uuid_from_u16(0x2BC9);
578 pub const SINK_AUDIO_LOCATIONS: Uuid = bluetooth_uuid_from_u16(0x2BCA);
579 pub const SOURCE_PAC: Uuid = bluetooth_uuid_from_u16(0x2BCB);
580 pub const SOURCE_AUDIO_LOCATIONS: Uuid = bluetooth_uuid_from_u16(0x2BCC);
581 pub const AVAILABLE_AUDIO_CONTEXTS: Uuid = bluetooth_uuid_from_u16(0x2BCD);
582 pub const SUPPORTED_AUDIO_CONTEXTS: Uuid = bluetooth_uuid_from_u16(0x2BCE);
583 pub const AMMONIA_CONCENTRATION: Uuid = bluetooth_uuid_from_u16(0x2BCF);
584 pub const CARBON_MONOXIDE_CONCENTRATION: Uuid = bluetooth_uuid_from_u16(0x2BD0);
585 pub const METHANE_CONCENTRATION: Uuid = bluetooth_uuid_from_u16(0x2BD1);
586 pub const NITROGEN_DIOXIDE_CONCENTRATION: Uuid = bluetooth_uuid_from_u16(0x2BD2);
587 pub const NON_METHANE_VOLATILE_ORGANIC_COMPOUNDS_CONCENTRATION: Uuid =
588 bluetooth_uuid_from_u16(0x2BD3);
589 pub const OZONE_CONCENTRATION: Uuid = bluetooth_uuid_from_u16(0x2BD4);
590 pub const PARTICULATE_MATTER_PM1_CONCENTRATION: Uuid = bluetooth_uuid_from_u16(0x2BD5);
591 pub const PARTICULATE_MATTER_PM2_5_CONCENTRATION: Uuid = bluetooth_uuid_from_u16(0x2BD6);
592 pub const PARTICULATE_MATTER_PM10_CONCENTRATION: Uuid = bluetooth_uuid_from_u16(0x2BD7);
593 pub const SULFUR_DIOXIDE_CONCENTRATION: Uuid = bluetooth_uuid_from_u16(0x2BD8);
594 pub const SULFUR_HEXAFLUORIDE_CONCENTRATION: Uuid = bluetooth_uuid_from_u16(0x2BD9);
595 pub const HEARING_AID_FEATURES: Uuid = bluetooth_uuid_from_u16(0x2BDA);
596 pub const HEARING_AID_PRESET_CONTROL_POINT: Uuid = bluetooth_uuid_from_u16(0x2BDB);
597 pub const ACTIVE_PRESET_INDEX: Uuid = bluetooth_uuid_from_u16(0x2BDC);
598}
599
600#[allow(missing_docs)]
602pub mod descriptors {
603 use super::bluetooth_uuid_from_u16;
604 use crate::Uuid;
605
606 pub const CHARACTERISTIC_EXTENDED_PROPERTIES: Uuid = bluetooth_uuid_from_u16(0x2900);
607 pub const CHARACTERISTIC_USER_DESCRIPTION: Uuid = bluetooth_uuid_from_u16(0x2901);
608 pub const CLIENT_CHARACTERISTIC_CONFIGURATION: Uuid = bluetooth_uuid_from_u16(0x2902);
609 pub const SERVER_CHARACTERISTIC_CONFIGURATION: Uuid = bluetooth_uuid_from_u16(0x2903);
610 pub const CHARACTERISTIC_PRESENTATION_FORMAT: Uuid = bluetooth_uuid_from_u16(0x2904);
611 pub const CHARACTERISTIC_AGGREGATE_FORMAT: Uuid = bluetooth_uuid_from_u16(0x2905);
612 pub const VALID_RANGE: Uuid = bluetooth_uuid_from_u16(0x2906);
613 pub const EXTERNAL_REPORT_REFERENCE: Uuid = bluetooth_uuid_from_u16(0x2907);
614 pub const REPORT_REFERENCE: Uuid = bluetooth_uuid_from_u16(0x2908);
615 pub const NUMBER_OF_DIGITALS: Uuid = bluetooth_uuid_from_u16(0x2909);
616 pub const VALUE_TRIGGER_SETTING: Uuid = bluetooth_uuid_from_u16(0x290A);
617 pub const ENVIRONMENTAL_SENSING_CONFIGURATION: Uuid = bluetooth_uuid_from_u16(0x290B);
618 pub const ENVIRONMENTAL_SENSING_MEASUREMENT: Uuid = bluetooth_uuid_from_u16(0x290C);
619 pub const ENVIRONMENTAL_SENSING_TRIGGER_SETTING: Uuid = bluetooth_uuid_from_u16(0x290D);
620 pub const TIME_TRIGGER_SETTING: Uuid = bluetooth_uuid_from_u16(0x290E);
621 pub const COMPLETE_BR_EDR_TRANSPORT_BLOCK_DATA: Uuid = bluetooth_uuid_from_u16(0x290F);
622 pub const L2CAPPSM_CHARACTERISTIC: Uuid =
623 Uuid::from_u128(0xABDD3056_28FA_441D_A470_55A75A52553Au128);
624}