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