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 1116 */ 1117 #define HCI_EVENT_SCO_CAN_SEND_NOW 0x6Fu 1118 1119 1120 // L2CAP EVENTS 1121 1122 /** 1123 * @format 1BH222222111 1124 * @param status 1125 * @param address 1126 * @param handle 1127 * @param psm 1128 * @param local_cid 1129 * @param remote_cid 1130 * @param local_mtu 1131 * @param remote_mtu 1132 * @param flush_timeout 1133 * @param incoming 1134 * @param mode 1135 * @param fcs 1136 */ 1137 #define L2CAP_EVENT_CHANNEL_OPENED 0x70u 1138 1139 /* 1140 * @format 2 1141 * @param local_cid 1142 */ 1143 #define L2CAP_EVENT_CHANNEL_CLOSED 0x71u 1144 1145 /** 1146 * @format BH222 1147 * @param address 1148 * @param handle 1149 * @param psm 1150 * @param local_cid 1151 * @param remote_cid 1152 */ 1153 #define L2CAP_EVENT_INCOMING_CONNECTION 0x72u 1154 1155 // ?? 1156 // data: event(8), len(8), handle(16) 1157 #define L2CAP_EVENT_TIMEOUT_CHECK 0x73u 1158 1159 /** 1160 * @format H2222 1161 * @param handle 1162 * @param interval_min 1163 * @param interval_max 1164 * @param latencey 1165 * @param timeout_multiplier 1166 */ 1167 #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 0x76u 1168 1169 // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail) 1170 /** 1171 * @format H2 1172 * @param handle 1173 * @param result 1174 */ 1175 #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 0x77u 1176 1177 /* 1178 * @format H22 1179 * @param con_handle 1180 * @param extended_feature_mask 1181 * @param fixed_channels_supported 1182 */ 1183 #define L2CAP_EVENT_INFORMATION_RESPONSE 0x78u 1184 1185 /** 1186 * @format 2 1187 * @param local_cid 1188 */ 1189 #define L2CAP_EVENT_CAN_SEND_NOW 0x79u 1190 1191 /* 1192 * @format 2 1193 * @param local_cid 1194 */ 1195 #define L2CAP_EVENT_PACKET_SENT 0x7au 1196 1197 /* 1198 * @format 2 1199 * @param local_cid 1200 */ 1201 #define L2CAP_EVENT_ERTM_BUFFER_RELEASED 0x7bu 1202 1203 // L2CAP Channel in LE Credit-based Flow-Control Mode (CBM) 1204 1205 /** 1206 * @format 1BH2222 1207 * @param address_type 1208 * @param address 1209 * @param handle 1210 * @param psm 1211 * @param local_cid 1212 * @param remote_cid 1213 * @param remote_mtu 1214 */ 1215 #define L2CAP_EVENT_CBM_INCOMING_CONNECTION 0x7cu 1216 1217 /** 1218 * @format 11BH122222 1219 * @param status 1220 * @param address_type 1221 * @param address 1222 * @param handle 1223 * @param incoming 1224 * @param psm 1225 * @param local_cid 1226 * @param remote_cid 1227 * @param local_mtu 1228 * @param remote_mtu 1229 */ 1230 #define L2CAP_EVENT_CBM_CHANNEL_OPENED 0x7du 1231 1232 /* 1233 * @format 1234 */ 1235 #define L2CAP_EVENT_TRIGGER_RUN 0x7eu 1236 1237 /** 1238 * @format 1BH212 1239 * @param address_type 1240 * @param address 1241 * @param handle 1242 * @param psm 1243 * @param num_channels 1244 * @param local_cid first new cid 1245 */ 1246 #define L2CAP_EVENT_ECBM_INCOMING_CONNECTION 0x7fu 1247 1248 /** 1249 * @format 11BH122222 1250 * @param status 1251 * @param address_type 1252 * @param address 1253 * @param handle 1254 * @param incoming 1255 * @param psm 1256 * @param local_cid 1257 * @param remote_cid 1258 * @param local_mtu 1259 * @param remote_mtu 1260 */ 1261 #define L2CAP_EVENT_ECBM_CHANNEL_OPENED 0x8au 1262 1263 /* 1264 * @format 222 1265 * @param remote_cid 1266 * @param mtu 1267 * @param mps 1268 */ 1269 #define L2CAP_EVENT_ECBM_RECONFIGURED 0x8bu 1270 1271 /* 1272 * @format 22 1273 * @param local_cid 1274 * @param reconfigure_result 1275 */ 1276 #define L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 0x8cu 1277 1278 1279 // RFCOMM EVENTS 1280 1281 /** 1282 * @format 1B21221 1283 * @param status 1284 * @param bd_addr 1285 * @param con_handle 1286 * @param server_channel 1287 * @param rfcomm_cid 1288 * @param max_frame_size 1289 * @param incoming 1290 */ 1291 #define RFCOMM_EVENT_CHANNEL_OPENED 0x80u 1292 1293 /** 1294 * @format 2 1295 * @param rfcomm_cid 1296 */ 1297 #define RFCOMM_EVENT_CHANNEL_CLOSED 0x81u 1298 1299 /** 1300 * @format B12H 1301 * @param bd_addr 1302 * @param server_channel 1303 * @param rfcomm_cid 1304 * @param con_handle 1305 1306 */ 1307 #define RFCOMM_EVENT_INCOMING_CONNECTION 0x82u 1308 1309 /** 1310 * @format 21 1311 * @param rfcomm_cid 1312 * @param line_status 1313 */ 1314 #define RFCOMM_EVENT_REMOTE_LINE_STATUS 0x83u 1315 1316 /** 1317 * @format 21 1318 * @param rfcomm_cid 1319 * @param modem_status 1320 */ 1321 #define RFCOMM_EVENT_REMOTE_MODEM_STATUS 0x87u 1322 1323 /** 1324 * note: port configuration not parsed by stack, getters provided by rfcomm.h 1325 * param rfcomm_cid 1326 * param remote - 0 for local port, 1 for remote port 1327 * param baud_rate 1328 * param data_bits 1329 * param stop_bits 1330 * param parity 1331 * param flow_control 1332 * param xon 1333 * param xoff 1334 */ 1335 #define RFCOMM_EVENT_PORT_CONFIGURATION 0x88u 1336 1337 /** 1338 * @format 2 1339 * @param rfcomm_cid 1340 */ 1341 #define RFCOMM_EVENT_CAN_SEND_NOW 0x89u 1342 1343 1344 /** 1345 * @format 1 1346 * @param status 1347 */ 1348 #define SDP_EVENT_QUERY_COMPLETE 0x91u 1349 1350 /** 1351 * @format 1T 1352 * @param rfcomm_channel 1353 * @param name 1354 */ 1355 #define SDP_EVENT_QUERY_RFCOMM_SERVICE 0x92u 1356 1357 /** 1358 * @format 22221 1359 * @param record_id 1360 * @param attribute_id 1361 * @param attribute_length 1362 * @param data_offset 1363 * @param data 1364 */ 1365 #define SDP_EVENT_QUERY_ATTRIBUTE_BYTE 0x93u 1366 1367 /** 1368 * @format 22LV 1369 * @param record_id 1370 * @param attribute_id 1371 * @param attribute_length 1372 * @param attribute_value 1373 */ 1374 #define SDP_EVENT_QUERY_ATTRIBUTE_VALUE 0x94u 1375 1376 /** 1377 * @format 224 1378 * @param total_count 1379 * @param record_index 1380 * @param record_handle 1381 * @note Not provided by daemon, only used for internal testing 1382 */ 1383 #define SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 0x95u 1384 1385 /** 1386 * @format H1 1387 * @param handle 1388 * @param att_status see ATT errors in bluetooth.h 1389 */ 1390 #define GATT_EVENT_QUERY_COMPLETE 0xA0u 1391 1392 /** 1393 * @format HX 1394 * @param handle 1395 * @param service 1396 */ 1397 #define GATT_EVENT_SERVICE_QUERY_RESULT 0xA1u 1398 1399 /** 1400 * @format HY 1401 * @param handle 1402 * @param characteristic 1403 */ 1404 #define GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 0xA2u 1405 1406 /** 1407 * @format H2X 1408 * @param handle 1409 * @param include_handle 1410 * @param service 1411 */ 1412 #define GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 0xA3u 1413 1414 /** 1415 * @format HZ 1416 * @param handle 1417 * @param characteristic_descriptor 1418 */ 1419 #define GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 0xA4u 1420 1421 /** 1422 * @format H2LV 1423 * @param handle 1424 * @param value_handle 1425 * @param value_length 1426 * @param value 1427 */ 1428 #define GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA5u 1429 1430 /** 1431 * @format H22LV 1432 * @param handle 1433 * @param value_handle 1434 * @param value_offset 1435 * @param value_length 1436 * @param value 1437 */ 1438 #define GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA6u 1439 1440 /** 1441 * @format H2LV 1442 * @param handle 1443 * @param value_handle 1444 * @param value_length 1445 * @param value 1446 */ 1447 #define GATT_EVENT_NOTIFICATION 0xA7u 1448 1449 /** 1450 * @format H2LV 1451 * @param handle 1452 * @param value_handle 1453 * @param value_length 1454 * @param value 1455 */ 1456 #define GATT_EVENT_INDICATION 0xA8u 1457 1458 /** 1459 * @format H2LV 1460 * @param handle 1461 * @param descriptor_handle 1462 * @param descriptor_length 1463 * @param descriptor 1464 */ 1465 #define GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xA9u 1466 1467 /** 1468 * @format H2LV 1469 * @param handle 1470 * @param descriptor_offset 1471 * @param descriptor_length 1472 * @param descriptor 1473 */ 1474 #define GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xAAu 1475 1476 /** 1477 * @format H2 1478 * @param handle 1479 * @param MTU 1480 */ 1481 #define GATT_EVENT_MTU 0xABu 1482 1483 /** 1484 * @format H 1485 * @param handle 1486 */ 1487 #define GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 0xACu 1488 1489 1490 /** 1491 * @format 1BH 1492 * @param address_type 1493 * @param address 1494 * @param handle 1495 */ 1496 #define ATT_EVENT_CONNECTED 0xB3u 1497 1498 /** 1499 * @format H 1500 * @param handle 1501 */ 1502 #define ATT_EVENT_DISCONNECTED 0xB4u 1503 1504 /** 1505 * @format H2 1506 * @param handle 1507 * @param MTU 1508 */ 1509 #define ATT_EVENT_MTU_EXCHANGE_COMPLETE 0xB5u 1510 1511 /** 1512 * @format 1H2 1513 * @param status 1514 * @param conn_handle 1515 * @param attribute_handle 1516 */ 1517 #define ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 0xB6u 1518 1519 /** 1520 * @format 1521 */ 1522 #define ATT_EVENT_CAN_SEND_NOW 0xB7u 1523 1524 // TODO: daemon only event 1525 1526 /** 1527 * @format 12 1528 * @param status 1529 * @param service_uuid 1530 */ 1531 #define BNEP_EVENT_SERVICE_REGISTERED 0xC0u 1532 1533 /** 1534 * @format 12222BH 1535 * @param status 1536 * @param bnep_cid 1537 * @param source_uuid 1538 * @param destination_uuid 1539 * @param mtu 1540 * @param remote_address 1541 * @param con_handle 1542 */ 1543 #define BNEP_EVENT_CHANNEL_OPENED 0xC1u 1544 1545 /** 1546 * @format 222B 1547 * @param bnep_cid 1548 * @param source_uuid 1549 * @param destination_uuid 1550 * @param remote_address 1551 */ 1552 #define BNEP_EVENT_CHANNEL_CLOSED 0xC2u 1553 1554 /** 1555 * @format 222B1 1556 * @param bnep_cid 1557 * @param source_uuid 1558 * @param destination_uuid 1559 * @param remote_address 1560 * @param channel_state 1561 */ 1562 #define BNEP_EVENT_CHANNEL_TIMEOUT 0xC3u 1563 1564 /** 1565 * @format 222B 1566 * @param bnep_cid 1567 * @param source_uuid 1568 * @param destination_uuid 1569 * @param remote_address 1570 */ 1571 #define BNEP_EVENT_CAN_SEND_NOW 0xC4u 1572 1573 /** 1574 * @format H1B1 1575 * @param handle 1576 * @param addr_type 1577 * @param address 1578 * @param secure_connection - set to 1 if LE Secure Connection pairing will be used 1579 */ 1580 #define SM_EVENT_JUST_WORKS_REQUEST 0xC8u 1581 1582 /** 1583 * @format H1B14 1584 * @param handle 1585 * @param addr_type 1586 * @param address 1587 * @param secure_connection - set to 1 if LE Secure Connection pairing will be used 1588 * @param passkey 1589 */ 1590 #define SM_EVENT_PASSKEY_DISPLAY_NUMBER 0xC9u 1591 1592 /** 1593 * @format H1B 1594 * @param handle 1595 * @param addr_type 1596 * @param address 1597 */ 1598 #define SM_EVENT_PASSKEY_DISPLAY_CANCEL 0xCAu 1599 1600 /** 1601 * @format H1B1 1602 * @param handle 1603 * @param addr_type 1604 * @param address 1605 * @param secure_connection - set to 1 if LE Secure Connection pairing will be used 1606 */ 1607 #define SM_EVENT_PASSKEY_INPUT_NUMBER 0xCBu 1608 1609 /** 1610 * @format H1B14 1611 * @param handle 1612 * @param addr_type 1613 * @param address 1614 * @param secure_connection - set to 1 if LE Secure Connection pairing will be used 1615 * @param passkey 1616 */ 1617 #define SM_EVENT_NUMERIC_COMPARISON_REQUEST 0xCCu 1618 1619 /** 1620 * @format H1B 1621 * @param handle 1622 * @param addr_type 1623 * @param address 1624 */ 1625 #define SM_EVENT_IDENTITY_RESOLVING_STARTED 0xCDu 1626 1627 /** 1628 * @format H1B 1629 * @param handle 1630 * @param addr_type 1631 * @param address 1632 */ 1633 #define SM_EVENT_IDENTITY_RESOLVING_FAILED 0xCEu 1634 1635 /** 1636 * @brief Identify resolving succeeded 1637 * 1638 * @format H1B1B2 1639 * @param handle 1640 * @param addr_type 1641 * @param address 1642 * @param identity_addr_type 1643 * @param identity_address 1644 * @param index 1645 * 1646 */ 1647 #define SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 0xCFu 1648 1649 /** 1650 * @format H1B 1651 * @param handle 1652 * @param addr_type 1653 * @param address 1654 */ 1655 #define SM_EVENT_AUTHORIZATION_REQUEST 0xD0u 1656 1657 /** 1658 * @format H1B1 1659 * @param handle 1660 * @param addr_type 1661 * @param address 1662 * @param authorization_result 1663 */ 1664 #define SM_EVENT_AUTHORIZATION_RESULT 0xD1u 1665 1666 /** 1667 * @format H1 1668 * @param handle 1669 * @param action see SM_KEYPRESS_* 1670 */ 1671 #define SM_EVENT_KEYPRESS_NOTIFICATION 0xD2u 1672 1673 /** 1674 * @brief Emitted during pairing to inform app about address used as identity 1675 * 1676 * @format H1B1B2 1677 * @param handle 1678 * @param addr_type 1679 * @param address 1680 * @param identity_addr_type 1681 * @param identity_address 1682 * @param index 1683 */ 1684 #define SM_EVENT_IDENTITY_CREATED 0xD3u 1685 1686 /** 1687 * @brief Emitted to inform app that pairing has started. 1688 * @format H1B 1689 * @param handle 1690 * @param addr_type 1691 * @param address 1692 */ 1693 #define SM_EVENT_PAIRING_STARTED 0xD4u 1694 1695 /** 1696 * @brief Emitted to inform app that pairing is complete. Possible status values: 1697 * ERROR_CODE_SUCCESS -> pairing success 1698 * ERROR_CODE_CONNECTION_TIMEOUT -> timeout 1699 * ERROR_CODE_REMOTE_USER_TERMINATED_CONNECTION -> disconnect 1700 * ERROR_CODE_AUTHENTICATION_FAILURE -> SM protocol error, see reason field with SM_REASON_* from bluetooth.h 1701 * 1702 * @format H1B11 1703 * @param handle 1704 * @param addr_type 1705 * @param address 1706 * @param status 1707 * @param reason if status == ERROR_CODE_AUTHENTICATION_FAILURE 1708 */ 1709 #define SM_EVENT_PAIRING_COMPLETE 0xD5u 1710 1711 1712 /** 1713 * @brief Proactive Authentication for bonded devices started. 1714 * @format H1B 1715 * @param handle 1716 * @param addr_type 1717 * @param address 1718 */ 1719 #define SM_EVENT_REENCRYPTION_STARTED 0xD6u 1720 1721 /** 1722 * @brief Proactive Authentication for bonded devices complete. Possible status values: 1723 * ERROR_CODE_SUCCESS -> connection secure 1724 * ERROR_CODE_CONNECTION_TIMEOUT -> timeout 1725 * ERROR_CODE_PIN_OR_KEY_MISSING -> remote did not provide (as Peripheral) or use LTK (as Central) 1726 * @format H1B1 1727 * @param handle 1728 * @param addr_type 1729 * @param address 1730 * @param status 1731 */ 1732 #define SM_EVENT_REENCRYPTION_COMPLETE 0xD7u 1733 1734 // GAP 1735 1736 /** 1737 * @format H1 1738 * @param handle 1739 * @param security_level 1740 */ 1741 #define GAP_EVENT_SECURITY_LEVEL 0xD8u 1742 1743 /** 1744 * @format 1B 1745 * @param status 1746 * @param address 1747 */ 1748 #define GAP_EVENT_DEDICATED_BONDING_COMPLETED 0xD9u 1749 1750 /** 1751 * @format 11B1JV 1752 * @param advertising_event_type 1753 * @param address_type 1754 * @param address 1755 * @param rssi 1756 * @param data_length 1757 * @param data 1758 */ 1759 #define GAP_EVENT_ADVERTISING_REPORT 0xDAu 1760 1761 /** 1762 * @format 21B1111121BJV 1763 * @param advertising_event_type 1764 * @param address_type 1765 * @param address 1766 * @param primary_phy 1767 * @param secondary_phy 1768 * @param advertising_sid 1769 * @param tx_power 1770 * @param rssi 1771 * @param periodic_advertising_interval 1772 * @param direct_address_type 1773 * @param direct_address 1774 * @param data_length 1775 * @param data 1776 */ 1777 #define GAP_EVENT_EXTENDED_ADVERTISING_REPORT 0xDBu 1778 1779 /** 1780 * @format B13211122221JV 1781 * @param bd_addr 1782 * @param page_scan_repetition_mode 1783 * @param class_of_device 1784 * @param clock_offset 1785 * @param rssi_available 1786 * @param rssi 1787 * @param device_id_available 1788 * @param device_id_vendor_id_source 1789 * @param device_id_vendor_id 1790 * @param device_id_product_id 1791 * @param device_id_version 1792 * @param name_available 1793 * @param name_len 1794 * @param name 1795 */ 1796 #define GAP_EVENT_INQUIRY_RESULT 0xDCu 1797 1798 /** 1799 * @format 1 1800 * @param status 1801 */ 1802 #define GAP_EVENT_INQUIRY_COMPLETE 0xDDu 1803 1804 /** 1805 * @format H1 1806 * @param con_handle 1807 * @param rssi (signed integer -127..127) 1808 * @note Classic: rssi is in dB relative to Golden Receive Power Range 1809 * @note LE: rssi is absolute dBm 1810 */ 1811 #define GAP_EVENT_RSSI_MEASUREMENT 0xDEu 1812 1813 /** 1814 * @format 1KKKK 1815 * @param oob_data_present 0 = none, 1 = p_192, 2 = p_256, 3 = both 1816 * @param c_192 Simple Pairing Hash C derived from P-192 public key 1817 * @param r_192 Simple Pairing Randomizer derived from P-192 public key 1818 * @param c_256 Simple Pairing Hash C derived from P-256 public key 1819 * @param r_256 Simple Pairing Randomizer derived from P-256 public key 1820 */ 1821 #define GAP_EVENT_LOCAL_OOB_DATA 0xDFu 1822 1823 1824 /** 1825 * @format HB11 1826 * @param con_handle 1827 * @param bd_addr 1828 * @param ssp 1829 * @param initiator 1830 */ 1831 #define GAP_EVENT_PAIRING_STARTED 0xE0u 1832 1833 /** 1834 * @format HB1 1835 * @param con_handle 1836 * @param bd_addr 1837 * @param status 1838 */ 1839 #define GAP_EVENT_PAIRING_COMPLETE 0xE1u 1840 1841 // Meta Events, see below for sub events 1842 #define HCI_EVENT_META_GAP 0xE7u 1843 #define HCI_EVENT_HSP_META 0xE8u 1844 #define HCI_EVENT_HFP_META 0xE9u 1845 #define HCI_EVENT_ANCS_META 0xEAu 1846 #define HCI_EVENT_AVDTP_META 0xEBu 1847 #define HCI_EVENT_AVRCP_META 0xECu 1848 #define HCI_EVENT_GOEP_META 0xEDu 1849 #define HCI_EVENT_PBAP_META 0xEEu 1850 #define HCI_EVENT_HID_META 0xEFu 1851 #define HCI_EVENT_A2DP_META 0xF0u 1852 #define HCI_EVENT_HIDS_META 0xF1u 1853 #define HCI_EVENT_GATTSERVICE_META 0xF2u 1854 #define HCI_EVENT_BIP_META 0xF3u 1855 #define HCI_EVENT_MAP_META 0xF4u 1856 #define HCI_EVENT_MESH_META 0xF5u 1857 1858 // Potential other meta groups 1859 // #define HCI_EVENT_BNEP_META 0xxx 1860 // #define HCI_EVENT_GAP_META 0xxx 1861 // #define HCI_EVENT_GATT_META 0xxx 1862 // #define HCI_EVENT_PAN_META 0xxx 1863 // #define HCI_EVENT_SDP_META 0xxx 1864 // #define HCI_EVENT_SM_META 0xxx 1865 1866 /** GAP Subevent */ 1867 1868 1869 /** 1870 * @format 1111 1871 * @param subevent_code 1872 * @param advertisement_handle 1873 * @param status 1874 * @param selected_tx_power 1875 */ 1876 #define GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 0x00u 1877 1878 /** 1879 * @format 11 1880 * @param subevent_code 1881 * @param advertisement_handle 1882 */ 1883 #define GAP_SUBEVENT_ADVERTISING_SET_REMOVED 0x01u 1884 1885 /** 1886 * @format 1111C 1887 * @param subevent_code 1888 * @param status 1889 * @param big_handle 1890 * @param num_bis 1891 * @param bis_con_handles 1892 */ 1893 #define GAP_SUBEVENT_BIG_CREATED 0x02u 1894 1895 /** 1896 * @format 11 1897 * @param subevent_code 1898 * @param big_handle 1899 */ 1900 #define GAP_SUBEVENT_BIG_TERMINATED 0x03u 1901 1902 /** 1903 * @format 1111C 1904 * @param subevent_code 1905 * @param status 1906 * @param big_handle 1907 * @param num_bis 1908 * @param bis_con_handles 1909 */ 1910 #define GAP_SUBEVENT_BIG_SYNC_CREATED 0x04u 1911 1912 /** 1913 * @format 11 1914 * @param subevent_code 1915 * @param big_handle 1916 */ 1917 #define GAP_SUBEVENT_BIG_SYNC_STOPPED 0x05u 1918 1919 /** HSP Subevent */ 1920 1921 /** 1922 * @format 1H1B 1923 * @param subevent_code 1924 * @param acl_handle 1925 * @param status 0 == OK 1926 * @param bd_addr 1927 */ 1928 #define HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 0x01u 1929 1930 /** 1931 * @format 1H 1932 * @param subevent_code 1933 * @param acl_handle 1934 */ 1935 #define HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 0x02u 1936 1937 /** 1938 * @format 1H1H 1939 * @param subevent_code 1940 * @param acl_handle 1941 * @param status 0 == OK 1942 * @param sco_handle 1943 */ 1944 #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 0x03u 1945 1946 /** 1947 * @format 1HH 1948 * @param subevent_code 1949 * @param acl_handle 1950 * @param sco_handle 1951 */ 1952 #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 0x04u 1953 1954 /** 1955 * @format 1H 1956 * @param subevent_code 1957 * @param acl_handle 1958 */ 1959 #define HSP_SUBEVENT_RING 0x05u 1960 1961 /** 1962 * @format 1H1 1963 * @param subevent_code 1964 * @param acl_handle 1965 * @param gain Valid range: [0,15] 1966 */ 1967 #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 0x06u 1968 1969 /** 1970 * @format 1H1 1971 * @param subevent_code 1972 * @param acl_handle 1973 * @param gain Valid range: [0,15] 1974 */ 1975 #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 0x07u 1976 1977 /** 1978 * @format 1HJV 1979 * @param subevent_code 1980 * @param acl_handle 1981 * @param value_length 1982 * @param value 1983 */ 1984 #define HSP_SUBEVENT_HS_COMMAND 0x08u 1985 1986 /** 1987 * @format 1HJV 1988 * @param subevent_code 1989 * @param acl_handle 1990 * @param value_length 1991 * @param value 1992 */ 1993 #define HSP_SUBEVENT_AG_INDICATION 0x09u 1994 1995 /** 1996 * @format 1H 1997 * @param subevent_code 1998 * @param acl_handle 1999 */ 2000 #define HSP_SUBEVENT_BUTTON_PRESSED 0x0au 2001 2002 /** HFP Subevent */ 2003 2004 /** 2005 * @format 1H1B 2006 * @param subevent_code 2007 * @param acl_handle 2008 * @param status 0 == OK 2009 * @param bd_addr 2010 */ 2011 #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 0x01u 2012 2013 /** 2014 * @format 1H 2015 * @param subevent_code 2016 * @param acl_handle 2017 */ 2018 #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 0x02u 2019 2020 /** 2021 * @format 1H1HB1 2022 * @param subevent_code 2023 * @param acl_handle 2024 * @param status 0 == OK 2025 * @param sco_handle 2026 * @param bd_addr 2027 * @param negotiated_codec 2028 */ 2029 #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 0x03u 2030 2031 /** 2032 * @format 1HH 2033 * @param subevent_code 2034 * @param acl_handle 2035 * @param sco_handle 2036 */ 2037 #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 0x04u 2038 2039 /** 2040 * @format 1H1 2041 * @param subevent_code 2042 * @param acl_handle 2043 * @param status 0 == OK 2044 */ 2045 #define HFP_SUBEVENT_COMPLETE 0x05u 2046 2047 /** 2048 * @format 1H111T 2049 * @param subevent_code 2050 * @param acl_handle 2051 * @param indicator_index 2052 * @param indicator_min_range 2053 * @param indicator_max_range 2054 * @param indicator_name 2055 */ 2056 #define HFP_SUBEVENT_AG_INDICATOR_MAPPING 0x06u 2057 2058 /** 2059 * @format 1H1111111T 2060 * @param subevent_code 2061 * @param acl_handle 2062 * @param indicator_index 2063 * @param indicator_status 2064 * @param indicator_min_range 2065 * @param indicator_max_range 2066 * @param indicator_mandatory 2067 * @param indicator_enabled 2068 * @param indicator_status_changed 2069 * @param indicator_name 2070 */ 2071 #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 0x07u 2072 2073 /** 2074 * @format 1H11T 2075 * @param subevent_code 2076 * @param acl_handle 2077 * @param network_operator_mode 2078 * @param network_operator_format 2079 * @param network_operator_name 2080 */ 2081 #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 0x08u 2082 2083 /** 2084 * @format 1H1 2085 * @param subevent_code 2086 * @param acl_handle 2087 * @param error 2088 */ 2089 #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 0x09u 2090 2091 /** 2092 * @format 1H 2093 * @param subevent_code 2094 * @param acl_handle 2095 */ 2096 #define HFP_SUBEVENT_START_RINGING 0x0Au 2097 2098 /** 2099 * @format 1H 2100 * @param subevent_code 2101 * @param acl_handle 2102 */ 2103 #define HFP_SUBEVENT_RING 0x0Bu 2104 2105 /** 2106 * @format 1H 2107 * @param subevent_code 2108 * @param acl_handle 2109 */ 2110 #define HFP_SUBEVENT_STOP_RINGING 0x0Cu 2111 2112 /** 2113 * @format 1HT 2114 * @param subevent_code 2115 * @param acl_handle 2116 * @param number 2117 */ 2118 #define HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 0x0Du 2119 2120 /** 2121 * @format 1H 2122 * @param subevent_code 2123 * @param acl_handle 2124 */ 2125 #define HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 0x0Eu 2126 2127 /** 2128 * @format 1HT 2129 * @param subevent_code 2130 * @param acl_handle 2131 * @param number 2132 */ 2133 #define HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 0x0Fu 2134 2135 /** 2136 * @format 1HT 2137 * @param subevent_code 2138 * @param acl_handle 2139 * @param dtmf code 2140 */ 2141 #define HFP_SUBEVENT_TRANSMIT_DTMF_CODES 0x10u 2142 2143 /** 2144 * @format 1H 2145 * @param subevent_code 2146 * @param acl_handle 2147 */ 2148 #define HFP_SUBEVENT_CALL_ANSWERED 0x11u 2149 2150 /** 2151 * @format 1H 2152 * @param subevent_code 2153 * @param acl_handle 2154 */ 2155 #define HFP_SUBEVENT_CALL_TERMINATED 0x12u 2156 2157 /** 2158 * @format 1H 2159 * @param subevent_code 2160 * @param acl_handle 2161 */ 2162 #define HFP_SUBEVENT_CONFERENCE_CALL 0x13u 2163 2164 2165 /** 2166 * @format 1H1 2167 * @param subevent_code 2168 * @param acl_handle 2169 * @param gain 2170 */ 2171 #define HFP_SUBEVENT_SPEAKER_VOLUME 0x14u 2172 2173 /** 2174 * @format 1H1 2175 * @param subevent_code 2176 * @param acl_handle 2177 * @param gain 2178 */ 2179 #define HFP_SUBEVENT_MICROPHONE_VOLUME 0x15u 2180 2181 /** 2182 * @format 1H1JVJV 2183 * @param subevent_code 2184 * @param acl_handle 2185 * @param type 2186 * @param number_length 2187 * @param number 2188 * @param alpha_length 2189 * @param alpha 2190 */ 2191 #define HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 0x16u 2192 2193 /** 2194 * @format 1H1JVJV 2195 * @param subevent_code 2196 * @param acl_handle 2197 * @param type 2198 * @param number_length 2199 * @param number 2200 * @param alpha_length 2201 * @param alpha 2202 */ 2203 #define HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 0x17u 2204 2205 /** 2206 * @format 1H111111T 2207 * @param subevent_code 2208 * @param acl_handle 2209 * @param clcc_idx 2210 * @param clcc_dir 2211 * @param clcc_status 2212 * @param clcc_mode 2213 * @param clcc_mpty 2214 * @param bnip_type 2215 * @param bnip_number 2216 */ 2217 #define HFP_SUBEVENT_ENHANCED_CALL_STATUS 0x18u 2218 2219 /** 2220 * @format 1H11T 2221 * @param subevent_code 2222 * @param acl_handle 2223 * @param status 2224 * @param bnip_type 2225 * @param bnip_number 2226 */ 2227 #define HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 0x19u 2228 2229 /** 2230 * @format 1HT 2231 * @param subevent_code 2232 * @param acl_handle 2233 * @param value 2234 */ 2235 #define HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 0x1Au 2236 2237 /** 2238 * @format 1HT 2239 * @param subevent_code 2240 * @param acl_handle 2241 * @param command 2242 */ 2243 #define HFP_SUBEVENT_AT_MESSAGE_SENT 0x1Bu 2244 2245 /** 2246 * @format 1HT 2247 * @param subevent_code 2248 * @param acl_handle 2249 * @param command 2250 */ 2251 #define HFP_SUBEVENT_AT_MESSAGE_RECEIVED 0x1Cu 2252 2253 /** 2254 * @format 1H1 2255 * @param subevent_code 2256 * @param acl_handle 2257 * @param status 2258 */ 2259 #define HFP_SUBEVENT_IN_BAND_RING_TONE 0x1Du 2260 2261 /** 2262 * @format 1H11 2263 * @param subevent_code 2264 * @param acl_handle 2265 * @param status // 0-success 2266 * @param enhanced // 0-legacy, 1-enhanced 2267 */ 2268 #define HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 0x1Eu 2269 2270 /** 2271 * @format 1H1 2272 * @param subevent_code 2273 * @param acl_handle 2274 * @param status // 0-success 2275 */ 2276 #define HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 0x1Fu 2277 2278 /** 2279 * @format 1H1 2280 * @param subevent_code 2281 * @param acl_handle 2282 * @param status 2283 */ 2284 #define HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 0x20u 2285 2286 2287 /** 2288 * @format 1H1 2289 * @param subevent_code 2290 * @param acl_handle 2291 * @param status 2292 */ 2293 #define HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 0x21u 2294 2295 /** 2296 * @format 1H1 2297 * @param subevent_code 2298 * @param acl_handle 2299 * @param status 2300 */ 2301 #define HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 0x22u 2302 2303 /** 2304 * @format 1H1 2305 * @param subevent_code 2306 * @param acl_handle 2307 * @param status 2308 */ 2309 #define HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 0x23u 2310 2311 /** 2312 * @format 1H1 2313 * @param subevent_code 2314 * @param acl_handle 2315 * @param status 2316 */ 2317 #define HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 0x24u 2318 2319 2320 /** 2321 * @format 1H211LV 2322 * @param subevent_code 2323 * @param acl_handle 2324 * @param text_id 2325 * @param text_type 2326 * @param text_operation 2327 * @param text_length 2328 * @param text 2329 */ 2330 #define HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 0x25u 2331 2332 /** 2333 * @format 1H1 2334 * @param subevent_code 2335 * @param acl_handle 2336 * @param status 2337 */ 2338 #define HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 0x26u 2339 2340 /** 2341 * @format 1H21 2342 * @param subevent_code 2343 * @param acl_handle 2344 * @param uuid 2345 * @param value 2346 */ 2347 #define HFP_SUBEVENT_HF_INDICATOR 0x27u 2348 2349 /** 2350 * @format 1H2T 2351 * @param subevent_code 2352 * @param acl_handle 2353 * @param command_id 2354 * @param command_string 2355 */ 2356 #define HFP_SUBEVENT_CUSTOM_AT_COMMAND 0x28u 2357 2358 2359 // ANCS Client 2360 2361 /** 2362 * @format 1H 2363 * @param subevent_code 2364 * @param handle 2365 */ 2366 #define ANCS_SUBEVENT_CLIENT_CONNECTED 0xF0u 2367 2368 /** 2369 * @format 1H2T 2370 * @param subevent_code 2371 * @param handle 2372 * @param attribute_id 2373 * @param text 2374 */ 2375 #define ANCS_SUBEVENT_CLIENT_NOTIFICATION 0xF1u 2376 2377 /** 2378 * @format 1H 2379 * @param subevent_code 2380 * @param handle 2381 */ 2382 #define ANCS_SUBEVENT_CLIENT_DISCONNECTED 0xF2u 2383 2384 2385 /** AVDTP Subevent */ 2386 2387 /** 2388 * @format 12111 2389 * @param subevent_code 2390 * @param avdtp_cid 2391 * @param local_seid 2392 * @param is_initiator 2393 * @param signal_identifier 2394 */ 2395 #define AVDTP_SUBEVENT_SIGNALING_ACCEPT 0x01u 2396 2397 /** 2398 * @format 12111 2399 * @param subevent_code 2400 * @param avdtp_cid 2401 * @param local_seid 2402 * @param is_initiator 2403 * @param signal_identifier 2404 */ 2405 #define AVDTP_SUBEVENT_SIGNALING_REJECT 0x02u 2406 2407 /** 2408 * @format 12111 2409 * @param subevent_code 2410 * @param avdtp_cid 2411 * @param local_seid 2412 * @param is_initiator 2413 * @param signal_identifier 2414 */ 2415 #define AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 0x03u 2416 2417 /** 2418 * @format 12B21 2419 * @param subevent_code 2420 * @param avdtp_cid 2421 * @param bd_addr 2422 * @param con_handle 2423 * @param status 0 == OK 2424 */ 2425 #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 0x04u 2426 2427 /** 2428 * @format 12 2429 * @param subevent_code 2430 * @param avdtp_cid 2431 */ 2432 #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 0x05u 2433 2434 /** 2435 * @format 121111 2436 * @param subevent_code 2437 * @param avdtp_cid 2438 * @param remote_seid 0x01u – 0x3Eu 2439 * @param in_use 0-not in use, 1-in use 2440 * @param media_type 0-audio, 1-video, 2-multimedia 2441 * @param sep_type 0-source, 1-sink 2442 */ 2443 #define AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 0x06u 2444 2445 /** 2446 * @format 12111111111 2447 * @param subevent_code 2448 * @param avdtp_cid 2449 * @param remote_seid 2450 * @param media_type 2451 * @param sampling_frequency_bitmap 2452 * @param channel_mode_bitmap 2453 * @param block_length_bitmap 2454 * @param subbands_bitmap 2455 * @param allocation_method_bitmap 2456 * @param min_bitpool_value 2457 * @param max_bitpool_value 2458 */ 2459 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 0x07u 2460 2461 /** 2462 * @format 12111111112 2463 * @param subevent_code 2464 * @param avdtp_cid 2465 * @param remote_seid 2466 * @param media_type 2467 * @param layer_bitmap 2468 * @param crc 2469 * @param channel_mode_bitmap 2470 * @param media_payload_format 2471 * @param sampling_frequency_bitmap 2472 * @param vbr 2473 * @param bit_rate_index_bitmap 2474 */ 2475 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 0x08u 2476 2477 /** 2478 * @format 121112131 2479 * @param subevent_code 2480 * @param avdtp_cid 2481 * @param remote_seid 2482 * @param media_type 2483 * @param object_type_bitmap 2484 * @param sampling_frequency_bitmap 2485 * @param channels_bitmap 2486 * @param bit_rate 2487 * @param vbr 2488 */ 2489 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 0x09u 2490 2491 /** 2492 * @format 1211111132 2493 * @param subevent_code 2494 * @param avdtp_cid 2495 * @param remote_seid 2496 * @param media_type 2497 * @param version 2498 * @param channel_mode_bitmap 2499 * @param sampling_frequency_bitmap 2500 * @param vbr 2501 * @param bit_rate_index_bitmap 2502 * @param maximum_sul 2503 */ 2504 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 0x0Au 2505 2506 /** 2507 * @format 12112LV 2508 * @param subevent_code 2509 * @param avdtp_cid 2510 * @param remote_seid 2511 * @param media_type 2512 * @param media_codec_type 2513 * @param media_codec_information_len 2514 * @param media_codec_information 2515 */ 2516 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 0x0Bu 2517 2518 2519 /** 2520 * @format 121 2521 * @param subevent_code 2522 * @param avdtp_cid 2523 * @param remote_seid 2524 */ 2525 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 0x0Cu 2526 2527 2528 /** 2529 * @format 121 2530 * @param subevent_code 2531 * @param avdtp_cid 2532 * @param remote_seid 2533 */ 2534 #define AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 0x0Du 2535 2536 2537 /** 2538 * @format 121111 2539 * @param subevent_code 2540 * @param avdtp_cid 2541 * @param remote_seid 2542 * @param recovery_type 2543 * @param maximum_recovery_window_size 2544 * @param maximum_number_media_packets 2545 */ 2546 #define AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 0x0Eu 2547 2548 2549 /** 2550 * @format 1212LV 2551 * @param subevent_code 2552 * @param avdtp_cid 2553 * @param remote_seid 2554 * @param cp_type 2555 * @param cp_type_value_len 2556 * @param cp_type_value 2557 */ 2558 #define AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 0x0Fu 2559 2560 2561 /** 2562 * @format 12111111111 2563 * @param subevent_code 2564 * @param avdtp_cid 2565 * @param remote_seid 2566 * @param fragmentation 2567 * @param transport_identifiers_num 2568 * @param transport_session_identifier_1 2569 * @param transport_session_identifier_2 2570 * @param transport_session_identifier_3 2571 * @param tcid_1 2572 * @param tcid_2 2573 * @param tcid_3 2574 */ 2575 #define AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 0x10u 2576 2577 2578 /** 2579 * @format 121 2580 * @param subevent_code 2581 * @param avdtp_cid 2582 * @param remote_seid 2583 */ 2584 #define AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 0x11u 2585 2586 2587 /** 2588 * @format 121111 2589 * @param subevent_code 2590 * @param avdtp_cid 2591 * @param remote_seid 2592 * @param back_ch 2593 * @param media 2594 * @param recovery 2595 */ 2596 #define AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 0x12u 2597 2598 /** 2599 * @format 121 2600 * @param subevent_code 2601 * @param avdtp_cid 2602 * @param remote_seid 2603 */ 2604 #define AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 0x13u 2605 2606 2607 /** 2608 * @format 12111121111111 2609 * @param subevent_code 2610 * @param avdtp_cid 2611 * @param local_seid 2612 * @param remote_seid 2613 * @param reconfigure 2614 * @param media_type 2615 * @param sampling_frequency 2616 * @param channel_mode 2617 * @param num_channels 2618 * @param block_length 2619 * @param subbands 2620 * @param allocation_method 2621 * @param min_bitpool_value 2622 * @param max_bitpool_value 2623 */ 2624 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 0x14u 2625 2626 /** 2627 * @format 12111111111211 2628 * @param subevent_code 2629 * @param avdtp_cid 2630 * @param local_seid 2631 * @param remote_seid 2632 * @param reconfigure 2633 * @param media_type 2634 * @param layer 2635 * @param crc 2636 * @param channel_mode 2637 * @param num_channels 2638 * @param media_payload_format 2639 * @param sampling_frequency 2640 * @param vbr 2641 * @param bit_rate_index 2642 */ 2643 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 0x15u 2644 2645 /** 2646 * @format 12111113131 2647 * @param subevent_code 2648 * @param avdtp_cid 2649 * @param local_seid 2650 * @param remote_seid 2651 * @param reconfigure 2652 * @param media_type 2653 * @param object_type 2654 * @param sampling_frequency 2655 * @param num_channels 2656 * @param bit_rate 2657 * @param vbr 2658 */ 2659 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 0x16u 2660 2661 /** 2662 * @format 1211111112112 2663 * @param subevent_code 2664 * @param avdtp_cid 2665 * @param local_seid 2666 * @param remote_seid 2667 * @param reconfigure 2668 * @param media_type 2669 * @param version 2670 * @param channel_mode 2671 * @param num_channels 2672 * @param sampling_frequency 2673 * @param vbr 2674 * @param bit_rate_index 2675 * @param maximum_sul 2676 */ 2677 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 0x17u 2678 2679 /** 2680 * @format 1211112LV 2681 * @param subevent_code 2682 * @param avdtp_cid 2683 * @param local_seid 2684 * @param remote_seid 2685 * @param reconfigure 2686 * @param media_type 2687 * @param media_codec_type 2688 * @param media_codec_information_len 2689 * @param media_codec_information 2690 */ 2691 #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 0x18u 2692 2693 /** 2694 * @format 12B111 2695 * @param subevent_code 2696 * @param avdtp_cid 2697 * @param bd_addr 2698 * @param local_seid 2699 * @param remote_seid 2700 * @param status 0 == OK 2701 */ 2702 #define AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 0x19u 2703 2704 /** 2705 * @format 121 2706 * @param subevent_code 2707 * @param avdtp_cid 2708 * @param local_seid 2709 */ 2710 #define AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 0x1Au 2711 2712 /** 2713 * @format 1212 2714 * @param subevent_code 2715 * @param avdtp_cid 2716 * @param local_seid 2717 * @param sequence_number 2718 */ 2719 #define AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 0x1Bu 2720 2721 2722 /** 2723 * @format 12 2724 * @param subevent_code 2725 * @param avdtp_cid 2726 */ 2727 #define AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 0x1Cu 2728 2729 /** 2730 * @format 1212 2731 * @param subevent_code 2732 * @param avdtp_cid 2733 * @param local_seid 2734 * @param delay_100us 2735 */ 2736 #define AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 0x1Du 2737 2738 2739 /** A2DP Subevent */ 2740 /* Stream goes through following states: 2741 * - OPEN - indicated with A2DP_SUBEVENT_STREAM_ESTABLISHED event 2742 * - START - indicated with A2DP_SUBEVENT_STREAM_STARTED event 2743 * - SUSPEND - indicated with A2DP_SUBEVENT_STREAM_SUSPENDED event 2744 * - ABORT/STOP - indicated with A2DP_SUBEVENT_STREAM_RELEASED event 2745 2746 OPEN state will be followed by ABORT/STOP. Stream is ready but media transfer is not started. 2747 START can come only after the stream is OPENED, and indicates that media transfer is started. 2748 SUSPEND is optional, it pauses the stream. 2749 */ 2750 2751 /** 2752 * @format 121 Sent only by A2DP source. 2753 * @param subevent_code 2754 * @param a2dp_cid 2755 * @param local_seid 2756 */ 2757 #define A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 0x01u 2758 2759 /** 2760 * @format 12111121111111 2761 * @param subevent_code 2762 * @param a2dp_cid 2763 * @param local_seid 2764 * @param remote_seid 2765 * @param reconfigure 2766 * @param media_type 2767 * @param sampling_frequency 2768 * @param channel_mode 2769 * @param num_channels 2770 * @param block_length 2771 * @param subbands 2772 * @param allocation_method 2773 * @param min_bitpool_value 2774 * @param max_bitpool_value 2775 */ 2776 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 0x02u 2777 2778 /** 2779 * @format 12111111111211 2780 * @param subevent_code 2781 * @param a2dp_cid 2782 * @param local_seid 2783 * @param remote_seid 2784 * @param reconfigure 2785 * @param media_type 2786 * @param layer 2787 * @param crc 2788 * @param channel_mode 2789 * @param num_channels 2790 * @param media_payload_format 2791 * @param sampling_frequency 2792 * @param vbr 2793 * @param bit_rate_index 2794 */ 2795 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 0x03u 2796 2797 /** 2798 * @format 12111113131 2799 * @param subevent_code 2800 * @param a2dp_cid 2801 * @param local_seid 2802 * @param remote_seid 2803 * @param reconfigure 2804 * @param media_type 2805 * @param object_type 2806 * @param sampling_frequency 2807 * @param num_channels 2808 * @param bit_rate 2809 * @param vbr 2810 */ 2811 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 0x04u 2812 2813 /** 2814 * @format 1211111112112 2815 * @param subevent_code 2816 * @param a2dp_cid 2817 * @param local_seid 2818 * @param remote_seid 2819 * @param reconfigure 2820 * @param media_type 2821 * @param version 2822 * @param channel_mode 2823 * @param num_channels 2824 * @param sampling_frequency 2825 * @param vbr 2826 * @param bit_rate_index 2827 * @param maximum_sul 2828 */ 2829 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 0x05u 2830 2831 /** 2832 * @format 1211112LV 2833 * @param subevent_code 2834 * @param a2dp_cid 2835 * @param local_seid 2836 * @param remote_seid 2837 * @param reconfigure 2838 * @param media_type 2839 * @param media_codec_type 2840 * @param media_codec_information_len 2841 * @param media_codec_information 2842 */ 2843 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 0x06u 2844 2845 /** 2846 * @format 12B111 Stream is opened but not started. 2847 * @param subevent_code 2848 * @param a2dp_cid 2849 * @param bd_addr 2850 * @param local_seid 2851 * @param remote_seid 2852 * @param status 2853 */ 2854 #define A2DP_SUBEVENT_STREAM_ESTABLISHED 0x07u 2855 2856 /** 2857 * @format 121 If ENABLE_AVDTP_ACCEPTOR_EXPLICIT_START_STREAM_CONFIRMATION, user must explicitly accept stream start. 2858 * @param subevent_code 2859 * @param a2dp_cid 2860 * @param local_seid 2861 */ 2862 #define A2DP_SUBEVENT_START_STREAM_REQUESTED 0x08u 2863 2864 /** 2865 * @format 121 Indicates that media transfer is started. 2866 * @param subevent_code 2867 * @param a2dp_cid 2868 * @param local_seid 2869 */ 2870 #define A2DP_SUBEVENT_STREAM_STARTED 0x09u 2871 2872 /** 2873 * @format 121 Stream is paused. 2874 * @param subevent_code 2875 * @param a2dp_cid 2876 * @param local_seid 2877 */ 2878 #define A2DP_SUBEVENT_STREAM_SUSPENDED 0x0Au 2879 2880 /** 2881 * @format 121 Stream is stopped or aborted. 2882 * @param subevent_code 2883 * @param a2dp_cid 2884 * @param local_seid 2885 */ 2886 #define A2DP_SUBEVENT_STREAM_STOPPED 0x0Bu 2887 2888 /** 2889 * @format 121 Stream is released. 2890 * @param subevent_code 2891 * @param a2dp_cid 2892 * @param local_seid 2893 */ 2894 #define A2DP_SUBEVENT_STREAM_RELEASED 0x0Cu 2895 2896 /** 2897 * @format 1211 2898 * @param subevent_code 2899 * @param a2dp_cid 2900 * @param local_seid 2901 * @param signal_identifier 2902 */ 2903 #define A2DP_SUBEVENT_COMMAND_ACCEPTED 0x0Du 2904 2905 /** 2906 * @format 12111 2907 * @param subevent_code 2908 * @param a2dp_cid 2909 * @param local_seid 2910 * @param is_initiator 2911 * @param signal_identifier 2912 */ 2913 #define A2DP_SUBEVENT_COMMAND_REJECTED 0x0Eu 2914 2915 /** 2916 * @format 12B21 2917 * @param subevent_code 2918 * @param a2dp_cid 2919 * @param bd_addr 2920 * @param con_handle 2921 * @param status 0 == OK 2922 */ 2923 #define A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 0x0Fu 2924 2925 /** 2926 * @format 12 Signaling channel is released. 2927 * @param subevent_code 2928 * @param a2dp_cid 2929 */ 2930 #define A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 0x10u 2931 2932 /** 2933 * @format 1211 Stream was reconfigured 2934 * @param subevent_code 2935 * @param a2dp_cid 2936 * @param local_seid 2937 * @param status 2938 */ 2939 #define A2DP_SUBEVENT_STREAM_RECONFIGURED 0x12u 2940 2941 /** 2942 * @format 12111111111 2943 * @param subevent_code 2944 * @param a2dp_cid 2945 * @param remote_seid 2946 * @param media_type 2947 * @param sampling_frequency_bitmap 2948 * @param channel_mode_bitmap 2949 * @param block_length_bitmap 2950 * @param subbands_bitmap 2951 * @param allocation_method_bitmap 2952 * @param min_bitpool_value 2953 * @param max_bitpool_value 2954 */ 2955 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 0x13u 2956 2957 /** 2958 * @format 12111111112 2959 * @param subevent_code 2960 * @param a2dp_cid 2961 * @param remote_seid 2962 * @param media_type 2963 * @param layer_bitmap 2964 * @param crc 2965 * @param channel_mode_bitmap 2966 * @param media_payload_format 2967 * @param sampling_frequency_bitmap 2968 * @param vbr 2969 * @param bit_rate_index_bitmap 2970 */ 2971 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 0x14u 2972 2973 /** 2974 * @format 121112131 2975 * @param subevent_code 2976 * @param a2dp_cid 2977 * @param remote_seid 2978 * @param media_type 2979 * @param object_type_bitmap 2980 * @param sampling_frequency_bitmap 2981 * @param channels_bitmap 2982 * @param bit_rate 2983 * @param vbr 2984 */ 2985 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 0x15u 2986 2987 /** 2988 * @format 1211111132 2989 * @param subevent_code 2990 * @param a2dp_cid 2991 * @param remote_seid 2992 * @param media_type 2993 * @param version 2994 * @param channel_mode_bitmap 2995 * @param sampling_frequency_bitmap 2996 * @param vbr 2997 * @param bit_rate_index_bitmap 2998 * @param maximum_sul 2999 */ 3000 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 0x16u 3001 3002 /** 3003 * @format 12112LV 3004 * @param subevent_code 3005 * @param a2dp_cid 3006 * @param remote_seid 3007 * @param media_type 3008 * @param media_codec_type 3009 * @param media_codec_information_len 3010 * @param media_codec_information 3011 */ 3012 #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 0x17u 3013 3014 /** 3015 * @format 121 3016 * @param subevent_code 3017 * @param a2dp_cid 3018 * @param remote_seid 3019 */ 3020 #define A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 0x18u 3021 3022 3023 /** 3024 * @format 1212 3025 * @param subevent_code 3026 * @param a2dp_cid 3027 * @param local_seid 3028 * @param delay_100us 3029 */ 3030 #define A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 0x19u 3031 3032 /** 3033 * @format 121 3034 * @param subevent_code 3035 * @param a2dp_cid 3036 * @param remote_seid 3037 */ 3038 #define A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 0x1Au 3039 3040 /** 3041 * @format 12 3042 * @param subevent_code 3043 * @param a2dp_cid 3044 */ 3045 #define A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 0x1Bu 3046 3047 3048 /** AVRCP Subevent */ 3049 3050 /** 3051 * @format 1211 3052 * @param subevent_code 3053 * @param avrcp_cid 3054 * @param command_type 3055 * @param play_status 3056 */ 3057 #define AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 0x01u 3058 3059 /** 3060 * @format 121 3061 * @param subevent_code 3062 * @param avrcp_cid 3063 * @param command_type 3064 */ 3065 #define AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 0x02u 3066 3067 /** 3068 * @format 121 3069 * @param subevent_code 3070 * @param avrcp_cid 3071 * @param command_type 3072 */ 3073 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 0x03u 3074 3075 /** 3076 * @format 121 3077 * @param subevent_code 3078 * @param avrcp_cid 3079 * @param command_type 3080 */ 3081 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 0x04u 3082 3083 /** 3084 * @format 1214 3085 * @param subevent_code 3086 * @param avrcp_cid 3087 * @param command_type 3088 * @param playback_position If no track currently selected, then return 0xFFuFFFFFF in the INTERIM response. 3089 */ 3090 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 0x05u 3091 3092 /** 3093 * @format 1211 3094 * @param subevent_code 3095 * @param avrcp_cid 3096 * @param command_type 3097 * @param battery_status see avrcp_battery_status_t 3098 */ 3099 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 0x06u 3100 3101 /** 3102 * @format 1211 3103 * @param subevent_code 3104 * @param avrcp_cid 3105 * @param command_type 3106 * @param system_status see avrcp_system_status_t 3107 */ 3108 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 0x07u 3109 3110 3111 // 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 3112 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYER_APPLICATION_SETTING_CHANGED 0x08u 3113 3114 /** 3115 * @format 121 3116 * @param subevent_code 3117 * @param avrcp_cid 3118 * @param command_type 3119 */ 3120 #define AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 0x09u 3121 3122 /** 3123 * @format 121 3124 * @param subevent_code 3125 * @param avrcp_cid 3126 * @param command_type 3127 */ 3128 #define AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 0x0Au 3129 3130 // AVRCP_SUBEVENT_NOTIFICATION_EVENT_ADDRESSED_PLAYER_CHANGED = 0x0bu, -- The Addressed Player has been changed, see 6.9.2. 3131 3132 /** 3133 * @format 1212 3134 * @param subevent_code 3135 * @param avrcp_cid 3136 * @param command_type 3137 * @param uid_counter of the currently browsed player 3138 */ 3139 #define AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 0x0Cu 3140 3141 /** 3142 * @format 1211 3143 * @param subevent_code 3144 * @param avrcp_cid 3145 * @param command_type 3146 * @param absolute_volume 3147 */ 3148 #define AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 0x0Du 3149 3150 3151 /** 3152 * @format 1211 3153 * @param subevent_code 3154 * @param avrcp_cid 3155 * @param command_type 3156 * @param absolute_volume 3157 */ 3158 #define AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 0x10u 3159 3160 /** 3161 * @format 12111 3162 * @param subevent_code 3163 * @param avrcp_cid 3164 * @param status 3165 * @param enabled // 1 enabled, 0 disabled 3166 * @param event_id 3167 */ 3168 #define AVRCP_SUBEVENT_NOTIFICATION_STATE 0x11u 3169 3170 /** 3171 * @format 112B2 3172 * @param subevent_code 3173 * @param status 0 == OK 3174 * @param avrcp_cid 3175 * @param bd_addr 3176 * @param con_handle 3177 */ 3178 #define AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 0x12u 3179 3180 /** 3181 * @format 12 3182 * @param subevent_code 3183 * @param avrcp_cid 3184 */ 3185 #define AVRCP_SUBEVENT_CONNECTION_RELEASED 0x13u 3186 3187 /** 3188 * @format 12111 3189 * @param subevent_code 3190 * @param avrcp_cid 3191 * @param command_type 3192 * @param repeat_mode 3193 * @param shuffle_mode 3194 */ 3195 #define AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 0x14u 3196 3197 /** 3198 * @format 121441 3199 * @param subevent_code 3200 * @param avrcp_cid 3201 * @param command_type 3202 * @param song_length 3203 * @param song_position 3204 * @param play_status 3205 */ 3206 #define AVRCP_SUBEVENT_PLAY_STATUS 0x15u 3207 3208 /** 3209 * @format 1211 3210 * @param subevent_code 3211 * @param avrcp_cid 3212 * @param command_type 3213 * @param operation_id 3214 */ 3215 #define AVRCP_SUBEVENT_OPERATION_START 0x16u 3216 3217 /** 3218 * @format 1211 3219 * @param subevent_code 3220 * @param avrcp_cid 3221 * @param command_type 3222 * @param operation_id 3223 */ 3224 #define AVRCP_SUBEVENT_OPERATION_COMPLETE 0x17u 3225 3226 /** 3227 * @format 121 3228 * @param subevent_code 3229 * @param avrcp_cid 3230 * @param command_type 3231 */ 3232 #define AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 0x18u 3233 3234 /** 3235 * @format 12 3236 * @param subevent_code 3237 * @param avrcp_cid 3238 */ 3239 #define AVRCP_SUBEVENT_PLAY_STATUS_QUERY 0x19u 3240 3241 /** 3242 * @format 121111 3243 * @param subevent_code 3244 * @param avrcp_cid 3245 * @param operation_id 3246 * @param button_pressed 3247 * @param operands_length 3248 * @param operand 3249 */ 3250 #define AVRCP_SUBEVENT_OPERATION 0x1Au 3251 3252 /** 3253 * @format 1211 3254 * @param subevent_code 3255 * @param avrcp_cid 3256 * @param command_type 3257 * @param track 3258 */ 3259 #define AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 0x1Bu 3260 3261 /** 3262 * @format 1211 3263 * @param subevent_code 3264 * @param avrcp_cid 3265 * @param command_type 3266 * @param total_tracks 3267 */ 3268 #define AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 0x1Cu 3269 3270 /** 3271 * @format 1214 3272 * @param subevent_code 3273 * @param avrcp_cid 3274 * @param command_type 3275 * @param song_length in ms 3276 */ 3277 #define AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 0x1Du 3278 3279 /** 3280 * @format 121JV 3281 * @param subevent_code 3282 * @param avrcp_cid 3283 * @param command_type 3284 * @param value_len 3285 * @param value 3286 */ 3287 #define AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 0x1Eu 3288 3289 /* 3290 * @format 121JV 3291 * @param subevent_code 3292 * @param avrcp_cid 3293 * @param command_type 3294 * @param value_len 3295 * @param value 3296 */ 3297 #define AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 0x1Fu 3298 3299 /* 3300 * @format 121JV 3301 * @param subevent_code 3302 * @param avrcp_cid 3303 * @param command_type 3304 * @param value_len 3305 * @param value 3306 */ 3307 #define AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 0x20u 3308 3309 /* 3310 * @format 121JV 3311 * @param subevent_code 3312 * @param avrcp_cid 3313 * @param command_type 3314 * @param value_len 3315 * @param value 3316 */ 3317 #define AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 0x21u 3318 3319 /* 3320 * @format 1211 3321 * @param subevent_code 3322 * @param avrcp_cid 3323 * @param command_type 3324 * @param status 3325 */ 3326 #define AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 0x22u 3327 3328 /** 3329 * @format 1214 3330 * @param subevent_code 3331 * @param avrcp_cid 3332 * @param command_type 3333 * @param playback_position_ms 3334 */ 3335 #define AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 0x23u 3336 3337 /* 3338 * @format 12111 3339 * @param subevent_code 3340 * @param avrcp_cid 3341 * @param command_type 3342 * @param status 3343 * @param event_id 3344 */ 3345 #define AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 0x24u 3346 /* 3347 * @format 1211 3348 * @param subevent_code 3349 * @param avrcp_cid 3350 * @param command_type 3351 * @param status 3352 */ 3353 #define AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 0x25u 3354 3355 /* 3356 * @format 12113 3357 * @param subevent_code 3358 * @param avrcp_cid 3359 * @param command_type 3360 * @param status 3361 * @param company_id 3362 */ 3363 #define AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 0x26u 3364 /* 3365 * @format 1211 3366 * @param subevent_code 3367 * @param avrcp_cid 3368 * @param command_type 3369 * @param status 3370 */ 3371 #define AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 0x27u 3372 3373 /** 3374 * @format 1211LV 3375 * @param subevent_code 3376 * @param avrcp_cid 3377 * @param command_type 3378 * @param pdu_id 3379 * @param params_len 3380 * @param params 3381 */ 3382 #define AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 0x28u 3383 3384 3385 /** 3386 * @format 1B2 3387 * @param subevent_code 3388 * @param bd_addr 3389 * @param browsing_cid 3390 */ 3391 #define AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 0x30u 3392 3393 /** 3394 * @format 11B2 3395 * @param subevent_code 3396 * @param status 0 == OK 3397 * @param bd_addr 3398 * @param browsing_cid 3399 */ 3400 #define AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 0x31u 3401 3402 /** 3403 * @format 12 3404 * @param subevent_code 3405 * @param browsing_cid 3406 */ 3407 #define AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 0x32u 3408 3409 /** 3410 * @format 12211 3411 * @param subevent_code 3412 * @param browsing_cid 3413 * @param uid_counter 3414 * @param browsing_status 3415 * @param bluetooth_status 3416 */ 3417 #define AVRCP_SUBEVENT_BROWSING_DONE 0x33u 3418 3419 /** 3420 * @format 1214 3421 * @param subevent_code 3422 * @param browsing_cid 3423 * @param scope 3424 * @param attr_bitmap 3425 */ 3426 #define AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 0x34u 3427 3428 /** 3429 * @format 121 3430 * @param subevent_code 3431 * @param browsing_cid 3432 * @param scope 3433 */ 3434 #define AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 0x35u 3435 3436 /** 3437 * @format 122 3438 * @param subevent_code 3439 * @param browsing_cid 3440 * @param player_id 3441 */ 3442 #define AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 0x36u 3443 3444 3445 /** 3446 * @format 12BH 3447 * @param subevent_code 3448 * @param goep_cid 3449 * @param address 3450 * @param handle 3451 */ 3452 #define GOEP_SUBEVENT_INCOMING_CONNECTION 0x01u 3453 3454 /** 3455 * @format 121BH1 3456 * @param subevent_code 3457 * @param goep_cid 3458 * @param status 3459 * @param bd_addr 3460 * @param con_handle 3461 * @param incoming 3462 */ 3463 #define GOEP_SUBEVENT_CONNECTION_OPENED 0x02u 3464 3465 /** 3466 * @format 12 3467 * @param subevent_code 3468 * @param goep_cid 3469 */ 3470 #define GOEP_SUBEVENT_CONNECTION_CLOSED 0x03u 3471 3472 /** 3473 * @format 12 3474 * @param subevent_code 3475 * @param goep_cid 3476 */ 3477 #define GOEP_SUBEVENT_CAN_SEND_NOW 0x04u 3478 3479 /** 3480 * @format 121BH1 3481 * @param subevent_code 3482 * @param pbap_cid 3483 * @param status 3484 * @param bd_addr 3485 * @param con_handle 3486 * @param incoming 3487 */ 3488 #define PBAP_SUBEVENT_CONNECTION_OPENED 0x01u 3489 3490 /** 3491 * @format 12 3492 * @param subevent_code 3493 * @param goep_cid 3494 */ 3495 #define PBAP_SUBEVENT_CONNECTION_CLOSED 0x02u 3496 3497 /** 3498 * @format 121 3499 * @param subevent_code 3500 * @param goep_cid 3501 * @param status 3502 */ 3503 #define PBAP_SUBEVENT_OPERATION_COMPLETED 0x03u 3504 3505 /** 3506 * @format 1212 3507 * @param subevent_code 3508 * @param goep_cid 3509 * @param status 3510 * @param phonebook_size 3511 */ 3512 #define PBAP_SUBEVENT_PHONEBOOK_SIZE 0x04u 3513 3514 /** 3515 * @format 1211 3516 * @param subevent_code 3517 * @param goep_cid 3518 * @param user_id_required 3519 * @param full_access 3520 */ 3521 #define PBAP_SUBEVENT_AUTHENTICATION_REQUEST 0x05u 3522 3523 /** 3524 * @format 12JVJV 3525 * @param subevent_code 3526 * @param goep_cid 3527 * @param name_len 3528 * @param name 3529 * @param handle_len 3530 * @param handle 3531 */ 3532 #define PBAP_SUBEVENT_CARD_RESULT 0x06u 3533 3534 /** 3535 * @format 121 3536 * @param subevent_code 3537 * @param goep_cid 3538 * @param phonebook 3539 */ 3540 #define PBAP_SUBEVENT_RESET_MISSED_CALLS 0x0Au 3541 3542 /** 3543 * @format 12411 3544 * @param subevent_code 3545 * @param goep_cid 3546 * @param vcard_selector 3547 * @param vcard_selector_operator 3548 * @param phonebook 3549 */ 3550 #define PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 0x0Bu 3551 3552 /** 3553 * @format 1244122411 3554 * @param subevent_code 3555 * @param goep_cid 3556 * @param continuation - value provided by caller of pbap_server_send_pull_response 3557 * @param property_selector 3558 * @param format 3559 * @param max_list_count 0xffff for unlimited 3560 * @param list_start_offset 3561 * @param vcard_selector 3562 * @param vcard_selector_operator 3563 * @param phonebook 3564 */ 3565 #define PBAP_SUBEVENT_PULL_PHONEBOOK 0x0Cu 3566 3567 /** 3568 * @format 124122411JV1 3569 * @param subevent_code 3570 * @param goep_cid 3571 * @param continuation - value provided by caller of pbap_server_send_pull_response 3572 * @param order 3573 * @param max_list_count 0xffff for unlimited 3574 * @param list_start_offset 3575 * @param vcard_selector 3576 * @param vcard_selector_operator 3577 * @param search_property 3578 * @param search_value_len 3579 * @param search_value 3580 * @param phonebook 3581 */ 3582 #define PBAP_SUBEVENT_PULL_VCARD_LISTING 0x0Du 3583 3584 /** 3585 * @format 124411T 3586 * @param subevent_code 3587 * @param goep_cid 3588 * @param continuation - value provided by caller of pbap_server_send_pull_response 3589 * @param property_selector 3590 * @param format 3591 * @param phonebook 3592 * @param name 3593 */ 3594 #define PBAP_SUBEVENT_PULL_VCARD_ENTRY 0x0Eu 3595 3596 3597 // HID Meta Event Group 3598 3599 /** 3600 * @format 12BH 3601 * @param subevent_code 3602 * @param hid_cid 3603 * @param address 3604 * @param handle 3605 */ 3606 #define HID_SUBEVENT_INCOMING_CONNECTION 0x01u 3607 3608 /** 3609 * @format 121BH1 3610 * @param subevent_code 3611 * @param hid_cid 3612 * @param status 3613 * @param bd_addr 3614 * @param con_handle 3615 * @param incoming 3616 */ 3617 #define HID_SUBEVENT_CONNECTION_OPENED 0x02u 3618 3619 /** 3620 * @format 12 3621 * @param subevent_code 3622 * @param hid_cid 3623 */ 3624 #define HID_SUBEVENT_CONNECTION_CLOSED 0x03u 3625 3626 /** 3627 * @format 12 3628 * @param subevent_code 3629 * @param hid_cid 3630 */ 3631 #define HID_SUBEVENT_CAN_SEND_NOW 0x04u 3632 3633 /** 3634 * @format 12 3635 * @param subevent_code 3636 * @param hid_cid 3637 */ 3638 #define HID_SUBEVENT_SUSPEND 0x05u 3639 3640 /** 3641 * @format 12 3642 * @param subevent_code 3643 * @param hid_cid 3644 */ 3645 #define HID_SUBEVENT_EXIT_SUSPEND 0x06u 3646 3647 /** 3648 * @format 12 3649 * @param subevent_code 3650 * @param hid_cid 3651 */ 3652 #define HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 0x07u 3653 3654 /** 3655 * @format 121LV 3656 * @param subevent_code 3657 * @param hid_cid 3658 * @param handshake_status 3659 * @param report_len 3660 * @param report 3661 */ 3662 #define HID_SUBEVENT_GET_REPORT_RESPONSE 0x08u 3663 3664 /** 3665 * @format 121 3666 * @param subevent_code 3667 * @param hid_cid 3668 * @param handshake_status 3669 */ 3670 #define HID_SUBEVENT_SET_REPORT_RESPONSE 0x09u 3671 3672 /** 3673 * @format 1211 3674 * @param subevent_code 3675 * @param hid_cid 3676 * @param handshake_status 3677 * @param protocol_mode 3678 */ 3679 #define HID_SUBEVENT_GET_PROTOCOL_RESPONSE 0x0Au 3680 3681 /** 3682 * @format 1211 3683 * @param subevent_code 3684 * @param hid_cid 3685 * @param handshake_status 3686 * @param protocol_mode 3687 */ 3688 #define HID_SUBEVENT_SET_PROTOCOL_RESPONSE 0x0Bu 3689 3690 /** 3691 * @format 12LV 3692 * @param subevent_code 3693 * @param hid_cid 3694 * @param report_len 3695 * @param report 3696 */ 3697 #define HID_SUBEVENT_REPORT 0x0Cu 3698 3699 /** 3700 * @format 121 3701 * @param subevent_code 3702 * @param hid_cid 3703 * @param status 3704 */ 3705 #define HID_SUBEVENT_DESCRIPTOR_AVAILABLE 0x0Du 3706 3707 /** 3708 * @format 1222 3709 * @param subevent_code 3710 * @param hid_cid 3711 * @param host_max_latency 3712 * @param host_min_timeout 3713 */ 3714 #define HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 0x0Eu 3715 3716 // HIDS Meta Event Group 3717 3718 /** 3719 * @format 12 3720 * @param subevent_code 3721 * @param con_handle 3722 */ 3723 #define HIDS_SUBEVENT_CAN_SEND_NOW 0x01u 3724 3725 /** 3726 * @format 121 3727 * @param subevent_code 3728 * @param con_handle 3729 * @param protocol_mode 3730 */ 3731 #define HIDS_SUBEVENT_PROTOCOL_MODE 0x02u 3732 3733 /** 3734 * @format 121 3735 * @param subevent_code 3736 * @param con_handle 3737 * @param enable 3738 */ 3739 #define HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 0x03u 3740 3741 /** 3742 * @format 121 3743 * @param subevent_code 3744 * @param con_handle 3745 * @param enable 3746 */ 3747 #define HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 0x04u 3748 3749 /** 3750 * @format 121 3751 * @param subevent_code 3752 * @param con_handle 3753 * @param enable 3754 */ 3755 #define HIDS_SUBEVENT_INPUT_REPORT_ENABLE 0x05u 3756 3757 /** 3758 * @format 121 3759 * @param subevent_code 3760 * @param con_handle 3761 * @param enable 3762 */ 3763 #define HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 0x06u 3764 3765 /** 3766 * @format 121 3767 * @param subevent_code 3768 * @param con_handle 3769 * @param enable 3770 */ 3771 #define HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 0x07u 3772 3773 /** 3774 * @format 12 3775 * @param subevent_code 3776 * @param con_handle 3777 */ 3778 #define HIDS_SUBEVENT_SUSPEND 0x08u 3779 3780 /** 3781 * @format 12 3782 * @param subevent_code 3783 * @param con_handle 3784 */ 3785 #define HIDS_SUBEVENT_EXIT_SUSPEND 0x09u 3786 3787 /** 3788 * @format 1211 3789 * @param subevent_code 3790 * @param con_handle 3791 * @param measurement_type 0 - force magnitude, 1 - torque magnitude, see cycling_power_sensor_measurement_context_t 3792 * @param is_enhanced 3793 */ 3794 #define GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 0x01u 3795 3796 /** 3797 * @format 12 3798 * @param subevent_code 3799 * @param con_handle 3800 */ 3801 #define GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 0x02u 3802 3803 /** 3804 * @format 12 3805 * @param subevent_code 3806 * @param con_handle 3807 */ 3808 #define GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 0x03u 3809 3810 /** 3811 * @format 12111 3812 * @param subevent_code 3813 * @param hids_cid 3814 * @param status 3815 * @param num_instances 3816 * @param poll_bitmap 3817 */ 3818 #define GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 0x04u 3819 3820 /** 3821 * @format 12111 3822 * @param subevent_code 3823 * @param hids_cid 3824 * @param sevice_index 3825 * @param att_status see ATT errors in bluetooth.h 3826 * @param level 3827 */ 3828 #define GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 0x05u 3829 3830 /** 3831 * @format 1H1 3832 * @param subevent_code 3833 * @param con_handle 3834 * @param att_status 3835 */ 3836 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 0x06u 3837 3838 /** 3839 * @format 1H1T 3840 * @param subevent_code 3841 * @param con_handle 3842 * @param att_status 3843 * @param value 3844 */ 3845 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 0x07u 3846 3847 /** 3848 * @format 1H1T 3849 * @param subevent_code 3850 * @param con_handle 3851 * @param att_status 3852 * @param value 3853 */ 3854 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 0x08u 3855 3856 /** 3857 * @format 1H1T 3858 * @param subevent_code 3859 * @param con_handle 3860 * @param att_status 3861 * @param value 3862 */ 3863 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 0x09u 3864 3865 /** 3866 * @format 1H1T 3867 * @param subevent_code 3868 * @param con_handle 3869 * @param att_status 3870 * @param value 3871 */ 3872 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 0x0Au 3873 3874 /** 3875 * @format 1H1T 3876 * @param subevent_code 3877 * @param con_handle 3878 * @param att_status 3879 * @param value 3880 */ 3881 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 0x0Bu 3882 3883 /** 3884 * @format 1H1T 3885 * @param subevent_code 3886 * @param con_handle 3887 * @param att_status 3888 * @param value 3889 */ 3890 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 0x0Cu 3891 3892 /** 3893 * @format 1H1413 3894 * @param subevent_code 3895 * @param con_handle 3896 * @param att_status 3897 * @param manufacturer_id_low 3898 * @param manufacturer_id_high 3899 * @param organizationally_unique_id 3900 */ 3901 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 0x0Du 3902 3903 /** 3904 * @format 1H122 3905 * @param subevent_code 3906 * @param con_handle 3907 * @param att_status 3908 * @param value_a 3909 * @param value_b 3910 */ 3911 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 0x0Eu 3912 3913 /** 3914 * @format 1H11222 3915 * @param subevent_code 3916 * @param con_handle 3917 * @param att_status 3918 * @param vendor_source_id 3919 * @param vendor_id 3920 * @param product_id 3921 * @param product_version 3922 */ 3923 #define GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 0x0Fu 3924 3925 /** 3926 * @format 1H1 3927 * @param subevent_code 3928 * @param con_handle 3929 * @param att_status 3930 */ 3931 #define GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 0x10u 3932 3933 /** 3934 * @format 1H 3935 * @param subevent_code 3936 * @param con_handle 3937 */ 3938 #define GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 0x11u 3939 3940 /** 3941 * @format 1H 3942 * @param subevent_code 3943 * @param con_handle 3944 */ 3945 #define GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 0x12u 3946 3947 /** 3948 * @format 12111 3949 * @param subevent_code 3950 * @param hids_cid 3951 * @param status 3952 * @param protocol_mode 3953 * @param num_instances 3954 */ 3955 #define GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 0x13u 3956 3957 /** 3958 * @format 1211LV 3959 * @param subevent_code 3960 * @param hids_cid 3961 * @param service_index 3962 * @param report_id 3963 * @param report_len 3964 * @param report 3965 */ 3966 #define GATTSERVICE_SUBEVENT_HID_REPORT 0x14u 3967 3968 /** 3969 * @format 1212111 3970 * @param subevent_code 3971 * @param hids_cid 3972 * @param service_index 3973 * @param base_usb_hid_version Version number of base USB HID Specification implemented by HID Device 3974 * @param country_code Country HID Device hardware is localized for (not localized: 0x00) 3975 * @param remote_wake Indicates whether HID Device is capable of sending a wake-signal to a HID Host 3976 * @param normally_connectable Indicates whether HID Device will be advertising when bonded but not connected. 3977 */ 3978 #define GATTSERVICE_SUBEVENT_HID_INFORMATION 0x15u 3979 3980 /** 3981 * @format 1211 3982 * @param subevent_code 3983 * @param hids_cid 3984 * @param service_index 3985 * @param protocol_mode see hid_protocol_mode_t in btstack_hid.h 3986 */ 3987 #define GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 0x16u 3988 3989 /** 3990 * @format 121 3991 * @param subevent_code 3992 * @param hids_cid 3993 * @param configuration 3994 */ 3995 #define GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 0x17u 3996 3997 /** 3998 * @format 1H22 3999 * @param subevent_code 4000 * @param con_handle 4001 * @param max_scan_interval 4002 * @param min_scan_window 4003 */ 4004 #define GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 0x18u 4005 4006 // LE Audio 4007 4008 /** 4009 * @format 121 4010 * @param subevent_code 4011 * @param hids_cid 4012 * @param status 4013 */ 4014 #define GATTSERVICE_SUBEVENT_MICS_CONNECTED 0x19u 4015 4016 /** 4017 * @format 1211 4018 * @param subevent_code 4019 * @param cid 4020 * @param status 4021 * @param state 4022 */ 4023 #define GATTSERVICE_SUBEVENT_REMOTE_MICS_MUTE 0x1Au 4024 4025 /** 4026 * @format 121 4027 * @param subevent_code 4028 * @param con_handle 4029 * @param state 4030 */ 4031 #define GATTSERVICE_SUBEVENT_LOCAL_MICS_MUTE 0x1Bu 4032 4033 /** 4034 * @format 1211 4035 * @param subevent_code 4036 * @param con_handle 4037 * @param index 4038 * @param state 4039 */ 4040 #define GATTSERVICE_SUBEVENT_AICS_MUTE_MODE 0x1Cu 4041 4042 /** 4043 * @format 1211 4044 * @param subevent_code 4045 * @param con_handle 4046 * @param index 4047 * @param state 4048 */ 4049 #define GATTSERVICE_SUBEVENT_AICS_GAIN_MODE 0x1Du 4050 4051 /** 4052 * @format 1211 4053 * @param subevent_code 4054 * @param con_handle 4055 * @param index 4056 * @param gain_db 4057 */ 4058 #define GATTSERVICE_SUBEVENT_AICS_GAIN_CHANGED 0x1Eu 4059 4060 /** 4061 * @format 121JV 4062 * @param subevent_code 4063 * @param con_handle 4064 * @param index 4065 * @param description_len 4066 * @param description 4067 */ 4068 #define GATTSERVICE_SUBEVENT_AICS_AUDIO_INPUT_DESC_CHANGED 0x20u 4069 4070 /** 4071 * @format 1212 4072 * @param subevent_code 4073 * @param con_handle 4074 * @param index 4075 * @param volume_offset 4076 */ 4077 #define GATTSERVICE_SUBEVENT_VOCS_VOLUME_OFFSET 0x21u 4078 4079 /** 4080 * @format 1214 4081 * @param subevent_code 4082 * @param con_handle 4083 * @param index 4084 * @param audio_location 4085 */ 4086 #define GATTSERVICE_SUBEVENT_VOCS_AUDIO_LOCATION 0x22u 4087 4088 /** 4089 * @format 121JV 4090 * @param subevent_code 4091 * @param con_handle 4092 * @param index 4093 * @param description_len 4094 * @param description 4095 */ 4096 #define GATTSERVICE_SUBEVENT_VOCS_AUDIO_OUTPUT_DESC_CHANGED 0x23u 4097 4098 /** 4099 * @format 12111 4100 * @param subevent_code 4101 * @param con_handle 4102 * @param volume_setting 4103 * @param volume_change_step 4104 * @param mute 4105 */ 4106 #define GATTSERVICE_SUBEVENT_VCS_VOLUME_STATE 0x24u 4107 4108 /** 4109 * @format 121 4110 * @param subevent_code 4111 * @param con_handle 4112 * @param flags 4113 */ 4114 #define GATTSERVICE_SUBEVENT_VCS_VOLUME_FLAGS 0x25u 4115 4116 4117 // MAP Meta Event Group 4118 4119 /** 4120 * @format 121BH1 4121 * @param subevent_code 4122 * @param map_cid 4123 * @param status 4124 * @param bd_addr 4125 * @param con_handle 4126 * @param incoming 4127 */ 4128 #define MAP_SUBEVENT_CONNECTION_OPENED 0x01u 4129 4130 /** 4131 * @format 12 4132 * @param subevent_code 4133 * @param map_cid 4134 */ 4135 #define MAP_SUBEVENT_CONNECTION_CLOSED 0x02u 4136 4137 /** 4138 * @format 121 4139 * @param subevent_code 4140 * @param map_cid 4141 * @param status 4142 */ 4143 #define MAP_SUBEVENT_OPERATION_COMPLETED 0x03u 4144 4145 4146 /** 4147 * @format 12LV 4148 * @param subevent_code 4149 * @param map_cid 4150 * @param name_len 4151 * @param name 4152 */ 4153 #define MAP_SUBEVENT_FOLDER_LISTING_ITEM 0x04u 4154 4155 /** 4156 * @format 12D 4157 * @param subevent_code 4158 * @param map_cid 4159 * @param handle 4160 4161 */ 4162 #define MAP_SUBEVENT_MESSAGE_LISTING_ITEM 0x05u 4163 4164 /** 4165 * @format 12 4166 * @param subevent_code 4167 * @param map_cid 4168 */ 4169 #define MAP_SUBEVENT_PARSING_DONE 0x06u 4170 4171 4172 // MESH Meta Event Group 4173 4174 /** 4175 * @format 1 4176 * @param subevent_code 4177 */ 4178 #define MESH_SUBEVENT_CAN_SEND_NOW 0x01u 4179 4180 /** 4181 * @format 11 4182 * @param subevent_code 4183 * @param status 4184 */ 4185 #define MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 0x02u 4186 4187 /** 4188 * @format 1121 4189 * @param subevent_code 4190 * @param status 4191 * @param pb_transport_cid 4192 * @param pb_type 4193 */ 4194 #define MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 0x03u 4195 4196 /** 4197 * @format 112 4198 * @param subevent_code 4199 * @param pb_transport_cid 4200 * @param reason 4201 */ 4202 #define MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 0x04u 4203 4204 /** 4205 * @format 121 4206 * @param subevent_code 4207 * @param pb_transport_cid 4208 * @param attention_time in seconds 4209 */ 4210 #define MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 0x10u 4211 4212 /** 4213 * Device Role 4214 * @format 12 4215 * @param subevent_code 4216 * @param pb_transport_cid 4217 */ 4218 #define MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 0x11u 4219 4220 /** 4221 * Device Role 4222 * @format 12 4223 * @param subevent_code 4224 * @param pb_transport_cid 4225 */ 4226 #define MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 0x12u 4227 4228 /** 4229 * Device Role 4230 * @format 12 4231 * @param subevent_code 4232 * @param pb_transport_cid 4233 */ 4234 #define MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 0x13u 4235 4236 /** 4237 * Device Role 4238 * @format 124 4239 * @param subevent_code 4240 * @param pb_transport_cid 4241 * @param output_oob number 4242 */ 4243 #define MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 0x15u 4244 4245 /** 4246 * Device Role 4247 * @format 12 4248 * @param subevent_code 4249 * @param pb_transport_cid 4250 */ 4251 #define MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 0x16u 4252 4253 /** 4254 * Provisioner Role 4255 * @format 12 4256 * @param subevent_code 4257 * @param pb_transport_cid 4258 */ 4259 #define MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 0x17u 4260 4261 /** 4262 * Provisioner Role 4263 * @format 12 4264 * @param subevent_code 4265 * @param pb_transport_cid 4266 */ 4267 #define MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 0x18u 4268 4269 /** 4270 * Provisioner Role 4271 * @format 12 4272 * @param subevent_code 4273 * @param pb_transport_cid 4274 */ 4275 #define MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 0x19u 4276 4277 /** 4278 * Provisioner Role 4279 * @format 124 4280 * @param subevent_code 4281 * @param pb_transport_cid 4282 * @param output_oob number 4283 */ 4284 #define MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 0x1au 4285 4286 /** 4287 * Provisioner Role 4288 * @format 12 4289 * @param subevent_code 4290 * @param pb_transport_cid 4291 */ 4292 #define MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 0x1bu 4293 4294 /** 4295 * Provisioner Role 4296 * @format 1212111212 4297 * @param subevent_code 4298 * @param pb_transport_cid 4299 * @param num_elements 4300 * @param algorithms 4301 * @param public_key 4302 * @param static_oob_type 4303 * @param output_oob_size 4304 * @param output_oob_action 4305 * @param input_oob_size 4306 * @param input_oob_action 4307 */ 4308 #define MESH_SUBEVENT_PB_PROV_CAPABILITIES 0x1cu 4309 4310 /** 4311 * @format 12 4312 * @param subevent_code 4313 * @param pb_transport_cid 4314 */ 4315 #define MESH_SUBEVENT_PB_PROV_COMPLETE 0x1du 4316 4317 /** 4318 * @format 11 4319 * @param subevent_code 4320 * @param attention_time in seconds 4321 */ 4322 #define MESH_SUBEVENT_ATTENTION_TIMER 0x1eu 4323 4324 /** 4325 * @format 1H 4326 * @param subevent_code 4327 * @param con_handle 4328 */ 4329 #define MESH_SUBEVENT_PROXY_CONNECTED 0x20u 4330 4331 /** 4332 * @format 1H 4333 * @param subevent_code 4334 * @param con_handle 4335 */ 4336 #define MESH_SUBEVENT_PROXY_PDU_SENT 0x21u 4337 4338 /** 4339 * @format 1H 4340 * @param subevent_code 4341 * @param con_handle 4342 */ 4343 #define MESH_SUBEVENT_PROXY_DISCONNECTED 0x22u 4344 4345 /** 4346 * @format 1H 4347 * @param subevent_code 4348 * @param con_handle 4349 */ 4350 #define MESH_SUBEVENT_MESSAGE_SENT 0x23u 4351 4352 /** 4353 * @format 114411 4354 * @param subevent_code 4355 * @param element_index 4356 * @param model_identifier 4357 * @param state_identifier 4358 * @param reason 4359 * @param value 4360 */ 4361 #define MESH_SUBEVENT_STATE_UPDATE_BOOL 0x24u 4362 4363 /** 4364 * @format 114412 4365 * @param subevent_code 4366 * @param element_index 4367 * @param model_identifier 4368 * @param state_identifier 4369 * @param reason 4370 * @param value 4371 */ 4372 #define MESH_SUBEVENT_STATE_UPDATE_INT16 0x25u 4373 4374 // Mesh Client Events 4375 /** 4376 * @format 11442 4377 * @param subevent_code 4378 * @param element_index 4379 * @param model_identifier 4380 * @param opcode 4381 * @param dest 4382 */ 4383 #define MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 0x30u 4384 4385 /** 4386 * @format 121114 4387 * @param subevent_code 4388 * @param dest 4389 * @param status 4390 * @param present_value 4391 * @param target_value optional, if value > 0, than remaining_time_ms must be read 4392 * @param remaining_time_ms 4393 */ 4394 #define MESH_SUBEVENT_GENERIC_ON_OFF 0x31u 4395 4396 /** 4397 * @format 121224 4398 * @param subevent_code 4399 * @param dest 4400 * @param status 4401 * @param present_value 4402 * @param target_value optional, if value > 0, than remaining_time_ms must be read 4403 * @param remaining_time_ms 4404 */ 4405 #define MESH_SUBEVENT_GENERIC_LEVEL 0x32u 4406 4407 /** 4408 * @format 1222211 4409 * @param subevent_code 4410 * @param dest 4411 * @param netkey_index 4412 * @param appkey_index 4413 * @param company_id 4414 * @param test_id 4415 * @param acknowledged 4416 */ 4417 #define MESH_SUBEVENT_HEALTH_PERFORM_TEST 0x33u 4418 4419 /** 4420 * @format 11 4421 * @param subevent_code 4422 * @param element_index 4423 */ 4424 #define MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 0x34u 4425 4426 /** 4427 * @format 1211 4428 * @param subevent_code 4429 * @param dest 4430 * @param status 4431 * @param transition_time_gdtt 4432 */ 4433 #define MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 0x35u 4434 4435 /** 4436 * @format 1211 4437 * @param subevent_code 4438 * @param dest 4439 * @param foundation_status 4440 * @param secure_network_beacon_state 4441 */ 4442 #define MESH_SUBEVENT_CONFIGURATION_BEACON 0x36u 4443 4444 // Composition Data has variable of element descriptions, with two lists of model lists 4445 // Use .. getters to access data 4446 #define MESH_SUBEVENT_CONFIGURATION_COMPOSITION_DATA 0x37u 4447 4448 /** 4449 * @format 1211 4450 * @param subevent_code 4451 * @param dest 4452 * @param foundation_status 4453 * @param default_ttl 4454 */ 4455 #define MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 0x38u 4456 4457 /** 4458 * @format 1211 4459 * @param subevent_code 4460 * @param dest 4461 * @param foundation_status 4462 * @param gatt_proxy_state 4463 */ 4464 #define MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 0x39u 4465 4466 /** 4467 * @format 121111 4468 * @param subevent_code 4469 * @param dest 4470 * @param foundation_status 4471 * @param relay 4472 * @param retransmit_count the number of times that packet is transmitted for each packet that is relayed. 4473 * @param retransmit_interval_ms retransmission interval in ms 4474 */ 4475 #define MESH_SUBEVENT_CONFIGURATION_RELAY 0x40u 4476 4477 4478 /** 4479 * @format 12122111114 4480 * @param subevent_code 4481 * @param dest element_address 4482 * @param foundation_status 4483 * @param publish_address 4484 * @param appkey_index 4485 * @param credential_flag 4486 * @param publish_ttl 4487 * @param publish_period 4488 * @param publish_retransmit_count 4489 * @param publish_retransmit_interval_steps 4490 * @param model_identifier 4491 */ 4492 #define MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 0x41u 4493 4494 /** 4495 * @format 12124 4496 * @param subevent_code 4497 * @param dest 4498 * @param foundation_status 4499 * @param address 4500 * @param model_identifier 4501 */ 4502 #define MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 0x42u 4503 4504 /** 4505 * @format 1214112 4506 * @param subevent_code 4507 * @param dest 4508 * @param foundation_status 4509 * @param model_identifier 4510 * @param num_subscription_addresses 4511 * @param subscription_address_pos 4512 * @param subscription_address_item 4513 */ 4514 #define MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 0x43u 4515 4516 4517 /** 4518 * @format 121 4519 * @param subevent_code 4520 * @param dest 4521 * @param foundation_status 4522 */ 4523 #define MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 0x44u 4524 4525 /** 4526 * @format 121112 4527 * @param subevent_code 4528 * @param dest 4529 * @param foundation_status 4530 * @param num_netkey_indexes 4531 * @param netkey_index_pos 4532 * @param netkey_index_item 4533 */ 4534 #define MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 0x45u 4535 4536 /** 4537 * @format 12122 4538 * @param subevent_code 4539 * @param dest 4540 * @param foundation_status 4541 * @param netkey_index_item 4542 * @param appkey_index_item 4543 */ 4544 #define MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 0x46u 4545 4546 /** 4547 * @format 12121122 4548 * @param subevent_code 4549 * @param dest 4550 * @param foundation_status 4551 * @param netkey_index 4552 * @param num_appkey_indexes 4553 * @param appkey_index_pos 4554 * @param netkey_index_item 4555 * @param appkey_index_item 4556 */ 4557 #define MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 0x47u 4558 4559 /** 4560 * @format 12121 4561 * @param subevent_code 4562 * @param dest 4563 * @param foundation_status 4564 * @param netkey_index_item 4565 * @param identity_status 4566 */ 4567 #define MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 0x48u 4568 4569 /** 4570 * @format 12124 4571 * @param subevent_code 4572 * @param dest 4573 * @param foundation_status 4574 * @param appkey_index 4575 * @param model_identifier 4576 */ 4577 #define MESH_SUBEVENT_CONFIGURATION_MODEL_APP 0x49u 4578 4579 /** 4580 * @format 1214112 4581 * @param subevent_code 4582 * @param dest 4583 * @param foundation_status 4584 * @param model_id 4585 * @param num_appkey_indexes 4586 * @param appkey_index_pos 4587 * @param appkey_index_item 4588 */ 4589 #define MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 0x50u 4590 4591 /** 4592 * @format 121 4593 * @param subevent_code 4594 * @param dest 4595 * @param foundation_status 4596 */ 4597 #define MESH_SUBEVENT_CONFIGURATION_NODE_RESET 0x51u 4598 4599 /** 4600 * @format 1211 4601 * @param subevent_code 4602 * @param dest 4603 * @param foundation_status 4604 * @param friend_state 4605 */ 4606 #define MESH_SUBEVENT_CONFIGURATION_FRIEND 0x52u 4607 4608 /** 4609 * @format 12121 4610 * @param subevent_code 4611 * @param dest 4612 * @param foundation_status 4613 * @param netkey_index 4614 * @param phase 4615 */ 4616 #define MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 0x53u 4617 4618 /** 4619 * @format 121222122 4620 * @param subevent_code 4621 * @param dest 4622 * @param foundation_status 4623 * @param heartbeat_destination 4624 * @param count_S 4625 * @param period_S 4626 * @param ttl 4627 * @param features 4628 * @param netkey_index 4629 */ 4630 #define MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 0x54u 4631 4632 /** 4633 * @format 121222211 4634 * @param subevent_code 4635 * @param dest 4636 * @param foundation_status 4637 * @param heartbeat_destination 4638 * @param heartbeat_source 4639 * @param count_S 4640 * @param period_S 4641 * @param min_hops 4642 * @param max_hops 4643 */ 4644 #define MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 0x55u 4645 4646 /** 4647 * @format 12123 4648 * @param subevent_code 4649 * @param dest 4650 * @param foundation_status 4651 * @param lpn_address 4652 * @param poll_timeout 4653 */ 4654 #define MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 0x56u 4655 4656 /** 4657 * @format 12112 4658 * @param subevent_code 4659 * @param dest 4660 * @param foundation_status 4661 * @param transmit_count 4662 * @param transmit_interval_steps_ms 4663 */ 4664 #define MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 0x57u 4665 4666 4667 #endif 4668