1 /* 2 * Copyright (C) 2015 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. Neither the name of the copyright holders nor the names of 14 * contributors may be used to endorse or promote products derived 15 * from this software without specific prior written permission. 16 * 4. Any redistribution, use, or modification is done solely for 17 * personal benefit and not for any commercial purpose or for 18 * monetary gain. 19 * 20 * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS 21 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BLUEKITCHEN 24 * GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 27 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 30 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * Please inquire about commercial licensing options at 34 * [email protected] 35 * 36 */ 37 38 /** 39 * 40 * BTstack definitions, events, and error codes 41 * 42 */ 43 44 #ifndef BTSTACK_DEFINES_H 45 #define BTSTACK_DEFINES_H 46 #include <stdint.h> 47 48 #include "btstack_linked_list.h" 49 50 // UNUSED macro 51 #ifndef UNUSED 52 #define UNUSED(x) (void)(sizeof(x)) 53 #endif 54 55 // TYPES 56 57 // packet handler 58 typedef void (*btstack_packet_handler_t) (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size); 59 60 // packet callback supporting multiple registrations 61 typedef struct { 62 btstack_linked_item_t item; 63 btstack_packet_handler_t callback; 64 } btstack_packet_callback_registration_t; 65 66 // context callback supporting multiple registrations 67 typedef struct { 68 btstack_linked_item_t * item; 69 void (*callback)(void * context); 70 void * context; 71 } btstack_context_callback_registration_t; 72 73 /** 74 * @brief 128 bit key used with AES128 in Security Manager 75 */ 76 typedef uint8_t sm_key_t[16]; 77 78 // DEFINES 79 80 // hci con handles (12 bit): 0x0000..0x0fff 81 #define HCI_CON_HANDLE_INVALID 0xffffu 82 83 84 #define DAEMON_EVENT_PACKET 0x05u 85 86 // L2CAP data 87 #define L2CAP_DATA_PACKET 0x06u 88 89 // RFCOMM data 90 #define RFCOMM_DATA_PACKET 0x07u 91 92 // Attribute protocol data 93 #define ATT_DATA_PACKET 0x08u 94 95 // Security Manager protocol data 96 #define SM_DATA_PACKET 0x09u 97 98 // SDP query result - only used by daemon 99 // format: type (8), record_id (16), attribute_id (16), attribute_length (16), attribute_value (max 1k) 100 #define SDP_CLIENT_PACKET 0x0au 101 102 // BNEP data 103 #define BNEP_DATA_PACKET 0x0bu 104 105 // Unicast Connectionless Data 106 #define UCD_DATA_PACKET 0x0cu 107 108 // GOEP data 109 #define GOEP_DATA_PACKET 0x0du 110 111 // PBAP data 112 #define PBAP_DATA_PACKET 0x0eu 113 114 // AVRCP browsing data 115 #define AVRCP_BROWSING_DATA_PACKET 0x0fu 116 117 // MAP data 118 #define MAP_DATA_PACKET 0x10u 119 120 // Mesh Provisioning PDU 121 #define PROVISIONING_DATA_PACKET 0x11u 122 123 // Mesh Proxy PDU 124 #define MESH_PROXY_DATA_PACKET 0x11u 125 126 // Mesh Network PDU 127 #define MESH_NETWORK_PACKET 0x12u 128 129 // Mesh Network PDU 130 #define MESH_BEACON_PACKET 0x13u 131 132 // debug log messages 133 #define LOG_MESSAGE_PACKET 0xfcu 134 135 136 // DAEMON COMMANDS 137 138 #define OGF_BTSTACK 0x3du 139 140 // cmds for BTstack 141 // get state: @return HCI_STATE 142 #define BTSTACK_GET_STATE 0x01u 143 144 // set power mode: param HCI_POWER_MODE 145 #define BTSTACK_SET_POWER_MODE 0x02u 146 147 // set capture mode: param on 148 #define BTSTACK_SET_ACL_CAPTURE_MODE 0x03u 149 150 // get BTstack version 151 #define BTSTACK_GET_VERSION 0x04u 152 153 // get system Bluetooth state 154 #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED 0x05u 155 156 // set system Bluetooth state 157 #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED 0x06u 158 159 // enable inquiry scan for this client 160 #define BTSTACK_SET_DISCOVERABLE 0x07u 161 162 // set global Bluetooth state 163 #define BTSTACK_SET_BLUETOOTH_ENABLED 0x08u 164 165 // create l2cap channel: param bd_addr(48), psm (16) 166 #define L2CAP_CREATE_CHANNEL 0x20u 167 168 // disconnect l2cap disconnect, param channel(16), reason(8) 169 #define L2CAP_DISCONNECT 0x21u 170 171 // register l2cap service: param psm(16), mtu (16) 172 #define L2CAP_REGISTER_SERVICE 0x22u 173 174 // unregister l2cap disconnect, param psm(16) 175 #define L2CAP_UNREGISTER_SERVICE 0x23u 176 177 // accept connection param bd_addr(48), dest cid (16) 178 #define L2CAP_ACCEPT_CONNECTION 0x24u 179 180 // decline l2cap disconnect,param bd_addr(48), dest cid (16), reason(8) 181 #define L2CAP_DECLINE_CONNECTION 0x25u 182 183 // create l2cap channel: param bd_addr(48), psm (16), mtu (16) 184 #define L2CAP_CREATE_CHANNEL_MTU 0x26u 185 186 // request can send now event: l2cap_cid 187 #define L2CAP_REQUEST_CAN_SEND_NOW 0x27u 188 189 // register SDP Service Record: service record (size) 190 #define SDP_REGISTER_SERVICE_RECORD 0x30u 191 192 // unregister SDP Service Record 193 #define SDP_UNREGISTER_SERVICE_RECORD 0x31u 194 195 // Get remote RFCOMM services 196 #define SDP_CLIENT_QUERY_RFCOMM_SERVICES 0x32u 197 198 // Get remote SDP services 199 #define SDP_CLIENT_QUERY_SERVICES 0x33u 200 201 // RFCOMM "HCI" Commands 202 #define RFCOMM_CREATE_CHANNEL 0x40u 203 #define RFCOMM_DISCONNECT 0x41u 204 #define RFCOMM_REGISTER_SERVICE 0x42u 205 #define RFCOMM_UNREGISTER_SERVICE 0x43u 206 #define RFCOMM_ACCEPT_CONNECTION 0x44u 207 #define RFCOMM_DECLINE_CONNECTION 0x45u 208 #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS 0x47u 209 #define RFCOMM_PERSISTENT_CHANNEL 0x46u 210 #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48u 211 #define RFCOMM_GRANT_CREDITS 0x49u 212 // request can send now event: rfcomm_cid 213 #define RFCOMM_REQUEST_CAN_SEND_NOW 0x4Au 214 215 // GAP Classic 0x50u 216 #define GAP_DISCONNECT 0x50u 217 #define GAP_INQUIRY_START 0x51u 218 #define GAP_INQUIRY_STOP 0x52u 219 #define GAP_REMOTE_NAME_REQUEST 0x53u 220 #define GAP_DROP_LINK_KEY_FOR_BD_ADDR 0x54u 221 #define GAP_DELETE_ALL_LINK_KEYS 0x55u 222 #define GAP_PIN_CODE_RESPONSE 0x56u 223 #define GAP_PIN_CODE_NEGATIVE 0x57u 224 225 // GAP LE 0x60u 226 #define GAP_LE_SCAN_START 0x60u 227 #define GAP_LE_SCAN_STOP 0x61u 228 #define GAP_LE_CONNECT 0x62u 229 #define GAP_LE_CONNECT_CANCEL 0x63u 230 #define GAP_LE_SET_SCAN_PARAMETERS 0x64u 231 232 // GATT (Client) 0x70u 233 #define GATT_DISCOVER_ALL_PRIMARY_SERVICES 0x70u 234 #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16 0x71u 235 #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128 0x72u 236 #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE 0x73u 237 #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE 0x74u 238 #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128 0x75u 239 #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS 0x76u 240 #define GATT_READ_VALUE_OF_CHARACTERISTIC 0x77u 241 #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC 0x78u 242 #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE 0x79u 243 #define GATT_WRITE_VALUE_OF_CHARACTERISTIC 0x7Au 244 #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7Bu 245 #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7Cu 246 #define GATT_READ_CHARACTERISTIC_DESCRIPTOR 0X7Du 247 #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR 0X7Eu 248 #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR 0X7Fu 249 #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR 0X80u 250 #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION 0X81u 251 #define GATT_GET_MTU 0x82u 252 253 // SM 0x90u 254 #define SM_SET_AUTHENTICATION_REQUIREMENTS 0x90u 255 #define SM_SET_IO_CAPABILITIES 0x92u 256 #define SM_BONDING_DECLINE 0x93u 257 #define SM_JUST_WORKS_CONFIRM 0x94u 258 #define SM_NUMERIC_COMPARISON_CONFIRM 0x95u 259 #define SM_PASSKEY_INPUT 0x96u 260 261 // ATT 262 263 // .. 264 // Internal properties reuse some GATT Characteristic Properties fields 265 #define ATT_DB_VERSION 0x01u 266 267 // EVENTS 268 269 // Events from host controller to host 270 271 /** 272 * @brief Custom NOP Event - used for internal testing 273 */ 274 #define HCI_EVENT_NOP 0x00u 275 276 /** 277 * @format 1 278 * @param status 279 */ 280 #define HCI_EVENT_INQUIRY_COMPLETE 0x01u 281 282 /** 283 * @format 1B11132 284 * @param num_responses 285 * @param bd_addr 286 * @param page_scan_repetition_mode 287 * @param reserved1 288 * @param reserved2 289 * @param class_of_device 290 * @param clock_offset 291 */ 292 #define HCI_EVENT_INQUIRY_RESULT 0x02u 293 294 /** 295 * @format 12B11 296 * @param status 297 * @param connection_handle 298 * @param bd_addr 299 * @param link_type 300 * @param encryption_enabled 301 */ 302 #define HCI_EVENT_CONNECTION_COMPLETE 0x03u 303 /** 304 * @format B31 305 * @param bd_addr 306 * @param class_of_device 307 * @param link_type 308 */ 309 #define HCI_EVENT_CONNECTION_REQUEST 0x04u 310 /** 311 * @format 121 312 * @param status 313 * @param connection_handle 314 * @param reason 315 */ 316 #define HCI_EVENT_DISCONNECTION_COMPLETE 0x05u 317 /** 318 * @format 12 319 * @param status 320 * @param connection_handle 321 */ 322 #define HCI_EVENT_AUTHENTICATION_COMPLETE 0x06u 323 324 // HCI_EVENT_AUTHENTICATION_COMPLETE_EVENT is deprecated, use HCI_EVENT_AUTHENTICATION_COMPLETE instead 325 #define HCI_EVENT_AUTHENTICATION_COMPLETE_EVENT HCI_EVENT_AUTHENTICATION_COMPLETE 326 327 /** 328 * @format 1BN 329 * @param status 330 * @param bd_addr 331 * @param remote_name 332 */ 333 #define HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 0x07u 334 335 /** 336 * @format 121 337 * @param status 338 * @param connection_handle 339 * @param encryption_enabled 340 */ 341 #define HCI_EVENT_ENCRYPTION_CHANGE 0x08u 342 343 /** 344 * @format 12 345 * @param status 346 * @param connection_handle 347 */ 348 #define HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 0x09u 349 350 /** 351 * @format 121 352 * @param status 353 * @param connection_handle 354 * @param key_flag 355 */ 356 #define HCI_EVENT_MASTER_LINK_KEY_COMPLETE 0x0Au 357 358 #define HCI_EVENT_READ_REMOTE_SUPPORTED_FEATURES_COMPLETE 0x0Bu 359 360 /** 361 * @format 12122 362 * @param status 363 * @param connection_handle 364 * @param version 365 * @param manufacturer_name 366 * @param subversion 367 */ 368 #define HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 0x0Cu 369 370 #define HCI_EVENT_QOS_SETUP_COMPLETE 0x0Du 371 372 /** 373 * @format 12R 374 * @param num_hci_command_packets 375 * @param command_opcode 376 * @param return_parameters 377 */ 378 #define HCI_EVENT_COMMAND_COMPLETE 0x0Eu 379 /** 380 * @format 112 381 * @param status 382 * @param num_hci_command_packets 383 * @param command_opcode 384 */ 385 #define HCI_EVENT_COMMAND_STATUS 0x0Fu 386 387 /** 388 * @format 1 389 * @param hardware_code 390 */ 391 #define HCI_EVENT_HARDWARE_ERROR 0x10u 392 393 /** 394 * @format H 395 * @param handle 396 */ 397 #define HCI_EVENT_FLUSH_OCCURRED 0x11u 398 399 /** 400 * @format 1B1 401 * @param status 402 * @param bd_addr 403 * @param role 404 */ 405 #define HCI_EVENT_ROLE_CHANGE 0x12u 406 407 // TODO: number_of_handles 1, connection_handle[H*i], hc_num_of_completed_packets[2*i] 408 #define HCI_EVENT_NUMBER_OF_COMPLETED_PACKETS 0x13u 409 410 /** 411 * @format 1H12 412 * @param status 413 * @param handle 414 * @param mode 415 * @param interval 416 */ 417 #define HCI_EVENT_MODE_CHANGE 0x14u 418 419 // TODO: num_keys, bd_addr[B*i], link_key[16 octets * i] 420 #define HCI_EVENT_RETURN_LINK_KEYS 0x15u 421 422 /** 423 * @format B 424 * @param bd_addr 425 */ 426 #define HCI_EVENT_PIN_CODE_REQUEST 0x16u 427 428 /** 429 * @format B 430 * @param bd_addr 431 */ 432 #define HCI_EVENT_LINK_KEY_REQUEST 0x17u 433 434 // TODO: bd_addr B, link_key 16octets, key_type 1 435 #define HCI_EVENT_LINK_KEY_NOTIFICATION 0x18u 436 437 // event params contains HCI ccommand 438 #define HCI_EVENT_LOOPBACK_COMMAND 0x19u 439 440 /** 441 * @format 1 442 * @param link_type 443 */ 444 #define HCI_EVENT_DATA_BUFFER_OVERFLOW 0x1Au 445 446 /** 447 * @format H1 448 * @param handle 449 * @param lmp_max_slots 450 */ 451 #define HCI_EVENT_MAX_SLOTS_CHANGED 0x1Bu 452 453 /** 454 * @format 1H2 455 * @param status 456 * @param handle 457 * @param clock_offset 458 */ 459 #define HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 0x1Cu 460 461 /** 462 * @format 1H2 463 * @param status 464 * @param handle 465 * @param packet_types 466 * @pnote packet_type is in plural to avoid clash with Java binding Packet.getPacketType() 467 */ 468 #define HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 0x1Du 469 470 /** 471 * @format H 472 * @param handle 473 */ 474 #define HCI_EVENT_QOS_VIOLATION 0x1Eu 475 476 // 0x1f not defined 477 478 /** 479 * @format H1 480 * @param handle 481 * @param page_scan_repetition_mode 482 */ 483 #define HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 0x20u 484 485 /** 486 * @format 1H1114444 487 * @param status 488 * @param handle 489 * @param unused 490 * @param flow_direction 491 * @param service_type 492 * @param token_rate 493 * @param token_bucket_size 494 * @param peak_bandwidth 495 * @param access_latency 496 * 497 */ 498 #define HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 0x21u 499 500 /** 501 * @format 1B11321 502 * @param num_responses 503 * @param bd_addr 504 * @param page_scan_repetition_mode 505 * @param reserved 506 * @param class_of_device 507 * @param clock_offset 508 * @param rssi 509 */ 510 #define HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 0x22u 511 512 #define HCI_EVENT_READ_REMOTE_EXTENDED_FEATURES_COMPLETE 0x23u 513 514 // 0x24..0x2b not defined 515 516 /** 517 * @format 1HB111221 518 * @param status 519 * @param handle 520 * @param bd_addr 521 * @param link_type 522 * @param transmission_interval 523 * @param retransmission_interval 524 * @param rx_packet_length 525 * @param tx_packet_length 526 * @param air_mode 527 */ 528 #define HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 0x2Cu 529 530 /** 531 * @format 1H1122 532 * @param status 533 * @param handle 534 * @param transmission_interval 535 * @param retransmission_interval 536 * @param rx_packet_length 537 * @param tx_packet_length 538 */ 539 #define HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 0x2Du 540 541 /** 542 * @format 1H2222 543 * @param status 544 * @param handle 545 * @param max_tx_latency 546 * @param max_rx_latency 547 * @param min_remote_timeout 548 * @param min_local_timeout 549 */ 550 #define HCI_EVENT_SNIFF_SUBRATING 0x2Eu 551 552 // TODO: serialize extended_inquiry_response and provide parser 553 554 /** 555 * @format 1B11321 556 * @param num_responses 557 * @param bd_addr 558 * @param page_scan_repetition_mode 559 * @param reserved 560 * @param class_of_device 561 * @param clock_offset 562 * @param rssi 563 */ 564 #define HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 0x2Fu 565 566 /** 567 * @format 1H 568 * @param status 569 * @param handle 570 */ 571 #define HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 0x30u 572 573 /** 574 * @format B 575 * @param bd_addr 576 */ 577 #define HCI_EVENT_IO_CAPABILITY_REQUEST 0x31u 578 579 /** 580 * @format B111 581 * @param bd_addr 582 * @param io_capability 583 * @param oob_data_present 584 * @param authentication_requirements 585 */ 586 #define HCI_EVENT_IO_CAPABILITY_RESPONSE 0x32u 587 588 /** 589 * @format B4 590 * @param bd_addr 591 * @param numeric_value 592 */ 593 #define HCI_EVENT_USER_CONFIRMATION_REQUEST 0x33u 594 595 /** 596 * @format B 597 * @param bd_addr 598 */ 599 #define HCI_EVENT_USER_PASSKEY_REQUEST 0x34u 600 601 /** 602 * @format B 603 * @param bd_addr 604 */ 605 #define HCI_EVENT_REMOTE_OOB_DATA_REQUEST 0x35u 606 607 /** 608 * @format 1B 609 * @param status 610 * @param bd_addr 611 */ 612 #define HCI_EVENT_SIMPLE_PAIRING_COMPLETE 0x36u 613 614 /** 615 * @format H2 616 * @param handle 617 * @param link_supervision_timeout 618 */ 619 #define HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 0x38u 620 621 /** 622 * @format H 623 * @param handle 624 */ 625 #define HCI_EVENT_ENHANCED_FLUSH_COMPLETE 0x39u 626 627 // 0x03a not defined 628 629 /** 630 * @format B4 631 * @param bd_addr 632 * @param numeric_value 633 */ 634 #define HCI_EVENT_USER_PASSKEY_NOTIFICATION 0x3Bu 635 636 /** 637 * @format B1 638 * @param bd_addr 639 * @param notification_type 640 */ 641 #define HCI_EVENT_KEYPRESS_NOTIFICATION 0x3Cu 642 643 #define HCI_EVENT_REMOTE_HOST_SUPPORTED_FEATURES 0x3Du 644 645 #define HCI_EVENT_LE_META 0x3Eu 646 647 // 0x3f..0x47 not defined 648 649 #define HCI_EVENT_NUMBER_OF_COMPLETED_DATA_BLOCKS 0x48u 650 651 // 0x49..0x58 not defined 652 653 /** 654 * @format 1211 655 * @param status 656 * @param connection_handle 657 * @param encryption_enabled 658 * @param encryption_key_size 659 */ 660 #define HCI_EVENT_ENCRYPTION_CHANGE_V2 0x59u 661 662 // last used HCI_EVENT in 5.3 is 0x59u 663 664 #define HCI_EVENT_VENDOR_SPECIFIC 0xFFu 665 666 /** 667 * @format 11H11B2221 668 * @param subevent_code 669 * @param status 670 * @param connection_handle 671 * @param role 672 * @param peer_address_type 673 * @param peer_address 674 * @param conn_interval 675 * @param conn_latency 676 * @param supervision_timeout 677 * @param master_clock_accuracy 678 */ 679 #define HCI_SUBEVENT_LE_CONNECTION_COMPLETE 0x01u 680 681 // array of advertisements, not handled by event accessor generator 682 #define HCI_SUBEVENT_LE_ADVERTISING_REPORT 0x02u 683 684 /** 685 * @format 11H222 686 * @param subevent_code 687 * @param status 688 * @param connection_handle 689 * @param conn_interval 690 * @param conn_latency 691 * @param supervision_timeout 692 */ 693 #define HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 0x03u 694 695 /** 696 * @format 1HD 697 * @param subevent_code 698 * @param connection_handle 699 * @param le_features 700 */ 701 #define HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 0x04u 702 703 /** 704 * @format 1HD2 705 * @param subevent_code 706 * @param connection_handle 707 * @param random_number 708 * @param encryption_diversifier 709 */ 710 #define HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 0x05u 711 712 /** 713 * @format 1H2222 714 * @param subevent_code 715 * @param connection_handle 716 * @param interval_min 717 * @param interval_max 718 * @param latency 719 * @param timeout 720 */ 721 #define HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 0x06u 722 723 /** 724 * @format 1H2222 725 * @param subevent_code 726 * @param connection_handle 727 * @param max_tx_octets 728 * @param max_tx_time 729 * @param max_rx_octets 730 * @param max_rx_time 731 */ 732 #define HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 0x07u 733 734 /** 735 * @format 11QQ 736 * @param subevent_code 737 * @param status 738 * @param dhkey_x x coordinate of P256 public key 739 * @param dhkey_y y coordinate of P256 public key 740 */ 741 #define HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 0x08u 742 743 /** 744 * @format 11Q 745 * @param subevent_code 746 * @param status 747 * @param dhkey Diffie-Hellman key 748 */ 749 #define HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 0x09u 750 751 /** 752 * @format 11H11BBB2221 753 * @param subevent_code 754 * @param status 755 * @param connection_handle 756 * @param role 757 * @param peer_address_type 758 * @param peer_addresss 759 * @param local_resolvable_private_addres 760 * @param peer_resolvable_private_addres 761 * @param conn_interval 762 * @param conn_latency 763 * @param supervision_timeout 764 * @param master_clock_accuracy 765 */ 766 #define HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 0x0Au 767 768 // array of advertisements, not handled by event accessor generator 769 #define HCI_SUBEVENT_LE_DIRECT_ADVERTISING_REPORT 0x0Bu 770 771 /** 772 * @format 11H1 773 * @param subevent_code 774 * @param status 775 * @param connection_handle 776 * @param tx_phy 777 */ 778 #define HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 0x0Cu 779 780 // array of advertisements, not handled by event accessor generator 781 #define HCI_SUBEVENT_LE_EXTENDED_ADVERTISING_REPORT 0x0Du 782 783 /** 784 * @format 11H11B121 785 * @param subevent_code 786 * @param status 787 * @param sync_handle 788 * @param advertising_sid 789 * @param advertiser_address_type 790 * @param advertiser_address 791 * @param advertiser_phy 792 * @param periodic_advertising_interval 793 * @param advertiser_clock_accuracy 794 */ 795 #define HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 0x0Eu 796 797 /** 798 * @format 1H1111JV 799 * @param subevent_code 800 * @param sync_handle 801 * @param tx_power 802 * @param rssi 803 * @param cte_type 804 * @param data_status 805 * @param data_length 806 * @param data 807 */ 808 #define HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 0x0Fu 809 810 /** 811 * @format 1H 812 * @param subevent_code 813 * @param sync_handle 814 */ 815 #define HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_LOST 0x10u 816 817 /** 818 * @format 1 819 * @param subevent_code 820 */ 821 #define HCI_SUBEVENT_LE_SCAN_TIMEOUT 0x11u 822 823 /** 824 * @format 111H1 825 * @param subevent_code 826 * @param status 827 * @param advertising_handle 828 * @param connection_handle 829 * @param num_completed_exteneded_advertising_events 830 */ 831 #define HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 0x12u 832 833 /** 834 * @format 111B 835 * @param subevent_code 836 * @param advertising_handle 837 * @param scanner_address_type 838 * @param scanner_address 839 */ 840 #define HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 0x13u 841 842 /** 843 * @format 1H1 844 * @param subevent_code 845 * @param connection_handle 846 * @param channel_selection_algorithm 847 */ 848 #define HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 0x14u 849 850 // array of advertisements, not handled by event accessor generator 851 #define HCI_SUBEVENT_LE_CONNECTIONLESS_IQ_REPORT 0x15u 852 853 // array of advertisements, not handled by event accessor generator 854 #define HCI_SUBEVENT_LE_CONNECTION_IQ_REPORT 0x16u 855 856 /** 857 * @format 11H 858 * @param subevent_code 859 * @param status 860 * @param connection_handle 861 */ 862 #define HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 0x17u 863 864 /** 865 * @format 11H2H11B121 866 * @param subevent_code 867 * @param status 868 * @param connection_handle 869 * @param service_data 870 * @param sync_handle 871 * @param advertising_sid 872 * @param advertiser_address_type 873 * @param advertiser_address 874 * @param advertiser_phy 875 * @param periodic_advertising_interval 876 * @param advertiser_clock_accuracy 877 */ 878 #define HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 0x18u 879 880 /** 881 * @format 11H33331111111222 882 * @param subevent_code 883 * @param status 884 * @param connection_handle 885 * @param cig_sync_delay 886 * @param cis_sync_delay 887 * @param transport_latency_c_to_p 888 * @param transport_latency_p_to_c 889 * @param phy_c_to_p 890 * @param phy_p_to_c 891 * @param nse 892 * @param bn_c_to_p 893 * @param bn_p_to_c 894 * @param ft_c_to_p 895 * @param ft_p_to_c 896 * @param max_pdu_c_to_p 897 * @param max_pdu_p_to_c 898 * @param iso_interval 899 */ 900 #define HCI_SUBEVENT_LE_CIS_ESTABLISHED 0x19u 901 902 /** 903 * @format 1HH11 904 * @param subevent_code 905 * @param acl_connection_handle 906 * @param cis_connection_handle 907 * @param cig_id 908 * @param cis_id 909 */ 910 #define HCI_SUBEVENT_LE_CIS_REQUEST 0x1au 911 912 // array of advertisements, not handled by event accessor generator 913 #define HCI_SUBEVENT_LE_CREATE_BIG_COMPLETE 0x1Bu 914 915 /** 916 * @format 111 917 * @param subevent_code 918 * @param big_handle 919 * @param reason 920 */ 921 #define HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 0x1Cu 922 923 // array of advertisements, not handled by event accessor generator 924 #define HCI_SUBEVENT_LE_BIG_SYNC_ESTABLISHED 0x1Du 925 926 /** 927 * @format 111 928 * @param subevent_code 929 * @param big_handle 930 * @param reason 931 */ 932 #define HCI_SUBEVENT_LE_BIG_SYNC_LOST 0x1Eu 933 934 /** 935 * @format 11H1 936 * @param subevent_code 937 * @param status 938 * @param connection_handle 939 * @param peer_clock_accuracy 940 */ 941 #define HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 0x1Fu 942 943 /** 944 * @format 11H11111 945 * @param subevent_code 946 * @param status 947 * @param connection_handle 948 * @param reason 949 * @param phy 950 * @param tx_power_level 951 * @param tx_power_level_flag 952 * @param delta 953 */ 954 #define HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 0x21u 955 956 /** 957 * @format 1H112111232111 958 * @param subevent_code 959 * @param sync_handle 960 * @param num_bis 961 * @param nse 962 * @param iso_interval 963 * @param bn 964 * @param pto 965 * @param irc 966 * @param max_pdu 967 * @param sdu_interval 968 * @param max_sdu 969 * @param phy 970 * @param framing 971 * @param encryption 972 */ 973 #define HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 0x22u 974 975 /** 976 * @format 11H2222 977 * @param subevent_code 978 * @param status 979 * @param connection_handle 980 * @param subrate_factor 981 * @param peripheral_latency 982 * @param continuation_number 983 * @param supervision_timeout 984 */ 985 #define HCI_SUBEVENT_LE_SUBRATE_CHANGE 0x23u 986 987 /** 988 * @format 1 989 * @param state 990 */ 991 #define BTSTACK_EVENT_STATE 0x60u 992 993 /** 994 * @format 1 995 * @param number_connections 996 */ 997 #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 0x61u 998 999 /** 1000 * @format 1001 */ 1002 #define BTSTACK_EVENT_POWERON_FAILED 0x62u 1003 1004 /** 1005 * @format 11 1006 * @param discoverable 1007 * @param connectable 1008 */ 1009 #define BTSTACK_EVENT_SCAN_MODE_CHANGED 0x66u 1010 1011 // Daemon Events 1012 1013 /** 1014 * @format 112 1015 * @param major 1016 * @param minor 1017 @ @param revision 1018 */ 1019 #define DAEMON_EVENT_VERSION 0x63u 1020 1021 // data: system bluetooth on/off (bool) 1022 /** 1023 * @format 1 1024 * param system_bluetooth_enabled 1025 */ 1026 #define DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED 0x64u 1027 1028 // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes) 1029 1030 /* 1031 * @format 1BT 1032 * @param status == 0 to match read_remote_name_request 1033 * @param address 1034 * @param name 1035 */ 1036 #define DAEMON_EVENT_REMOTE_NAME_CACHED 0x65u 1037 1038 // internal - data: event(8) 1039 #define DAEMON_EVENT_CONNECTION_OPENED 0x67u 1040 1041 // internal - data: event(8) 1042 #define DAEMON_EVENT_CONNECTION_CLOSED 0x68u 1043 1044 // data: event(8), len(8), local_cid(16), credits(8) 1045 #define DAEMON_EVENT_L2CAP_CREDITS 0x74u 1046 1047 /** 1048 * @format 12 1049 * @param status 1050 * @param psm 1051 */ 1052 #define DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 0x75u 1053 1054 /** 1055 * @format 11 1056 * @param status 1057 * @param channel_id 1058 */ 1059 #define DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 0x85u 1060 1061 /** 1062 * @format 11 1063 * @param status 1064 * @param server_channel_id 1065 */ 1066 #define DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 0x86u 1067 1068 /** 1069 * @format 14 1070 * @param status 1071 * @param service_record_handle 1072 */ 1073 #define DAEMON_EVENT_SDP_SERVICE_REGISTERED 0x90u 1074 1075 1076 1077 // additional HCI events 1078 1079 /** 1080 * @brief Indicates HCI transport enters/exits Sleep mode 1081 * @format 1 1082 * @param active 1083 */ 1084 #define HCI_EVENT_TRANSPORT_SLEEP_MODE 0x69u 1085 1086 /** 1087 * @brief Transport USB Bluetooth Controller info 1088 * @format 22JV 1089 * @param vendor_id 1090 * @param product_id 1091 * @param path_len 1092 * @param path 1093 */ 1094 #define HCI_EVENT_TRANSPORT_USB_INFO 0x6Au 1095 1096 /** 1097 * @brief Transport ready 1098 */ 1099 #define HCI_EVENT_TRANSPORT_READY 0x6Du 1100 1101 /** 1102 * @brief Outgoing packet 1103 */ 1104 #define HCI_EVENT_TRANSPORT_PACKET_SENT 0x6Eu 1105 1106 /** 1107 * @format 11H 1108 * @param big_handle 1109 * @param bis_index 1110 * @param con_handle 1111 */ 1112 #define HCI_EVENT_BIS_CAN_SEND_NOW 0x6Bu 1113 1114 /** 1115 * @format H 1116 * @param cis_con_handle 1117 */ 1118 #define HCI_EVENT_CIS_CAN_SEND_NOW 0x6Cu 1119 1120 /** 1121 * @format 1122 */ 1123 #define HCI_EVENT_SCO_CAN_SEND_NOW 0x6Fu 1124 1125 1126 // L2CAP EVENTS 1127 1128 /** 1129 * @format 1BH222222111 1130 * @param status 1131 * @param address 1132 * @param handle 1133 * @param psm 1134 * @param local_cid 1135 * @param remote_cid 1136 * @param local_mtu 1137 * @param remote_mtu 1138 * @param flush_timeout 1139 * @param incoming 1140 * @param mode 1141 * @param fcs 1142 */ 1143 #define L2CAP_EVENT_CHANNEL_OPENED 0x70u 1144 1145 /* 1146 * @format 2 1147 * @param local_cid 1148 */ 1149 #define L2CAP_EVENT_CHANNEL_CLOSED 0x71u 1150 1151 /** 1152 * @format BH222 1153 * @param address 1154 * @param handle 1155 * @param psm 1156 * @param local_cid 1157 * @param remote_cid 1158 */ 1159 #define L2CAP_EVENT_INCOMING_CONNECTION 0x72u 1160 1161 // ?? 1162 // data: event(8), len(8), handle(16) 1163 #define L2CAP_EVENT_TIMEOUT_CHECK 0x73u 1164 1165 /** 1166 * @format H2222 1167 * @param handle 1168 * @param interval_min 1169 * @param interval_max 1170 * @param latency 1171 * @param timeout_multiplier 1172 */ 1173 #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 0x76u 1174 1175 // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail) 1176 /** 1177 * @format H2 1178 * @param handle 1179 * @param result 1180 */ 1181 #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 0x77u 1182 1183 /* 1184 * @format H22 1185 * @param con_handle 1186 * @param extended_feature_mask 1187 * @param fixed_channels_supported 1188 */ 1189 #define L2CAP_EVENT_INFORMATION_RESPONSE 0x78u 1190 1191 /** 1192 * @format 2 1193 * @param local_cid 1194 */ 1195 #define L2CAP_EVENT_CAN_SEND_NOW 0x79u 1196 1197 /* 1198 * @format 2 1199 * @param local_cid 1200 */ 1201 #define L2CAP_EVENT_PACKET_SENT 0x7au 1202 1203 /* 1204 * @format 2 1205 * @param local_cid 1206 */ 1207 #define L2CAP_EVENT_ERTM_BUFFER_RELEASED 0x7bu 1208 1209 // L2CAP Channel in LE Credit-based Flow-Control Mode (CBM) 1210 1211 /** 1212 * @format 1BH2222 1213 * @param address_type 1214 * @param address 1215 * @param handle 1216 * @param psm 1217 * @param local_cid 1218 * @param remote_cid 1219 * @param remote_mtu 1220 */ 1221 #define L2CAP_EVENT_CBM_INCOMING_CONNECTION 0x7cu 1222 1223 /** 1224 * @format 11BH122222 1225 * @param status 1226 * @param address_type 1227 * @param address 1228 * @param handle 1229 * @param incoming 1230 * @param psm 1231 * @param local_cid 1232 * @param remote_cid 1233 * @param local_mtu 1234 * @param remote_mtu 1235 */ 1236 #define L2CAP_EVENT_CBM_CHANNEL_OPENED 0x7du 1237 1238 /* 1239 * @format 1240 */ 1241 #define L2CAP_EVENT_TRIGGER_RUN 0x7eu 1242 1243 /** 1244 * @format 1BH212 1245 * @param address_type 1246 * @param address 1247 * @param handle 1248 * @param psm 1249 * @param num_channels 1250 * @param local_cid first new cid 1251 */ 1252 #define L2CAP_EVENT_ECBM_INCOMING_CONNECTION 0x7fu 1253 1254 /** 1255 * @format 11BH122222 1256 * @param status 1257 * @param address_type 1258 * @param address 1259 * @param handle 1260 * @param incoming 1261 * @param psm 1262 * @param local_cid 1263 * @param remote_cid 1264 * @param local_mtu 1265 * @param remote_mtu 1266 */ 1267 #define L2CAP_EVENT_ECBM_CHANNEL_OPENED 0x8au 1268 1269 /* 1270 * @format 222 1271 * @param remote_cid 1272 * @param mtu 1273 * @param mps 1274 */ 1275 #define L2CAP_EVENT_ECBM_RECONFIGURED 0x8bu 1276 1277 /* 1278 * @format 22 1279 * @param local_cid 1280 * @param reconfigure_result 1281 */ 1282 #define L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 0x8cu 1283 1284 1285 // RFCOMM EVENTS 1286 1287 /** 1288 * @format 1B21221 1289 * @param status 1290 * @param bd_addr 1291 * @param con_handle 1292 * @param server_channel 1293 * @param rfcomm_cid 1294 * @param max_frame_size 1295 * @param incoming 1296 */ 1297 #define RFCOMM_EVENT_CHANNEL_OPENED 0x80u 1298 1299 /** 1300 * @format 2 1301 * @param rfcomm_cid 1302 */ 1303 #define RFCOMM_EVENT_CHANNEL_CLOSED 0x81u 1304 1305 /** 1306 * @format B12H 1307 * @param bd_addr 1308 * @param server_channel 1309 * @param rfcomm_cid 1310 * @param con_handle 1311 1312 */ 1313 #define RFCOMM_EVENT_INCOMING_CONNECTION 0x82u 1314 1315 /** 1316 * @format 21 1317 * @param rfcomm_cid 1318 * @param line_status 1319 */ 1320 #define RFCOMM_EVENT_REMOTE_LINE_STATUS 0x83u 1321 1322 /** 1323 * @format 21 1324 * @param rfcomm_cid 1325 * @param modem_status 1326 */ 1327 #define RFCOMM_EVENT_REMOTE_MODEM_STATUS 0x87u 1328 1329 /** 1330 * note: port configuration not parsed by stack, getters provided by rfcomm.h 1331 * param rfcomm_cid 1332 * param remote - 0 for local port, 1 for remote port 1333 * param baud_rate 1334 * param data_bits 1335 * param stop_bits 1336 * param parity 1337 * param flow_control 1338 * param xon 1339 * param xoff 1340 */ 1341 #define RFCOMM_EVENT_PORT_CONFIGURATION 0x88u 1342 1343 /** 1344 * @format 2 1345 * @param rfcomm_cid 1346 */ 1347 #define RFCOMM_EVENT_CAN_SEND_NOW 0x89u 1348 1349 1350 /** 1351 * @format 1 1352 * @param status 1353 */ 1354 #define SDP_EVENT_QUERY_COMPLETE 0x91u 1355 1356 /** 1357 * @format 1T 1358 * @param rfcomm_channel 1359 * @param name 1360 */ 1361 #define SDP_EVENT_QUERY_RFCOMM_SERVICE 0x92u 1362 1363 /** 1364 * @format 22221 1365 * @param record_id 1366 * @param attribute_id 1367 * @param attribute_length 1368 * @param data_offset 1369 * @param data 1370 */ 1371 #define SDP_EVENT_QUERY_ATTRIBUTE_BYTE 0x93u 1372 1373 /** 1374 * @format 22LV 1375 * @param record_id 1376 * @param attribute_id 1377 * @param attribute_length 1378 * @param attribute_value 1379 */ 1380 #define SDP_EVENT_QUERY_ATTRIBUTE_VALUE 0x94u 1381 1382 /** 1383 * @format 224 1384 * @param total_count 1385 * @param record_index 1386 * @param record_handle 1387 * @note Not provided by daemon, only used for internal testing 1388 */ 1389 #define SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 0x95u 1390 1391 /** 1392 * @format H1 1393 * @param handle 1394 * @param att_status see ATT errors in bluetooth.h 1395 */ 1396 #define GATT_EVENT_QUERY_COMPLETE 0xA0u 1397 1398 /** 1399 * @format HX 1400 * @param handle 1401 * @param service 1402 */ 1403 #define GATT_EVENT_SERVICE_QUERY_RESULT 0xA1u 1404 1405 /** 1406 * @format HY 1407 * @param handle 1408 * @param characteristic 1409 */ 1410 #define GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 0xA2u 1411 1412 /** 1413 * @format H2X 1414 * @param handle 1415 * @param include_handle 1416 * @param service 1417 */ 1418 #define GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 0xA3u 1419 1420 /** 1421 * @format HZ 1422 * @param handle 1423 * @param characteristic_descriptor 1424 */ 1425 #define GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 0xA4u 1426 1427 /** 1428 * @format H2LV 1429 * @param handle 1430 * @param value_handle 1431 * @param value_length 1432 * @param value 1433 */ 1434 #define GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA5u 1435 1436 /** 1437 * @format H22LV 1438 * @param handle 1439 * @param value_handle 1440 * @param value_offset 1441 * @param value_length 1442 * @param value 1443 */ 1444 #define GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA6u 1445 1446 /** 1447 * @format H2LV 1448 * @param handle 1449 * @param value_handle 1450 * @param value_length 1451 * @param value 1452 */ 1453 #define GATT_EVENT_NOTIFICATION 0xA7u 1454 1455 /** 1456 * @format H2LV 1457 * @param handle 1458 * @param value_handle 1459 * @param value_length 1460 * @param value 1461 */ 1462 #define GATT_EVENT_INDICATION 0xA8u 1463 1464 /** 1465 * @format H2LV 1466 * @param handle 1467 * @param descriptor_handle 1468 * @param descriptor_length 1469 * @param descriptor 1470 */ 1471 #define GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xA9u 1472 1473 /** 1474 * @format H2LV 1475 * @param handle 1476 * @param descriptor_offset 1477 * @param descriptor_length 1478 * @param descriptor 1479 */ 1480 #define GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xAAu 1481 1482 /** 1483 * @format H2 1484 * @param handle 1485 * @param MTU 1486 */ 1487 #define GATT_EVENT_MTU 0xABu 1488 1489 /** 1490 * @format H 1491 * @param handle 1492 */ 1493 #define GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 0xACu 1494 1495 /** 1496 * @format 1BH 1497 * @param status 1498 * @param address 1499 * @param handle 1500 */ 1501 #define GATT_EVENT_CONNECTED 0xADu 1502 1503 /** 1504 * @format H 1505 * @param handle 1506 */ 1507 #define GATT_EVENT_DISCONNECTED 0xAEu 1508 1509 1510 /** 1511 * @format 1BH 1512 * @param address_type 1513 * @param address 1514 * @param handle 1515 */ 1516 #define ATT_EVENT_CONNECTED 0xB3u 1517 1518 /** 1519 * @format H 1520 * @param handle 1521 */ 1522 #define ATT_EVENT_DISCONNECTED 0xB4u 1523 1524 /** 1525 * @format H2 1526 * @param handle 1527 * @param MTU 1528 */ 1529 #define ATT_EVENT_MTU_EXCHANGE_COMPLETE 0xB5u 1530 1531 /** 1532 * @format 1H2 1533 * @param status 1534 * @param conn_handle 1535 * @param attribute_handle 1536 */ 1537 #define ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 0xB6u 1538 1539 /** 1540 * @format 1541 */ 1542 #define ATT_EVENT_CAN_SEND_NOW 0xB7u 1543 1544 // TODO: daemon only event 1545 1546 /** 1547 * @format 12 1548 * @param status 1549 * @param service_uuid 1550 */ 1551 #define BNEP_EVENT_SERVICE_REGISTERED 0xC0u 1552 1553 /** 1554 * @format 12222BH 1555 * @param status 1556 * @param bnep_cid 1557 * @param source_uuid 1558 * @param destination_uuid 1559 * @param mtu 1560 * @param remote_address 1561 * @param con_handle 1562 */ 1563 #define BNEP_EVENT_CHANNEL_OPENED 0xC1u 1564 1565 /** 1566 * @format 222B 1567 * @param bnep_cid 1568 * @param source_uuid 1569 * @param destination_uuid 1570 * @param remote_address 1571 */ 1572 #define BNEP_EVENT_CHANNEL_CLOSED 0xC2u 1573 1574 /** 1575 * @format 222B1 1576 * @param bnep_cid 1577 * @param source_uuid 1578 * @param destination_uuid 1579 * @param remote_address 1580 * @param channel_state 1581 */ 1582 #define BNEP_EVENT_CHANNEL_TIMEOUT 0xC3u 1583 1584 /** 1585 * @format 222B 1586 * @param bnep_cid 1587 * @param source_uuid 1588 * @param destination_uuid 1589 * @param remote_address 1590 */ 1591 #define BNEP_EVENT_CAN_SEND_NOW 0xC4u 1592 1593 /** 1594 * @format H1B1 1595 * @param handle 1596 * @param addr_type 1597 * @param address 1598 * @param secure_connection - set to 1 if LE Secure Connection pairing will be used 1599 */ 1600 #define SM_EVENT_JUST_WORKS_REQUEST 0xC8u 1601 1602 /** 1603 * @format H1B14 1604 * @param handle 1605 * @param addr_type 1606 * @param address 1607 * @param secure_connection - set to 1 if LE Secure Connection pairing will be used 1608 * @param passkey 1609 */ 1610 #define SM_EVENT_PASSKEY_DISPLAY_NUMBER 0xC9u 1611 1612 /** 1613 * @format H1B 1614 * @param handle 1615 * @param addr_type 1616 * @param address 1617 */ 1618 #define SM_EVENT_PASSKEY_DISPLAY_CANCEL 0xCAu 1619 1620 /** 1621 * @format H1B1 1622 * @param handle 1623 * @param addr_type 1624 * @param address 1625 * @param secure_connection - set to 1 if LE Secure Connection pairing will be used 1626 */ 1627 #define SM_EVENT_PASSKEY_INPUT_NUMBER 0xCBu 1628 1629 /** 1630 * @format H1B14 1631 * @param handle 1632 * @param addr_type 1633 * @param address 1634 * @param secure_connection - set to 1 if LE Secure Connection pairing will be used 1635 * @param passkey 1636 */ 1637 #define SM_EVENT_NUMERIC_COMPARISON_REQUEST 0xCCu 1638 1639 /** 1640 * @format H1B 1641 * @param handle 1642 * @param addr_type 1643 * @param address 1644 */ 1645 #define SM_EVENT_IDENTITY_RESOLVING_STARTED 0xCDu 1646 1647 /** 1648 * @format H1B 1649 * @param handle 1650 * @param addr_type 1651 * @param address 1652 */ 1653 #define SM_EVENT_IDENTITY_RESOLVING_FAILED 0xCEu 1654 1655 /** 1656 * @brief Identify resolving succeeded 1657 * 1658 * @format H1B1B2 1659 * @param handle 1660 * @param addr_type 1661 * @param address 1662 * @param identity_addr_type 1663 * @param identity_address 1664 * @param index 1665 * 1666 */ 1667 #define SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 0xCFu 1668 1669 /** 1670 * @format H1B 1671 * @param handle 1672 * @param addr_type 1673 * @param address 1674 */ 1675 #define SM_EVENT_AUTHORIZATION_REQUEST 0xD0u 1676 1677 /** 1678 * @format H1B1 1679 * @param handle 1680 * @param addr_type 1681 * @param address 1682 * @param authorization_result 1683 */ 1684 #define SM_EVENT_AUTHORIZATION_RESULT 0xD1u 1685 1686 /** 1687 * @format H1 1688 * @param handle 1689 * @param action see SM_KEYPRESS_* 1690 */ 1691 #define SM_EVENT_KEYPRESS_NOTIFICATION 0xD2u 1692 1693 /** 1694 * @brief Emitted during pairing to inform app about address used as identity 1695 * 1696 * @format H1B1B2 1697 * @param handle 1698 * @param addr_type 1699 * @param address 1700 * @param identity_addr_type 1701 * @param identity_address 1702 * @param index 1703 */ 1704 #define SM_EVENT_IDENTITY_CREATED 0xD3u 1705 1706 /** 1707 * @brief Emitted to inform app that pairing has started. 1708 * @format H1B 1709 * @param handle 1710 * @param addr_type 1711 * @param address 1712 */ 1713 #define SM_EVENT_PAIRING_STARTED 0xD4u 1714 1715 /** 1716 * @brief Emitted to inform app that pairing is complete. Possible status values: 1717 * ERROR_CODE_SUCCESS -> pairing success 1718 * ERROR_CODE_CONNECTION_TIMEOUT -> timeout 1719 * ERROR_CODE_REMOTE_USER_TERMINATED_CONNECTION -> disconnect 1720 * ERROR_CODE_AUTHENTICATION_FAILURE -> SM protocol error, see reason field with SM_REASON_* from bluetooth.h 1721 * 1722 * @format H1B11 1723 * @param handle 1724 * @param addr_type 1725 * @param address 1726 * @param status 1727 * @param reason if status == ERROR_CODE_AUTHENTICATION_FAILURE 1728 */ 1729 #define SM_EVENT_PAIRING_COMPLETE 0xD5u 1730 1731 1732 /** 1733 * @brief Proactive Authentication for bonded devices started. 1734 * @format H1B 1735 * @param handle 1736 * @param addr_type 1737 * @param address 1738 */ 1739 #define SM_EVENT_REENCRYPTION_STARTED 0xD6u 1740 1741 /** 1742 * @brief Proactive Authentication for bonded devices complete. Possible status values: 1743 * ERROR_CODE_SUCCESS -> connection secure 1744 * ERROR_CODE_CONNECTION_TIMEOUT -> timeout 1745 * ERROR_CODE_PIN_OR_KEY_MISSING -> remote did not provide (as Peripheral) or use LTK (as Central) 1746 * @format H1B1 1747 * @param handle 1748 * @param addr_type 1749 * @param address 1750 * @param status 1751 */ 1752 #define SM_EVENT_REENCRYPTION_COMPLETE 0xD7u 1753 1754 // GAP 1755 1756 /** 1757 * @format H1 1758 * @param handle 1759 * @param security_level 1760 */ 1761 #define GAP_EVENT_SECURITY_LEVEL 0xD8u 1762 1763 /** 1764 * @format 1B 1765 * @param status 1766 * @param address 1767 */ 1768 #define GAP_EVENT_DEDICATED_BONDING_COMPLETED 0xD9u 1769 1770 /** 1771 * @format 11B1JV 1772 * @param advertising_event_type 1773 * @param address_type 1774 * @param address 1775 * @param rssi 1776 * @param data_length 1777 * @param data 1778 */ 1779 #define GAP_EVENT_ADVERTISING_REPORT 0xDAu 1780 1781 /** 1782 * @format 21B1111121BJV 1783 * @param advertising_event_type 1784 * @param address_type 1785 * @param address 1786 * @param primary_phy 1787 * @param secondary_phy 1788 * @param advertising_sid 1789 * @param tx_power 1790 * @param rssi 1791 * @param periodic_advertising_interval 1792 * @param direct_address_type 1793 * @param direct_address 1794 * @param data_length 1795 * @param data 1796 */ 1797 #define GAP_EVENT_EXTENDED_ADVERTISING_REPORT 0xDBu 1798 1799 /** 1800 * @format B13211122221JV 1801 * @param bd_addr 1802 * @param page_scan_repetition_mode 1803 * @param class_of_device 1804 * @param clock_offset 1805 * @param rssi_available 1806 * @param rssi 1807 * @param device_id_available 1808 * @param device_id_vendor_id_source 1809 * @param device_id_vendor_id 1810 * @param device_id_product_id 1811 * @param device_id_version 1812 * @param name_available 1813 * @param name_len 1814 * @param name 1815 */ 1816 #define GAP_EVENT_INQUIRY_RESULT 0xDCu 1817 1818 /** 1819 * @format 1 1820 * @param status 1821 */ 1822 #define GAP_EVENT_INQUIRY_COMPLETE 0xDDu 1823 1824 /** 1825 * @format H1 1826 * @param con_handle 1827 * @param rssi (signed integer -127..127) 1828 * @note Classic: rssi is in dB relative to Golden Receive Power Range 1829 * @note LE: rssi is absolute dBm 1830 */ 1831 #define GAP_EVENT_RSSI_MEASUREMENT 0xDEu 1832 1833 /** 1834 * @format 1KKKK 1835 * @param oob_data_present 0 = none, 1 = p_192, 2 = p_256, 3 = both 1836 * @param c_192 Simple Pairing Hash C derived from P-192 public key 1837 * @param r_192 Simple Pairing Randomizer derived from P-192 public key 1838 * @param c_256 Simple Pairing Hash C derived from P-256 public key 1839 * @param r_256 Simple Pairing Randomizer derived from P-256 public key 1840 */ 1841 #define GAP_EVENT_LOCAL_OOB_DATA 0xDFu 1842 1843 1844 /** 1845 * @format HB11 1846 * @param con_handle 1847 * @param bd_addr 1848 * @param ssp 1849 * @param initiator 1850 */ 1851 #define GAP_EVENT_PAIRING_STARTED 0xE0u 1852 1853 /** 1854 * @format HB1 1855 * @param con_handle 1856 * @param bd_addr 1857 * @param status 1858 */ 1859 #define GAP_EVENT_PAIRING_COMPLETE 0xE1u 1860 1861 // Meta Events, see below for sub events 1862 #define HCI_EVENT_META_GAP 0xE7u 1863 #define HCI_EVENT_HSP_META 0xE8u 1864 #define HCI_EVENT_HFP_META 0xE9u 1865 #define HCI_EVENT_ANCS_META 0xEAu 1866 #define HCI_EVENT_AVDTP_META 0xEBu 1867 #define HCI_EVENT_AVRCP_META 0xECu 1868 #define HCI_EVENT_GOEP_META 0xEDu 1869 #define HCI_EVENT_PBAP_META 0xEEu 1870 #define HCI_EVENT_HID_META 0xEFu 1871 #define HCI_EVENT_A2DP_META 0xF0u 1872 #define HCI_EVENT_HIDS_META 0xF1u 1873 #define HCI_EVENT_GATTSERVICE_META 0xF2u 1874 #define HCI_EVENT_BIP_META 0xF3u 1875 #define HCI_EVENT_MAP_META 0xF4u 1876 #define HCI_EVENT_MESH_META 0xF5u 1877 1878 // Potential other meta groups 1879 // #define HCI_EVENT_BNEP_META 0xxx 1880 // #define HCI_EVENT_GAP_META 0xxx 1881 // #define HCI_EVENT_GATT_META 0xxx 1882 // #define HCI_EVENT_PAN_META 0xxx 1883 // #define HCI_EVENT_SDP_META 0xxx 1884 // #define HCI_EVENT_SM_META 0xxx 1885 1886 /** GAP Subevent */ 1887 1888 1889 /** 1890 * @format 1111 1891 * @param subevent_code 1892 * @param advertisement_handle 1893 * @param status 1894 * @param selected_tx_power 1895 */ 1896 #define GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 0x00u 1897 1898 /** 1899 * @format 11 1900 * @param subevent_code 1901 * @param advertisement_handle 1902 */ 1903 #define GAP_SUBEVENT_ADVERTISING_SET_REMOVED 0x01u 1904 1905 /** 1906 * @format 1111C 1907 * @param subevent_code 1908 * @param status 1909 * @param big_handle 1910 * @param num_bis 1911 * @param bis_con_handles 1912 */ 1913 #define GAP_SUBEVENT_BIG_CREATED 0x02u 1914 1915 /** 1916 * @format 11 1917 * @param subevent_code 1918 * @param big_handle 1919 */ 1920 #define GAP_SUBEVENT_BIG_TERMINATED 0x03u 1921 1922 /** 1923 * @format 1111C 1924 * @param subevent_code 1925 * @param status 1926 * @param big_handle 1927 * @param num_bis 1928 * @param bis_con_handles 1929 */ 1930 #define GAP_SUBEVENT_BIG_SYNC_CREATED 0x04u 1931 1932 /** 1933 * @format 11 1934 * @param subevent_code 1935 * @param big_handle 1936 */ 1937 #define GAP_SUBEVENT_BIG_SYNC_STOPPED 0x05u 1938 1939 /** 1940 * @format 1111C 1941 * @param subevent_code 1942 * @param status 1943 * @param cig_id 1944 * @param num_cis 1945 * @param cis_con_handles 1946 */ 1947 #define GAP_SUBEVENT_CIG_CREATED 0x06u 1948 1949 /** 1950 * @format 1111HH 1951 * @param subevent_code 1952 * @param status 1953 * @param cig_id 1954 * @param cis_id 1955 * @param cis_con_handle 1956 * @param acl_con_handle 1957 */ 1958 #define GAP_SUBEVENT_CIS_CREATED 0x07u 1959 1960 /** HSP Subevent */ 1961 1962 /** 1963 * @format 1H1B 1964 * @param subevent_code 1965 * @param acl_handle 1966 * @param status 0 == OK 1967 * @param bd_addr 1968 */ 1969 #define HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 0x01u 1970 1971 /** 1972 * @format 1H 1973 * @param subevent_code 1974 * @param acl_handle 1975 */ 1976 #define HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 0x02u 1977 1978 /** 1979 * @format 1H1H 1980 * @param subevent_code 1981 * @param acl_handle 1982 * @param status 0 == OK 1983 * @param sco_handle 1984 */ 1985 #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 0x03u 1986 1987 /** 1988 * @format 1HH 1989 * @param subevent_code 1990 * @param acl_handle 1991 * @param sco_handle 1992 */ 1993 #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 0x04u 1994 1995 /** 1996 * @format 1H 1997 * @param subevent_code 1998 * @param acl_handle 1999 */ 2000 #define HSP_SUBEVENT_RING 0x05u 2001 2002 /** 2003 * @format 1H1 2004 * @param subevent_code 2005 * @param acl_handle 2006 * @param gain Valid range: [0,15] 2007 */ 2008 #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 0x06u 2009 2010 /** 2011 * @format 1H1 2012 * @param subevent_code 2013 * @param acl_handle 2014 * @param gain Valid range: [0,15] 2015 */ 2016 #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 0x07u 2017 2018 /** 2019 * @format 1HJV 2020 * @param subevent_code 2021 * @param acl_handle 2022 * @param value_length 2023 * @param value 2024 */ 2025 #define HSP_SUBEVENT_HS_COMMAND 0x08u 2026 2027 /** 2028 * @format 1HJV 2029 * @param subevent_code 2030 * @param acl_handle 2031 * @param value_length 2032 * @param value 2033 */ 2034 #define HSP_SUBEVENT_AG_INDICATION 0x09u 2035 2036 /** 2037 * @format 1H 2038 * @param subevent_code 2039 * @param acl_handle 2040 */ 2041 #define HSP_SUBEVENT_BUTTON_PRESSED 0x0au 2042 2043 /** HFP Subevent */ 2044 2045 /** 2046 * @format 1H1B 2047 * @param subevent_code 2048 * @param acl_handle 2049 * @param status 0 == OK 2050 * @param bd_addr 2051 */ 2052 #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 0x01u 2053 2054 /** 2055 * @format 1H 2056 * @param subevent_code 2057 * @param acl_handle 2058 */ 2059 #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 0x02u 2060 2061 /** 2062 * @format 1H1HB1222 2063 * @param subevent_code 2064 * @param acl_handle 2065 * @param status 0 == OK 2066 * @param sco_handle 2067 * @param bd_addr 2068 * @param negotiated_codec 2069 * @param sco_packet_types see SCO_PACKET_TYPES_* in btstack_defines.h 2070 * @param rx_packet_length 2071 * @param tx_packet_length 2072 */ 2073 #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 0x03u 2074 2075 /** 2076 * @format 1HH 2077 * @param subevent_code 2078 * @param acl_handle 2079 * @param sco_handle 2080 */ 2081 #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 0x04u 2082 2083 /** 2084 * @format 1H1 2085 * @param subevent_code 2086 * @param acl_handle 2087 * @param status 0 == OK 2088 */ 2089 #define HFP_SUBEVENT_COMPLETE 0x05u 2090 2091 /** 2092 * @format 1H111T 2093 * @param subevent_code 2094 * @param acl_handle 2095 * @param indicator_index 2096 * @param indicator_min_range 2097 * @param indicator_max_range 2098 * @param indicator_name 2099 */ 2100 #define HFP_SUBEVENT_AG_INDICATOR_MAPPING 0x06u 2101 2102 /** 2103 * @format 1H1111111T 2104 * @param subevent_code 2105 * @param acl_handle 2106 * @param indicator_index 2107 * @param indicator_status 2108 * @param indicator_min_range 2109 * @param indicator_max_range 2110 * @param indicator_mandatory 2111 * @param indicator_enabled 2112 * @param indicator_status_changed 2113 * @param indicator_name 2114 */ 2115 #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 0x07u 2116 2117 /** 2118 * @format 1H11T 2119 * @param subevent_code 2120 * @param acl_handle 2121 * @param network_operator_mode 2122 * @param network_operator_format 2123 * @param network_operator_name 2124 */ 2125 #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 0x08u 2126 2127 /** 2128 * @format 1H1 2129 * @param subevent_code 2130 * @param acl_handle 2131 * @param error 2132 */ 2133 #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 0x09u 2134 2135 /** 2136 * @format 1H 2137 * @param subevent_code 2138 * @param acl_handle 2139 */ 2140 #define HFP_SUBEVENT_START_RINGING 0x0Au 2141 2142 /** 2143 * @format 1H 2144 * @param subevent_code 2145 * @param acl_handle 2146 */ 2147 #define HFP_SUBEVENT_RING 0x0Bu 2148 2149 /** 2150 * @format 1H 2151 * @param subevent_code 2152 * @param acl_handle 2153 */ 2154 #define HFP_SUBEVENT_STOP_RINGING 0x0Cu 2155 2156 /** 2157 * @format 1HT 2158 * @param subevent_code 2159 * @param acl_handle 2160 * @param number 2161 */ 2162 #define HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 0x0Du 2163 2164 /** 2165 * @format 1H 2166 * @param subevent_code 2167 * @param acl_handle 2168 */ 2169 #define HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 0x0Eu 2170 2171 /** 2172 * @format 1HT 2173 * @param subevent_code 2174 * @param acl_handle 2175 * @param number 2176 */ 2177 #define HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 0x0Fu 2178 2179 /** 2180 * @format 1HT 2181 * @param subevent_code 2182 * @param acl_handle 2183 * @param dtmf code 2184 */ 2185 #define HFP_SUBEVENT_TRANSMIT_DTMF_CODES 0x10u 2186 2187 /** 2188 * @format 1H 2189 * @param subevent_code 2190 * @param acl_handle 2191 */ 2192 #define HFP_SUBEVENT_CALL_ANSWERED 0x11u 2193 2194 /** 2195 * @format 1H 2196 * @param subevent_code 2197 * @param acl_handle 2198 */ 2199 #define HFP_SUBEVENT_CALL_TERMINATED 0x12u 2200 2201 /** 2202 * @format 1H 2203 * @param subevent_code 2204 * @param acl_handle 2205 */ 2206 #define HFP_SUBEVENT_CONFERENCE_CALL 0x13u 2207 2208 2209 /** 2210 * @format 1H1 2211 * @param subevent_code 2212 * @param acl_handle 2213 * @param gain 2214 */ 2215 #define HFP_SUBEVENT_SPEAKER_VOLUME 0x14u 2216 2217 /** 2218 * @format 1H1 2219 * @param subevent_code 2220 * @param acl_handle 2221 * @param gain 2222 */ 2223 #define HFP_SUBEVENT_MICROPHONE_VOLUME 0x15u 2224 2225 /** 2226 * @format 1H1JVJV 2227 * @param subevent_code 2228 * @param acl_handle 2229 * @param type 2230 * @param number_length 2231 * @param number 2232 * @param alpha_length 2233 * @param alpha 2234 */ 2235 #define HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 0x16u 2236 2237 /** 2238 * @format 1H1JVJV 2239 * @param subevent_code 2240 * @param acl_handle 2241 * @param type 2242 * @param number_length 2243 * @param number 2244 * @param alpha_length 2245 * @param alpha 2246 */ 2247 #define HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 0x17u 2248 2249 /** 2250 * @format 1H111111T 2251 * @param subevent_code 2252 * @param acl_handle 2253 * @param clcc_idx 2254 * @param clcc_dir 2255 * @param clcc_status 2256 * @param clcc_mode 2257 * @param clcc_mpty 2258 * @param bnip_type 2259 * @param bnip_number 2260 */ 2261 #define HFP_SUBEVENT_ENHANCED_CALL_STATUS 0x18u 2262 2263 /** 2264 * @format 1H11T 2265 * @param subevent_code 2266 * @param acl_handle 2267 * @param status 2268 * @param bnip_type 2269 * @param bnip_number 2270 */ 2271 #define HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 0x19u 2272 2273 /** 2274 * @format 1HT 2275 * @param subevent_code 2276 * @param acl_handle 2277 * @param value 2278 */ 2279 #define HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 0x1Au 2280 2281 /** 2282 * @format 1HT 2283 * @param subevent_code 2284 * @param acl_handle 2285 * @param command 2286 */ 2287 #define HFP_SUBEVENT_AT_MESSAGE_SENT 0x1Bu 2288 2289 /** 2290 * @format 1HT 2291 * @param subevent_code 2292 * @param acl_handle 2293 * @param command 2294 */ 2295 #define HFP_SUBEVENT_AT_MESSAGE_RECEIVED 0x1Cu 2296 2297 /** 2298 * @format 1H1 2299 * @param subevent_code 2300 * @param acl_handle 2301 * @param status 2302 */ 2303 #define HFP_SUBEVENT_IN_BAND_RING_TONE 0x1Du 2304 2305 /** 2306 * @format 1H11 2307 * @param subevent_code 2308 * @param acl_handle 2309 * @param status 0-success 2310 * @param enhanced 0-legacy, 1-enhanced 2311 */ 2312 #define HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 0x1Eu 2313 2314 /** 2315 * @format 1H1 2316 * @param subevent_code 2317 * @param acl_handle 2318 * @param status 0-success 2319 */ 2320 #define HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 0x1Fu 2321 2322 /** 2323 * @format 1H1 2324 * @param subevent_code 2325 * @param acl_handle 2326 * @param status 2327 */ 2328 #define HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 0x20u 2329 2330 2331 /** 2332 * @format 1H1 2333 * @param subevent_code 2334 * @param acl_handle 2335 * @param status 2336 */ 2337 #define HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 0x21u 2338 2339 /** 2340 * @format 1H1 2341 * @param subevent_code 2342 * @param acl_handle 2343 * @param status 2344 */ 2345 #define HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 0x22u 2346 2347 /** 2348 * @format 1H1 2349 * @param subevent_code 2350 * @param acl_handle 2351 * @param status 2352 */ 2353 #define HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 0x23u 2354 2355 /** 2356 * @format 1H1 2357 * @param subevent_code 2358 * @param acl_handle 2359 * @param status 2360 */ 2361 #define HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 0x24u 2362 2363 2364 /** 2365 * @format 1H211LV 2366 * @param subevent_code 2367 * @param acl_handle 2368 * @param text_id 2369 * @param text_type 2370 * @param text_operation 2371 * @param text_length 2372 * @param text 2373 */ 2374 #define HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 0x25u 2375 2376 /** 2377 * @format 1H1 2378 * @param subevent_code 2379 * @param acl_handle 2380 * @param status 2381 */ 2382 #define HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 0x26u 2383 2384 /** 2385 * @format 1H21 2386 * @param subevent_code 2387 * @param acl_handle 2388 * @param uuid 2389 * @param value 2390 */ 2391 #define HFP_SUBEVENT_HF_INDICATOR 0x27u 2392 2393 /** 2394 * @format 1H2T 2395 * @param subevent_code 2396 * @param acl_handle 2397 * @param command_id 2398 * @param command_string 2399 */ 2400 #define HFP_SUBEVENT_CUSTOM_AT_COMMAND 0x28u 2401 2402 2403 // ANCS Client 2404 2405 /** 2406 * @format 1H 2407 * @param subevent_code 2408 * @param handle 2409 */ 2410 #define ANCS_SUBEVENT_CLIENT_CONNECTED 0xF0u 2411 2412 /** 2413 * @format 1H2T 2414 * @param subevent_code 2415 * @param handle 2416 * @param attribute_id 2417 * @param text 2418 */ 2419 #define ANCS_SUBEVENT_CLIENT_NOTIFICATION 0xF1u 2420 2421 /** 2422 * @format 1H 2423 * @param subevent_code 2424 * @param handle 2425 */ 2426 #define ANCS_SUBEVENT_CLIENT_DISCONNECTED 0xF2u 2427 2428 2429 /** AVDTP Subevent */ 2430 2431 /** 2432 * @format 12111 2433 * @param subevent_code 2434 * @param avdtp_cid 2435 * @param local_seid 2436 * @param is_initiator 2437 * @param signal_identifier 2438 */ 2439 #define AVDTP_SUBEVENT_SIGNALING_ACCEPT 0x01u 2440 2441 /** 2442 * @format 12111 2443 * @param subevent_code 2444 * @param avdtp_cid 2445 * @param local_seid 2446 * @param is_initiator 2447 * @param signal_identifier 2448 */ 2449 #define AVDTP_SUBEVENT_SIGNALING_REJECT 0x02u 2450 2451 /** 2452 * @format 12111 2453 * @param subevent_code 2454 * @param avdtp_cid 2455 * @param local_seid 2456 * @param is_initiator 2457 * @param signal_identifier 2458 */ 2459 #define AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 0x03u 2460 2461 /** 2462 * @format 12B21 2463 * @param subevent_code 2464 * @param avdtp_cid 2465 * @param bd_addr 2466 * @param con_handle 2467 * @param status 0 == OK 2468 */ 2469 #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 0x04u 2470 2471 /** 2472 * @format 12 2473 * @param subevent_code 2474 * @param avdtp_cid 2475 */ 2476 #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 0x05u 2477 2478 /** 2479 * @format 121111 2480 * @param subevent_code 2481 * @param avdtp_cid 2482 * @param remote_seid 0x01u – 0x3Eu 2483 * @param in_use 0-not in use, 1-in use 2484 * @param media_type 0-audio, 1-video, 2-multimedia 2485 * @param sep_type 0-source, 1-sink 2486 */ 2487 #define AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 0x06u 2488 2489 /** 2490 * @format 12111111111 2491 * @param subevent_code 2492 * @param avdtp_cid 2493 * @param remote_seid 2494 * @param media_type 2495 * @param sampling_frequency_bitmap 2496 * @param channel_mode_bitmap 2497 * @param block_length_bitmap 2498 * @param subbands_bitmap 2499 * @param allocation_method_bitmap 2500 * @param min_bitpool_value 2501 * @param max_bitpool_value 2502 */ 2503 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 0x07u 2504 2505 /** 2506 * @format 12111111112 2507 * @param subevent_code 2508 * @param avdtp_cid 2509 * @param remote_seid 2510 * @param media_type 2511 * @param layer_bitmap 2512 * @param crc 2513 * @param channel_mode_bitmap 2514 * @param media_payload_format 2515 * @param sampling_frequency_bitmap 2516 * @param vbr 2517 * @param bit_rate_index_bitmap 2518 */ 2519 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 0x08u 2520 2521 /** 2522 * @format 121112131 2523 * @param subevent_code 2524 * @param avdtp_cid 2525 * @param remote_seid 2526 * @param media_type 2527 * @param object_type_bitmap 2528 * @param sampling_frequency_bitmap 2529 * @param channels_bitmap 2530 * @param bit_rate 2531 * @param vbr 2532 */ 2533 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 0x09u 2534 2535 /** 2536 * @format 1211111132 2537 * @param subevent_code 2538 * @param avdtp_cid 2539 * @param remote_seid 2540 * @param media_type 2541 * @param version 2542 * @param channel_mode_bitmap 2543 * @param sampling_frequency_bitmap 2544 * @param vbr 2545 * @param bit_rate_index_bitmap 2546 * @param maximum_sul 2547 */ 2548 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 0x0Au 2549 2550 /** 2551 * @format 12112LV 2552 * @param subevent_code 2553 * @param avdtp_cid 2554 * @param remote_seid 2555 * @param media_type 2556 * @param media_codec_type 2557 * @param media_codec_information_len 2558 * @param media_codec_information 2559 */ 2560 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 0x0Bu 2561 2562 2563 /** 2564 * @format 121 2565 * @param subevent_code 2566 * @param avdtp_cid 2567 * @param remote_seid 2568 */ 2569 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 0x0Cu 2570 2571 2572 /** 2573 * @format 121 2574 * @param subevent_code 2575 * @param avdtp_cid 2576 * @param remote_seid 2577 */ 2578 #define AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 0x0Du 2579 2580 2581 /** 2582 * @format 121111 2583 * @param subevent_code 2584 * @param avdtp_cid 2585 * @param remote_seid 2586 * @param recovery_type 2587 * @param maximum_recovery_window_size 2588 * @param maximum_number_media_packets 2589 */ 2590 #define AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 0x0Eu 2591 2592 2593 /** 2594 * @format 1212LV 2595 * @param subevent_code 2596 * @param avdtp_cid 2597 * @param remote_seid 2598 * @param cp_type 2599 * @param cp_type_value_len 2600 * @param cp_type_value 2601 */ 2602 #define AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 0x0Fu 2603 2604 2605 /** 2606 * @format 12111111111 2607 * @param subevent_code 2608 * @param avdtp_cid 2609 * @param remote_seid 2610 * @param fragmentation 2611 * @param transport_identifiers_num 2612 * @param transport_session_identifier_1 2613 * @param transport_session_identifier_2 2614 * @param transport_session_identifier_3 2615 * @param tcid_1 2616 * @param tcid_2 2617 * @param tcid_3 2618 */ 2619 #define AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 0x10u 2620 2621 2622 /** 2623 * @format 121 2624 * @param subevent_code 2625 * @param avdtp_cid 2626 * @param remote_seid 2627 */ 2628 #define AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 0x11u 2629 2630 2631 /** 2632 * @format 121111 2633 * @param subevent_code 2634 * @param avdtp_cid 2635 * @param remote_seid 2636 * @param back_ch 2637 * @param media 2638 * @param recovery 2639 */ 2640 #define AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 0x12u 2641 2642 /** 2643 * @format 121 2644 * @param subevent_code 2645 * @param avdtp_cid 2646 * @param remote_seid 2647 */ 2648 #define AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 0x13u 2649 2650 2651 /** 2652 * @format 12111121111111 2653 * @param subevent_code 2654 * @param avdtp_cid 2655 * @param local_seid 2656 * @param remote_seid 2657 * @param reconfigure 2658 * @param media_type 2659 * @param sampling_frequency 2660 * @param channel_mode 2661 * @param num_channels 2662 * @param block_length 2663 * @param subbands 2664 * @param allocation_method 2665 * @param min_bitpool_value 2666 * @param max_bitpool_value 2667 */ 2668 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 0x14u 2669 2670 /** 2671 * @format 12111111111211 2672 * @param subevent_code 2673 * @param avdtp_cid 2674 * @param local_seid 2675 * @param remote_seid 2676 * @param reconfigure 2677 * @param media_type 2678 * @param layer 2679 * @param crc 2680 * @param channel_mode 2681 * @param num_channels 2682 * @param media_payload_format 2683 * @param sampling_frequency 2684 * @param vbr 2685 * @param bit_rate_index 2686 */ 2687 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 0x15u 2688 2689 /** 2690 * @format 12111113131 2691 * @param subevent_code 2692 * @param avdtp_cid 2693 * @param local_seid 2694 * @param remote_seid 2695 * @param reconfigure 2696 * @param media_type 2697 * @param object_type 2698 * @param sampling_frequency 2699 * @param num_channels 2700 * @param bit_rate 2701 * @param vbr 2702 */ 2703 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 0x16u 2704 2705 /** 2706 * @format 1211111112112 2707 * @param subevent_code 2708 * @param avdtp_cid 2709 * @param local_seid 2710 * @param remote_seid 2711 * @param reconfigure 2712 * @param media_type 2713 * @param version 2714 * @param channel_mode 2715 * @param num_channels 2716 * @param sampling_frequency 2717 * @param vbr 2718 * @param bit_rate_index 2719 * @param maximum_sul 2720 */ 2721 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 0x17u 2722 2723 /** 2724 * @format 1211112LV 2725 * @param subevent_code 2726 * @param avdtp_cid 2727 * @param local_seid 2728 * @param remote_seid 2729 * @param reconfigure 2730 * @param media_type 2731 * @param media_codec_type 2732 * @param media_codec_information_len 2733 * @param media_codec_information 2734 */ 2735 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 0x18u 2736 2737 /** 2738 * @format 12B111 2739 * @param subevent_code 2740 * @param avdtp_cid 2741 * @param bd_addr 2742 * @param local_seid 2743 * @param remote_seid 2744 * @param status 0 == OK 2745 */ 2746 #define AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 0x19u 2747 2748 /** 2749 * @format 121 2750 * @param subevent_code 2751 * @param avdtp_cid 2752 * @param local_seid 2753 */ 2754 #define AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 0x1Au 2755 2756 /** 2757 * @format 1212 2758 * @param subevent_code 2759 * @param avdtp_cid 2760 * @param local_seid 2761 * @param sequence_number 2762 */ 2763 #define AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 0x1Bu 2764 2765 2766 /** 2767 * @format 12 2768 * @param subevent_code 2769 * @param avdtp_cid 2770 */ 2771 #define AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 0x1Cu 2772 2773 /** 2774 * @format 1212 2775 * @param subevent_code 2776 * @param avdtp_cid 2777 * @param local_seid 2778 * @param delay_100us 2779 */ 2780 #define AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 0x1Du 2781 2782 2783 /** A2DP Subevent */ 2784 /* Stream goes through following states: 2785 * - OPEN - indicated with A2DP_SUBEVENT_STREAM_ESTABLISHED event 2786 * - START - indicated with A2DP_SUBEVENT_STREAM_STARTED event 2787 * - SUSPEND - indicated with A2DP_SUBEVENT_STREAM_SUSPENDED event 2788 * - ABORT/STOP - indicated with A2DP_SUBEVENT_STREAM_RELEASED event 2789 2790 OPEN state will be followed by ABORT/STOP. Stream is ready but media transfer is not started. 2791 START can come only after the stream is OPENED, and indicates that media transfer is started. 2792 SUSPEND is optional, it pauses the stream. 2793 */ 2794 2795 /** 2796 * @format 121 Sent only by A2DP source. 2797 * @param subevent_code 2798 * @param a2dp_cid 2799 * @param local_seid 2800 */ 2801 #define A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 0x01u 2802 2803 /** 2804 * @format 12111121111111 2805 * @param subevent_code 2806 * @param a2dp_cid 2807 * @param local_seid 2808 * @param remote_seid 2809 * @param reconfigure 2810 * @param media_type 2811 * @param sampling_frequency 2812 * @param channel_mode 2813 * @param num_channels 2814 * @param block_length 2815 * @param subbands 2816 * @param allocation_method 2817 * @param min_bitpool_value 2818 * @param max_bitpool_value 2819 */ 2820 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 0x02u 2821 2822 /** 2823 * @format 12111111111211 2824 * @param subevent_code 2825 * @param a2dp_cid 2826 * @param local_seid 2827 * @param remote_seid 2828 * @param reconfigure 2829 * @param media_type 2830 * @param layer 2831 * @param crc 2832 * @param channel_mode 2833 * @param num_channels 2834 * @param media_payload_format 2835 * @param sampling_frequency 2836 * @param vbr 2837 * @param bit_rate_index 2838 */ 2839 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 0x03u 2840 2841 /** 2842 * @format 12111113131 2843 * @param subevent_code 2844 * @param a2dp_cid 2845 * @param local_seid 2846 * @param remote_seid 2847 * @param reconfigure 2848 * @param media_type 2849 * @param object_type 2850 * @param sampling_frequency 2851 * @param num_channels 2852 * @param bit_rate 2853 * @param vbr 2854 */ 2855 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 0x04u 2856 2857 /** 2858 * @format 1211111112112 2859 * @param subevent_code 2860 * @param a2dp_cid 2861 * @param local_seid 2862 * @param remote_seid 2863 * @param reconfigure 2864 * @param media_type 2865 * @param version 2866 * @param channel_mode 2867 * @param num_channels 2868 * @param sampling_frequency 2869 * @param vbr 2870 * @param bit_rate_index 2871 * @param maximum_sul 2872 */ 2873 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 0x05u 2874 2875 /** 2876 * @format 1211112LV 2877 * @param subevent_code 2878 * @param a2dp_cid 2879 * @param local_seid 2880 * @param remote_seid 2881 * @param reconfigure 2882 * @param media_type 2883 * @param media_codec_type 2884 * @param media_codec_information_len 2885 * @param media_codec_information 2886 */ 2887 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 0x06u 2888 2889 /** 2890 * @format 12B111 Stream is opened but not started. 2891 * @param subevent_code 2892 * @param a2dp_cid 2893 * @param bd_addr 2894 * @param local_seid 2895 * @param remote_seid 2896 * @param status 2897 */ 2898 #define A2DP_SUBEVENT_STREAM_ESTABLISHED 0x07u 2899 2900 /** 2901 * @format 121 If ENABLE_AVDTP_ACCEPTOR_EXPLICIT_START_STREAM_CONFIRMATION, user must explicitly accept stream start. 2902 * @param subevent_code 2903 * @param a2dp_cid 2904 * @param local_seid 2905 */ 2906 #define A2DP_SUBEVENT_START_STREAM_REQUESTED 0x08u 2907 2908 /** 2909 * @format 121 Indicates that media transfer is started. 2910 * @param subevent_code 2911 * @param a2dp_cid 2912 * @param local_seid 2913 */ 2914 #define A2DP_SUBEVENT_STREAM_STARTED 0x09u 2915 2916 /** 2917 * @format 121 Stream is paused. 2918 * @param subevent_code 2919 * @param a2dp_cid 2920 * @param local_seid 2921 */ 2922 #define A2DP_SUBEVENT_STREAM_SUSPENDED 0x0Au 2923 2924 /** 2925 * @format 121 Stream is stopped or aborted. 2926 * @param subevent_code 2927 * @param a2dp_cid 2928 * @param local_seid 2929 */ 2930 #define A2DP_SUBEVENT_STREAM_STOPPED 0x0Bu 2931 2932 /** 2933 * @format 121 Stream is released. 2934 * @param subevent_code 2935 * @param a2dp_cid 2936 * @param local_seid 2937 */ 2938 #define A2DP_SUBEVENT_STREAM_RELEASED 0x0Cu 2939 2940 /** 2941 * @format 1211 2942 * @param subevent_code 2943 * @param a2dp_cid 2944 * @param local_seid 2945 * @param signal_identifier 2946 */ 2947 #define A2DP_SUBEVENT_COMMAND_ACCEPTED 0x0Du 2948 2949 /** 2950 * @format 12111 2951 * @param subevent_code 2952 * @param a2dp_cid 2953 * @param local_seid 2954 * @param is_initiator 2955 * @param signal_identifier 2956 */ 2957 #define A2DP_SUBEVENT_COMMAND_REJECTED 0x0Eu 2958 2959 /** 2960 * @format 12B21 2961 * @param subevent_code 2962 * @param a2dp_cid 2963 * @param bd_addr 2964 * @param con_handle 2965 * @param status 0 == OK 2966 */ 2967 #define A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 0x0Fu 2968 2969 /** 2970 * @format 12 Signaling channel is released. 2971 * @param subevent_code 2972 * @param a2dp_cid 2973 */ 2974 #define A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 0x10u 2975 2976 /** 2977 * @format 1211 Stream was reconfigured 2978 * @param subevent_code 2979 * @param a2dp_cid 2980 * @param local_seid 2981 * @param status 2982 */ 2983 #define A2DP_SUBEVENT_STREAM_RECONFIGURED 0x12u 2984 2985 /** 2986 * @format 12111111111 2987 * @param subevent_code 2988 * @param a2dp_cid 2989 * @param remote_seid 2990 * @param media_type 2991 * @param sampling_frequency_bitmap 2992 * @param channel_mode_bitmap 2993 * @param block_length_bitmap 2994 * @param subbands_bitmap 2995 * @param allocation_method_bitmap 2996 * @param min_bitpool_value 2997 * @param max_bitpool_value 2998 */ 2999 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 0x13u 3000 3001 /** 3002 * @format 12111111112 3003 * @param subevent_code 3004 * @param a2dp_cid 3005 * @param remote_seid 3006 * @param media_type 3007 * @param layer_bitmap 3008 * @param crc 3009 * @param channel_mode_bitmap 3010 * @param media_payload_format 3011 * @param sampling_frequency_bitmap 3012 * @param vbr 3013 * @param bit_rate_index_bitmap 3014 */ 3015 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 0x14u 3016 3017 /** 3018 * @format 121112131 3019 * @param subevent_code 3020 * @param a2dp_cid 3021 * @param remote_seid 3022 * @param media_type 3023 * @param object_type_bitmap 3024 * @param sampling_frequency_bitmap 3025 * @param channels_bitmap 3026 * @param bit_rate 3027 * @param vbr 3028 */ 3029 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 0x15u 3030 3031 /** 3032 * @format 1211111132 3033 * @param subevent_code 3034 * @param a2dp_cid 3035 * @param remote_seid 3036 * @param media_type 3037 * @param version 3038 * @param channel_mode_bitmap 3039 * @param sampling_frequency_bitmap 3040 * @param vbr 3041 * @param bit_rate_index_bitmap 3042 * @param maximum_sul 3043 */ 3044 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 0x16u 3045 3046 /** 3047 * @format 12112LV 3048 * @param subevent_code 3049 * @param a2dp_cid 3050 * @param remote_seid 3051 * @param media_type 3052 * @param media_codec_type 3053 * @param media_codec_information_len 3054 * @param media_codec_information 3055 */ 3056 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 0x17u 3057 3058 /** 3059 * @format 121 3060 * @param subevent_code 3061 * @param a2dp_cid 3062 * @param remote_seid 3063 */ 3064 #define A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 0x18u 3065 3066 3067 /** 3068 * @format 1212 3069 * @param subevent_code 3070 * @param a2dp_cid 3071 * @param local_seid 3072 * @param delay_100us 3073 */ 3074 #define A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 0x19u 3075 3076 /** 3077 * @format 121 3078 * @param subevent_code 3079 * @param a2dp_cid 3080 * @param remote_seid 3081 */ 3082 #define A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 0x1Au 3083 3084 /** 3085 * @format 12 3086 * @param subevent_code 3087 * @param a2dp_cid 3088 */ 3089 #define A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 0x1Bu 3090 3091 3092 /** AVRCP Subevent */ 3093 3094 /** 3095 * @format 1211 3096 * @param subevent_code 3097 * @param avrcp_cid 3098 * @param command_type 3099 * @param play_status 3100 */ 3101 #define AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 0x01u 3102 3103 /** 3104 * @format 121 3105 * @param subevent_code 3106 * @param avrcp_cid 3107 * @param command_type 3108 */ 3109 #define AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 0x02u 3110 3111 /** 3112 * @format 121 3113 * @param subevent_code 3114 * @param avrcp_cid 3115 * @param command_type 3116 */ 3117 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 0x03u 3118 3119 /** 3120 * @format 121 3121 * @param subevent_code 3122 * @param avrcp_cid 3123 * @param command_type 3124 */ 3125 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 0x04u 3126 3127 /** 3128 * @format 1214 3129 * @param subevent_code 3130 * @param avrcp_cid 3131 * @param command_type 3132 * @param playback_position If no track currently selected, then return 0xFFuFFFFFF in the INTERIM response. 3133 */ 3134 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 0x05u 3135 3136 /** 3137 * @format 1211 3138 * @param subevent_code 3139 * @param avrcp_cid 3140 * @param command_type 3141 * @param battery_status see avrcp_battery_status_t 3142 */ 3143 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 0x06u 3144 3145 /** 3146 * @format 1211 3147 * @param subevent_code 3148 * @param avrcp_cid 3149 * @param command_type 3150 * @param system_status see avrcp_system_status_t 3151 */ 3152 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 0x07u 3153 3154 3155 // Recquires 1 byte for num_attributes, followed by num_attributes tuples [attribute_id(1), value_id(1)], see avrcp_player_application_setting_attribute_id_t 3156 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYER_APPLICATION_SETTING_CHANGED 0x08u 3157 3158 /** 3159 * @format 121 3160 * @param subevent_code 3161 * @param avrcp_cid 3162 * @param command_type 3163 */ 3164 #define AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 0x09u 3165 3166 /** 3167 * @format 121 3168 * @param subevent_code 3169 * @param avrcp_cid 3170 * @param command_type 3171 */ 3172 #define AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 0x0Au 3173 3174 // AVRCP_SUBEVENT_NOTIFICATION_EVENT_ADDRESSED_PLAYER_CHANGED = 0x0bu, -- The Addressed Player has been changed, see 6.9.2. 3175 3176 /** 3177 * @format 1212 3178 * @param subevent_code 3179 * @param avrcp_cid 3180 * @param command_type 3181 * @param uid_counter of the currently browsed player 3182 */ 3183 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 0x0Cu 3184 3185 /** 3186 * @format 1211 3187 * @param subevent_code 3188 * @param avrcp_cid 3189 * @param command_type 3190 * @param absolute_volume 3191 */ 3192 #define AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 0x0Du 3193 3194 3195 /** 3196 * @format 1211 3197 * @param subevent_code 3198 * @param avrcp_cid 3199 * @param command_type 3200 * @param absolute_volume 3201 */ 3202 #define AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 0x10u 3203 3204 /** 3205 * @format 12111 3206 * @param subevent_code 3207 * @param avrcp_cid 3208 * @param status 3209 * @param enabled 1 enabled, 0 disabled 3210 * @param event_id 3211 */ 3212 #define AVRCP_SUBEVENT_NOTIFICATION_STATE 0x11u 3213 3214 /** 3215 * @format 112B2 3216 * @param subevent_code 3217 * @param status 0 == OK 3218 * @param avrcp_cid 3219 * @param bd_addr 3220 * @param con_handle 3221 */ 3222 #define AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 0x12u 3223 3224 /** 3225 * @format 12 3226 * @param subevent_code 3227 * @param avrcp_cid 3228 */ 3229 #define AVRCP_SUBEVENT_CONNECTION_RELEASED 0x13u 3230 3231 /** 3232 * @format 12111 3233 * @param subevent_code 3234 * @param avrcp_cid 3235 * @param command_type 3236 * @param repeat_mode 3237 * @param shuffle_mode 3238 */ 3239 #define AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 0x14u 3240 3241 /** 3242 * @format 121441 3243 * @param subevent_code 3244 * @param avrcp_cid 3245 * @param command_type 3246 * @param song_length 3247 * @param song_position 3248 * @param play_status 3249 */ 3250 #define AVRCP_SUBEVENT_PLAY_STATUS 0x15u 3251 3252 /** 3253 * @format 1211 3254 * @param subevent_code 3255 * @param avrcp_cid 3256 * @param command_type 3257 * @param operation_id 3258 */ 3259 #define AVRCP_SUBEVENT_OPERATION_START 0x16u 3260 3261 /** 3262 * @format 1211 3263 * @param subevent_code 3264 * @param avrcp_cid 3265 * @param command_type 3266 * @param operation_id 3267 */ 3268 #define AVRCP_SUBEVENT_OPERATION_COMPLETE 0x17u 3269 3270 /** 3271 * @format 121 3272 * @param subevent_code 3273 * @param avrcp_cid 3274 * @param command_type 3275 */ 3276 #define AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 0x18u 3277 3278 /** 3279 * @format 12 3280 * @param subevent_code 3281 * @param avrcp_cid 3282 */ 3283 #define AVRCP_SUBEVENT_PLAY_STATUS_QUERY 0x19u 3284 3285 /** 3286 * @format 121111 3287 * @param subevent_code 3288 * @param avrcp_cid 3289 * @param operation_id 3290 * @param button_pressed 3291 * @param operands_length 3292 * @param operand 3293 */ 3294 #define AVRCP_SUBEVENT_OPERATION 0x1Au 3295 3296 /** 3297 * @format 1211 3298 * @param subevent_code 3299 * @param avrcp_cid 3300 * @param command_type 3301 * @param track 3302 */ 3303 #define AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 0x1Bu 3304 3305 /** 3306 * @format 1211 3307 * @param subevent_code 3308 * @param avrcp_cid 3309 * @param command_type 3310 * @param total_tracks 3311 */ 3312 #define AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 0x1Cu 3313 3314 /** 3315 * @format 1214 3316 * @param subevent_code 3317 * @param avrcp_cid 3318 * @param command_type 3319 * @param song_length in ms 3320 */ 3321 #define AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 0x1Du 3322 3323 /** 3324 * @format 121JV 3325 * @param subevent_code 3326 * @param avrcp_cid 3327 * @param command_type 3328 * @param value_len 3329 * @param value 3330 */ 3331 #define AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 0x1Eu 3332 3333 /* 3334 * @format 121JV 3335 * @param subevent_code 3336 * @param avrcp_cid 3337 * @param command_type 3338 * @param value_len 3339 * @param value 3340 */ 3341 #define AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 0x1Fu 3342 3343 /* 3344 * @format 121JV 3345 * @param subevent_code 3346 * @param avrcp_cid 3347 * @param command_type 3348 * @param value_len 3349 * @param value 3350 */ 3351 #define AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 0x20u 3352 3353 /* 3354 * @format 121JV 3355 * @param subevent_code 3356 * @param avrcp_cid 3357 * @param command_type 3358 * @param value_len 3359 * @param value 3360 */ 3361 #define AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 0x21u 3362 3363 /* 3364 * @format 1211 3365 * @param subevent_code 3366 * @param avrcp_cid 3367 * @param command_type 3368 * @param status 3369 */ 3370 #define AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 0x22u 3371 3372 /** 3373 * @format 1214 3374 * @param subevent_code 3375 * @param avrcp_cid 3376 * @param command_type 3377 * @param playback_position_ms 3378 */ 3379 #define AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 0x23u 3380 3381 /* 3382 * @format 12111 3383 * @param subevent_code 3384 * @param avrcp_cid 3385 * @param command_type 3386 * @param status 3387 * @param event_id 3388 */ 3389 #define AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 0x24u 3390 /* 3391 * @format 1211 3392 * @param subevent_code 3393 * @param avrcp_cid 3394 * @param command_type 3395 * @param status 3396 */ 3397 #define AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 0x25u 3398 3399 /* 3400 * @format 12113 3401 * @param subevent_code 3402 * @param avrcp_cid 3403 * @param command_type 3404 * @param status 3405 * @param company_id 3406 */ 3407 #define AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 0x26u 3408 /* 3409 * @format 1211 3410 * @param subevent_code 3411 * @param avrcp_cid 3412 * @param command_type 3413 * @param status 3414 */ 3415 #define AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 0x27u 3416 3417 /** 3418 * @format 1211LV 3419 * @param subevent_code 3420 * @param avrcp_cid 3421 * @param command_type 3422 * @param pdu_id 3423 * @param params_len 3424 * @param params 3425 */ 3426 #define AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 0x28u 3427 3428 3429 /** 3430 * @format 1B2 3431 * @param subevent_code 3432 * @param bd_addr 3433 * @param browsing_cid 3434 */ 3435 #define AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 0x30u 3436 3437 /** 3438 * @format 11B2 3439 * @param subevent_code 3440 * @param status 0 == OK 3441 * @param bd_addr 3442 * @param browsing_cid 3443 */ 3444 #define AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 0x31u 3445 3446 /** 3447 * @format 12 3448 * @param subevent_code 3449 * @param browsing_cid 3450 */ 3451 #define AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 0x32u 3452 3453 /** 3454 * @format 12211 3455 * @param subevent_code 3456 * @param browsing_cid 3457 * @param uid_counter 3458 * @param browsing_status 3459 * @param bluetooth_status 3460 */ 3461 #define AVRCP_SUBEVENT_BROWSING_DONE 0x33u 3462 3463 /** 3464 * @format 1214 3465 * @param subevent_code 3466 * @param browsing_cid 3467 * @param scope 3468 * @param attr_bitmap 3469 */ 3470 #define AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 0x34u 3471 3472 /** 3473 * @format 121 3474 * @param subevent_code 3475 * @param browsing_cid 3476 * @param scope 3477 */ 3478 #define AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 0x35u 3479 3480 /** 3481 * @format 122 3482 * @param subevent_code 3483 * @param browsing_cid 3484 * @param player_id 3485 */ 3486 #define AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 0x36u 3487 3488 3489 /** 3490 * @format 12BH 3491 * @param subevent_code 3492 * @param goep_cid 3493 * @param address 3494 * @param handle 3495 */ 3496 #define GOEP_SUBEVENT_INCOMING_CONNECTION 0x01u 3497 3498 /** 3499 * @format 121BH1 3500 * @param subevent_code 3501 * @param goep_cid 3502 * @param status 3503 * @param bd_addr 3504 * @param con_handle 3505 * @param incoming 3506 */ 3507 #define GOEP_SUBEVENT_CONNECTION_OPENED 0x02u 3508 3509 /** 3510 * @format 12 3511 * @param subevent_code 3512 * @param goep_cid 3513 */ 3514 #define GOEP_SUBEVENT_CONNECTION_CLOSED 0x03u 3515 3516 /** 3517 * @format 12 3518 * @param subevent_code 3519 * @param goep_cid 3520 */ 3521 #define GOEP_SUBEVENT_CAN_SEND_NOW 0x04u 3522 3523 /** 3524 * @format 121BH1 3525 * @param subevent_code 3526 * @param pbap_cid 3527 * @param status 3528 * @param bd_addr 3529 * @param con_handle 3530 * @param incoming 3531 */ 3532 #define PBAP_SUBEVENT_CONNECTION_OPENED 0x01u 3533 3534 /** 3535 * @format 12 3536 * @param subevent_code 3537 * @param goep_cid 3538 */ 3539 #define PBAP_SUBEVENT_CONNECTION_CLOSED 0x02u 3540 3541 /** 3542 * @format 121 3543 * @param subevent_code 3544 * @param goep_cid 3545 * @param status 3546 */ 3547 #define PBAP_SUBEVENT_OPERATION_COMPLETED 0x03u 3548 3549 /** 3550 * @format 1212 3551 * @param subevent_code 3552 * @param goep_cid 3553 * @param status 3554 * @param phonebook_size 3555 */ 3556 #define PBAP_SUBEVENT_PHONEBOOK_SIZE 0x04u 3557 3558 /** 3559 * @format 1211 3560 * @param subevent_code 3561 * @param goep_cid 3562 * @param user_id_required 3563 * @param full_access 3564 */ 3565 #define PBAP_SUBEVENT_AUTHENTICATION_REQUEST 0x05u 3566 3567 /** 3568 * @format 12JVJV 3569 * @param subevent_code 3570 * @param goep_cid 3571 * @param name_len 3572 * @param name 3573 * @param handle_len 3574 * @param handle 3575 */ 3576 #define PBAP_SUBEVENT_CARD_RESULT 0x06u 3577 3578 /** 3579 * @format 121 3580 * @param subevent_code 3581 * @param goep_cid 3582 * @param phonebook 3583 */ 3584 #define PBAP_SUBEVENT_RESET_MISSED_CALLS 0x0Au 3585 3586 /** 3587 * @format 12411 3588 * @param subevent_code 3589 * @param goep_cid 3590 * @param vcard_selector 3591 * @param vcard_selector_operator 3592 * @param phonebook 3593 */ 3594 #define PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 0x0Bu 3595 3596 /** 3597 * @format 1244122411 3598 * @param subevent_code 3599 * @param goep_cid 3600 * @param continuation - value provided by caller of pbap_server_send_pull_response 3601 * @param property_selector 3602 * @param format 3603 * @param max_list_count 0xffff for unlimited 3604 * @param list_start_offset 3605 * @param vcard_selector 3606 * @param vcard_selector_operator 3607 * @param phonebook 3608 */ 3609 #define PBAP_SUBEVENT_PULL_PHONEBOOK 0x0Cu 3610 3611 /** 3612 * @format 124122411JV1 3613 * @param subevent_code 3614 * @param goep_cid 3615 * @param continuation - value provided by caller of pbap_server_send_pull_response 3616 * @param order 3617 * @param max_list_count 0xffff for unlimited 3618 * @param list_start_offset 3619 * @param vcard_selector 3620 * @param vcard_selector_operator 3621 * @param search_property 3622 * @param search_value_len 3623 * @param search_value 3624 * @param phonebook 3625 */ 3626 #define PBAP_SUBEVENT_PULL_VCARD_LISTING 0x0Du 3627 3628 /** 3629 * @format 124411T 3630 * @param subevent_code 3631 * @param goep_cid 3632 * @param continuation - value provided by caller of pbap_server_send_pull_response 3633 * @param property_selector 3634 * @param format 3635 * @param phonebook 3636 * @param name 3637 */ 3638 #define PBAP_SUBEVENT_PULL_VCARD_ENTRY 0x0Eu 3639 3640 3641 // HID Meta Event Group 3642 3643 /** 3644 * @format 12BH 3645 * @param subevent_code 3646 * @param hid_cid 3647 * @param address 3648 * @param handle 3649 */ 3650 #define HID_SUBEVENT_INCOMING_CONNECTION 0x01u 3651 3652 /** 3653 * @format 121BH1 3654 * @param subevent_code 3655 * @param hid_cid 3656 * @param status 3657 * @param bd_addr 3658 * @param con_handle 3659 * @param incoming 3660 */ 3661 #define HID_SUBEVENT_CONNECTION_OPENED 0x02u 3662 3663 /** 3664 * @format 12 3665 * @param subevent_code 3666 * @param hid_cid 3667 */ 3668 #define HID_SUBEVENT_CONNECTION_CLOSED 0x03u 3669 3670 /** 3671 * @format 12 3672 * @param subevent_code 3673 * @param hid_cid 3674 */ 3675 #define HID_SUBEVENT_CAN_SEND_NOW 0x04u 3676 3677 /** 3678 * @format 12 3679 * @param subevent_code 3680 * @param hid_cid 3681 */ 3682 #define HID_SUBEVENT_SUSPEND 0x05u 3683 3684 /** 3685 * @format 12 3686 * @param subevent_code 3687 * @param hid_cid 3688 */ 3689 #define HID_SUBEVENT_EXIT_SUSPEND 0x06u 3690 3691 /** 3692 * @format 12 3693 * @param subevent_code 3694 * @param hid_cid 3695 */ 3696 #define HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 0x07u 3697 3698 /** 3699 * @format 121LV 3700 * @param subevent_code 3701 * @param hid_cid 3702 * @param handshake_status 3703 * @param report_len 3704 * @param report 3705 */ 3706 #define HID_SUBEVENT_GET_REPORT_RESPONSE 0x08u 3707 3708 /** 3709 * @format 121 3710 * @param subevent_code 3711 * @param hid_cid 3712 * @param handshake_status 3713 */ 3714 #define HID_SUBEVENT_SET_REPORT_RESPONSE 0x09u 3715 3716 /** 3717 * @format 1211 3718 * @param subevent_code 3719 * @param hid_cid 3720 * @param handshake_status 3721 * @param protocol_mode 3722 */ 3723 #define HID_SUBEVENT_GET_PROTOCOL_RESPONSE 0x0Au 3724 3725 /** 3726 * @format 1211 3727 * @param subevent_code 3728 * @param hid_cid 3729 * @param handshake_status 3730 * @param protocol_mode 3731 */ 3732 #define HID_SUBEVENT_SET_PROTOCOL_RESPONSE 0x0Bu 3733 3734 /** 3735 * @format 12LV 3736 * @param subevent_code 3737 * @param hid_cid 3738 * @param report_len 3739 * @param report 3740 */ 3741 #define HID_SUBEVENT_REPORT 0x0Cu 3742 3743 /** 3744 * @format 121 3745 * @param subevent_code 3746 * @param hid_cid 3747 * @param status 3748 */ 3749 #define HID_SUBEVENT_DESCRIPTOR_AVAILABLE 0x0Du 3750 3751 /** 3752 * @format 1222 3753 * @param subevent_code 3754 * @param hid_cid 3755 * @param host_max_latency 3756 * @param host_min_timeout 3757 */ 3758 #define HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 0x0Eu 3759 3760 // HIDS Meta Event Group 3761 3762 /** 3763 * @format 12 3764 * @param subevent_code 3765 * @param con_handle 3766 */ 3767 #define HIDS_SUBEVENT_CAN_SEND_NOW 0x01u 3768 3769 /** 3770 * @format 121 3771 * @param subevent_code 3772 * @param con_handle 3773 * @param protocol_mode 3774 */ 3775 #define HIDS_SUBEVENT_PROTOCOL_MODE 0x02u 3776 3777 /** 3778 * @format 121 3779 * @param subevent_code 3780 * @param con_handle 3781 * @param enable 3782 */ 3783 #define HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 0x03u 3784 3785 /** 3786 * @format 121 3787 * @param subevent_code 3788 * @param con_handle 3789 * @param enable 3790 */ 3791 #define HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 0x04u 3792 3793 /** 3794 * @format 121 3795 * @param subevent_code 3796 * @param con_handle 3797 * @param enable 3798 */ 3799 #define HIDS_SUBEVENT_INPUT_REPORT_ENABLE 0x05u 3800 3801 /** 3802 * @format 121 3803 * @param subevent_code 3804 * @param con_handle 3805 * @param enable 3806 */ 3807 #define HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 0x06u 3808 3809 /** 3810 * @format 121 3811 * @param subevent_code 3812 * @param con_handle 3813 * @param enable 3814 */ 3815 #define HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 0x07u 3816 3817 /** 3818 * @format 12 3819 * @param subevent_code 3820 * @param con_handle 3821 */ 3822 #define HIDS_SUBEVENT_SUSPEND 0x08u 3823 3824 /** 3825 * @format 12 3826 * @param subevent_code 3827 * @param con_handle 3828 */ 3829 #define HIDS_SUBEVENT_EXIT_SUSPEND 0x09u 3830 3831 /** 3832 * @format 1211 3833 * @param subevent_code 3834 * @param con_handle 3835 * @param measurement_type 0 - force magnitude, 1 - torque magnitude, see cycling_power_sensor_measurement_context_t 3836 * @param is_enhanced 3837 */ 3838 #define GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 0x01u 3839 3840 /** 3841 * @format 12 3842 * @param subevent_code 3843 * @param con_handle 3844 */ 3845 #define GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 0x02u 3846 3847 /** 3848 * @format 12 3849 * @param subevent_code 3850 * @param con_handle 3851 */ 3852 #define GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 0x03u 3853 3854 /** 3855 * @format 12111 3856 * @param subevent_code 3857 * @param hids_cid 3858 * @param status 3859 * @param num_instances 3860 * @param poll_bitmap 3861 */ 3862 #define GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 0x04u 3863 3864 /** 3865 * @format 12111 3866 * @param subevent_code 3867 * @param hids_cid 3868 * @param sevice_index 3869 * @param att_status see ATT errors in bluetooth.h 3870 * @param level 3871 */ 3872 #define GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 0x05u 3873 3874 /** 3875 * @format 1H1 3876 * @param subevent_code 3877 * @param con_handle 3878 * @param att_status 3879 */ 3880 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 0x06u 3881 3882 /** 3883 * @format 1H1T 3884 * @param subevent_code 3885 * @param con_handle 3886 * @param att_status 3887 * @param value 3888 */ 3889 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 0x07u 3890 3891 /** 3892 * @format 1H1T 3893 * @param subevent_code 3894 * @param con_handle 3895 * @param att_status 3896 * @param value 3897 */ 3898 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 0x08u 3899 3900 /** 3901 * @format 1H1T 3902 * @param subevent_code 3903 * @param con_handle 3904 * @param att_status 3905 * @param value 3906 */ 3907 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 0x09u 3908 3909 /** 3910 * @format 1H1T 3911 * @param subevent_code 3912 * @param con_handle 3913 * @param att_status 3914 * @param value 3915 */ 3916 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 0x0Au 3917 3918 /** 3919 * @format 1H1T 3920 * @param subevent_code 3921 * @param con_handle 3922 * @param att_status 3923 * @param value 3924 */ 3925 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 0x0Bu 3926 3927 /** 3928 * @format 1H1T 3929 * @param subevent_code 3930 * @param con_handle 3931 * @param att_status 3932 * @param value 3933 */ 3934 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 0x0Cu 3935 3936 /** 3937 * @format 1H1413 3938 * @param subevent_code 3939 * @param con_handle 3940 * @param att_status 3941 * @param manufacturer_id_low 3942 * @param manufacturer_id_high 3943 * @param organizationally_unique_id 3944 */ 3945 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 0x0Du 3946 3947 /** 3948 * @format 1H122 3949 * @param subevent_code 3950 * @param con_handle 3951 * @param att_status 3952 * @param value_a 3953 * @param value_b 3954 */ 3955 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 0x0Eu 3956 3957 /** 3958 * @format 1H11222 3959 * @param subevent_code 3960 * @param con_handle 3961 * @param att_status 3962 * @param vendor_source_id 3963 * @param vendor_id 3964 * @param product_id 3965 * @param product_version 3966 */ 3967 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 0x0Fu 3968 3969 /** 3970 * @format 1H1 3971 * @param subevent_code 3972 * @param con_handle 3973 * @param att_status 3974 */ 3975 #define GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 0x10u 3976 3977 /** 3978 * @format 1H 3979 * @param subevent_code 3980 * @param con_handle 3981 */ 3982 #define GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 0x11u 3983 3984 /** 3985 * @format 1H 3986 * @param subevent_code 3987 * @param con_handle 3988 */ 3989 #define GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 0x12u 3990 3991 /** 3992 * @format 12111 3993 * @param subevent_code 3994 * @param hids_cid 3995 * @param status 3996 * @param protocol_mode 3997 * @param num_instances 3998 */ 3999 #define GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 0x13u 4000 4001 /** 4002 * @format 1211LV 4003 * @param subevent_code 4004 * @param hids_cid 4005 * @param service_index 4006 * @param report_id 4007 * @param report_len 4008 * @param report 4009 */ 4010 #define GATTSERVICE_SUBEVENT_HID_REPORT 0x14u 4011 4012 /** 4013 * @format 1212111 4014 * @param subevent_code 4015 * @param hids_cid 4016 * @param service_index 4017 * @param base_usb_hid_version Version number of base USB HID Specification implemented by HID Device 4018 * @param country_code Country HID Device hardware is localized for (not localized: 0x00) 4019 * @param remote_wake Indicates whether HID Device is capable of sending a wake-signal to a HID Host 4020 * @param normally_connectable Indicates whether HID Device will be advertising when bonded but not connected. 4021 */ 4022 #define GATTSERVICE_SUBEVENT_HID_INFORMATION 0x15u 4023 4024 /** 4025 * @format 1211 4026 * @param subevent_code 4027 * @param hids_cid 4028 * @param service_index 4029 * @param protocol_mode see hid_protocol_mode_t in btstack_hid.h 4030 */ 4031 #define GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 0x16u 4032 4033 /** 4034 * @format 121 4035 * @param subevent_code 4036 * @param hids_cid 4037 * @param configuration 4038 */ 4039 #define GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 0x17u 4040 4041 /** 4042 * @format 1H22 4043 * @param subevent_code 4044 * @param con_handle 4045 * @param max_scan_interval 4046 * @param min_scan_window 4047 */ 4048 #define GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 0x18u 4049 4050 // LE Audio 4051 4052 /** 4053 * @format 1H 4054 * @param subevent_code 4055 * @param con_handle 4056 */ 4057 #define GATTSERVICE_SUBEVENT_BASS_SERVER_SCAN_STOPPED 0x26u 4058 4059 /** 4060 * @format 1H 4061 * @param subevent_code 4062 * @param con_handle 4063 */ 4064 #define GATTSERVICE_SUBEVENT_BASS_SERVER_SCAN_STARTED 0x27u 4065 4066 /** 4067 * @format 1H1K 4068 * @param subevent_code 4069 * @param con_handle 4070 * @param source_id 4071 * @param broadcast_code 4072 */ 4073 #define GATTSERVICE_SUBEVENT_BASS_SERVER_BROADCAST_CODE 0x28u 4074 4075 /** 4076 * @format 1H11 4077 * @param subevent_code 4078 * @param con_handle 4079 * @param source_id 4080 * @param pa_sync 4081 */ 4082 #define GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_ADDED 0x29u 4083 4084 /** 4085 * @format 1H11 4086 * @param subevent_code 4087 * @param con_handle 4088 * @param source_id 4089 * @param pa_sync 4090 */ 4091 #define GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 0x30u 4092 4093 /** 4094 * @format 1H11 4095 * @param subevent_code 4096 * @param con_handle 4097 * @param source_id 4098 * @param pa_sync 4099 */ 4100 #define GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_DELETED 0x31u 4101 4102 /** 4103 * @format 1H21 4104 * @param subevent_code 4105 * @param con_handle 4106 * @param bass_cid 4107 * @param status 4108 */ 4109 #define GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED 0x43u 4110 4111 /** 4112 * @format 12 4113 * @param subevent_code 4114 * @param bass_cid 4115 */ 4116 #define GATTSERVICE_SUBEVENT_BASS_CLIENT_DISCONNECTED 0x44u 4117 4118 /** 4119 * @format 1211 4120 * @param subevent_code 4121 * @param bass_cid 4122 * @param status 4123 * @param opcode 4124 */ 4125 #define GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 0x45u 4126 4127 /** 4128 * @format 1211B1311P1 4129 * @param subevent_code 4130 * @param bass_cid 4131 * @param source_id 4132 * @param source_address_type 4133 * @param source_address 4134 * @param source_adv_sid 4135 * @param broadcast_id 4136 * @param pa_sync_state 4137 * @param big_encryption 4138 * @param bad_code 4139 * @param subgroups_num 4140 */ 4141 #define GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 0x46u 4142 4143 /** 4144 * @format 1214122JV3JV1JV2JV2JV 4145 * @param subevent_code 4146 * @param bass_cid 4147 * @param source_id 4148 * @param bis_sync_state 4149 * @param metadata_mask 4150 * @param preferred_audio_contexts_mask 4151 * @param streaming_audio_contexts_mask 4152 * @param program_info_length 4153 * @param program_info 4154 * @param language_code 4155 * @param ccids_num 4156 * @param ccids 4157 * @param parental_rating 4158 * @param program_info_uri_length 4159 * @param program_info_uri 4160 * @param extended_metadata_type 4161 * @param extended_metadata_value_length 4162 * @param extended_metadata_value 4163 * @param vendor_specific_metadata_type 4164 * @param vendor_specific_metadata_value_length 4165 * @param vendor_specific_metadata_value 4166 */ 4167 #define GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 0x47u 4168 4169 /** 4170 * @format 121 4171 * @param subevent_code 4172 * @param bass_cid 4173 * @param source_id 4174 */ 4175 #define GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 0x48u 4176 4177 /** 4178 * @format 12111 4179 * @param subevent_code 4180 * @param bass_cid 4181 * @param status 4182 * @param opcode 4183 * @param source_id 4184 */ 4185 #define GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 0x49u 4186 4187 /** 4188 * @format 1H1 4189 * @param subevent_code 4190 * @param con_handle 4191 * @param status 4192 */ 4193 #define GATTSERVICE_SUBEVENT_BASS_SERVER_CONNECTED 0x70u 4194 4195 /** 4196 * @format 1H 4197 * @param subevent_code 4198 * @param con_handle 4199 */ 4200 #define GATTSERVICE_SUBEVENT_BASS_SERVER_DISCONNECTED 0x71u 4201 4202 // MESH Meta Event Group 4203 4204 /** 4205 * @format 1 4206 * @param subevent_code 4207 */ 4208 #define MESH_SUBEVENT_CAN_SEND_NOW 0x01u 4209 4210 /** 4211 * @format 11 4212 * @param subevent_code 4213 * @param status 4214 */ 4215 #define MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 0x02u 4216 4217 /** 4218 * @format 1121 4219 * @param subevent_code 4220 * @param status 4221 * @param pb_transport_cid 4222 * @param pb_type 4223 */ 4224 #define MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 0x03u 4225 4226 /** 4227 * @format 112 4228 * @param subevent_code 4229 * @param pb_transport_cid 4230 * @param reason 4231 */ 4232 #define MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 0x04u 4233 4234 /** 4235 * @format 121 4236 * @param subevent_code 4237 * @param pb_transport_cid 4238 * @param attention_time in seconds 4239 */ 4240 #define MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 0x10u 4241 4242 /** 4243 * Device Role 4244 * @format 12 4245 * @param subevent_code 4246 * @param pb_transport_cid 4247 */ 4248 #define MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 0x11u 4249 4250 /** 4251 * Device Role 4252 * @format 12 4253 * @param subevent_code 4254 * @param pb_transport_cid 4255 */ 4256 #define MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 0x12u 4257 4258 /** 4259 * Device Role 4260 * @format 12 4261 * @param subevent_code 4262 * @param pb_transport_cid 4263 */ 4264 #define MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 0x13u 4265 4266 /** 4267 * Device Role 4268 * @format 124 4269 * @param subevent_code 4270 * @param pb_transport_cid 4271 * @param output_oob number 4272 */ 4273 #define MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 0x15u 4274 4275 /** 4276 * Device Role 4277 * @format 12 4278 * @param subevent_code 4279 * @param pb_transport_cid 4280 */ 4281 #define MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 0x16u 4282 4283 /** 4284 * Provisioner Role 4285 * @format 12 4286 * @param subevent_code 4287 * @param pb_transport_cid 4288 */ 4289 #define MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 0x17u 4290 4291 /** 4292 * Provisioner Role 4293 * @format 12 4294 * @param subevent_code 4295 * @param pb_transport_cid 4296 */ 4297 #define MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 0x18u 4298 4299 /** 4300 * Provisioner Role 4301 * @format 12 4302 * @param subevent_code 4303 * @param pb_transport_cid 4304 */ 4305 #define MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 0x19u 4306 4307 /** 4308 * Provisioner Role 4309 * @format 124 4310 * @param subevent_code 4311 * @param pb_transport_cid 4312 * @param output_oob number 4313 */ 4314 #define MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 0x1au 4315 4316 /** 4317 * Provisioner Role 4318 * @format 12 4319 * @param subevent_code 4320 * @param pb_transport_cid 4321 */ 4322 #define MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 0x1bu 4323 4324 /** 4325 * Provisioner Role 4326 * @format 1212111212 4327 * @param subevent_code 4328 * @param pb_transport_cid 4329 * @param num_elements 4330 * @param algorithms 4331 * @param public_key 4332 * @param static_oob_type 4333 * @param output_oob_size 4334 * @param output_oob_action 4335 * @param input_oob_size 4336 * @param input_oob_action 4337 */ 4338 #define MESH_SUBEVENT_PB_PROV_CAPABILITIES 0x1cu 4339 4340 /** 4341 * @format 12 4342 * @param subevent_code 4343 * @param pb_transport_cid 4344 */ 4345 #define MESH_SUBEVENT_PB_PROV_COMPLETE 0x1du 4346 4347 /** 4348 * @format 11 4349 * @param subevent_code 4350 * @param attention_time in seconds 4351 */ 4352 #define MESH_SUBEVENT_ATTENTION_TIMER 0x1eu 4353 4354 /** 4355 * @format 1H 4356 * @param subevent_code 4357 * @param con_handle 4358 */ 4359 #define MESH_SUBEVENT_PROXY_CONNECTED 0x20u 4360 4361 /** 4362 * @format 1H 4363 * @param subevent_code 4364 * @param con_handle 4365 */ 4366 #define MESH_SUBEVENT_PROXY_PDU_SENT 0x21u 4367 4368 /** 4369 * @format 1H 4370 * @param subevent_code 4371 * @param con_handle 4372 */ 4373 #define MESH_SUBEVENT_PROXY_DISCONNECTED 0x22u 4374 4375 /** 4376 * @format 1H 4377 * @param subevent_code 4378 * @param con_handle 4379 */ 4380 #define MESH_SUBEVENT_MESSAGE_SENT 0x23u 4381 4382 /** 4383 * @format 114411 4384 * @param subevent_code 4385 * @param element_index 4386 * @param model_identifier 4387 * @param state_identifier 4388 * @param reason 4389 * @param value 4390 */ 4391 #define MESH_SUBEVENT_STATE_UPDATE_BOOL 0x24u 4392 4393 /** 4394 * @format 114412 4395 * @param subevent_code 4396 * @param element_index 4397 * @param model_identifier 4398 * @param state_identifier 4399 * @param reason 4400 * @param value 4401 */ 4402 #define MESH_SUBEVENT_STATE_UPDATE_INT16 0x25u 4403 4404 // Mesh Client Events 4405 /** 4406 * @format 11442 4407 * @param subevent_code 4408 * @param element_index 4409 * @param model_identifier 4410 * @param opcode 4411 * @param dest 4412 */ 4413 #define MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 0x30u 4414 4415 /** 4416 * @format 121114 4417 * @param subevent_code 4418 * @param dest 4419 * @param status 4420 * @param present_value 4421 * @param target_value optional, if value > 0, than remaining_time_ms must be read 4422 * @param remaining_time_ms 4423 */ 4424 #define MESH_SUBEVENT_GENERIC_ON_OFF 0x31u 4425 4426 /** 4427 * @format 121224 4428 * @param subevent_code 4429 * @param dest 4430 * @param status 4431 * @param present_value 4432 * @param target_value optional, if value > 0, than remaining_time_ms must be read 4433 * @param remaining_time_ms 4434 */ 4435 #define MESH_SUBEVENT_GENERIC_LEVEL 0x32u 4436 4437 /** 4438 * @format 1222211 4439 * @param subevent_code 4440 * @param dest 4441 * @param netkey_index 4442 * @param appkey_index 4443 * @param company_id 4444 * @param test_id 4445 * @param acknowledged 4446 */ 4447 #define MESH_SUBEVENT_HEALTH_PERFORM_TEST 0x33u 4448 4449 /** 4450 * @format 11 4451 * @param subevent_code 4452 * @param element_index 4453 */ 4454 #define MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 0x34u 4455 4456 /** 4457 * @format 1211 4458 * @param subevent_code 4459 * @param dest 4460 * @param status 4461 * @param transition_time_gdtt 4462 */ 4463 #define MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 0x35u 4464 4465 /** 4466 * @format 1211 4467 * @param subevent_code 4468 * @param dest 4469 * @param foundation_status 4470 * @param secure_network_beacon_state 4471 */ 4472 #define MESH_SUBEVENT_CONFIGURATION_BEACON 0x36u 4473 4474 // Composition Data has variable of element descriptions, with two lists of model lists 4475 // Use .. getters to access data 4476 #define MESH_SUBEVENT_CONFIGURATION_COMPOSITION_DATA 0x37u 4477 4478 /** 4479 * @format 1211 4480 * @param subevent_code 4481 * @param dest 4482 * @param foundation_status 4483 * @param default_ttl 4484 */ 4485 #define MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 0x38u 4486 4487 /** 4488 * @format 1211 4489 * @param subevent_code 4490 * @param dest 4491 * @param foundation_status 4492 * @param gatt_proxy_state 4493 */ 4494 #define MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 0x39u 4495 4496 /** 4497 * @format 121111 4498 * @param subevent_code 4499 * @param dest 4500 * @param foundation_status 4501 * @param relay 4502 * @param retransmit_count the number of times that packet is transmitted for each packet that is relayed. 4503 * @param retransmit_interval_ms retransmission interval in ms 4504 */ 4505 #define MESH_SUBEVENT_CONFIGURATION_RELAY 0x40u 4506 4507 4508 /** 4509 * @format 12122111114 4510 * @param subevent_code 4511 * @param dest element_address 4512 * @param foundation_status 4513 * @param publish_address 4514 * @param appkey_index 4515 * @param credential_flag 4516 * @param publish_ttl 4517 * @param publish_period 4518 * @param publish_retransmit_count 4519 * @param publish_retransmit_interval_steps 4520 * @param model_identifier 4521 */ 4522 #define MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 0x41u 4523 4524 /** 4525 * @format 12124 4526 * @param subevent_code 4527 * @param dest 4528 * @param foundation_status 4529 * @param address 4530 * @param model_identifier 4531 */ 4532 #define MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 0x42u 4533 4534 /** 4535 * @format 1214112 4536 * @param subevent_code 4537 * @param dest 4538 * @param foundation_status 4539 * @param model_identifier 4540 * @param num_subscription_addresses 4541 * @param subscription_address_pos 4542 * @param subscription_address_item 4543 */ 4544 #define MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 0x43u 4545 4546 4547 /** 4548 * @format 121 4549 * @param subevent_code 4550 * @param dest 4551 * @param foundation_status 4552 */ 4553 #define MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 0x44u 4554 4555 /** 4556 * @format 121112 4557 * @param subevent_code 4558 * @param dest 4559 * @param foundation_status 4560 * @param num_netkey_indexes 4561 * @param netkey_index_pos 4562 * @param netkey_index_item 4563 */ 4564 #define MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 0x45u 4565 4566 /** 4567 * @format 12122 4568 * @param subevent_code 4569 * @param dest 4570 * @param foundation_status 4571 * @param netkey_index_item 4572 * @param appkey_index_item 4573 */ 4574 #define MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 0x46u 4575 4576 /** 4577 * @format 12121122 4578 * @param subevent_code 4579 * @param dest 4580 * @param foundation_status 4581 * @param netkey_index 4582 * @param num_appkey_indexes 4583 * @param appkey_index_pos 4584 * @param netkey_index_item 4585 * @param appkey_index_item 4586 */ 4587 #define MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 0x47u 4588 4589 /** 4590 * @format 12121 4591 * @param subevent_code 4592 * @param dest 4593 * @param foundation_status 4594 * @param netkey_index_item 4595 * @param identity_status 4596 */ 4597 #define MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 0x48u 4598 4599 /** 4600 * @format 12124 4601 * @param subevent_code 4602 * @param dest 4603 * @param foundation_status 4604 * @param appkey_index 4605 * @param model_identifier 4606 */ 4607 #define MESH_SUBEVENT_CONFIGURATION_MODEL_APP 0x49u 4608 4609 /** 4610 * @format 1214112 4611 * @param subevent_code 4612 * @param dest 4613 * @param foundation_status 4614 * @param model_id 4615 * @param num_appkey_indexes 4616 * @param appkey_index_pos 4617 * @param appkey_index_item 4618 */ 4619 #define MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 0x50u 4620 4621 /** 4622 * @format 121 4623 * @param subevent_code 4624 * @param dest 4625 * @param foundation_status 4626 */ 4627 #define MESH_SUBEVENT_CONFIGURATION_NODE_RESET 0x51u 4628 4629 /** 4630 * @format 1211 4631 * @param subevent_code 4632 * @param dest 4633 * @param foundation_status 4634 * @param friend_state 4635 */ 4636 #define MESH_SUBEVENT_CONFIGURATION_FRIEND 0x52u 4637 4638 /** 4639 * @format 12121 4640 * @param subevent_code 4641 * @param dest 4642 * @param foundation_status 4643 * @param netkey_index 4644 * @param phase 4645 */ 4646 #define MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 0x53u 4647 4648 /** 4649 * @format 121222122 4650 * @param subevent_code 4651 * @param dest 4652 * @param foundation_status 4653 * @param heartbeat_destination 4654 * @param count_S 4655 * @param period_S 4656 * @param ttl 4657 * @param features 4658 * @param netkey_index 4659 */ 4660 #define MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 0x54u 4661 4662 /** 4663 * @format 121222211 4664 * @param subevent_code 4665 * @param dest 4666 * @param foundation_status 4667 * @param heartbeat_destination 4668 * @param heartbeat_source 4669 * @param count_S 4670 * @param period_S 4671 * @param min_hops 4672 * @param max_hops 4673 */ 4674 #define MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 0x55u 4675 4676 /** 4677 * @format 12123 4678 * @param subevent_code 4679 * @param dest 4680 * @param foundation_status 4681 * @param lpn_address 4682 * @param poll_timeout 4683 */ 4684 #define MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 0x56u 4685 4686 /** 4687 * @format 12112 4688 * @param subevent_code 4689 * @param dest 4690 * @param foundation_status 4691 * @param transmit_count 4692 * @param transmit_interval_steps_ms 4693 */ 4694 #define MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 0x57u 4695 4696 4697 #endif 4698