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