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