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