1 /** @file
2  *  @brief Bluetooth UUID handling
3  */
4 
5 /*
6  * Copyright (c) 2015-2016 Intel Corporation
7  *
8  * SPDX-License-Identifier: Apache-2.0
9  */
10 #ifndef ZEPHYR_INCLUDE_BLUETOOTH_UUID_H_
11 #define ZEPHYR_INCLUDE_BLUETOOTH_UUID_H_
12 
13 /**
14  * @brief UUIDs
15  * @defgroup bt_uuid UUIDs
16  * @ingroup bluetooth
17  * @{
18  */
19 
20 #include <sys/util.h>
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 /** @brief Bluetooth UUID types */
27 enum {
28 	/** UUID type 16-bit. */
29 	BT_UUID_TYPE_16,
30 	/** UUID type 32-bit. */
31 	BT_UUID_TYPE_32,
32 	/** UUID type 128-bit. */
33 	BT_UUID_TYPE_128,
34 };
35 
36 /** Size in octets of a 16-bit UUID */
37 #define BT_UUID_SIZE_16                  2
38 
39 /** Size in octets of a 32-bit UUID */
40 #define BT_UUID_SIZE_32                  4
41 
42 /** Size in octets of a 128-bit UUID */
43 #define BT_UUID_SIZE_128                 16
44 
45 /** @brief This is a 'tentative' type and should be used as a pointer only */
46 struct bt_uuid {
47 	uint8_t type;
48 };
49 
50 struct bt_uuid_16 {
51 	/** UUID generic type. */
52 	struct bt_uuid uuid;
53 	/** UUID value, 16-bit in host endianness. */
54 	uint16_t val;
55 };
56 
57 struct bt_uuid_32 {
58 	/** UUID generic type. */
59 	struct bt_uuid uuid;
60 	/** UUID value, 32-bit in host endianness. */
61 	uint32_t val;
62 };
63 
64 struct bt_uuid_128 {
65 	/** UUID generic type. */
66 	struct bt_uuid uuid;
67 	/** UUID value, 128-bit in little-endian format. */
68 	uint8_t val[BT_UUID_SIZE_128];
69 };
70 
71 /** @brief Initialize a 16-bit UUID.
72  *
73  *  @param value 16-bit UUID value in host endianness.
74  */
75 #define BT_UUID_INIT_16(value)		\
76 {					\
77 	.uuid = { BT_UUID_TYPE_16 },	\
78 	.val = (value),			\
79 }
80 
81 /** @brief Initialize a 32-bit UUID.
82  *
83  *  @param value 32-bit UUID value in host endianness.
84  */
85 #define BT_UUID_INIT_32(value)		\
86 {					\
87 	.uuid = { BT_UUID_TYPE_32 },	\
88 	.val = (value),			\
89 }
90 
91 /** @brief Initialize a 128-bit UUID.
92  *
93  *  @param value 128-bit UUID array values in little-endian format.
94  *               Can be combined with @ref BT_UUID_128_ENCODE to initialize a
95  *               UUID from the readable form of UUIDs.
96  */
97 #define BT_UUID_INIT_128(value...)	\
98 {					\
99 	.uuid = { BT_UUID_TYPE_128 },	\
100 	.val = { value },		\
101 }
102 
103 /** @brief Helper to declare a 16-bit UUID inline.
104  *
105  *  @param value 16-bit UUID value in host endianness.
106  *
107  *  @return Pointer to a generic UUID.
108  */
109 #define BT_UUID_DECLARE_16(value) \
110 	((struct bt_uuid *) ((struct bt_uuid_16[]) {BT_UUID_INIT_16(value)}))
111 
112 /** @brief Helper to declare a 32-bit UUID inline.
113  *
114  *  @param value 32-bit UUID value in host endianness.
115  *
116  *  @return Pointer to a generic UUID.
117  */
118 #define BT_UUID_DECLARE_32(value) \
119 	((struct bt_uuid *) ((struct bt_uuid_32[]) {BT_UUID_INIT_32(value)}))
120 
121 /** @brief Helper to declare a 128-bit UUID inline.
122  *
123  *  @param value 128-bit UUID array values in little-endian format.
124  *               Can be combined with @ref BT_UUID_128_ENCODE to declare a
125  *               UUID from the readable form of UUIDs.
126  *
127  *  @return Pointer to a generic UUID.
128  */
129 #define BT_UUID_DECLARE_128(value...) \
130 	((struct bt_uuid *) ((struct bt_uuid_128[]) {BT_UUID_INIT_128(value)}))
131 
132 /** Helper macro to access the 16-bit UUID from a generic UUID. */
133 #define BT_UUID_16(__u) CONTAINER_OF(__u, struct bt_uuid_16, uuid)
134 
135 /** Helper macro to access the 32-bit UUID from a generic UUID. */
136 #define BT_UUID_32(__u) CONTAINER_OF(__u, struct bt_uuid_32, uuid)
137 
138 /** Helper macro to access the 128-bit UUID from a generic UUID. */
139 #define BT_UUID_128(__u) CONTAINER_OF(__u, struct bt_uuid_128, uuid)
140 
141 /** @brief Encode 128 bit UUID into array values in little-endian format.
142  *
143  *  Helper macro to initialize a 128-bit UUID array value from the readable form
144  *  of UUIDs, or encode 128-bit UUID values into advertising data
145  *  Can be combined with BT_UUID_DECLARE_128 to declare a 128-bit UUID.
146  *
147  *  Example of how to declare the UUID `6E400001-B5A3-F393-E0A9-E50E24DCCA9E`
148  *
149  *  @code
150  *  BT_UUID_DECLARE_128(
151  *       BT_UUID_128_ENCODE(0x6E400001, 0xB5A3, 0xF393, 0xE0A9, 0xE50E24DCCA9E))
152  *  @endcode
153  *
154  *  Example of how to encode the UUID `6E400001-B5A3-F393-E0A9-E50E24DCCA9E`
155  *  into advertising data.
156  *
157  *  @code
158  *  BT_DATA_BYTES(BT_DATA_UUID128_ALL,
159  *       BT_UUID_128_ENCODE(0x6E400001, 0xB5A3, 0xF393, 0xE0A9, 0xE50E24DCCA9E))
160  *  @endcode
161  *
162  *  Just replace the hyphen by the comma and add `0x` prefixes.
163  *
164  *  @param w32 First part of the UUID (32 bits)
165  *  @param w1  Second part of the UUID (16 bits)
166  *  @param w2  Third part of the UUID (16 bits)
167  *  @param w3  Fourth part of the UUID (16 bits)
168  *  @param w48 Fifth part of the UUID (48 bits)
169  *
170  *  @return The comma separated values for UUID 128 initializer that
171  *          may be used directly as an argument for
172  *          @ref BT_UUID_INIT_128 or @ref BT_UUID_DECLARE_128
173  */
174 #define BT_UUID_128_ENCODE(w32, w1, w2, w3, w48) \
175 	(((w48) >>  0) & 0xFF), \
176 	(((w48) >>  8) & 0xFF), \
177 	(((w48) >> 16) & 0xFF), \
178 	(((w48) >> 24) & 0xFF), \
179 	(((w48) >> 32) & 0xFF), \
180 	(((w48) >> 40) & 0xFF), \
181 	(((w3)  >>  0) & 0xFF), \
182 	(((w3)  >>  8) & 0xFF), \
183 	(((w2)  >>  0) & 0xFF), \
184 	(((w2)  >>  8) & 0xFF), \
185 	(((w1)  >>  0) & 0xFF), \
186 	(((w1)  >>  8) & 0xFF), \
187 	(((w32) >>  0) & 0xFF), \
188 	(((w32) >>  8) & 0xFF), \
189 	(((w32) >> 16) & 0xFF), \
190 	(((w32) >> 24) & 0xFF)
191 
192 /** @brief Encode 16-bit UUID into array values in little-endian format.
193  *
194  *  Helper macro to encode 16-bit UUID values into advertising data.
195  *
196  *  Example of how to encode the UUID `0x180a` into advertising data.
197  *
198  *  @code
199  *  BT_DATA_BYTES(BT_DATA_UUID16_ALL, BT_UUID_16_ENCODE(0x180a))
200  *  @endcode
201  *
202  * @param w16 UUID value (16-bits)
203  *
204  * @return The comma separated values for UUID 16 value that
205  *         may be used directly as an argument for @ref BT_DATA_BYTES.
206  */
207 #define BT_UUID_16_ENCODE(w16)  \
208 	(((w16) >>  0) & 0xFF), \
209 	(((w16) >>  8) & 0xFF)
210 
211 /** @brief Encode 32-bit UUID into array values in little-endian format.
212  *
213  *  Helper macro to encode 32-bit UUID values into advertising data.
214  *
215  *  Example of how to encode the UUID `0x180a01af` into advertising data.
216  *
217  *  @code
218  *  BT_DATA_BYTES(BT_DATA_UUID32_ALL, BT_UUID_32_ENCODE(0x180a01af))
219  *  @endcode
220  *
221  * @param w32 UUID value (32-bits)
222  *
223  * @return The comma separated values for UUID 32 value that
224  *         may be used directly as an argument for @ref BT_DATA_BYTES.
225  */
226 #define BT_UUID_32_ENCODE(w32)  \
227 	(((w32) >>  0) & 0xFF), \
228 	(((w32) >>  8) & 0xFF), \
229 	(((w32) >> 16) & 0xFF), \
230 	(((w32) >> 24) & 0xFF)
231 
232 /** @def BT_UUID_STR_LEN
233  *
234  *  @brief Recommended length of user string buffer for Bluetooth UUID.
235  *
236  *  @details The recommended length guarantee the output of UUID
237  *  conversion will not lose valuable information about the UUID being
238  *  processed. If the length of the UUID is known the string can be shorter.
239  */
240 #define BT_UUID_STR_LEN 37
241 
242 /** @def BT_UUID_GAP_VAL
243  *  @brief Generic Access UUID value
244  */
245 #define BT_UUID_GAP_VAL 0x1800
246 /** @def BT_UUID_GAP
247  *  @brief Generic Access
248  */
249 #define BT_UUID_GAP \
250 	BT_UUID_DECLARE_16(BT_UUID_GAP_VAL)
251 /** @def BT_UUID_GATT_VAL
252  *  @brief Generic attribute UUID value
253  */
254 #define BT_UUID_GATT_VAL 0x1801
255 /** @def BT_UUID_GATT
256  *  @brief Generic Attribute
257  */
258 #define BT_UUID_GATT \
259 	BT_UUID_DECLARE_16(BT_UUID_GATT_VAL)
260 /** @def BT_UUID_IAS_VAL
261  *  @brief Immediate Alert Service UUID value
262  */
263 #define BT_UUID_IAS_VAL 0x1802
264 /** @def BT_UUID_IAS
265  *  @brief Immediate Alert Service
266  */
267 #define BT_UUID_IAS \
268 	BT_UUID_DECLARE_16(BT_UUID_IAS_VAL)
269 /** @def BT_UUID_LLS_VAL
270  *  @brief Link Loss Service UUID value
271  */
272 #define BT_UUID_LLS_VAL 0x1803
273 /** @def BT_UUID_LLS
274  *  @brief Link Loss Service
275  */
276 #define BT_UUID_LLS \
277 	BT_UUID_DECLARE_16(BT_UUID_LLS_VAL)
278 /** @def BT_UUID_TPS_VAL
279  *  @brief Tx Power Service UUID value
280  */
281 #define BT_UUID_TPS_VAL 0x1804
282 /** @def BT_UUID_TPS
283  *  @brief Tx Power Service
284  */
285 #define BT_UUID_TPS \
286 	BT_UUID_DECLARE_16(BT_UUID_TPS_VAL)
287 /** @def BT_UUID_CTS_VAL
288  *  @brief Current Time Service UUID value
289  */
290 #define BT_UUID_CTS_VAL 0x1805
291 /** @def BT_UUID_CTS
292  *  @brief Current Time Service
293  */
294 #define BT_UUID_CTS \
295 	BT_UUID_DECLARE_16(BT_UUID_CTS_VAL)
296 /** @def BT_UUID_HTS_VAL
297  *  @brief Health Thermometer Service UUID value
298  */
299 #define BT_UUID_HTS_VAL 0x1809
300 /** @def BT_UUID_HTS
301  *  @brief Health Thermometer Service
302  */
303 #define BT_UUID_HTS \
304 	BT_UUID_DECLARE_16(BT_UUID_HTS_VAL)
305 /** @def BT_UUID_DIS_VAL
306  *  @brief Device Information Service UUID value
307  */
308 #define BT_UUID_DIS_VAL 0x180a
309 /** @def BT_UUID_DIS
310  *  @brief Device Information Service
311  */
312 #define BT_UUID_DIS \
313 	BT_UUID_DECLARE_16(BT_UUID_DIS_VAL)
314 /** @def BT_UUID_HRS_VAL
315  *  @brief Heart Rate Service UUID value
316  */
317 #define BT_UUID_HRS_VAL 0x180d
318 /** @def BT_UUID_HRS
319  *  @brief Heart Rate Service
320  */
321 #define BT_UUID_HRS \
322 	BT_UUID_DECLARE_16(BT_UUID_HRS_VAL)
323 /** @def BT_UUID_BAS_VAL
324  *  @brief Battery Service UUID value
325  */
326 #define BT_UUID_BAS_VAL 0x180f
327 /** @def BT_UUID_BAS
328  *  @brief Battery Service
329  */
330 #define BT_UUID_BAS \
331 	BT_UUID_DECLARE_16(BT_UUID_BAS_VAL)
332 /** @def BT_UUID_HIDS_VAL
333  *  @brief HID Service UUID value
334  */
335 #define BT_UUID_HIDS_VAL 0x1812
336 /** @def BT_UUID_HIDS
337  *  @brief HID Service
338  */
339 #define BT_UUID_HIDS \
340 	BT_UUID_DECLARE_16(BT_UUID_HIDS_VAL)
341 /** @def BT_UUID_RSCS_VAL
342  *  @brief Running Speed and Cadence Service UUID value
343  */
344 #define BT_UUID_RSCS_VAL 0x1814
345 /** @def BT_UUID_RSCS
346  *  @brief Running Speed and Cadence Service
347  */
348 #define BT_UUID_RSCS \
349 	BT_UUID_DECLARE_16(BT_UUID_RSCS_VAL)
350 /** @def BT_UUID_CSC_VAL
351  *  @brief Cycling Speed and Cadence Service UUID value
352  */
353 #define BT_UUID_CSC_VAL 0x1816
354 /** @def BT_UUID_CSC
355  *  @brief Cycling Speed and Cadence Service
356  */
357 #define BT_UUID_CSC \
358 	BT_UUID_DECLARE_16(BT_UUID_CSC_VAL)
359 /** @def BT_UUID_ESS_VAL
360  *  @brief Environmental Sensing Service UUID value
361  */
362 #define BT_UUID_ESS_VAL 0x181a
363 /** @def BT_UUID_ESS
364  *  @brief Environmental Sensing Service
365  */
366 #define BT_UUID_ESS \
367 	BT_UUID_DECLARE_16(BT_UUID_ESS_VAL)
368 /** @def BT_UUID_BMS_VAL
369  *  @brief Bond Management Service UUID value
370  */
371 #define BT_UUID_BMS_VAL 0x181e
372 /** @def BT_UUID_BMS
373  *  @brief Bond Management Service
374  */
375 #define BT_UUID_BMS \
376 	BT_UUID_DECLARE_16(BT_UUID_BMS_VAL)
377 /** @def BT_UUID_IPSS_VAL
378  *  @brief IP Support Service UUID value
379  */
380 #define BT_UUID_IPSS_VAL 0x1820
381 /** @def BT_UUID_IPSS
382  *  @brief IP Support Service
383  */
384 #define BT_UUID_IPSS \
385 	BT_UUID_DECLARE_16(BT_UUID_IPSS_VAL)
386 /** @def BT_UUID_HPS_VAL
387  *  @brief HTTP Proxy Service UUID value
388  */
389 #define BT_UUID_HPS_VAL 0x1823
390 /** @def BT_UUID_HPS
391  *  @brief HTTP Proxy Service
392  */
393 #define BT_UUID_HPS \
394 	BT_UUID_DECLARE_16(BT_UUID_HPS_VAL)
395 /** @def BT_UUID_OTS_VAL
396  *  @brief Object Transfer Service UUID value
397  */
398 #define BT_UUID_OTS_VAL 0x1825
399 /** @def BT_UUID_OTS
400  *  @brief Object Transfer Service
401  */
402 #define BT_UUID_OTS \
403 	BT_UUID_DECLARE_16(BT_UUID_OTS_VAL)
404 /** @def BT_UUID_MESH_PROV_VAL
405  *  @brief Mesh Provisioning Service UUID value
406  */
407 #define BT_UUID_MESH_PROV_VAL 0x1827
408 /** @def BT_UUID_MESH_PROV
409  *  @brief Mesh Provisioning Service
410  */
411 #define BT_UUID_MESH_PROV \
412 	BT_UUID_DECLARE_16(BT_UUID_MESH_PROV_VAL)
413 /** @def BT_UUID_MESH_PROXY_VAL
414  *  @brief Mesh Proxy Service UUID value
415  */
416 #define BT_UUID_MESH_PROXY_VAL 0x1828
417 /** @def BT_UUID_MESH_PROXY
418  *  @brief Mesh Proxy Service
419  */
420 #define BT_UUID_MESH_PROXY \
421 	BT_UUID_DECLARE_16(BT_UUID_MESH_PROXY_VAL)
422 /** @def BT_UUID_AICS_VAL
423  *  @brief Audio Input Control Service value
424  */
425 #define BT_UUID_AICS_VAL 0x1843
426 /** @def BT_UUID_AICS
427  *  @brief Audio Input Control Service
428  */
429 #define BT_UUID_AICS \
430 	BT_UUID_DECLARE_16(BT_UUID_AICS_VAL)
431 /** @def BT_UUID_VCS_VAL
432  *  @brief Volume Control Service value
433  */
434 #define BT_UUID_VCS_VAL 0x1844
435 /** @def BT_UUID_VCS
436  *  @brief Volume Control Service
437  */
438 #define BT_UUID_VCS \
439 	BT_UUID_DECLARE_16(BT_UUID_VCS_VAL)
440 /** @def BT_UUID_VOCS_VAL
441  *  @brief Volume Offset Control Service value
442  */
443 #define BT_UUID_VOCS_VAL 0x1845
444 /** @def BT_UUID_VOCS
445  *  @brief Volume Offset Control Service
446  */
447 #define BT_UUID_VOCS \
448 	BT_UUID_DECLARE_16(BT_UUID_VOCS_VAL)
449 /** @def BT_UUID_MICS_VAL
450  *  @brief Microphone Input Control Service value
451  */
452 #define BT_UUID_MICS_VAL 0x184D
453 /** @def BT_UUID_MICS
454  *  @brief Microphone Input Control Service
455  */
456 #define BT_UUID_MICS \
457 	BT_UUID_DECLARE_16(BT_UUID_MICS_VAL)
458 /** @def BT_UUID_GATT_PRIMARY_VAL
459  *  @brief GATT Primary Service UUID value
460  */
461 #define BT_UUID_GATT_PRIMARY_VAL 0x2800
462 /** @def BT_UUID_GATT_PRIMARY
463  *  @brief GATT Primary Service
464  */
465 #define BT_UUID_GATT_PRIMARY \
466 	BT_UUID_DECLARE_16(BT_UUID_GATT_PRIMARY_VAL)
467 /** @def BT_UUID_GATT_SECONDARY_VAL
468  *  @brief GATT Secondary Service UUID value
469  */
470 #define BT_UUID_GATT_SECONDARY_VAL 0x2801
471 /** @def BT_UUID_GATT_SECONDARY
472  *  @brief GATT Secondary Service
473  */
474 #define BT_UUID_GATT_SECONDARY \
475 	BT_UUID_DECLARE_16(BT_UUID_GATT_SECONDARY_VAL)
476 /** @def BT_UUID_GATT_INCLUDE_VAL
477  *  @brief GATT Include Service UUID value
478  */
479 #define BT_UUID_GATT_INCLUDE_VAL 0x2802
480 /** @def BT_UUID_GATT_INCLUDE
481  *  @brief GATT Include Service
482  */
483 #define BT_UUID_GATT_INCLUDE \
484 	BT_UUID_DECLARE_16(BT_UUID_GATT_INCLUDE_VAL)
485 /** @def BT_UUID_GATT_CHRC_VAL
486  *  @brief GATT Characteristic UUID value
487  */
488 #define BT_UUID_GATT_CHRC_VAL 0x2803
489 /** @def BT_UUID_GATT_CHRC
490  *  @brief GATT Characteristic
491  */
492 #define BT_UUID_GATT_CHRC \
493 	BT_UUID_DECLARE_16(BT_UUID_GATT_CHRC_VAL)
494 /** @def BT_UUID_GATT_CEP_VAL
495  *  @brief GATT Characteristic Extended Properties UUID value
496  */
497 #define BT_UUID_GATT_CEP_VAL 0x2900
498 /** @def BT_UUID_GATT_CEP
499  *  @brief GATT Characteristic Extended Properties
500  */
501 #define BT_UUID_GATT_CEP \
502 	BT_UUID_DECLARE_16(BT_UUID_GATT_CEP_VAL)
503 /** @def BT_UUID_GATT_CUD_VAL
504  *  @brief GATT Characteristic User Description UUID value
505  */
506 #define BT_UUID_GATT_CUD_VAL 0x2901
507 /** @def BT_UUID_GATT_CUD
508  *  @brief GATT Characteristic User Description
509  */
510 #define BT_UUID_GATT_CUD \
511 	BT_UUID_DECLARE_16(BT_UUID_GATT_CUD_VAL)
512 /** @def BT_UUID_GATT_CCC_VAL
513  *  @brief GATT Client Characteristic Configuration UUID value
514  */
515 #define BT_UUID_GATT_CCC_VAL 0x2902
516 /** @def BT_UUID_GATT_CCC
517  *  @brief GATT Client Characteristic Configuration
518  */
519 #define BT_UUID_GATT_CCC \
520 	BT_UUID_DECLARE_16(BT_UUID_GATT_CCC_VAL)
521 /** @def BT_UUID_GATT_SCC_VAL
522  *  @brief GATT Server Characteristic Configuration UUID value
523  */
524 #define BT_UUID_GATT_SCC_VAL 0x2903
525 /** @def BT_UUID_GATT_SCC
526  *  @brief GATT Server Characteristic Configuration
527  */
528 #define BT_UUID_GATT_SCC \
529 	BT_UUID_DECLARE_16(BT_UUID_GATT_SCC_VAL)
530 /** @def BT_UUID_GATT_CPF_VAL
531  *  @brief GATT Characteristic Presentation Format UUID value
532  */
533 #define BT_UUID_GATT_CPF_VAL 0x2904
534 /** @def BT_UUID_GATT_CPF
535  *  @brief GATT Characteristic Presentation Format
536  */
537 #define BT_UUID_GATT_CPF \
538 	BT_UUID_DECLARE_16(BT_UUID_GATT_CPF_VAL)
539 /** @def BT_UUID_GATT_CAF_VAL
540  *  @brief GATT Characteristic Aggregated Format UUID value
541  */
542 #define BT_UUID_GATT_CAF_VAL 0x2905
543 /** @def BT_UUID_GATT_CAF
544  *  @brief GATT Characteristic Aggregated Format
545  */
546 #define BT_UUID_GATT_CAF \
547 	BT_UUID_DECLARE_16(BT_UUID_GATT_CAF_VAL)
548 /** @def BT_UUID_VALID_RANGE_VAL
549  *  @brief Valid Range Descriptor UUID value
550  */
551 #define BT_UUID_VALID_RANGE_VAL 0x2906
552 /** @def BT_UUID_VALID_RANGE
553  *  @brief Valid Range Descriptor
554  */
555 #define BT_UUID_VALID_RANGE \
556 	BT_UUID_DECLARE_16(BT_UUID_VALID_RANGE_VAL)
557 /** @def BT_UUID_HIDS_EXT_REPORT_VAL
558  *  @brief HID External Report Descriptor UUID value
559  */
560 #define BT_UUID_HIDS_EXT_REPORT_VAL 0x2907
561 /** @def BT_UUID_HIDS_EXT_REPORT
562  *  @brief HID External Report Descriptor
563  */
564 #define BT_UUID_HIDS_EXT_REPORT \
565 	BT_UUID_DECLARE_16(BT_UUID_HIDS_EXT_REPORT_VAL)
566 /** @def BT_UUID_HIDS_REPORT_REF_VAL
567  *  @brief HID Report Reference Descriptor UUID value
568  */
569 #define BT_UUID_HIDS_REPORT_REF_VAL 0x2908
570 /** @def BT_UUID_HIDS_REPORT_REF
571  *  @brief HID Report Reference Descriptor
572  */
573 #define BT_UUID_HIDS_REPORT_REF \
574 	BT_UUID_DECLARE_16(BT_UUID_HIDS_REPORT_REF_VAL)
575 /** @def BT_UUID_ES_CONFIGURATION_VAL
576  *  @brief Environmental Sensing Configuration Descriptor UUID value
577  */
578 #define BT_UUID_ES_CONFIGURATION_VAL 0x290b
579 /** @def BT_UUID_ES_CONFIGURATION
580  *  @brief Environmental Sensing Configuration Descriptor
581  */
582 #define BT_UUID_ES_CONFIGURATION \
583 	BT_UUID_DECLARE_16(BT_UUID_ES_CONFIGURATION_VAL)
584 /** @def BT_UUID_ES_MEASUREMENT_VAL
585  *  @brief Environmental Sensing Measurement Descriptor UUID value
586  */
587 #define BT_UUID_ES_MEASUREMENT_VAL 0x290c
588 /** @def BT_UUID_ES_MEASUREMENT
589  *  @brief Environmental Sensing Measurement Descriptor
590  */
591 #define BT_UUID_ES_MEASUREMENT \
592 	BT_UUID_DECLARE_16(BT_UUID_ES_MEASUREMENT_VAL)
593 /** @def BT_UUID_ES_TRIGGER_SETTING_VAL
594  *  @brief Environmental Sensing Trigger Setting Descriptor UUID value
595  */
596 #define BT_UUID_ES_TRIGGER_SETTING_VAL 0x290d
597 /** @def BT_UUID_ES_TRIGGER_SETTING
598  *  @brief Environmental Sensing Trigger Setting Descriptor
599  */
600 #define BT_UUID_ES_TRIGGER_SETTING \
601 	BT_UUID_DECLARE_16(BT_UUID_ES_TRIGGER_SETTING_VAL)
602 /** @def BT_UUID_GAP_DEVICE_NAME_VAL
603  *  @brief GAP Characteristic Device Name UUID value
604  */
605 #define BT_UUID_GAP_DEVICE_NAME_VAL 0x2a00
606 /** @def BT_UUID_GAP_DEVICE_NAME
607  *  @brief GAP Characteristic Device Name
608  */
609 #define BT_UUID_GAP_DEVICE_NAME \
610 	BT_UUID_DECLARE_16(BT_UUID_GAP_DEVICE_NAME_VAL)
611 /** @def BT_UUID_GAP_APPEARANCE_VAL
612  *  @brief GAP Characteristic Appearance UUID value
613  */
614 #define BT_UUID_GAP_APPEARANCE_VAL 0x2a01
615 /** @def BT_UUID_GAP_APPEARANCE
616  *  @brief GAP Characteristic Appearance
617  */
618 #define BT_UUID_GAP_APPEARANCE \
619 	BT_UUID_DECLARE_16(BT_UUID_GAP_APPEARANCE_VAL)
620 /** @def BT_UUID_GAP_PPCP_VAL
621  *  @brief GAP Characteristic Peripheral Preferred Connection Parameters UUID
622  *         value
623  */
624 #define BT_UUID_GAP_PPCP_VAL 0x2a04
625 /** @def BT_UUID_GAP_PPCP
626  *  @brief GAP Characteristic Peripheral Preferred Connection Parameters
627  */
628 #define BT_UUID_GAP_PPCP \
629 	BT_UUID_DECLARE_16(BT_UUID_GAP_PPCP_VAL)
630 /** @def BT_UUID_GATT_SC_VAL
631  *  @brief GATT Characteristic Service Changed UUID value
632  */
633 #define BT_UUID_GATT_SC_VAL 0x2a05
634 /** @def BT_UUID_GATT_SC
635  *  @brief GATT Characteristic Service Changed
636  */
637 #define BT_UUID_GATT_SC \
638 	BT_UUID_DECLARE_16(BT_UUID_GATT_SC_VAL)
639 /** @def BT_UUID_ALERT_LEVEL_VAL
640  *  @brief Alert Level UUID value
641  */
642 #define BT_UUID_ALERT_LEVEL_VAL  0x2a06
643 /** @def BT_UUID_ALERT_LEVEL
644  *  @brief Alert Level
645  */
646 #define BT_UUID_ALERT_LEVEL \
647 	BT_UUID_DECLARE_16(BT_UUID_ALERT_LEVEL_VAL)
648 /** @def BT_UUID_TPS_TX_POWER_LEVEL_VAL
649  *  @brief TPS Characteristic Tx Power Level UUID value
650  */
651 #define BT_UUID_TPS_TX_POWER_LEVEL_VAL 0x2a07
652 /** @def BT_UUID_TPS_TX_POWER_LEVEL
653  *  @brief TPS Characteristic Tx Power Level
654  */
655 #define BT_UUID_TPS_TX_POWER_LEVEL \
656 	BT_UUID_DECLARE_16(BT_UUID_TPS_TX_POWER_LEVEL_VAL)
657 /** @def BT_UUID_BAS_BATTERY_LEVEL_VAL
658  *  @brief BAS Characteristic Battery Level UUID value
659  */
660 #define BT_UUID_BAS_BATTERY_LEVEL_VAL 0x2a19
661 /** @def BT_UUID_BAS_BATTERY_LEVEL
662  *  @brief BAS Characteristic Battery Level
663  */
664 #define BT_UUID_BAS_BATTERY_LEVEL \
665 	BT_UUID_DECLARE_16(BT_UUID_BAS_BATTERY_LEVEL_VAL)
666 /** @def BT_UUID_HTS_MEASUREMENT_VAL
667  *  @brief HTS Characteristic Measurement Value UUID value
668  */
669 #define BT_UUID_HTS_MEASUREMENT_VAL 0x2a1c
670 /** @def BT_UUID_HTS_MEASUREMENT
671  *  @brief HTS Characteristic Measurement Value
672  */
673 #define BT_UUID_HTS_MEASUREMENT \
674 	BT_UUID_DECLARE_16(BT_UUID_HTS_MEASUREMENT_VAL)
675 /** @def BT_UUID_HIDS_BOOT_KB_IN_REPORT_VAL
676  *  @brief HID Characteristic Boot Keyboard Input Report UUID value
677  */
678 #define BT_UUID_HIDS_BOOT_KB_IN_REPORT_VAL 0x2a22
679 /** @def BT_UUID_HIDS_BOOT_KB_IN_REPORT
680  *  @brief HID Characteristic Boot Keyboard Input Report
681  */
682 #define BT_UUID_HIDS_BOOT_KB_IN_REPORT \
683 	BT_UUID_DECLARE_16(BT_UUID_HIDS_BOOT_KB_IN_REPORT_VAL)
684 /** @def BT_UUID_DIS_SYSTEM_ID_VAL
685  *  @brief DIS Characteristic System ID UUID value
686  */
687 #define BT_UUID_DIS_SYSTEM_ID_VAL 0x2a23
688 /** @def BT_UUID_DIS_SYSTEM_ID
689  *  @brief DIS Characteristic System ID
690  */
691 #define BT_UUID_DIS_SYSTEM_ID \
692 	BT_UUID_DECLARE_16(BT_UUID_DIS_SYSTEM_ID_VAL)
693 /** @def BT_UUID_DIS_MODEL_NUMBER_VAL
694  *  @brief DIS Characteristic Model Number String UUID value
695  */
696 #define BT_UUID_DIS_MODEL_NUMBER_VAL 0x2a24
697 /** @def BT_UUID_DIS_MODEL_NUMBER
698  *  @brief DIS Characteristic Model Number String
699  */
700 #define BT_UUID_DIS_MODEL_NUMBER \
701 	BT_UUID_DECLARE_16(BT_UUID_DIS_MODEL_NUMBER_VAL)
702 /** @def BT_UUID_DIS_SERIAL_NUMBER_VAL
703  *  @brief DIS Characteristic Serial Number String UUID value
704  */
705 #define BT_UUID_DIS_SERIAL_NUMBER_VAL 0x2a25
706 /** @def BT_UUID_DIS_SERIAL_NUMBER
707  *  @brief DIS Characteristic Serial Number String
708  */
709 #define BT_UUID_DIS_SERIAL_NUMBER \
710 	BT_UUID_DECLARE_16(BT_UUID_DIS_SERIAL_NUMBER_VAL)
711 /** @def BT_UUID_DIS_FIRMWARE_REVISION_VAL
712  *  @brief DIS Characteristic Firmware Revision String UUID value
713  */
714 #define BT_UUID_DIS_FIRMWARE_REVISION_VAL 0x2a26
715 /** @def BT_UUID_DIS_FIRMWARE_REVISION
716  *  @brief DIS Characteristic Firmware Revision String
717  */
718 #define BT_UUID_DIS_FIRMWARE_REVISION \
719 	BT_UUID_DECLARE_16(BT_UUID_DIS_FIRMWARE_REVISION_VAL)
720 /** @def BT_UUID_DIS_HARDWARE_REVISION_VAL
721  *  @brief DIS Characteristic Hardware Revision String UUID value
722  */
723 #define BT_UUID_DIS_HARDWARE_REVISION_VAL 0x2a27
724 /** @def BT_UUID_DIS_HARDWARE_REVISION
725  *  @brief DIS Characteristic Hardware Revision String
726  */
727 #define BT_UUID_DIS_HARDWARE_REVISION \
728 	BT_UUID_DECLARE_16(BT_UUID_DIS_HARDWARE_REVISION_VAL)
729 /** @def BT_UUID_DIS_SOFTWARE_REVISION_VAL
730  *  @brief DIS Characteristic Software Revision String UUID value
731  */
732 #define BT_UUID_DIS_SOFTWARE_REVISION_VAL 0x2a28
733 /** @def BT_UUID_DIS_SOFTWARE_REVISION
734  *  @brief DIS Characteristic Software Revision String
735  */
736 #define BT_UUID_DIS_SOFTWARE_REVISION \
737 	BT_UUID_DECLARE_16(BT_UUID_DIS_SOFTWARE_REVISION_VAL)
738 /** @def BT_UUID_DIS_MANUFACTURER_NAME_VAL
739  *  @brief DIS Characteristic Manufacturer Name String UUID Value
740  */
741 #define BT_UUID_DIS_MANUFACTURER_NAME_VAL 0x2a29
742 /** @def BT_UUID_DIS_MANUFACTURER_NAME
743  *  @brief DIS Characteristic Manufacturer Name String
744  */
745 #define BT_UUID_DIS_MANUFACTURER_NAME \
746 	BT_UUID_DECLARE_16(BT_UUID_DIS_MANUFACTURER_NAME_VAL)
747 /** @def BT_UUID_DIS_PNP_ID_VAL
748  *  @brief DIS Characteristic PnP ID UUID value
749  */
750 #define BT_UUID_DIS_PNP_ID_VAL 0x2a50
751 /** @def BT_UUID_DIS_PNP_ID
752  *  @brief DIS Characteristic PnP ID
753  */
754 #define BT_UUID_DIS_PNP_ID \
755 	BT_UUID_DECLARE_16(BT_UUID_DIS_PNP_ID_VAL)
756 /** @def BT_UUID_CTS_CURRENT_TIME_VAL
757  *  @brief CTS Characteristic Current Time UUID value
758  */
759 #define BT_UUID_CTS_CURRENT_TIME_VAL 0x2a2b
760 /** @def BT_UUID_CTS_CURRENT_TIME
761  *  @brief CTS Characteristic Current Time
762  */
763 #define BT_UUID_CTS_CURRENT_TIME \
764 	BT_UUID_DECLARE_16(BT_UUID_CTS_CURRENT_TIME_VAL)
765 /** @def BT_UUID_MAGN_DECLINATION_VAL
766  *  @brief Magnetic Declination Characteristic UUID value
767  */
768 #define BT_UUID_MAGN_DECLINATION_VAL 0x2a2c
769 /** @def BT_UUID_MAGN_DECLINATION
770  *  @brief Magnetic Declination Characteristic
771  */
772 #define BT_UUID_MAGN_DECLINATION \
773 	BT_UUID_DECLARE_16(BT_UUID_MAGN_DECLINATION_VAL)
774 /** @def BT_UUID_HIDS_BOOT_KB_OUT_REPORT_VAL
775  *  @brief HID Boot Keyboard Output Report Characteristic UUID value
776  */
777 #define BT_UUID_HIDS_BOOT_KB_OUT_REPORT_VAL 0x2a32
778 /** @def BT_UUID_HIDS_BOOT_KB_OUT_REPORT
779  *  @brief HID Boot Keyboard Output Report Characteristic
780  */
781 #define BT_UUID_HIDS_BOOT_KB_OUT_REPORT \
782 	BT_UUID_DECLARE_16(BT_UUID_HIDS_BOOT_KB_OUT_REPORT_VAL)
783 /** @def BT_UUID_HIDS_BOOT_MOUSE_IN_REPORT_VAL
784  *  @brief HID Boot Mouse Input Report Characteristic UUID value
785  */
786 #define BT_UUID_HIDS_BOOT_MOUSE_IN_REPORT_VAL 0x2a33
787 /** @def BT_UUID_HIDS_BOOT_MOUSE_IN_REPORT
788  *  @brief HID Boot Mouse Input Report Characteristic
789  */
790 #define BT_UUID_HIDS_BOOT_MOUSE_IN_REPORT \
791 	BT_UUID_DECLARE_16(BT_UUID_HIDS_BOOT_MOUSE_IN_REPORT_VAL)
792 /** @def BT_UUID_HRS_MEASUREMENT_VAL
793  *  @brief HRS Characteristic Measurement Interval UUID value
794  */
795 #define BT_UUID_HRS_MEASUREMENT_VAL 0x2a37
796 /** @def BT_UUID_HRS_MEASUREMENT
797  *  @brief HRS Characteristic Measurement Interval
798  */
799 #define BT_UUID_HRS_MEASUREMENT \
800 	BT_UUID_DECLARE_16(BT_UUID_HRS_MEASUREMENT_VAL)
801 /** @def BT_UUID_HRS_BODY_SENSOR
802  *  @brief HRS Characteristic Body Sensor Location
803  */
804 #define BT_UUID_HRS_BODY_SENSOR_VAL 0x2a38
805 /** @def BT_UUID_HRS_CONTROL_POINT
806  *  @brief HRS Characteristic Control Point
807  */
808 #define BT_UUID_HRS_BODY_SENSOR \
809 	BT_UUID_DECLARE_16(BT_UUID_HRS_BODY_SENSOR_VAL)
810 /** @def BT_UUID_HRS_CONTROL_POINT_VAL
811  *  @brief HRS Characteristic Control Point UUID value
812  */
813 #define BT_UUID_HRS_CONTROL_POINT_VAL 0x2a39
814 /** @def BT_UUID_HRS_CONTROL_POINT
815  *  @brief HRS Characteristic Control Point
816  */
817 #define BT_UUID_HRS_CONTROL_POINT \
818 	BT_UUID_DECLARE_16(BT_UUID_HRS_CONTROL_POINT_VAL)
819 /** @def BT_UUID_HIDS_INFO_VAL
820  *  @brief HID Information Characteristic UUID value
821  */
822 #define BT_UUID_HIDS_INFO_VAL 0x2a4a
823 /** @def BT_UUID_HIDS_INFO
824  *  @brief HID Information Characteristic
825  */
826 #define BT_UUID_HIDS_INFO \
827 	BT_UUID_DECLARE_16(BT_UUID_HIDS_INFO_VAL)
828 /** @def BT_UUID_HIDS_REPORT_MAP_VAL
829  *  @brief HID Report Map Characteristic UUID value
830  */
831 #define BT_UUID_HIDS_REPORT_MAP_VAL 0x2a4b
832 /** @def BT_UUID_HIDS_REPORT_MAP
833  *  @brief HID Report Map Characteristic
834  */
835 #define BT_UUID_HIDS_REPORT_MAP \
836 	BT_UUID_DECLARE_16(BT_UUID_HIDS_REPORT_MAP_VAL)
837 /** @def BT_UUID_HIDS_CTRL_POINT_VAL
838  *  @brief HID Control Point Characteristic UUID value
839  */
840 #define BT_UUID_HIDS_CTRL_POINT_VAL 0x2a4c
841 /** @def BT_UUID_HIDS_CTRL_POINT
842  *  @brief HID Control Point Characteristic
843  */
844 #define BT_UUID_HIDS_CTRL_POINT \
845 	BT_UUID_DECLARE_16(BT_UUID_HIDS_CTRL_POINT_VAL)
846 /** @def BT_UUID_HIDS_REPORT_VAL
847  *  @brief HID Report Characteristic UUID value
848  */
849 #define BT_UUID_HIDS_REPORT_VAL 0x2a4d
850 /** @def BT_UUID_HIDS_REPORT
851  *  @brief HID Report Characteristic
852  */
853 #define BT_UUID_HIDS_REPORT \
854 	BT_UUID_DECLARE_16(BT_UUID_HIDS_REPORT_VAL)
855 /** @def BT_UUID_HIDS_PROTOCOL_MODE_VAL
856  *  @brief HID Protocol Mode Characteristic UUID value
857  */
858 #define BT_UUID_HIDS_PROTOCOL_MODE_VAL 0x2a4e
859 /** @def BT_UUID_HIDS_PROTOCOL_MODE
860  *  @brief HID Protocol Mode Characteristic
861  */
862 #define BT_UUID_HIDS_PROTOCOL_MODE \
863 	BT_UUID_DECLARE_16(BT_UUID_HIDS_PROTOCOL_MODE_VAL)
864 /** @def BT_UUID_RSC_MEASUREMENT_VAL
865  *  @brief RSC Measurement Characteristic UUID value
866  */
867 #define BT_UUID_RSC_MEASUREMENT_VAL 0x2a53
868 /** @def BT_UUID_RSC_MEASUREMENT
869  *  @brief RSC Measurement Characteristic
870  */
871 #define BT_UUID_RSC_MEASUREMENT \
872 	BT_UUID_DECLARE_16(BT_UUID_RSC_MEASUREMENT_VAL)
873 /** @def BT_UUID_RSC_FEATURE_VAL
874  *  @brief RSC Feature Characteristic UUID value
875  */
876 #define BT_UUID_RSC_FEATURE_VAL 0x2a54
877 /** @def BT_UUID_RSC_FEATURE
878  *  @brief RSC Feature Characteristic
879  */
880 #define BT_UUID_RSC_FEATURE \
881 	BT_UUID_DECLARE_16(BT_UUID_RSC_FEATURE_VAL)
882 /** @def BT_UUID_CSC_MEASUREMENT_VAL
883  *  @brief CSC Measurement Characteristic UUID value
884  */
885 #define BT_UUID_CSC_MEASUREMENT_VAL 0x2a5b
886 /** @def BT_UUID_CSC_MEASUREMENT
887  *  @brief CSC Measurement Characteristic
888  */
889 #define BT_UUID_CSC_MEASUREMENT \
890 	BT_UUID_DECLARE_16(BT_UUID_CSC_MEASUREMENT_VAL)
891 /** @def BT_UUID_CSC_FEATURE_VAL
892  *  @brief CSC Feature Characteristic UUID value
893  */
894 #define BT_UUID_CSC_FEATURE_VAL 0x2a5c
895 /** @def BT_UUID_CSC_FEATURE
896  *  @brief CSC Feature Characteristic
897  */
898 #define BT_UUID_CSC_FEATURE \
899 	BT_UUID_DECLARE_16(BT_UUID_CSC_FEATURE_VAL)
900 /** @def BT_UUID_SENSOR_LOCATION_VAL
901  *  @brief Sensor Location Characteristic UUID value
902  */
903 #define BT_UUID_SENSOR_LOCATION_VAL 0x2a5d
904 /** @def BT_UUID_SENSOR_LOCATION
905  *  @brief Sensor Location Characteristic
906  */
907 #define BT_UUID_SENSOR_LOCATION \
908 	BT_UUID_DECLARE_16(BT_UUID_SENSOR_LOCATION_VAL)
909 /** @def BT_UUID_SC_CONTROL_POINT_VAL
910  *  @brief SC Control Point Characteristic UUID value
911  */
912 #define BT_UUID_SC_CONTROL_POINT_VAL 0x2a55
913 /** @def BT_UUID_SC_CONTROL_POINT
914  *  @brief SC Control Point Characteristic
915  */
916 #define BT_UUID_SC_CONTROL_POINT \
917 	BT_UUID_DECLARE_16(BT_UUID_SC_CONTROL_POINT_VAL)
918 /** @def BT_UUID_ELEVATION_VAL
919  *  @brief Elevation Characteristic UUID value
920  */
921 #define BT_UUID_ELEVATION_VAL 0x2a6c
922 /** @def BT_UUID_ELEVATION
923  *  @brief Elevation Characteristic
924  */
925 #define BT_UUID_ELEVATION \
926 	BT_UUID_DECLARE_16(BT_UUID_ELEVATION_VAL)
927 /** @def BT_UUID_PRESSURE_VAL
928  *  @brief Pressure Characteristic UUID value
929  */
930 #define BT_UUID_PRESSURE_VAL 0x2a6d
931 /** @def BT_UUID_PRESSURE
932  *  @brief Pressure Characteristic
933  */
934 #define BT_UUID_PRESSURE \
935 	BT_UUID_DECLARE_16(BT_UUID_PRESSURE_VAL)
936 /** @def BT_UUID_TEMPERATURE_VAL
937  *  @brief Temperature Characteristic UUID value
938  */
939 #define BT_UUID_TEMPERATURE_VAL 0x2a6e
940 /** @def BT_UUID_TEMPERATURE
941  *  @brief Temperature Characteristic
942  */
943 #define BT_UUID_TEMPERATURE \
944 	BT_UUID_DECLARE_16(BT_UUID_TEMPERATURE_VAL)
945 /** @def BT_UUID_HUMIDITY_VAL
946  *  @brief Humidity Characteristic UUID value
947  */
948 #define BT_UUID_HUMIDITY_VAL 0x2a6f
949 /** @def BT_UUID_HUMIDITY
950  *  @brief Humidity Characteristic
951  */
952 #define BT_UUID_HUMIDITY \
953 	BT_UUID_DECLARE_16(BT_UUID_HUMIDITY_VAL)
954 /** @def BT_UUID_TRUE_WIND_SPEED_VAL
955  *  @brief True Wind Speed Characteristic UUID value
956  */
957 #define BT_UUID_TRUE_WIND_SPEED_VAL 0x2a70
958 /** @def BT_UUID_TRUE_WIND_SPEED
959  *  @brief True Wind Speed Characteristic
960  */
961 #define BT_UUID_TRUE_WIND_SPEED \
962 	BT_UUID_DECLARE_16(BT_UUID_TRUE_WIND_SPEED_VAL)
963 /** @def BT_UUID_TRUE_WIND_DIR_VAL
964  *  @brief True Wind Direction Characteristic UUID value
965  */
966 #define BT_UUID_TRUE_WIND_DIR_VAL 0x2a71
967 /** @def BT_UUID_TRUE_WIND_DIR
968  *  @brief True Wind Direction Characteristic
969  */
970 #define BT_UUID_TRUE_WIND_DIR \
971 	BT_UUID_DECLARE_16(BT_UUID_TRUE_WIND_DIR_VAL)
972 /** @def BT_UUID_APPARENT_WIND_SPEED_VAL
973  *  @brief Apparent Wind Speed Characteristic UUID value
974  */
975 #define BT_UUID_APPARENT_WIND_SPEED_VAL 0x2a72
976 /** @def BT_UUID_APPARENT_WIND_SPEED
977  *  @brief Apparent Wind Speed Characteristic
978  */
979 #define BT_UUID_APPARENT_WIND_SPEED \
980 	BT_UUID_DECLARE_16(BT_UUID_APPARENT_WIND_SPEED_VAL)
981 /** @def BT_UUID_APPARENT_WIND_DIR_VAL
982  *  @brief Apparent Wind Direction Characteristic UUID value
983  */
984 #define BT_UUID_APPARENT_WIND_DIR_VAL 0x2a73
985 /** @def BT_UUID_APPARENT_WIND_DIR
986  *  @brief Apparent Wind Direction Characteristic
987  */
988 #define BT_UUID_APPARENT_WIND_DIR \
989 	BT_UUID_DECLARE_16(BT_UUID_APPARENT_WIND_DIR_VAL)
990 /** @def BT_UUID_GUST_FACTOR_VAL
991  *  @brief Gust Factor Characteristic UUID value
992  */
993 #define BT_UUID_GUST_FACTOR_VAL 0x2a74
994 /** @def BT_UUID_GUST_FACTOR
995  *  @brief Gust Factor Characteristic
996  */
997 #define BT_UUID_GUST_FACTOR \
998 	BT_UUID_DECLARE_16(BT_UUID_GUST_FACTOR_VAL)
999 /** @def BT_UUID_POLLEN_CONCENTRATION_VAL
1000  *  @brief Pollen Concentration Characteristic UUID value
1001  */
1002 #define BT_UUID_POLLEN_CONCENTRATION_VAL 0x2a75
1003 /** @def BT_UUID_POLLEN_CONCENTRATION
1004  *  @brief Pollen Concentration Characteristic
1005  */
1006 #define BT_UUID_POLLEN_CONCENTRATION \
1007 	BT_UUID_DECLARE_16(BT_UUID_POLLEN_CONCENTRATION_VAL)
1008 /** @def BT_UUID_UV_INDEX_VAL
1009  *  @brief UV Index Characteristic UUID value
1010  */
1011 #define BT_UUID_UV_INDEX_VAL 0x2a76
1012 /** @def BT_UUID_UV_INDEX
1013  *  @brief UV Index Characteristic
1014  */
1015 #define BT_UUID_UV_INDEX \
1016 	BT_UUID_DECLARE_16(BT_UUID_UV_INDEX_VAL)
1017 /** @def BT_UUID_IRRADIANCE_VAL
1018  *  @brief Irradiance Characteristic UUID value
1019  */
1020 #define BT_UUID_IRRADIANCE_VAL 0x2a77
1021 /** @def BT_UUID_IRRADIANCE
1022  *  @brief Irradiance Characteristic
1023  */
1024 #define BT_UUID_IRRADIANCE \
1025 	BT_UUID_DECLARE_16(BT_UUID_IRRADIANCE_VAL)
1026 /** @def BT_UUID_RAINFALL_VAL
1027  *  @brief Rainfall Characteristic UUID value
1028  */
1029 #define BT_UUID_RAINFALL_VAL 0x2a78
1030 /** @def BT_UUID_RAINFALL
1031  *  @brief Rainfall Characteristic
1032  */
1033 #define BT_UUID_RAINFALL \
1034 	BT_UUID_DECLARE_16(BT_UUID_RAINFALL_VAL)
1035 /** @def BT_UUID_WIND_CHILL_VAL
1036  *  @brief Wind Chill Characteristic UUID value
1037  */
1038 #define BT_UUID_WIND_CHILL_VAL 0x2a79
1039 /** @def BT_UUID_WIND_CHILL
1040  *  @brief Wind Chill Characteristic
1041  */
1042 #define BT_UUID_WIND_CHILL \
1043 	BT_UUID_DECLARE_16(BT_UUID_WIND_CHILL_VAL)
1044 /** @def BT_UUID_HEAT_INDEX_VAL
1045  *  @brief Heat Index Characteristic UUID value
1046  */
1047 #define BT_UUID_HEAT_INDEX_VAL 0x2a7a
1048 /** @def BT_UUID_HEAT_INDEX
1049  *  @brief Heat Index Characteristic
1050  */
1051 #define BT_UUID_HEAT_INDEX \
1052 	BT_UUID_DECLARE_16(BT_UUID_HEAT_INDEX_VAL)
1053 /** @def BT_UUID_DEW_POINT_VAL
1054  *  @brief Dew Point Characteristic UUID value
1055  */
1056 #define BT_UUID_DEW_POINT_VAL 0x2a7b
1057 /** @def BT_UUID_DEW_POINT
1058  *  @brief Dew Point Characteristic
1059  */
1060 #define BT_UUID_DEW_POINT \
1061 	BT_UUID_DECLARE_16(BT_UUID_DEW_POINT_VAL)
1062 /** @def BT_UUID_DESC_VALUE_CHANGED_VAL
1063  *  @brief Descriptor Value Changed Characteristic UUID value
1064  */
1065 #define BT_UUID_DESC_VALUE_CHANGED_VAL 0x2a7d
1066 /** @def BT_UUID_DESC_VALUE_CHANGED
1067  *  @brief Descriptor Value Changed Characteristic
1068  */
1069 #define BT_UUID_DESC_VALUE_CHANGED \
1070 	BT_UUID_DECLARE_16(BT_UUID_DESC_VALUE_CHANGED_VAL)
1071 /** @def BT_UUID_MAGN_FLUX_DENSITY_2D_VAL
1072  *  @brief Magnetic Flux Density - 2D Characteristic UUID value
1073  */
1074 #define BT_UUID_MAGN_FLUX_DENSITY_2D_VAL 0x2aa0
1075 /** @def BT_UUID_MAGN_FLUX_DENSITY_2D
1076  *  @brief Magnetic Flux Density - 2D Characteristic
1077  */
1078 #define BT_UUID_MAGN_FLUX_DENSITY_2D \
1079 	BT_UUID_DECLARE_16(BT_UUID_MAGN_FLUX_DENSITY_2D_VAL)
1080 /** @def BT_UUID_MAGN_FLUX_DENSITY_3D_VAL
1081  *  @brief Magnetic Flux Density - 3D Characteristic UUID value
1082  */
1083 #define BT_UUID_MAGN_FLUX_DENSITY_3D_VAL 0x2aa1
1084 /** @def BT_UUID_MAGN_FLUX_DENSITY_3D
1085  *  @brief Magnetic Flux Density - 3D Characteristic
1086  */
1087 #define BT_UUID_MAGN_FLUX_DENSITY_3D \
1088 	BT_UUID_DECLARE_16(BT_UUID_MAGN_FLUX_DENSITY_3D_VAL)
1089 /** @def BT_UUID_BAR_PRESSURE_TREND_VAL
1090  *  @brief Barometric Pressure Trend Characteristic UUID value
1091  */
1092 #define BT_UUID_BAR_PRESSURE_TREND_VAL 0x2aa3
1093 /** @def BT_UUID_BAR_PRESSURE_TREND
1094  *  @brief Barometric Pressure Trend Characteristic
1095  */
1096 #define BT_UUID_BAR_PRESSURE_TREND \
1097 	BT_UUID_DECLARE_16(BT_UUID_BAR_PRESSURE_TREND_VAL)
1098 /** @def BT_UUID_BMS_CONTROL_POINT_VAL
1099  *  @brief Bond Management Control Point UUID value
1100  */
1101 #define BT_UUID_BMS_CONTROL_POINT_VAL 0x2aa4
1102 /** @def BT_UUID_BMS_CONTROL_POINT
1103  *  @brief Bond Management Control Point
1104  */
1105 #define BT_UUID_BMS_CONTROL_POINT \
1106 	BT_UUID_DECLARE_16(BT_UUID_BMS_CONTROL_POINT_VAL)
1107 /** @def BT_UUID_BMS_FEATURE_VAL
1108  *  @brief Bond Management Feature UUID value
1109  */
1110 #define BT_UUID_BMS_FEATURE_VAL 0x2aa5
1111 /** @def BT_UUID_BMS_FEATURE
1112  *  @brief Bond Management Feature
1113  */
1114 #define BT_UUID_BMS_FEATURE \
1115 	BT_UUID_DECLARE_16(BT_UUID_BMS_FEATURE_VAL)
1116 /** @def BT_UUID_CENTRAL_ADDR_RES_VAL
1117  *  @brief Central Address Resolution Characteristic UUID value
1118  */
1119 #define BT_UUID_CENTRAL_ADDR_RES_VAL 0x2aa6
1120 /** @def BT_UUID_CENTRAL_ADDR_RES
1121  *  @brief Central Address Resolution Characteristic
1122  */
1123 #define BT_UUID_CENTRAL_ADDR_RES \
1124 	BT_UUID_DECLARE_16(BT_UUID_CENTRAL_ADDR_RES_VAL)
1125 /** @def BT_UUID_URI_VAL
1126  *  @brief URI UUID value
1127  */
1128 #define BT_UUID_URI_VAL 0x2ab6
1129 /** @def BT_UUID_URI
1130  *  @brief URI
1131  */
1132 #define BT_UUID_URI \
1133 	BT_UUID_DECLARE_16(BT_UUID_URI_VAL)
1134 /** @def BT_UUID_HTTP_HEADERS_VAL
1135  *  @brief HTTP Headers UUID value
1136  */
1137 #define BT_UUID_HTTP_HEADERS_VAL 0x2ab7
1138 /** @def BT_UUID_HTTP_HEADERS
1139  *  @brief HTTP Headers
1140  */
1141 #define BT_UUID_HTTP_HEADERS \
1142 	BT_UUID_DECLARE_16(BT_UUID_HTTP_HEADERS_VAL)
1143 /** @def BT_UUID_HTTP_STATUS_CODE_VAL
1144  *  @brief HTTP Status Code UUID value
1145  */
1146 #define BT_UUID_HTTP_STATUS_CODE_VAL 0x2ab8
1147 /** @def BT_UUID_HTTP_STATUS_CODE
1148  *  @brief HTTP Status Code
1149  */
1150 #define BT_UUID_HTTP_STATUS_CODE \
1151 	BT_UUID_DECLARE_16(BT_UUID_HTTP_STATUS_CODE_VAL)
1152 /** @def BT_UUID_HTTP_ENTITY_BODY_VAL
1153  *  @brief HTTP Entity Body UUID value
1154  */
1155 #define BT_UUID_HTTP_ENTITY_BODY_VAL 0x2ab9
1156 /** @def BT_UUID_HTTP_ENTITY_BODY
1157  *  @brief HTTP Entity Body
1158  */
1159 #define BT_UUID_HTTP_ENTITY_BODY \
1160 	BT_UUID_DECLARE_16(BT_UUID_HTTP_ENTITY_BODY_VAL)
1161 /** @def BT_UUID_HTTP_CONTROL_POINT_VAL
1162  *  @brief HTTP Control Point UUID value
1163  */
1164 #define BT_UUID_HTTP_CONTROL_POINT_VAL 0x2aba
1165 /** @def BT_UUID_HTTP_CONTROL_POINT
1166  *  @brief HTTP Control Point
1167  */
1168 #define BT_UUID_HTTP_CONTROL_POINT \
1169 	BT_UUID_DECLARE_16(BT_UUID_HTTP_CONTROL_POINT_VAL)
1170 /** @def BT_UUID_HTTPS_SECURITY_VAL
1171  *  @brief HTTPS Security UUID value
1172  */
1173 #define BT_UUID_HTTPS_SECURITY_VAL 0x2abb
1174 /** @def BT_UUID_HTTPS_SECURITY
1175  *  @brief HTTPS Security
1176  */
1177 #define BT_UUID_HTTPS_SECURITY \
1178 	BT_UUID_DECLARE_16(BT_UUID_HTTPS_SECURITY_VAL)
1179 /** @def BT_UUID_OTS_FEATURE_VAL
1180  *  @brief OTS Feature Characteristic UUID value
1181  */
1182 #define BT_UUID_OTS_FEATURE_VAL 0x2abd
1183 /** @def BT_UUID_OTS_FEATURE
1184  *  @brief OTS Feature Characteristic
1185  */
1186 #define BT_UUID_OTS_FEATURE \
1187 	BT_UUID_DECLARE_16(BT_UUID_OTS_FEATURE_VAL)
1188 /** @def BT_UUID_OTS_NAME_VAL
1189  *  @brief OTS Object Name Characteristic UUID value
1190  */
1191 #define BT_UUID_OTS_NAME_VAL 0x2abe
1192 /** @def BT_UUID_OTS_NAME
1193  *  @brief OTS Object Name Characteristic
1194  */
1195 #define BT_UUID_OTS_NAME \
1196 	BT_UUID_DECLARE_16(BT_UUID_OTS_NAME_VAL)
1197 /** @def BT_UUID_OTS_TYPE_VAL
1198  *  @brief OTS Object Type Characteristic UUID value
1199  */
1200 #define BT_UUID_OTS_TYPE_VAL 0x2abf
1201 /** @def BT_UUID_OTS_TYPE
1202  *  @brief OTS Object Type Characteristic
1203  */
1204 #define BT_UUID_OTS_TYPE \
1205 	BT_UUID_DECLARE_16(BT_UUID_OTS_TYPE_VAL)
1206 /** @def BT_UUID_OTS_SIZE_VAL
1207  *  @brief OTS Object Size Characteristic UUID value
1208  */
1209 #define BT_UUID_OTS_SIZE_VAL 0x2ac0
1210 /** @def BT_UUID_OTS_SIZE
1211  *  @brief OTS Object Size Characteristic
1212  */
1213 #define BT_UUID_OTS_SIZE \
1214 	BT_UUID_DECLARE_16(BT_UUID_OTS_SIZE_VAL)
1215 /** @def BT_UUID_OTS_FIRST_CREATED_VAL
1216  *  @brief OTS Object First-Created Characteristic UUID value
1217  */
1218 #define BT_UUID_OTS_FIRST_CREATED_VAL 0x2ac1
1219 /** @def BT_UUID_OTS_FIRST_CREATED
1220  *  @brief OTS Object First-Created Characteristic
1221  */
1222 #define BT_UUID_OTS_FIRST_CREATED \
1223 	BT_UUID_DECLARE_16(BT_UUID_OTS_FIRST_CREATED_VAL)
1224 /** @def BT_UUID_OTS_LAST_MODIFIED_VAL
1225  *  @brief OTS Object Last-Modified Characteristic UUI value
1226  */
1227 #define BT_UUID_OTS_LAST_MODIFIED_VAL 0x2ac2
1228 /** @def BT_UUID_OTS_LAST_MODIFIED
1229  *  @brief OTS Object Last-Modified Characteristic
1230  */
1231 #define BT_UUID_OTS_LAST_MODIFIED \
1232 	BT_UUID_DECLARE_16(BT_UUID_OTS_LAST_MODIFIED_VAL)
1233 /** @def BT_UUID_OTS_ID_VAL
1234  *  @brief OTS Object ID Characteristic UUID value
1235  */
1236 #define BT_UUID_OTS_ID_VAL 0x2ac3
1237 /** @def BT_UUID_OTS_ID
1238  *  @brief OTS Object ID Characteristic
1239  */
1240 #define BT_UUID_OTS_ID \
1241 	BT_UUID_DECLARE_16(BT_UUID_OTS_ID_VAL)
1242 /** @def BT_UUID_OTS_PROPERTIES_VAL
1243  *  @brief OTS Object Properties Characteristic UUID value
1244  */
1245 #define BT_UUID_OTS_PROPERTIES_VAL 0x2ac4
1246 /** @def BT_UUID_OTS_PROPERTIES
1247  *  @brief OTS Object Properties Characteristic
1248  */
1249 #define BT_UUID_OTS_PROPERTIES \
1250 	BT_UUID_DECLARE_16(BT_UUID_OTS_PROPERTIES_VAL)
1251 /** @def BT_UUID_OTS_ACTION_CP_VAL
1252  *  @brief OTS Object Action Control Point Characteristic UUID value
1253  */
1254 #define BT_UUID_OTS_ACTION_CP_VAL 0x2ac5
1255 /** @def BT_UUID_OTS_ACTION_CP
1256  *  @brief OTS Object Action Control Point Characteristic
1257  */
1258 #define BT_UUID_OTS_ACTION_CP \
1259 	BT_UUID_DECLARE_16(BT_UUID_OTS_ACTION_CP_VAL)
1260 /** @def BT_UUID_OTS_LIST_CP_VAL
1261  *  @brief OTS Object List Control Point Characteristic UUID value
1262  */
1263 #define BT_UUID_OTS_LIST_CP_VAL 0x2ac6
1264 /** @def BT_UUID_OTS_LIST_CP
1265  *  @brief OTS Object List Control Point Characteristic
1266  */
1267 #define BT_UUID_OTS_LIST_CP \
1268 	BT_UUID_DECLARE_16(BT_UUID_OTS_LIST_CP_VAL)
1269 /** @def BT_UUID_OTS_LIST_FILTER_VAL
1270  *  @brief OTS Object List Filter Characteristic UUID value
1271  */
1272 #define BT_UUID_OTS_LIST_FILTER_VAL 0x2ac7
1273 /** @def BT_UUID_OTS_LIST_FILTER
1274  *  @brief OTS Object List Filter Characteristic
1275  */
1276 #define BT_UUID_OTS_LIST_FILTER \
1277 	BT_UUID_DECLARE_16(BT_UUID_OTS_LIST_FILTER_VAL)
1278 /** @def BT_UUID_OTS_CHANGED_VAL
1279  *  @brief OTS Object Changed Characteristic UUID value
1280  */
1281 #define BT_UUID_OTS_CHANGED_VAL 0x2ac8
1282 /** @def BT_UUID_OTS_CHANGED
1283  *  @brief OTS Object Changed Characteristic
1284  */
1285 #define BT_UUID_OTS_CHANGED \
1286 	BT_UUID_DECLARE_16(BT_UUID_OTS_CHANGED_VAL)
1287 /** @def BT_UUID_OTS_TYPE_UNSPECIFIED_VAL
1288  *  @brief OTS Unspecified Object Type UUID value
1289  */
1290 #define BT_UUID_OTS_TYPE_UNSPECIFIED_VAL 0x2aca
1291 /** @def BT_UUID_OTS_TYPE_UNSPECIFIED
1292  *  @brief OTS Unspecified Object Type
1293  */
1294 #define BT_UUID_OTS_TYPE_UNSPECIFIED \
1295 	BT_UUID_DECLARE_16(BT_UUID_OTS_TYPE_UNSPECIFIED_VAL)
1296 /** @def BT_UUID_OTS_DIRECTORY_LISTING_VAL
1297  *  @brief OTS Directory Listing UUID value
1298  */
1299 #define BT_UUID_OTS_DIRECTORY_LISTING_VAL 0x2acb
1300 /** @def BT_UUID_OTS_DIRECTORY_LISTING
1301  *  @brief OTS Directory Listing
1302  */
1303 #define BT_UUID_OTS_DIRECTORY_LISTING \
1304 	BT_UUID_DECLARE_16(BT_UUID_OTS_DIRECTORY_LISTING_VAL)
1305 /** @def BT_UUID_MESH_PROV_DATA_IN_VAL
1306  *  @brief Mesh Provisioning Data In UUID value
1307  */
1308 #define BT_UUID_MESH_PROV_DATA_IN_VAL 0x2adb
1309 /** @def BT_UUID_MESH_PROV_DATA_IN
1310  *  @brief Mesh Provisioning Data In
1311  */
1312 #define BT_UUID_MESH_PROV_DATA_IN \
1313 	BT_UUID_DECLARE_16(BT_UUID_MESH_PROV_DATA_IN_VAL)
1314 /** @def BT_UUID_MESH_PROV_DATA_OUT_VAL
1315  *  @brief Mesh Provisioning Data Out UUID value
1316  */
1317 #define BT_UUID_MESH_PROV_DATA_OUT_VAL 0x2adc
1318 /** @def BT_UUID_MESH_PROV_DATA_OUT
1319  *  @brief Mesh Provisioning Data Out
1320  */
1321 #define BT_UUID_MESH_PROV_DATA_OUT \
1322 	BT_UUID_DECLARE_16(BT_UUID_MESH_PROV_DATA_OUT_VAL)
1323 /** @def BT_UUID_MESH_PROXY_DATA_IN_VAL
1324  *  @brief Mesh Proxy Data In UUID value
1325  */
1326 #define BT_UUID_MESH_PROXY_DATA_IN_VAL 0x2add
1327 /** @def BT_UUID_MESH_PROXY_DATA_IN
1328  *  @brief Mesh Proxy Data In
1329  */
1330 #define BT_UUID_MESH_PROXY_DATA_IN \
1331 	BT_UUID_DECLARE_16(BT_UUID_MESH_PROXY_DATA_IN_VAL)
1332 /** @def BT_UUID_MESH_PROXY_DATA_OUT_VAL
1333  *  @brief Mesh Proxy Data Out UUID value
1334  */
1335 #define BT_UUID_MESH_PROXY_DATA_OUT_VAL 0x2ade
1336 /** @def BT_UUID_MESH_PROXY_DATA_OUT
1337  *  @brief Mesh Proxy Data Out
1338  */
1339 #define BT_UUID_MESH_PROXY_DATA_OUT \
1340 	BT_UUID_DECLARE_16(BT_UUID_MESH_PROXY_DATA_OUT_VAL)
1341 /** @def BT_UUID_GATT_CLIENT_FEATURES_VAL
1342  *  @brief Client Supported Features UUID value
1343  */
1344 #define BT_UUID_GATT_CLIENT_FEATURES_VAL 0x2b29
1345 /** @def BT_UUID_GATT_CLIENT_FEATURES
1346  *  @brief Client Supported Features
1347  */
1348 #define BT_UUID_GATT_CLIENT_FEATURES \
1349 	BT_UUID_DECLARE_16(BT_UUID_GATT_CLIENT_FEATURES_VAL)
1350 /** @def BT_UUID_GATT_DB_HASH_VAL
1351  *  @brief Database Hash UUID value
1352  */
1353 #define BT_UUID_GATT_DB_HASH_VAL 0x2b2a
1354 /** @def BT_UUID_GATT_DB_HASH
1355  *  @brief Database Hash
1356  */
1357 #define BT_UUID_GATT_DB_HASH \
1358 	BT_UUID_DECLARE_16(BT_UUID_GATT_DB_HASH_VAL)
1359 
1360 /** @def BT_UUID_GATT_SERVER_FEATURES_VAL
1361  *  @brief Server Supported Features UUID value
1362  */
1363 #define BT_UUID_GATT_SERVER_FEATURES_VAL  0x2b3a
1364 /** @def BT_UUID_GATT_SERVER_FEATURES
1365  *  @brief Server Supported Features
1366  */
1367 #define BT_UUID_GATT_SERVER_FEATURES      \
1368 	BT_UUID_DECLARE_16(BT_UUID_GATT_SERVER_FEATURES_VAL)
1369 
1370 /** @def BT_UUID_AICS_STATE_VAL
1371  *  @brief Audio Input Control Service State value
1372  */
1373 #define BT_UUID_AICS_STATE_VAL 0x2B77
1374 /** @def BT_UUID_AICS_STATE
1375  *  @brief Audio Input Control Service State
1376  */
1377 #define BT_UUID_AICS_STATE \
1378 	BT_UUID_DECLARE_16(BT_UUID_AICS_STATE_VAL)
1379 /** @def BT_UUID_AICS_GAIN_SETTINGS_VAL
1380  *  @brief Audio Input Control Service Gain Settings Properties value
1381  */
1382 #define BT_UUID_AICS_GAIN_SETTINGS_VAL 0x2B78
1383 /** @def BT_UUID_AICS_GAIN_SETTINGS
1384  *  @brief Audio Input Control Service Gain Settings Properties
1385  */
1386 #define BT_UUID_AICS_GAIN_SETTINGS \
1387 	BT_UUID_DECLARE_16(BT_UUID_AICS_GAIN_SETTINGS_VAL)
1388 /** @def BT_UUID_AICS_INPUT_TYPE_VAL
1389  *  @brief Audio Input Control Service Input Type value
1390  */
1391 #define BT_UUID_AICS_INPUT_TYPE_VAL 0x2B79
1392 /** @def BT_UUID_AICS_INPUT_TYPE
1393  *  @brief Audio Input Control Service Input Type
1394  */
1395 #define BT_UUID_AICS_INPUT_TYPE \
1396 	BT_UUID_DECLARE_16(BT_UUID_AICS_INPUT_TYPE_VAL)
1397 /** @def BT_UUID_AICS_INPUT_STATUS_VAL
1398  *  @brief Audio Input Control Service Input Status value
1399  */
1400 #define BT_UUID_AICS_INPUT_STATUS_VAL 0x2B7A
1401 /** @def BT_UUID_AICS_INPUT_STATUS
1402  *  @brief Audio Input Control Service Input Status
1403  */
1404 #define BT_UUID_AICS_INPUT_STATUS \
1405 	BT_UUID_DECLARE_16(BT_UUID_AICS_INPUT_STATUS_VAL)
1406 /** @def BT_UUID_AICS_CONTROL_VAL
1407  *  @brief Audio Input Control Service Control Point value
1408  */
1409 #define BT_UUID_AICS_CONTROL_VAL 0x2B7B
1410 /** @def BT_UUID_AICS_CONTROL
1411  *  @brief Audio Input Control Service Control Point
1412  */
1413 #define BT_UUID_AICS_CONTROL \
1414 	BT_UUID_DECLARE_16(BT_UUID_AICS_CONTROL_VAL)
1415 /** @def BT_UUID_AICS_DESCRIPTION_VAL
1416  *  @brief Audio Input Control Service Input Description value
1417  */
1418 #define BT_UUID_AICS_DESCRIPTION_VAL 0x2B7C
1419 /** @def BT_UUID_AICS_DESCRIPTION
1420  *  @brief Audio Input Control Service Input Description
1421  */
1422 #define BT_UUID_AICS_DESCRIPTION \
1423 	BT_UUID_DECLARE_16(BT_UUID_AICS_DESCRIPTION_VAL)
1424 /** @def BT_UUID_VCS_STATE_VAL
1425  *  @brief Volume Control Setting value
1426  */
1427 #define BT_UUID_VCS_STATE_VAL 0x2B7D
1428 /** @def BT_UUID_VCS_STATE
1429  *  @brief Volume Control Setting
1430  */
1431 #define BT_UUID_VCS_STATE \
1432 	BT_UUID_DECLARE_16(BT_UUID_VCS_STATE_VAL)
1433 /** @def BT_UUID_VCS_CONTROL_VAL
1434  *  @brief Volume Control Control point value
1435  */
1436 #define BT_UUID_VCS_CONTROL_VAL 0x2B7E
1437 /** @def BT_UUID_VCS_CONTROL
1438  *  @brief Volume Control Control point
1439  */
1440 #define BT_UUID_VCS_CONTROL \
1441 	BT_UUID_DECLARE_16(BT_UUID_VCS_CONTROL_VAL)
1442 /** @def BT_UUID_VCS_FLAGS_VAL
1443  *  @brief Volume Control Flags value
1444  */
1445 #define BT_UUID_VCS_FLAGS_VAL 0x2B7F
1446 /** @def BT_UUID_VCS_FLAGS
1447  *  @brief Volume Control Flags
1448  */
1449 #define BT_UUID_VCS_FLAGS \
1450 	BT_UUID_DECLARE_16(BT_UUID_VCS_FLAGS_VAL)
1451 /** @def BT_UUID_VOCS_STATE_VAL
1452  *  @brief Volume Offset State value
1453  */
1454 #define BT_UUID_VOCS_STATE_VAL 0x2B80
1455 /** @def BT_UUID_VOCS_STATE
1456  *  @brief Volume Offset State
1457  */
1458 #define BT_UUID_VOCS_STATE \
1459 	BT_UUID_DECLARE_16(BT_UUID_VOCS_STATE_VAL)
1460 /** @def BT_UUID_VOCS_LOCATION_VAL
1461  *  @brief Audio Location value
1462  */
1463 #define BT_UUID_VOCS_LOCATION_VAL 0x2B81
1464 /** @def BT_UUID_VOCS_LOCATION
1465  *  @brief Audio Location
1466  */
1467 #define BT_UUID_VOCS_LOCATION \
1468 	BT_UUID_DECLARE_16(BT_UUID_VOCS_LOCATION_VAL)
1469 /** @def BT_UUID_VOCS_CONTROL_VAL
1470  *  @brief Volume Offset Control Point value
1471  */
1472 #define BT_UUID_VOCS_CONTROL_VAL 0x2B82
1473 /** @def BT_UUID_VOCS_CONTROL
1474  *  @brief Volume Offset Control Point
1475  */
1476 #define BT_UUID_VOCS_CONTROL \
1477 	BT_UUID_DECLARE_16(BT_UUID_VOCS_CONTROL_VAL)
1478 /** @def BT_UUID_VOCS_DESCRIPTION_VAL
1479  *  @brief Volume Offset Audio Output Description value
1480  */
1481 #define BT_UUID_VOCS_DESCRIPTION_VAL 0x2B83
1482 /** @def BT_UUID_VOCS_DESCRIPTION
1483  *  @brief Volume Offset Audio Output Description
1484  */
1485 #define BT_UUID_VOCS_DESCRIPTION \
1486 	BT_UUID_DECLARE_16(BT_UUID_VOCS_DESCRIPTION_VAL)
1487 /** @def BT_UUID_MICS_MUTE_VAL
1488  *  @brief Microphone Input Control Service Mute value
1489  */
1490 #define BT_UUID_MICS_MUTE_VAL 0x2BC3
1491 /** @def BT_UUID_MICS_MUTE
1492  *  @brief Microphone Input Control Service Mute
1493  */
1494 #define BT_UUID_MICS_MUTE \
1495 	BT_UUID_DECLARE_16(BT_UUID_MICS_MUTE_VAL)
1496 /*
1497  * Protocol UUIDs
1498  */
1499 #define BT_UUID_SDP_VAL               0x0001
1500 #define BT_UUID_SDP                   BT_UUID_DECLARE_16(BT_UUID_SDP_VAL)
1501 #define BT_UUID_UDP_VAL               0x0002
1502 #define BT_UUID_UDP                   BT_UUID_DECLARE_16(BT_UUID_UDP_VAL)
1503 #define BT_UUID_RFCOMM_VAL            0x0003
1504 #define BT_UUID_RFCOMM                BT_UUID_DECLARE_16(BT_UUID_RFCOMM_VAL)
1505 #define BT_UUID_TCP_VAL               0x0004
1506 #define BT_UUID_TCP                   BT_UUID_DECLARE_16(BT_UUID_TCP_VAL)
1507 #define BT_UUID_TCS_BIN_VAL           0x0005
1508 #define BT_UUID_TCS_BIN               BT_UUID_DECLARE_16(BT_UUID_TCS_BIN_VAL)
1509 #define BT_UUID_TCS_AT_VAL            0x0006
1510 #define BT_UUID_TCS_AT                BT_UUID_DECLARE_16(BT_UUID_TCS_AT_VAL)
1511 #define BT_UUID_ATT_VAL               0x0007
1512 #define BT_UUID_ATT                   BT_UUID_DECLARE_16(BT_UUID_ATT_VAL)
1513 #define BT_UUID_OBEX_VAL              0x0008
1514 #define BT_UUID_OBEX                  BT_UUID_DECLARE_16(BT_UUID_OBEX_VAL)
1515 #define BT_UUID_IP_VAL                0x0009
1516 #define BT_UUID_IP                    BT_UUID_DECLARE_16(BT_UUID_IP_VAL)
1517 #define BT_UUID_FTP_VAL               0x000a
1518 #define BT_UUID_FTP                   BT_UUID_DECLARE_16(BT_UUID_FTP_VAL)
1519 #define BT_UUID_HTTP_VAL              0x000c
1520 #define BT_UUID_HTTP                  BT_UUID_DECLARE_16(BT_UUID_HTTP_VAL)
1521 #define BT_UUID_BNEP_VAL              0x000f
1522 #define BT_UUID_BNEP                  BT_UUID_DECLARE_16(BT_UUID_BNEP_VAL)
1523 #define BT_UUID_UPNP_VAL              0x0010
1524 #define BT_UUID_UPNP                  BT_UUID_DECLARE_16(BT_UUID_UPNP_VAL)
1525 #define BT_UUID_HIDP_VAL              0x0011
1526 #define BT_UUID_HIDP                  BT_UUID_DECLARE_16(BT_UUID_HIDP_VAL)
1527 #define BT_UUID_HCRP_CTRL_VAL         0x0012
1528 #define BT_UUID_HCRP_CTRL             BT_UUID_DECLARE_16(BT_UUID_HCRP_CTRL_VAL)
1529 #define BT_UUID_HCRP_DATA_VAL         0x0014
1530 #define BT_UUID_HCRP_DATA             BT_UUID_DECLARE_16(BT_UUID_HCRP_DATA_VAL)
1531 #define BT_UUID_HCRP_NOTE_VAL         0x0016
1532 #define BT_UUID_HCRP_NOTE             BT_UUID_DECLARE_16(BT_UUID_HCRP_NOTE_VAL)
1533 #define BT_UUID_AVCTP_VAL             0x0017
1534 #define BT_UUID_AVCTP                 BT_UUID_DECLARE_16(BT_UUID_AVCTP_VAL)
1535 #define BT_UUID_AVDTP_VAL             0x0019
1536 #define BT_UUID_AVDTP                 BT_UUID_DECLARE_16(BT_UUID_AVDTP_VAL)
1537 #define BT_UUID_CMTP_VAL              0x001b
1538 #define BT_UUID_CMTP                  BT_UUID_DECLARE_16(BT_UUID_CMTP_VAL)
1539 #define BT_UUID_UDI_VAL               0x001d
1540 #define BT_UUID_UDI                   BT_UUID_DECLARE_16(BT_UUID_UDI_VAL)
1541 #define BT_UUID_MCAP_CTRL_VAL         0x001e
1542 #define BT_UUID_MCAP_CTRL             BT_UUID_DECLARE_16(BT_UUID_MCAP_CTRL_VAL)
1543 #define BT_UUID_MCAP_DATA_VAL         0x001f
1544 #define BT_UUID_MCAP_DATA             BT_UUID_DECLARE_16(BT_UUID_MCAP_DATA_VAL)
1545 #define BT_UUID_L2CAP_VAL             0x0100
1546 #define BT_UUID_L2CAP                 BT_UUID_DECLARE_16(BT_UUID_L2CAP_VAL)
1547 
1548 
1549 /** @brief Compare Bluetooth UUIDs.
1550  *
1551  *  Compares 2 Bluetooth UUIDs, if the types are different both UUIDs are
1552  *  first converted to 128 bits format before comparing.
1553  *
1554  *  @param u1 First Bluetooth UUID to compare
1555  *  @param u2 Second Bluetooth UUID to compare
1556  *
1557  *  @return negative value if @a u1 < @a u2, 0 if @a u1 == @a u2, else positive
1558  */
1559 int bt_uuid_cmp(const struct bt_uuid *u1, const struct bt_uuid *u2);
1560 
1561 /** @brief Create a bt_uuid from a little-endian data buffer.
1562  *
1563  *  Create a bt_uuid from a little-endian data buffer. The data_len parameter
1564  *  is used to determine whether the UUID is in 16, 32 or 128 bit format
1565  *  (length 2, 4 or 16). Note: 32 bit format is not allowed over the air.
1566  *
1567  *  @param uuid Pointer to the bt_uuid variable
1568  *  @param data pointer to UUID stored in little-endian data buffer
1569  *  @param data_len length of the UUID in the data buffer
1570  *
1571  *  @return true if the data was valid and the UUID was successfully created.
1572  */
1573 bool bt_uuid_create(struct bt_uuid *uuid, const uint8_t *data, uint8_t data_len);
1574 
1575 /** @brief Convert Bluetooth UUID to string.
1576  *
1577  *  Converts Bluetooth UUID to string.
1578  *  UUID can be in any format, 16-bit, 32-bit or 128-bit.
1579  *
1580  *  @param uuid Bluetooth UUID
1581  *  @param str pointer where to put converted string
1582  *  @param len length of str
1583  *
1584  *  @return N/A
1585  */
1586 void bt_uuid_to_str(const struct bt_uuid *uuid, char *str, size_t len);
1587 
1588 #ifdef __cplusplus
1589 }
1590 #endif
1591 
1592 /**
1593  * @}
1594  */
1595 
1596 #endif /* ZEPHYR_INCLUDE_BLUETOOTH_UUID_H_ */
1597