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