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