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 _BLE_MESH_UUID_H_
11 #define _BLE_MESH_UUID_H_
12 
13 /**
14  * @brief UUIDs
15  * @defgroup bt_uuid UUIDs
16  * @ingroup bluetooth
17  * @{
18  */
19 
20 #include "mesh_util.h"
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 /** @brief Bluetooth UUID types */
27 enum {
28     BLE_MESH_UUID_TYPE_16,
29     BLE_MESH_UUID_TYPE_32,
30     BLE_MESH_UUID_TYPE_128,
31 };
32 
33 /** @brief This is a 'tentative' type and should be used as a pointer only */
34 struct bt_mesh_uuid {
35     uint8_t type;
36 };
37 
38 struct bt_mesh_uuid_16 {
39     struct bt_mesh_uuid uuid;
40     uint16_t val;
41 };
42 
43 struct bt_mesh_uuid_32 {
44     struct bt_mesh_uuid uuid;
45     uint32_t val;
46 };
47 
48 struct bt_mesh_uuid_128 {
49     struct bt_mesh_uuid uuid;
50     uint8_t val[16];
51 };
52 
53 #define BLE_MESH_UUID_INIT_16(value)        \
54 {                                           \
55     .uuid.type = BLE_MESH_UUID_TYPE_16,     \
56     .val = (value),                         \
57 }
58 
59 #define BLE_MESH_UUID_INIT_32(value)        \
60 {                                           \
61     .uuid.type = BLE_MESH_UUID_TYPE_32,     \
62     .val = (value),                         \
63 }
64 
65 #define BLE_MESH_UUID_INIT_128(value...)    \
66 {                                           \
67     .uuid.type = BLE_MESH_UUID_TYPE_128,    \
68     .val = { value },                       \
69 }
70 
71 #define BLE_MESH_UUID_DECLARE_16(value)     \
72         ((struct bt_mesh_uuid *) (&(struct bt_mesh_uuid_16) BLE_MESH_UUID_INIT_16(value)))
73 
74 #define BLE_MESH_UUID_DECLARE_32(value)     \
75         ((struct bt_mesh_uuid *) (&(struct bt_mesh_uuid_32) BLE_MESH_UUID_INIT_32(value)))
76 
77 #define BLE_MESH_UUID_DECLARE_128(value...) \
78         ((struct bt_mesh_uuid *) (&(struct bt_mesh_uuid_128) BLE_MESH_UUID_INIT_128(value)))
79 
80 #define BLE_MESH_UUID_16(__u)  CONTAINER_OF(__u, struct bt_mesh_uuid_16, uuid)
81 #define BLE_MESH_UUID_32(__u)  CONTAINER_OF(__u, struct bt_mesh_uuid_32, uuid)
82 #define BLE_MESH_UUID_128(__u) CONTAINER_OF(__u, struct bt_mesh_uuid_128, uuid)
83 
84 /** @def BLE_MESH_UUID_GAP
85  *  @brief Generic Access
86  */
87 #define BLE_MESH_UUID_GAP                       BLE_MESH_UUID_DECLARE_16(0x1800)
88 #define BLE_MESH_UUID_GAP_VAL                   0x1800
89 /** @def BLE_MESH_UUID_GATT
90  *  @brief Generic Attribute
91  */
92 #define BLE_MESH_UUID_GATT                      BLE_MESH_UUID_DECLARE_16(0x1801)
93 #define BLE_MESH_UUID_GATT_VAL                  0x1801
94 /** @def BLE_MESH_UUID_CTS
95  *  @brief Current Time Service
96  */
97 #define BLE_MESH_UUID_CTS                       BLE_MESH_UUID_DECLARE_16(0x1805)
98 #define BLE_MESH_UUID_CTS_VAL                   0x1805
99 /** @def BLE_MESH_UUID_DIS
100  *  @brief Device Information Service
101  */
102 #define BLE_MESH_UUID_DIS                       BLE_MESH_UUID_DECLARE_16(0x180a)
103 #define BLE_MESH_UUID_DIS_VAL                   0x180a
104 /** @def BLE_MESH_UUID_HRS
105  *  @brief Heart Rate Service
106  */
107 #define BLE_MESH_UUID_HRS                       BLE_MESH_UUID_DECLARE_16(0x180d)
108 #define BLE_MESH_UUID_HRS_VAL                   0x180d
109 /** @def BLE_MESH_UUID_BAS
110  *  @brief Battery Service
111  */
112 #define BLE_MESH_UUID_BAS                       BLE_MESH_UUID_DECLARE_16(0x180f)
113 #define BLE_MESH_UUID_BAS_VAL                   0x180f
114 /** @def BLE_MESH_UUID_HIDS
115  *  @brief HID Service
116  */
117 #define BLE_MESH_UUID_HIDS                      BLE_MESH_UUID_DECLARE_16(0x1812)
118 #define BLE_MESH_UUID_HIDS_VAL                  0x1812
119 /** @def BLE_MESH_UUID_CSC
120  *  @brief Cycling Speed and Cadence Service
121  */
122 #define BLE_MESH_UUID_CSC                       BLE_MESH_UUID_DECLARE_16(0x1816)
123 #define BLE_MESH_UUID_CSC_VAL                   0x1816
124 /** @def BLE_MESH_UUID_ESS
125  *  @brief Environmental Sensing Service
126  */
127 #define BLE_MESH_UUID_ESS                       BLE_MESH_UUID_DECLARE_16(0x181a)
128 #define BLE_MESH_UUID_ESS_VAL                   0x181a
129 /** @def BLE_MESH_UUID_IPSS
130  *  @brief IP Support Service
131  */
132 #define BLE_MESH_UUID_IPSS                      BLE_MESH_UUID_DECLARE_16(0x1820)
133 #define BLE_MESH_UUID_IPSS_VAL                  0x1820
134 /** @def BLE_MESH_UUID_MESH_PROV
135  *  @brief Mesh Provisioning Service
136  */
137 #define BLE_MESH_UUID_MESH_PROV                 BLE_MESH_UUID_DECLARE_16(0x1827)
138 #define BLE_MESH_UUID_MESH_PROV_VAL             0x1827
139 /** @def BLE_MESH_UUID_MESH_PROXY
140  *  @brief Mesh Proxy Service
141  */
142 #define BLE_MESH_UUID_MESH_PROXY                BLE_MESH_UUID_DECLARE_16(0x1828)
143 #define BLE_MESH_UUID_MESH_PROXY_VAL            0x1828
144 /** @def BLE_MESH_UUID_GATT_PRIMARY
145  *  @brief GATT Primary Service
146  */
147 #define BLE_MESH_UUID_GATT_PRIMARY              BLE_MESH_UUID_DECLARE_16(0x2800)
148 #define BLE_MESH_UUID_GATT_PRIMARY_VAL          0x2800
149 /** @def BLE_MESH_UUID_GATT_SECONDARY
150  *  @brief GATT Secondary Service
151  */
152 #define BLE_MESH_UUID_GATT_SECONDARY            BLE_MESH_UUID_DECLARE_16(0x2801)
153 #define BLE_MESH_UUID_GATT_SECONDARY_VAL        0x2801
154 /** @def BLE_MESH_UUID_GATT_INCLUDE
155  *  @brief GATT Include Service
156  */
157 #define BLE_MESH_UUID_GATT_INCLUDE              BLE_MESH_UUID_DECLARE_16(0x2802)
158 #define BLE_MESH_UUID_GATT_INCLUDE_VAL          0x2802
159 /** @def BLE_MESH_UUID_GATT_CHRC
160  *  @brief GATT Characteristic
161  */
162 #define BLE_MESH_UUID_GATT_CHRC                 BLE_MESH_UUID_DECLARE_16(0x2803)
163 #define BLE_MESH_UUID_GATT_CHRC_VAL             0x2803
164 /** @def BLE_MESH_UUID_GATT_CEP
165  *  @brief GATT Characteristic Extended Properties
166  */
167 #define BLE_MESH_UUID_GATT_CEP                  BLE_MESH_UUID_DECLARE_16(0x2900)
168 #define BLE_MESH_UUID_GATT_CEP_VAL              0x2900
169 /** @def BLE_MESH_UUID_GATT_CUD
170  *  @brief GATT Characteristic User Description
171  */
172 #define BLE_MESH_UUID_GATT_CUD                  BLE_MESH_UUID_DECLARE_16(0x2901)
173 #define BLE_MESH_UUID_GATT_CUD_VAL              0x2901
174 /** @def BLE_MESH_UUID_GATT_CCC
175  *  @brief GATT Client Characteristic Configuration
176  */
177 #define BLE_MESH_UUID_GATT_CCC                  BLE_MESH_UUID_DECLARE_16(0x2902)
178 #define BLE_MESH_UUID_GATT_CCC_VAL              0x2902
179 /** @def BLE_MESH_UUID_GATT_SCC
180  *  @brief GATT Server Characteristic Configuration
181  */
182 #define BLE_MESH_UUID_GATT_SCC                  BLE_MESH_UUID_DECLARE_16(0x2903)
183 #define BLE_MESH_UUID_GATT_SCC_VAL              0x2903
184 /** @def BLE_MESH_UUID_GATT_CPF
185  *  @brief GATT Characteristic Presentation Format
186  */
187 #define BLE_MESH_UUID_GATT_CPF                  BLE_MESH_UUID_DECLARE_16(0x2904)
188 #define BLE_MESH_UUID_GATT_CPF_VAL              0x2904
189 /** @def BLE_MESH_UUID_VALID_RANGE
190  *  @brief Valid Range Descriptor
191  */
192 #define BLE_MESH_UUID_VALID_RANGE               BLE_MESH_UUID_DECLARE_16(0x2906)
193 #define BLE_MESH_UUID_VALID_RANGE_VAL           0x2906
194 /** @def BLE_MESH_UUID_HIDS_EXT_REPORT
195  *  @brief HID External Report Descriptor
196  */
197 #define BLE_MESH_UUID_HIDS_EXT_REPORT           BLE_MESH_UUID_DECLARE_16(0x2907)
198 #define BLE_MESH_UUID_HIDS_EXT_REPORT_VAL       0x2907
199 /** @def BLE_MESH_UUID_HIDS_REPORT_REF
200  *  @brief HID Report Reference Descriptor
201  */
202 #define BLE_MESH_UUID_HIDS_REPORT_REF           BLE_MESH_UUID_DECLARE_16(0x2908)
203 #define BLE_MESH_UUID_HIDS_REPORT_REF_VAL       0x2908
204 /** @def BLE_MESH_UUID_ES_CONFIGURATION
205  *  @brief Environmental Sensing Configuration Descriptor
206  */
207 #define BLE_MESH_UUID_ES_CONFIGURATION          BLE_MESH_UUID_DECLARE_16(0x290b)
208 #define BLE_MESH_UUID_ES_CONFIGURATION_VAL      0x290b
209 /** @def BLE_MESH_UUID_ES_MEASUREMENT
210  *  @brief Environmental Sensing Measurement Descriptor
211  */
212 #define BLE_MESH_UUID_ES_MEASUREMENT            BLE_MESH_UUID_DECLARE_16(0x290c)
213 #define BLE_MESH_UUID_ES_MEASUREMENT_VAL        0x290c
214 /** @def BLE_MESH_UUID_ES_TRIGGER_SETTING
215  *  @brief Environmental Sensing Trigger Setting Descriptor
216  */
217 #define BLE_MESH_UUID_ES_TRIGGER_SETTING        BLE_MESH_UUID_DECLARE_16(0x290d)
218 #define BLE_MESH_UUID_ES_TRIGGER_SETTING_VAL    0x290d
219 /** @def BLE_MESH_UUID_GAP_DEVICE_NAME
220  *  @brief GAP Characteristic Device Name
221  */
222 #define BLE_MESH_UUID_GAP_DEVICE_NAME           BLE_MESH_UUID_DECLARE_16(0x2a00)
223 #define BLE_MESH_UUID_GAP_DEVICE_NAME_VAL       0x2a00
224 /** @def BLE_MESH_UUID_GAP_APPEARANCE
225  *  @brief GAP Characteristic Appearance
226  */
227 #define BLE_MESH_UUID_GAP_APPEARANCE            BLE_MESH_UUID_DECLARE_16(0x2a01)
228 #define BLE_MESH_UUID_GAP_APPEARANCE_VAL        0x2a01
229 /** @def BLE_MESH_UUID_GAP_PPCP
230  *  @brief GAP Characteristic Peripheral Preferred Connection Parameters
231  */
232 #define BLE_MESH_UUID_GAP_PPCP                  BLE_MESH_UUID_DECLARE_16(0x2a04)
233 #define BLE_MESH_UUID_GAP_PPCP_VAL              0x2a04
234 /** @def BLE_MESH_UUID_GATT_SC
235  *  @brief GATT Characteristic Service Changed
236  */
237 #define BLE_MESH_UUID_GATT_SC                   BLE_MESH_UUID_DECLARE_16(0x2a05)
238 #define BLE_MESH_UUID_GATT_SC_VAL               0x2a05
239 /** @def BLE_MESH_UUID_BAS_BATTERY_LEVEL
240  *  @brief BAS Characteristic Battery Level
241  */
242 #define BLE_MESH_UUID_BAS_BATTERY_LEVEL         BLE_MESH_UUID_DECLARE_16(0x2a19)
243 #define BLE_MESH_UUID_BAS_BATTERY_LEVEL_VAL     0x2a19
244 /** @def BLE_MESH_UUID_DIS_SYSTEM_ID
245  *  @brief DIS Characteristic System ID
246  */
247 #define BLE_MESH_UUID_DIS_SYSTEM_ID             BLE_MESH_UUID_DECLARE_16(0x2a23)
248 #define BLE_MESH_UUID_DIS_SYSTEM_ID_VAL         0x2a23
249 /** @def BLE_MESH_UUID_DIS_MODEL_NUMBER
250  *  @brief DIS Characteristic Model Number String
251  */
252 #define BLE_MESH_UUID_DIS_MODEL_NUMBER          BLE_MESH_UUID_DECLARE_16(0x2a24)
253 #define BLE_MESH_UUID_DIS_MODEL_NUMBER_VAL      0x2a24
254 /** @def BLE_MESH_UUID_DIS_SERIAL_NUMBER
255  *  @brief DIS Characteristic Serial Number String
256  */
257 #define BLE_MESH_UUID_DIS_SERIAL_NUMBER         BLE_MESH_UUID_DECLARE_16(0x2a25)
258 #define BLE_MESH_UUID_DIS_SERIAL_NUMBER_VAL     0x2a25
259 /** @def BLE_MESH_UUID_DIS_FIRMWARE_REVISION
260  *  @brief DIS Characteristic Firmware Revision String
261  */
262 #define BLE_MESH_UUID_DIS_FIRMWARE_REVISION     BLE_MESH_UUID_DECLARE_16(0x2a26)
263 #define BLE_MESH_UUID_DIS_FIRMWARE_REVISION_VAL 0x2a26
264 /** @def BLE_MESH_UUID_DIS_HARDWARE_REVISION
265  *  @brief DIS Characteristic Hardware Revision String
266  */
267 #define BLE_MESH_UUID_DIS_HARDWARE_REVISION     BLE_MESH_UUID_DECLARE_16(0x2a27)
268 #define BLE_MESH_UUID_DIS_HARDWARE_REVISION_VAL 0x2a27
269 /** @def BLE_MESH_UUID_DIS_SOFTWARE_REVISION
270  *  @brief DIS Characteristic Software Revision String
271  */
272 #define BLE_MESH_UUID_DIS_SOFTWARE_REVISION     BLE_MESH_UUID_DECLARE_16(0x2a28)
273 #define BLE_MESH_UUID_DIS_SOFTWARE_REVISION_VAL 0x2a28
274 /** @def BLE_MESH_UUID_DIS_MANUFACTURER_NAME
275  *  @brief DIS Characteristic Manufacturer Name String
276  */
277 #define BLE_MESH_UUID_DIS_MANUFACTURER_NAME     BLE_MESH_UUID_DECLARE_16(0x2a29)
278 #define BLE_MESH_UUID_DIS_MANUFACTURER_NAME_VAL 0x2a29
279 /** @def BLE_MESH_UUID_DIS_PNP_ID
280  *  @brief DIS Characteristic PnP ID
281  */
282 #define BLE_MESH_UUID_DIS_PNP_ID                BLE_MESH_UUID_DECLARE_16(0x2a50)
283 #define BLE_MESH_UUID_DIS_PNP_ID_VAL            0x2a50
284 /** @def BLE_MESH_UUID_CTS_CURRENT_TIME
285  *  @brief CTS Characteristic Current Time
286  */
287 #define BLE_MESH_UUID_CTS_CURRENT_TIME          BLE_MESH_UUID_DECLARE_16(0x2a2b)
288 #define BLE_MESH_UUID_CTS_CURRENT_TIME_VAL      0x2a2b
289 /** @def BLE_MESH_UUID_MAGN_DECLINATION
290  *  @brief Magnetic Declination Characteristic
291  */
292 #define BLE_MESH_UUID_MAGN_DECLINATION          BLE_MESH_UUID_DECLARE_16(0x2a2c)
293 #define BLE_MESH_UUID_MAGN_DECLINATION_VAL      0x2a2c
294 /** @def BLE_MESH_UUID_HRS_MEASUREMENT
295  *  @brief HRS Characteristic Measurement Interval
296  */
297 #define BLE_MESH_UUID_HRS_MEASUREMENT           BLE_MESH_UUID_DECLARE_16(0x2a37)
298 #define BLE_MESH_UUID_HRS_MEASUREMENT_VAL       0x2a37
299 /** @def BLE_MESH_UUID_HRS_BODY_SENSOR
300  *  @brief HRS Characteristic Body Sensor Location
301  */
302 #define BLE_MESH_UUID_HRS_BODY_SENSOR           BLE_MESH_UUID_DECLARE_16(0x2a38)
303 #define BLE_MESH_UUID_HRS_BODY_SENSOR_VAL       0x2a38
304 /** @def BLE_MESH_UUID_HRS_CONTROL_POINT
305  *  @brief HRS Characteristic Control Point
306  */
307 #define BLE_MESH_UUID_HRS_CONTROL_POINT         BLE_MESH_UUID_DECLARE_16(0x2a39)
308 #define BLE_MESH_UUID_HRS_CONTROL_POINT_VAL     0x2a39
309 /** @def BLE_MESH_UUID_HIDS_INFO
310  *  @brief HID Information Characteristic
311  */
312 #define BLE_MESH_UUID_HIDS_INFO                 BLE_MESH_UUID_DECLARE_16(0x2a4a)
313 #define BLE_MESH_UUID_HIDS_INFO_VAL             0x2a4a
314 /** @def BLE_MESH_UUID_HIDS_REPORT_MAP
315  *  @brief HID Report Map Characteristic
316  */
317 #define BLE_MESH_UUID_HIDS_REPORT_MAP           BLE_MESH_UUID_DECLARE_16(0x2a4b)
318 #define BLE_MESH_UUID_HIDS_REPORT_MAP_VAL       0x2a4b
319 /** @def BLE_MESH_UUID_HIDS_CTRL_POINT
320  *  @brief HID Control Point Characteristic
321  */
322 #define BLE_MESH_UUID_HIDS_CTRL_POINT           BLE_MESH_UUID_DECLARE_16(0x2a4c)
323 #define BLE_MESH_UUID_HIDS_CTRL_POINT_VAL       0x2a4c
324 /** @def BLE_MESH_UUID_HIDS_REPORT
325  *  @brief HID Report Characteristic
326  */
327 #define BLE_MESH_UUID_HIDS_REPORT               BLE_MESH_UUID_DECLARE_16(0x2a4d)
328 #define BLE_MESH_UUID_HIDS_REPORT_VAL           0x2a4d
329 /** @def BLE_MESH_UUID_CSC_MEASUREMENT
330  *  @brief CSC Measurement Characteristic
331  */
332 #define BLE_MESH_UUID_CSC_MEASUREMENT           BLE_MESH_UUID_DECLARE_16(0x2a5b)
333 #define BLE_MESH_UUID_CSC_MEASUREMENT_VAL       0x2a5b
334 /** @def BLE_MESH_UUID_CSC_FEATURE
335  *  @brief CSC Feature Characteristic
336  */
337 #define BLE_MESH_UUID_CSC_FEATURE               BLE_MESH_UUID_DECLARE_16(0x2a5c)
338 #define BLE_MESH_UUID_CSC_FEATURE_VAL           0x2a5c
339 /** @def BLE_MESH_UUID_SENSOR_LOCATION
340  *  @brief Sensor Location Characteristic
341  */
342 #define BLE_MESH_UUID_SENSOR_LOCATION           BLE_MESH_UUID_DECLARE_16(0x2a5d)
343 #define BLE_MESH_UUID_SENSOR_LOCATION_VAL       0x2a5d
344 /** @def BLE_MESH_UUID_SC_CONTROL_POINT
345  *  @brief SC Control Point Characteristic
346  */
347 #define BLE_MESH_UUID_SC_CONTROL_POINT          BLE_MESH_UUID_DECLARE_16(0x2a55)
348 #define BLE_MESH_UUID_SC_CONTROL_POINT_VAl      0x2a55
349 /** @def BLE_MESH_UUID_ELEVATION
350  *  @brief Elevation Characteristic
351  */
352 #define BLE_MESH_UUID_ELEVATION                 BLE_MESH_UUID_DECLARE_16(0x2a6c)
353 #define BLE_MESH_UUID_ELEVATION_VAL             0x2a6c
354 /** @def BLE_MESH_UUID_PRESSURE
355  *  @brief Pressure Characteristic
356  */
357 #define BLE_MESH_UUID_PRESSURE                  BLE_MESH_UUID_DECLARE_16(0x2a6d)
358 #define BLE_MESH_UUID_PRESSURE_VAL              0x2a6d
359 /** @def BLE_MESH_UUID_TEMPERATURE
360  *  @brief Temperature Characteristic
361  */
362 #define BLE_MESH_UUID_TEMPERATURE               BLE_MESH_UUID_DECLARE_16(0x2a6e)
363 #define BLE_MESH_UUID_TEMPERATURE_VAL           0x2a6e
364 /** @def BLE_MESH_UUID_HUMIDITY
365  *  @brief Humidity Characteristic
366  */
367 #define BLE_MESH_UUID_HUMIDITY                  BLE_MESH_UUID_DECLARE_16(0x2a6f)
368 #define BLE_MESH_UUID_HUMIDITY_VAL              0x2a6f
369 /** @def BLE_MESH_UUID_TRUE_WIND_SPEED
370  *  @brief True Wind Speed Characteristic
371  */
372 #define BLE_MESH_UUID_TRUE_WIND_SPEED           BLE_MESH_UUID_DECLARE_16(0x2a70)
373 #define BLE_MESH_UUID_TRUE_WIND_SPEED_VAL       0x2a70
374 /** @def BLE_MESH_UUID_TRUE_WIND_DIR
375  *  @brief True Wind Direction Characteristic
376  */
377 #define BLE_MESH_UUID_TRUE_WIND_DIR             BLE_MESH_UUID_DECLARE_16(0x2a71)
378 #define BLE_MESH_UUID_TRUE_WIND_DIR_VAL         0x2a71
379 /** @def BLE_MESH_UUID_APPARENT_WIND_SPEED
380  *  @brief Apparent Wind Speed Characteristic
381  */
382 #define BLE_MESH_UUID_APPARENT_WIND_SPEED       BLE_MESH_UUID_DECLARE_16(0x2a72)
383 #define BLE_MESH_UUID_APPARENT_WIND_SPEED_VAL   0x2a72
384 /** @def BLE_MESH_UUID_APPARENT_WIND_DIR
385  *  @brief Apparent Wind Direction Characteristic
386  */
387 #define BLE_MESH_UUID_APPARENT_WIND_DIR         BLE_MESH_UUID_DECLARE_16(0x2a73)
388 #define BLE_MESH_UUID_APPARENT_WIND_DIR_VAL     0x2a73
389 /** @def BLE_MESH_UUID_GUST_FACTOR
390  *  @brief Gust Factor Characteristic
391  */
392 #define BLE_MESH_UUID_GUST_FACTOR               BLE_MESH_UUID_DECLARE_16(0x2a74)
393 #define BLE_MESH_UUID_GUST_FACTOR_VAL           0x2a74
394 /** @def BLE_MESH_UUID_POLLEN_CONCENTRATION
395  *  @brief Pollen Concentration Characteristic
396  */
397 #define BLE_MESH_UUID_POLLEN_CONCENTRATION      BLE_MESH_UUID_DECLARE_16(0x2a75)
398 #define BLE_MESH_UUID_POLLEN_CONCENTRATION_VAL  0x2a75
399 /** @def BLE_MESH_UUID_UV_INDEX
400  *  @brief UV Index Characteristic
401  */
402 #define BLE_MESH_UUID_UV_INDEX                  BLE_MESH_UUID_DECLARE_16(0x2a76)
403 #define BLE_MESH_UUID_UV_INDEX_VAL              0x2a76
404 /** @def BLE_MESH_UUID_IRRADIANCE
405  *  @brief Irradiance Characteristic
406  */
407 #define BLE_MESH_UUID_IRRADIANCE                BLE_MESH_UUID_DECLARE_16(0x2a77)
408 #define BLE_MESH_UUID_IRRADIANCE_VAL            0x2a77
409 /** @def BLE_MESH_UUID_RAINFALL
410  *  @brief Rainfall Characteristic
411  */
412 #define BLE_MESH_UUID_RAINFALL                  BLE_MESH_UUID_DECLARE_16(0x2a78)
413 #define BLE_MESH_UUID_RAINFALL_VAL              0x2a78
414 /** @def BLE_MESH_UUID_WIND_CHILL
415  *  @brief Wind Chill Characteristic
416  */
417 #define BLE_MESH_UUID_WIND_CHILL                BLE_MESH_UUID_DECLARE_16(0x2a79)
418 #define BLE_MESH_UUID_WIND_CHILL_VAL            0x2a79
419 /** @def BLE_MESH_UUID_HEAT_INDEX
420  *  @brief Heat Index Characteristic
421  */
422 #define BLE_MESH_UUID_HEAT_INDEX                BLE_MESH_UUID_DECLARE_16(0x2a7a)
423 #define BLE_MESH_UUID_HEAT_INDEX_VAL            0x2a7a
424 /** @def BLE_MESH_UUID_DEW_POINT
425  *  @brief Dew Point Characteristic
426  */
427 #define BLE_MESH_UUID_DEW_POINT                 BLE_MESH_UUID_DECLARE_16(0x2a7b)
428 #define BLE_MESH_UUID_DEW_POINT_VAL             0x2a7b
429 /** @def BLE_MESH_UUID_DESC_VALUE_CHANGED
430  *  @brief Descriptor Value Changed Characteristic
431  */
432 #define BLE_MESH_UUID_DESC_VALUE_CHANGED        BLE_MESH_UUID_DECLARE_16(0x2a7d)
433 #define BLE_MESH_UUID_DESC_VALUE_CHANGED_VAL    0x2a7d
434 /** @def BLE_MESH_UUID_MAGN_FLUX_DENSITY_2D
435  *  @brief Magnetic Flux Density - 2D Characteristic
436  */
437 #define BLE_MESH_UUID_MAGN_FLUX_DENSITY_2D      BLE_MESH_UUID_DECLARE_16(0x2aa0)
438 #define BLE_MESH_UUID_MAGN_FLUX_DENSITY_2D_VAL  0x2aa0
439 /** @def BLE_MESH_UUID_MAGN_FLUX_DENSITY_3D
440  *  @brief Magnetic Flux Density - 3D Characteristic
441  */
442 #define BLE_MESH_UUID_MAGN_FLUX_DENSITY_3D      BLE_MESH_UUID_DECLARE_16(0x2aa1)
443 #define BLE_MESH_UUID_MAGN_FLUX_DENSITY_3D_VAL  0x2aa1
444 /** @def BLE_MESH_UUID_BAR_PRESSURE_TREND
445  *  @brief Barometric Pressure Trend Characteristic
446  */
447 #define BLE_MESH_UUID_BAR_PRESSURE_TREND        BLE_MESH_UUID_DECLARE_16(0x2aa3)
448 #define BLE_MESH_UUID_BAR_PRESSURE_TREND_VAL    0x2aa3
449 /** @def BLE_MESH_UUID_MESH_PROV_DATA_IN
450  *  @brief Mesh Provisioning Data In
451  */
452 #define BLE_MESH_UUID_MESH_PROV_DATA_IN         BLE_MESH_UUID_DECLARE_16(0x2adb)
453 #define BLE_MESH_UUID_MESH_PROV_DATA_IN_VAL     0x2adb
454 /** @def BLE_MESH_UUID_MESH_PROV_DATA_OUT
455  *  @brief Mesh Provisioning Data Out
456  */
457 #define BLE_MESH_UUID_MESH_PROV_DATA_OUT        BLE_MESH_UUID_DECLARE_16(0x2adc)
458 #define BLE_MESH_UUID_MESH_PROV_DATA_OUT_VAL    0x2adc
459 /** @def BLE_MESH_UUID_MESH_PROXY_DATA_IN
460  *  @brief Mesh Proxy Data In
461  */
462 #define BLE_MESH_UUID_MESH_PROXY_DATA_IN        BLE_MESH_UUID_DECLARE_16(0x2add)
463 #define BLE_MESH_UUID_MESH_PROXY_DATA_IN_VAL    0x2add
464 /** @def BLE_MESH_UUID_MESH_PROXY_DATA_OUT
465  *  @brief Mesh Proxy Data Out
466  */
467 #define BLE_MESH_UUID_MESH_PROXY_DATA_OUT       BLE_MESH_UUID_DECLARE_16(0x2ade)
468 #define BLE_MESH_UUID_MESH_PROXY_DATA_OUT_VAL   0x2ade
469 
470 /*
471  * Protocol UUIDs
472  */
473 #define BLE_MESH_UUID_SDP                       BLE_MESH_UUID_DECLARE_16(0x0001)
474 #define BLE_MESH_UUID_SDP_VAL                   0x0001
475 #define BLE_MESH_UUID_UDP                       BLE_MESH_UUID_DECLARE_16(0x0002)
476 #define BLE_MESH_UUID_UDP_VAL                   0x0002
477 #define BLE_MESH_UUID_RFCOMM                    BLE_MESH_UUID_DECLARE_16(0x0003)
478 #define BLE_MESH_UUID_RFCOMM_VAL                0x0003
479 #define BLE_MESH_UUID_TCP                       BLE_MESH_UUID_DECLARE_16(0x0004)
480 #define BLE_MESH_UUID_TCP_VAL                   0x0004
481 #define BLE_MESH_UUID_TCS_BIN                   BLE_MESH_UUID_DECLARE_16(0x0005)
482 #define BLE_MESH_UUID_TCS_BIN_VAL               0x0005
483 #define BLE_MESH_UUID_TCS_AT                    BLE_MESH_UUID_DECLARE_16(0x0006)
484 #define BLE_MESH_UUID_TCS_AT_VAL                0x0006
485 #define BLE_MESH_UUID_ATT                       BLE_MESH_UUID_DECLARE_16(0x0007)
486 #define BLE_MESH_UUID_ATT_VAL                   0x0007
487 #define BLE_MESH_UUID_OBEX                      BLE_MESH_UUID_DECLARE_16(0x0008)
488 #define BLE_MESH_UUID_OBEX_VAL                  0x0008
489 #define BLE_MESH_UUID_IP                        BLE_MESH_UUID_DECLARE_16(0x0009)
490 #define BLE_MESH_UUID_IP_VAL                    0x0009
491 #define BLE_MESH_UUID_FTP                       BLE_MESH_UUID_DECLARE_16(0x000a)
492 #define BLE_MESH_UUID_FTP_VAL                   0x000a
493 #define BLE_MESH_UUID_HTTP                      BLE_MESH_UUID_DECLARE_16(0x000c)
494 #define BLE_MESH_UUID_HTTP_VAL                  0x000c
495 #define BLE_MESH_UUID_BNEP                      BLE_MESH_UUID_DECLARE_16(0x000f)
496 #define BLE_MESH_UUID_BNEP_VAL                  0x000f
497 #define BLE_MESH_UUID_UPNP                      BLE_MESH_UUID_DECLARE_16(0x0010)
498 #define BLE_MESH_UUID_UPNP_VAL                  0x0010
499 #define BLE_MESH_UUID_HIDP                      BLE_MESH_UUID_DECLARE_16(0x0011)
500 #define BLE_MESH_UUID_HIDP_VAL                  0x0011
501 #define BLE_MESH_UUID_HCRP_CTRL                 BLE_MESH_UUID_DECLARE_16(0x0012)
502 #define BLE_MESH_UUID_HCRP_CTRL_VAL             0x0012
503 #define BLE_MESH_UUID_HCRP_DATA                 BLE_MESH_UUID_DECLARE_16(0x0014)
504 #define BLE_MESH_UUID_HCRP_DATA_VAL             0x0014
505 #define BLE_MESH_UUID_HCRP_NOTE                 BLE_MESH_UUID_DECLARE_16(0x0016)
506 #define BLE_MESH_UUID_HCRP_NOTE_VAL             0x0016
507 #define BLE_MESH_UUID_AVCTP                     BLE_MESH_UUID_DECLARE_16(0x0017)
508 #define BLE_MESH_UUID_AVCTP_VAL                 0x0017
509 #define BLE_MESH_UUID_AVDTP                     BLE_MESH_UUID_DECLARE_16(0x0019)
510 #define BLE_MESH_UUID_AVDTP_VAL                 0x0019
511 #define BLE_MESH_UUID_CMTP                      BLE_MESH_UUID_DECLARE_16(0x001b)
512 #define BLE_MESH_UUID_CMTP_VAL                  0x001b
513 #define BLE_MESH_UUID_UDI                       BLE_MESH_UUID_DECLARE_16(0x001d)
514 #define BLE_MESH_UUID_UDI_VAL                   0x001d
515 #define BLE_MESH_UUID_MCAP_CTRL                 BLE_MESH_UUID_DECLARE_16(0x001e)
516 #define BLE_MESH_UUID_MCAP_CTRL_VAL             0x001e
517 #define BLE_MESH_UUID_MCAP_DATA                 BLE_MESH_UUID_DECLARE_16(0x001f)
518 #define BLE_MESH_UUID_MCAP_DATA_VAL             0x001f
519 #define BLE_MESH_UUID_L2CAP                     BLE_MESH_UUID_DECLARE_16(0x0100)
520 #define BLE_MESH_UUID_L2CAP_VAL                 0x0100
521 
522 #ifdef __cplusplus
523 }
524 #endif
525 
526 /**
527  * @}
528  */
529 
530 #endif /* _BLE_MESH_UUID_H_ */
531