1 /****************************************************************************** 2 * @file ble_std.h 3 * @author MDG 4 * @brief BLE standard definitions 5 ****************************************************************************** 6 * @attention 7 * 8 * Copyright (c) 2018-2024 STMicroelectronics. 9 * All rights reserved. 10 * 11 * This software is licensed under terms that can be found in the LICENSE file 12 * in the root directory of this software component. 13 * If no LICENSE file comes with this software, it is provided AS-IS. 14 * 15 ***************************************************************************** 16 */ 17 18 #ifndef BLE_STD_H__ 19 #define BLE_STD_H__ 20 21 22 /* HCI packet type */ 23 #define HCI_COMMAND_PKT_TYPE 0x01U 24 #define HCI_ACLDATA_PKT_TYPE 0x02U 25 #define HCI_EVENT_PKT_TYPE 0x04U 26 #define HCI_ISODATA_PKT_TYPE 0x05U 27 28 /* HCI packet header size */ 29 #define HCI_COMMAND_HDR_SIZE 4 30 #define HCI_ACLDATA_HDR_SIZE 5 31 #define HCI_EVENT_HDR_SIZE 3 32 #define HCI_ISODATA_HDR_SIZE 5 33 34 /* HCI parameters length */ 35 #define HCI_COMMAND_MAX_PARAM_LEN 255 36 #define HCI_ACLDATA_MAX_DATA_LEN 251 /* LE_ACL_Data_Packet_Length */ 37 #define HCI_EVENT_MAX_PARAM_LEN 255 38 #define HCI_ISODATA_MAX_DATA_LEN 300 /* ISO_Data_Packet_Length */ 39 40 /* HCI packet maximum size */ 41 #define HCI_COMMAND_PKT_MAX_SIZE \ 42 (HCI_COMMAND_HDR_SIZE + HCI_COMMAND_MAX_PARAM_LEN) 43 #define HCI_ACLDATA_PKT_MAX_SIZE \ 44 (HCI_ACLDATA_HDR_SIZE + HCI_ACLDATA_MAX_DATA_LEN) 45 #define HCI_EVENT_PKT_MAX_SIZE \ 46 (HCI_EVENT_HDR_SIZE + HCI_EVENT_MAX_PARAM_LEN) 47 #define HCI_ISODATA_PKT_MAX_SIZE \ 48 (HCI_ISODATA_HDR_SIZE + HCI_ISODATA_MAX_DATA_LEN) 49 50 /* HCI event code */ 51 #define HCI_DISCONNECTION_COMPLETE_EVT_CODE 0x05U 52 #define HCI_ENCRYPTION_CHANGE_EVT_CODE 0x08U 53 #define HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE_EVT_CODE 0x0CU 54 #define HCI_COMMAND_COMPLETE_EVT_CODE 0x0EU 55 #define HCI_COMMAND_STATUS_EVT_CODE 0x0FU 56 #define HCI_HARDWARE_ERROR_EVT_CODE 0x10U 57 #define HCI_NUMBER_OF_COMPLETED_PACKETS_EVT_CODE 0x13U 58 #define HCI_DATA_BUFFER_OVERFLOW_EVT_CODE 0x1AU 59 #define HCI_ENCRYPTION_KEY_REFRESH_COMPLETE_EVT_CODE 0x30U 60 #define HCI_LE_META_EVT_CODE 0x3EU 61 #define HCI_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED_EVT_CODE 0x57U 62 #define HCI_VENDOR_SPECIFIC_DEBUG_EVT_CODE 0xFFU 63 64 /* HCI LE subevent code */ 65 #define HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE 0x01U 66 #define HCI_LE_ADVERTISING_REPORT_SUBEVT_CODE 0x02U 67 #define HCI_LE_CONNECTION_UPDATE_COMPLETE_SUBEVT_CODE 0x03U 68 #define HCI_LE_READ_REMOTE_FEATURES_COMPLETE_SUBEVT_CODE 0x04U 69 #define HCI_LE_LONG_TERM_KEY_REQUEST_SUBEVT_CODE 0x05U 70 #define HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_SUBEVT_CODE 0x06U 71 #define HCI_LE_DATA_LENGTH_CHANGE_SUBEVT_CODE 0x07U 72 #define HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_SUBEVT_CODE 0x08U 73 #define HCI_LE_GENERATE_DHKEY_COMPLETE_SUBEVT_CODE 0x09U 74 #define HCI_LE_ENHANCED_CONNECTION_COMPLETE_SUBEVT_CODE 0x0AU 75 #define HCI_LE_DIRECTED_ADVERTISING_REPORT_SUBEVT_CODE 0x0BU 76 #define HCI_LE_PHY_UPDATE_COMPLETE_SUBEVT_CODE 0x0CU 77 #define HCI_LE_EXTENDED_ADVERTISING_REPORT_SUBEVT_CODE 0x0DU 78 #define HCI_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHED_SUBEVT_CODE 0x0EU 79 #define HCI_LE_PERIODIC_ADVERTISING_REPORT_SUBEVT_CODE 0x0FU 80 #define HCI_LE_PERIODIC_ADVERTISING_SYNC_LOST_SUBEVT_CODE 0x10U 81 #define HCI_LE_SCAN_TIMEOUT_SUBEVT_CODE 0x11U 82 #define HCI_LE_ADVERTISING_SET_TERMINATED_SUBEVT_CODE 0x12U 83 #define HCI_LE_SCAN_REQUEST_RECEIVED_SUBEVT_CODE 0x13U 84 #define HCI_LE_CHANNEL_SELECTION_ALGORITHM_SUBEVT_CODE 0x14U 85 #define HCI_LE_CONNECTIONLESS_IQ_REPORT_SUBEVT_CODE 0x15U 86 #define HCI_LE_CONNECTION_IQ_REPORT_SUBEVT_CODE 0x16U 87 #define HCI_LE_CTE_REQUEST_FAILED_SUBEVT_CODE 0x17U 88 #define HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED_SUBEVT_CODE 0x18U 89 #define HCI_LE_CIS_ESTABLISHED_SUBEVT_CODE 0x19U 90 #define HCI_LE_CIS_REQUEST_SUBEVT_CODE 0x1AU 91 #define HCI_LE_CREATE_BIG_COMPLETE_SUBEVT_CODE 0x1BU 92 #define HCI_LE_TERMINATE_BIG_COMPLETE_SUBEVT_CODE 0x1CU 93 #define HCI_LE_BIG_SYNC_ESTABLISHED_SUBEVT_CODE 0x1DU 94 #define HCI_LE_BIG_SYNC_LOST_SUBEVT_CODE 0x1EU 95 #define HCI_LE_REQUEST_PEER_SCA_COMPLETE_SUBEVT_CODE 0x1FU 96 #define HCI_LE_PATH_LOSS_THRESHOLD_SUBEVT_CODE 0x20U 97 #define HCI_LE_TRANSMIT_POWER_REPORTING_SUBEVT_CODE 0x21U 98 #define HCI_LE_BIGINFO_ADVERTISING_REPORT_SUBEVT_CODE 0x22U 99 #define HCI_LE_SUBRATE_CHANGE_SUBEVT_CODE 0x23U 100 101 /* HCI error code */ 102 #define HCI_SUCCESS_ERR_CODE 0x00U 103 #define HCI_UNKNOWN_HCI_COMMAND_ERR_CODE 0x01U 104 #define HCI_UNKNOWN_CONNECTION_IDENTIFIER_ERR_CODE 0x02U 105 #define HCI_HARDWARE_FAILURE_ERR_CODE 0x03U 106 #define HCI_AUTHENTICATION_FAILURE_ERR_CODE 0x05U 107 #define HCI_PIN_OR_KEY_MISSING_ERR_CODE 0x06U 108 #define HCI_MEMORY_CAPACITY_EXCEEDED_ERR_CODE 0x07U 109 #define HCI_CONNECTION_TIMEOUT_ERR_CODE 0x08U 110 #define HCI_CONNECTION_LIMIT_EXCEEDED_ERR_CODE 0x09U 111 #define HCI_CONNECTION_ALREADY_EXISTS_ERR_CODE 0x0BU 112 #define HCI_COMMAND_DISALLOWED_ERR_CODE 0x0CU 113 #define HCI_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE_ERR_CODE 0x11U 114 #define HCI_INVALID_HCI_COMMAND_PARAMETERS_ERR_CODE 0x12U 115 #define HCI_REMOTE_USER_TERMINATED_CONNECTION_ERR_CODE 0x13U 116 #define HCI_REMOTE_TERMINATED_CONNECTION_DUE_TO_LOW_RESOURCES_ERR_CODE 0x14U 117 #define HCI_REMOTE_TERMINATED_CONNECTION_DUE_TO_POWER_OFF_ERR_CODE 0x15U 118 #define HCI_CONNECTION_TERMINATED_BY_LOCAL_HOST_ERR_CODE 0x16U 119 #define HCI_UNSUPPORTED_REMOTE_FEATURE_ERR_CODE 0x1AU 120 #define HCI_INVALID_LL_PARAMETERS_ERR_CODE 0x1EU 121 #define HCI_UNSPECIFIED_ERROR_ERR_CODE 0x1FU 122 #define HCI_UNSUPPORTED_LL_PARAMETER_VALUE_ERR_CODE 0x20U 123 #define HCI_LL_RESPONSE_TIMEOUT_ERR_CODE 0x22U 124 #define HCI_LL_PROCEDURE_COLLISION_ERR_CODE 0x23U 125 #define HCI_LMP_PDU_NOT_ALLOWED_ERR_CODE 0x24U 126 #define HCI_INSTANT_PASSED_ERR_CODE 0x28U 127 #define HCI_DIFFERENT_TRANSACTION_COLLISION_ERR_CODE 0x2AU 128 #define HCI_PARAMETER_OUT_OF_MANDATORY_RANGE_ERR_CODE 0x30U 129 #define HCI_HOST_BUSY_PAIRING_ERR_CODE 0x38U 130 #define HCI_CONTROLLER_BUSY_ERR_CODE 0x3AU 131 #define HCI_UNACCEPTABLE_CONNECTION_PARAMETERS_ERR_CODE 0x3BU 132 #define HCI_ADVERTISING_TIMEOUT_ERR_CODE 0x3CU 133 #define HCI_CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE_ERR_CODE 0x3DU 134 #define HCI_CONNECTION_FAILED_TO_BE_ESTABLISHED_ERR_CODE 0x3EU 135 #define HCI_UNKNOWN_ADVERTISING_IDENTIFIER_ERR_CODE 0x42U 136 #define HCI_ADVERTISING_LIMIT_REACHED_ERR_CODE 0x43U 137 #define HCI_PACKET_TOO_LONG_ERR_CODE 0x45U 138 139 /* HCI_LE_Set_Advertising_Parameters: Advertising_Type */ 140 #define HCI_ADV_TYPE_ADV_IND 0x00U 141 #define HCI_ADV_TYPE_ADV_DIRECT_IND_HDC 0x01U 142 #define HCI_ADV_TYPE_ADV_SCAN_IND 0x02U 143 #define HCI_ADV_TYPE_ADV_NONCONN_IND 0x03U 144 #define HCI_ADV_TYPE_ADV_DIRECT_IND_LDC 0x04U 145 146 /* HCI_LE_Set_Advertising_Parameters: Advertising_Filter_Policy */ 147 #define HCI_ADV_FILTER_NO 0x00U 148 #define HCI_ADV_FILTER_ACC_LIST_USED_FOR_SCAN 0x01U 149 #define HCI_ADV_FILTER_ACC_LIST_USED_FOR_CONNECT 0x02U 150 #define HCI_ADV_FILTER_ACC_LIST_USED_FOR_ALL 0x03U 151 152 /* HCI_LE_Set_[Advertising/Scan]_Parameters: Own_Address_Type */ 153 #define HCI_OWN_ADDR_TYPE_PUBLIC 0x00U 154 #define HCI_OWN_ADDR_TYPE_RANDOM 0x01U 155 #define HCI_OWN_ADDR_TYPE_RP_OR_PUBLIC 0x02U 156 #define HCI_OWN_ADDR_TYPE_RP_OR_RANDOM 0x03U 157 158 /* HCI_LE_Set_Scan_Parameters: LE_Scan_Type */ 159 #define HCI_SCAN_TYPE_PASSIVE 0x00U 160 #define HCI_SCAN_TYPE_ACTIVE 0x01U 161 162 /* HCI_LE_Set_Scan_Parameters: Scanning_Filter_Policy */ 163 #define HCI_SCAN_FILTER_NO 0x00U 164 #define HCI_SCAN_FILTER_ACC_LIST_USED 0x01U 165 #define HCI_SCAN_FILTER_NO_EXT 0x02U 166 #define HCI_SCAN_FILTER_ACC_LIST_USED_EXT 0x03U 167 168 /* HCI_LE_Create_Connection: Initiator_Filter_Policy */ 169 #define HCI_INIT_FILTER_NO 0x00U 170 #define HCI_INIT_FILTER_ACC_LIST_USED 0x01U 171 172 /* HCI_LE_Read_PHY: TX_PHY */ 173 #define HCI_TX_PHY_LE_1M 0x01U 174 #define HCI_TX_PHY_LE_2M 0x02U 175 #define HCI_TX_PHY_LE_CODED 0x03U 176 177 /* HCI_LE_Read_PHY: RX_PHY */ 178 #define HCI_RX_PHY_LE_1M 0x01U 179 #define HCI_RX_PHY_LE_2M 0x02U 180 #define HCI_RX_PHY_LE_CODED 0x03U 181 182 /* HCI_LE_Set_PHY: ALL_PHYS */ 183 #define HCI_ALL_PHYS_TX_NO_PREF 0x01U 184 #define HCI_ALL_PHYS_RX_NO_PREF 0x02U 185 186 /* HCI_LE_Set_PHY: TX_PHYS */ 187 #define HCI_TX_PHYS_LE_1M_PREF 0x01U 188 #define HCI_TX_PHYS_LE_2M_PREF 0x02U 189 #define HCI_TX_PHYS_LE_CODED_PREF 0x04U 190 191 /* HCI_LE_Set_PHY: RX_PHYS */ 192 #define HCI_RX_PHYS_LE_1M_PREF 0x01U 193 #define HCI_RX_PHYS_LE_2M_PREF 0x02U 194 #define HCI_RX_PHYS_LE_CODED_PREF 0x04U 195 196 /* HCI_LE_Set_Extended_Advertising_Parameters: Advertising_Event_Properties */ 197 #define HCI_ADV_EVENT_PROP_CONNECTABLE 0x0001U 198 #define HCI_ADV_EVENT_PROP_SCANNABLE 0x0002U 199 #define HCI_ADV_EVENT_PROP_DIRECTED 0x0004U 200 #define HCI_ADV_EVENT_PROP_HDC_DIRECTED 0x0008U 201 #define HCI_ADV_EVENT_PROP_LEGACY 0x0010U 202 #define HCI_ADV_EVENT_PROP_ANONYMOUS 0x0020U 203 #define HCI_ADV_EVENT_PROP_TXPOWER_INC 0x0040U 204 205 /* HCI_LE_Set_Extended_Advertising_Parameters: Primary_Advertising_PHY */ 206 #define HCI_PRIMARY_ADV_PHY_LE_1M 0x01U 207 #define HCI_PRIMARY_ADV_PHY_LE_CODED 0x03U 208 209 /* HCI_LE_Set_Extended_Advertising_Data: Operation */ 210 #define HCI_SET_ADV_DATA_OPERATION_INTERMEDIATE 0x00U 211 #define HCI_SET_ADV_DATA_OPERATION_FIRST 0x01U 212 #define HCI_SET_ADV_DATA_OPERATION_LAST 0x02U 213 #define HCI_SET_ADV_DATA_OPERATION_COMPLETE 0x03U 214 #define HCI_SET_ADV_DATA_OPERATION_UNCHANGED 0x04U 215 216 /* HCI_LE_Advertising_Report: Event_Type */ 217 #define HCI_ADV_EVT_TYPE_ADV_IND 0x00U 218 #define HCI_ADV_EVT_TYPE_ADV_DIRECT_IND 0x01U 219 #define HCI_ADV_EVT_TYPE_ADV_SCAN_IND 0x02U 220 #define HCI_ADV_EVT_TYPE_ADV_NONCONN_IND 0x03U 221 #define HCI_ADV_EVT_TYPE_SCAN_RSP 0x04U 222 223 /* HCI_LE_Set_Extended_Scan_Parameters: Scanning_PHYs */ 224 #define HCI_SCANNING_PHYS_LE_1M 0x01U 225 #define HCI_SCANNING_PHYS_LE_CODED 0x04U 226 227 /* HCI_LE_Extended_Create_Connection: Initiating_PHYs */ 228 #define HCI_INIT_PHYS_SCAN_CONN_LE_1M 0x01U 229 #define HCI_INIT_PHYS_CONN_LE_2M 0x02U 230 #define HCI_INIT_PHYS_SCAN_CONN_LE_CODED 0x04U 231 232 /* HCI_LE_Receiver_Test/HCI_LE_Transmitter_Test [v2]: PHY */ 233 #define HCI_TEST_PHY_LE_1M 0x01U 234 #define HCI_TEST_PHY_LE_2M 0x02U 235 236 /* HCI_LE_Connection_Complete/HCI_LE_Enhanced_Connection_Complete: Role */ 237 #define HCI_ROLE_CENTRAL 0x00U 238 #define HCI_ROLE_PERIPHERAL 0x01U 239 240 /* HCI_LE_Set_Privacy_Mode: Privacy_Mode */ 241 #define HCI_PRIV_MODE_NETWORK 0x00U 242 #define HCI_PRIV_MODE_DEVICE 0x01U 243 244 /* Bluetooth Core Specification versions 245 */ 246 #define BLE_CORE_5_2 11 247 #define BLE_CORE_5_3 12 248 #define BLE_CORE_5_4 13 249 250 /* AD types for advertising data and scan response data 251 */ 252 #define AD_TYPE_FLAGS 0x01U 253 #define AD_TYPE_16_BIT_SERV_UUID 0x02U 254 #define AD_TYPE_16_BIT_SERV_UUID_CMPLT_LIST 0x03U 255 #define AD_TYPE_32_BIT_SERV_UUID 0x04U 256 #define AD_TYPE_32_BIT_SERV_UUID_CMPLT_LIST 0x05U 257 #define AD_TYPE_128_BIT_SERV_UUID 0x06U 258 #define AD_TYPE_128_BIT_SERV_UUID_CMPLT_LIST 0x07U 259 #define AD_TYPE_SHORTENED_LOCAL_NAME 0x08U 260 #define AD_TYPE_COMPLETE_LOCAL_NAME 0x09U 261 #define AD_TYPE_TX_POWER_LEVEL 0x0AU 262 #define AD_TYPE_CLASS_OF_DEVICE 0x0DU 263 #define AD_TYPE_SEC_MGR_TK_VALUE 0x10U 264 #define AD_TYPE_SEC_MGR_OOB_FLAGS 0x11U 265 #define AD_TYPE_PERIPHERAL_CONN_INTERVAL 0x12U 266 #define AD_TYPE_SERV_SOLICIT_16_BIT_UUID_LIST 0x14U 267 #define AD_TYPE_SERV_SOLICIT_128_BIT_UUID_LIST 0x15U 268 #define AD_TYPE_SERVICE_DATA 0x16U 269 #define AD_TYPE_APPEARANCE 0x19U 270 #define AD_TYPE_ADVERTISING_INTERVAL 0x1AU 271 #define AD_TYPE_LE_ROLE 0x1CU 272 #define AD_TYPE_SERV_SOLICIT_32_BIT_UUID_LIST 0x1FU 273 #define AD_TYPE_URI 0x24U 274 #define AD_TYPE_MANUFACTURER_SPECIFIC_DATA 0xFFU 275 276 /* Flag bits for Flags AD Type 277 */ 278 #define FLAG_BIT_LE_LIMITED_DISCOVERABLE_MODE 0x01U 279 #define FLAG_BIT_LE_GENERAL_DISCOVERABLE_MODE 0x02U 280 #define FLAG_BIT_BR_EDR_NOT_SUPPORTED 0x04U 281 #define FLAG_BIT_LE_BR_EDR_CONTROLLER 0x08U 282 #define FLAG_BIT_LE_BR_EDR_HOST 0x10U 283 284 /* Appearance values 285 */ 286 #define GAP_APPEARANCE_UNKNOWN 0x0000 287 #define GAP_APPEARANCE_GENERIC_PHONE 0x0040 288 #define GAP_APPEARANCE_GENERIC_COMPUTER 0x0080 289 #define GAP_APPEARANCE_GENERIC_WATCH 0x00C0 290 #define GAP_APPEARANCE_WATCH_SPORT_WATCH 0x00C1 291 #define GAP_APPEARANCE_GENERIC_CLOCK 0x0100 292 #define GAP_APPEARANCE_GENERIC_DISPLAY 0x0140 293 #define GAP_APPEARANCE_GENERIC_REMOTE_CONTROL 0x0180 294 #define GAP_APPEARANCE_GENERIC_EYE_GLASSES 0x01C0 295 #define GAP_APPEARANCE_GENERIC_TAG 0x0200 296 #define GAP_APPEARANCE_GENERIC_KEYRING 0x0240 297 #define GAP_APPEARANCE_GENERIC_MEDIA_PLAYER 0x0280 298 #define GAP_APPEARANCE_GENERIC_BARCODE_SCANNER 0x02C0 299 #define GAP_APPEARANCE_GENERIC_THERMOMETER 0x0300 300 #define GAP_APPEARANCE_THERMOMETER_EAR 0x0301 301 #define GAP_APPEARANCE_GENERIC_HEART_RATE_SENSOR 0x0340 302 #define GAP_APPEARANCE_HEART_RATE_SENSOR_HEART_RATE_BELT 0x0341 303 #define GAP_APPEARANCE_GENERIC_BLOOD_PRESSURE 0x0380 304 #define GAP_APPEARANCE_BLOOD_PRESSURE_ARM 0x0381 305 #define GAP_APPEARANCE_BLOOD_PRESSURE_WRIST 0x0382 306 #define GAP_APPEARANCE_HUMAN_INTERFACE_DEVICE 0x03C0 307 #define GAP_APPEARANCE_KEYBOARD 0x03C1 308 #define GAP_APPEARANCE_MOUSE 0x03C2 309 #define GAP_APPEARANCE_JOYSTICK 0x03C3 310 #define GAP_APPEARANCE_GAMEPAD 0x03C4 311 #define GAP_APPEARANCE_DIGITIZER_TABLET 0x03C5 312 #define GAP_APPEARANCE_CARD_READER 0x03C6 313 #define GAP_APPEARANCE_DIGITAL_PEN 0x03C7 314 #define GAP_APPEARANCE_BARCODE_SCANNER 0x03C8 315 #define GAP_APPEARANCE_GENERIC_GLUCOSE_METER 0x0400 316 #define GAP_APPEARANCE_GENERIC_RUNNING_WALKING_SENSOR 0x0440 317 #define GAP_APPEARANCE_RUNNING_WALKING_IN_SHOE 0x0441 318 #define GAP_APPEARANCE_RUNNING_WALKING_ON_SHOE 0x0442 319 #define GAP_APPEARANCE_RUNNING_WALKING_ON_HIP 0x0443 320 #define GAP_APPEARANCE_GENERIC_CYCLING 0x0480 321 #define GAP_APPEARANCE_CYCLING_CYCLING_COMPUTER 0x0481 322 #define GAP_APPEARANCE_CYCLING_SPEED_SENSOR 0x0482 323 #define GAP_APPEARANCE_CYCLING_CADENCE_SENSOR 0x0483 324 #define GAP_APPEARANCE_CYCLING_POWER_SENSOR 0x0484 325 #define GAP_APPEARANCE_CYCLING_SPEED_AND_CADENCE_SENSOR 0x0485 326 #define GAP_APPEARANCE_GENERIC_PULSE_OXYMETER 0x0C40 327 #define GAP_APPEARANCE_FINGERTIP 0x0C41 328 #define GAP_APPEARANCE_WRIST_WORN 0x0C42 329 #define GAP_APPEARANCE_GENERIC_WEIGHT_SCALE 0x0C80 330 #define GAP_APPEARANCE_GENERIC_OUTDOOR_SPORT_ACTIVITY 0x1440 331 #define GAP_APPEARANCE_LOCATION_DISPLAY_DEVICE 0x1441 332 #define GAP_APPEARANCE_LOCATION_AND_NAVIGATION_DISPLAY_DEVICE 0x1442 333 #define GAP_APPEARANCE_LOCATION_POD 0x1443 334 #define GAP_APPEARANCE_LOCATION_AND_NAVIGATION_POD 0x1444 335 #define GAP_APPEARANCE_GENERIC_ENVIRONMENTAL_SENSOR 0x1640 336 337 /* GATT UUIDs 338 */ 339 #define GATT_SERVICE_UUID 0x1801U 340 #define PRIMARY_SERVICE_UUID 0x2800U 341 #define SECONDARY_SERVICE_UUID 0x2801U 342 #define INCLUDE_SERVICE_UUID 0x2802U 343 #define CHARACTERISTIC_UUID 0x2803U 344 #define CHAR_EXTENDED_PROP_DESC_UUID 0x2900U 345 #define CHAR_USER_DESC_UUID 0x2901U 346 #define CHAR_CLIENT_CONFIG_DESC_UUID 0x2902U 347 #define CHAR_SERVER_CONFIG_DESC_UUID 0x2903U 348 #define CHAR_FORMAT_DESC_UUID 0x2904U 349 #define CHAR_AGGR_FMT_DESC_UUID 0x2905U 350 #define SERVICE_CHANGED_UUID 0x2A05U 351 #define CLIENT_SUPPORTED_FEATURES_UUID 0X2B29U 352 #define DATABASE_HASH_UUID 0X2B2AU 353 #define SERVER_SUPPORTED_FEATURES_UUID 0X2B3AU 354 355 /* GAP UUIDs 356 */ 357 #define GAP_SERVICE_UUID 0x1800U 358 #define DEVICE_NAME_UUID 0x2A00U 359 #define APPEARANCE_UUID 0x2A01U 360 #define PERIPHERAL_PREFERRED_CONN_PARAMS_UUID 0x2A04U 361 #define CENTRAL_ADDRESS_RESOLUTION_UUID 0x2AA6U 362 #define RESOLVABLE_PRIVATE_ADDRESS_ONLY_UUID 0x2AC9U 363 #define ENCRYPTED_DATA_KEY_MATERIAL_UUID 0x2B88U 364 #define LE_GATT_SECURITY_LEVELS_UUID 0x2BF5U 365 366 367 #endif /* BLE_STD_H__ */ 368