1 /* 2 * Copyright (C) 2016 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 MATTHIAS 24 * RINGWALD 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_event.h 41 * 42 * @brief BTstack event getter/setter 43 * @note Don't edit - generated by tool/btstack_event_generator.py 44 * 45 */ 46 47 #ifndef BTSTACK_EVENT_H 48 #define BTSTACK_EVENT_H 49 50 #if defined __cplusplus 51 extern "C" { 52 #endif 53 54 #include "btstack_util.h" 55 #include <stdint.h> 56 57 #ifdef ENABLE_BLE 58 #include "ble/gatt_client.h" 59 #endif 60 61 /* API_START */ 62 63 /** 64 * @brief Get event type 65 * @param event 66 * @return type of event 67 */ 68 static inline uint8_t hci_event_packet_get_type(const uint8_t * event){ 69 return event[0]; 70 } 71 72 /*** 73 * @brief Get subevent code for a2dp event 74 * @param event packet 75 * @return subevent_code 76 */ 77 static inline uint8_t hci_event_a2dp_meta_get_subevent_code(const uint8_t * event){ 78 return event[2]; 79 } 80 /*** 81 * @brief Get subevent code for ancs event 82 * @param event packet 83 * @return subevent_code 84 */ 85 static inline uint8_t hci_event_ancs_meta_get_subevent_code(const uint8_t * event){ 86 return event[2]; 87 } 88 /*** 89 * @brief Get subevent code for avdtp event 90 * @param event packet 91 * @return subevent_code 92 */ 93 static inline uint8_t hci_event_avdtp_meta_get_subevent_code(const uint8_t * event){ 94 return event[2]; 95 } 96 /*** 97 * @brief Get subevent code for avrcp event 98 * @param event packet 99 * @return subevent_code 100 */ 101 static inline uint8_t hci_event_avrcp_meta_get_subevent_code(const uint8_t * event){ 102 return event[2]; 103 } 104 /*** 105 * @brief Get subevent code for gattservice event 106 * @param event packet 107 * @return subevent_code 108 */ 109 static inline uint8_t hci_event_gattservice_meta_get_subevent_code(const uint8_t * event){ 110 return event[2]; 111 } 112 /*** 113 * @brief Get subevent code for goep event 114 * @param event packet 115 * @return subevent_code 116 */ 117 static inline uint8_t hci_event_goep_meta_get_subevent_code(const uint8_t * event){ 118 return event[2]; 119 } 120 /*** 121 * @brief Get subevent code for hfp event 122 * @param event packet 123 * @return subevent_code 124 */ 125 static inline uint8_t hci_event_hfp_meta_get_subevent_code(const uint8_t * event){ 126 return event[2]; 127 } 128 /*** 129 * @brief Get subevent code for hid event 130 * @param event packet 131 * @return subevent_code 132 */ 133 static inline uint8_t hci_event_hid_meta_get_subevent_code(const uint8_t * event){ 134 return event[2]; 135 } 136 /*** 137 * @brief Get subevent code for hids event 138 * @param event packet 139 * @return subevent_code 140 */ 141 static inline uint8_t hci_event_hids_meta_get_subevent_code(const uint8_t * event){ 142 return event[2]; 143 } 144 /*** 145 * @brief Get subevent code for hsp event 146 * @param event packet 147 * @return subevent_code 148 */ 149 static inline uint8_t hci_event_hsp_meta_get_subevent_code(const uint8_t * event){ 150 return event[2]; 151 } 152 /*** 153 * @brief Get subevent code for le event 154 * @param event packet 155 * @return subevent_code 156 */ 157 static inline uint8_t hci_event_le_meta_get_subevent_code(const uint8_t * event){ 158 return event[2]; 159 } 160 /*** 161 * @brief Get subevent code for map event 162 * @param event packet 163 * @return subevent_code 164 */ 165 static inline uint8_t hci_event_map_meta_get_subevent_code(const uint8_t * event){ 166 return event[2]; 167 } 168 /*** 169 * @brief Get subevent code for mesh event 170 * @param event packet 171 * @return subevent_code 172 */ 173 static inline uint8_t hci_event_mesh_meta_get_subevent_code(const uint8_t * event){ 174 return event[2]; 175 } 176 /*** 177 * @brief Get subevent code for pbap event 178 * @param event packet 179 * @return subevent_code 180 */ 181 static inline uint8_t hci_event_pbap_meta_get_subevent_code(const uint8_t * event){ 182 return event[2]; 183 } 184 /** 185 * @brief Get field status from event HCI_EVENT_INQUIRY_COMPLETE 186 * @param event packet 187 * @return status 188 * @note: btstack_type 1 189 */ 190 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){ 191 return event[2]; 192 } 193 194 /** 195 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT 196 * @param event packet 197 * @return num_responses 198 * @note: btstack_type 1 199 */ 200 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){ 201 return event[2]; 202 } 203 /** 204 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT 205 * @param event packet 206 * @param Pointer to storage for bd_addr 207 * @note: btstack_type B 208 */ 209 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 210 reverse_bd_addr(&event[3], bd_addr); 211 } 212 /** 213 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT 214 * @param event packet 215 * @return page_scan_repetition_mode 216 * @note: btstack_type 1 217 */ 218 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 219 return event[9]; 220 } 221 /** 222 * @brief Get field reserved1 from event HCI_EVENT_INQUIRY_RESULT 223 * @param event packet 224 * @return reserved1 225 * @note: btstack_type 1 226 */ 227 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){ 228 return event[10]; 229 } 230 /** 231 * @brief Get field reserved2 from event HCI_EVENT_INQUIRY_RESULT 232 * @param event packet 233 * @return reserved2 234 * @note: btstack_type 1 235 */ 236 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){ 237 return event[11]; 238 } 239 /** 240 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT 241 * @param event packet 242 * @return class_of_device 243 * @note: btstack_type 3 244 */ 245 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){ 246 return little_endian_read_24(event, 12); 247 } 248 /** 249 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT 250 * @param event packet 251 * @return clock_offset 252 * @note: btstack_type 2 253 */ 254 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){ 255 return little_endian_read_16(event, 15); 256 } 257 258 /** 259 * @brief Get field status from event HCI_EVENT_CONNECTION_COMPLETE 260 * @param event packet 261 * @return status 262 * @note: btstack_type 1 263 */ 264 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){ 265 return event[2]; 266 } 267 /** 268 * @brief Get field connection_handle from event HCI_EVENT_CONNECTION_COMPLETE 269 * @param event packet 270 * @return connection_handle 271 * @note: btstack_type 2 272 */ 273 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){ 274 return little_endian_read_16(event, 3); 275 } 276 /** 277 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_COMPLETE 278 * @param event packet 279 * @param Pointer to storage for bd_addr 280 * @note: btstack_type B 281 */ 282 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 283 reverse_bd_addr(&event[5], bd_addr); 284 } 285 /** 286 * @brief Get field link_type from event HCI_EVENT_CONNECTION_COMPLETE 287 * @param event packet 288 * @return link_type 289 * @note: btstack_type 1 290 */ 291 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){ 292 return event[11]; 293 } 294 /** 295 * @brief Get field encryption_enabled from event HCI_EVENT_CONNECTION_COMPLETE 296 * @param event packet 297 * @return encryption_enabled 298 * @note: btstack_type 1 299 */ 300 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){ 301 return event[12]; 302 } 303 304 /** 305 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_REQUEST 306 * @param event packet 307 * @param Pointer to storage for bd_addr 308 * @note: btstack_type B 309 */ 310 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 311 reverse_bd_addr(&event[2], bd_addr); 312 } 313 /** 314 * @brief Get field class_of_device from event HCI_EVENT_CONNECTION_REQUEST 315 * @param event packet 316 * @return class_of_device 317 * @note: btstack_type 3 318 */ 319 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){ 320 return little_endian_read_24(event, 8); 321 } 322 /** 323 * @brief Get field link_type from event HCI_EVENT_CONNECTION_REQUEST 324 * @param event packet 325 * @return link_type 326 * @note: btstack_type 1 327 */ 328 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){ 329 return event[11]; 330 } 331 332 /** 333 * @brief Get field status from event HCI_EVENT_DISCONNECTION_COMPLETE 334 * @param event packet 335 * @return status 336 * @note: btstack_type 1 337 */ 338 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){ 339 return event[2]; 340 } 341 /** 342 * @brief Get field connection_handle from event HCI_EVENT_DISCONNECTION_COMPLETE 343 * @param event packet 344 * @return connection_handle 345 * @note: btstack_type 2 346 */ 347 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){ 348 return little_endian_read_16(event, 3); 349 } 350 /** 351 * @brief Get field reason from event HCI_EVENT_DISCONNECTION_COMPLETE 352 * @param event packet 353 * @return reason 354 * @note: btstack_type 1 355 */ 356 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){ 357 return event[5]; 358 } 359 360 /** 361 * @brief Get field status from event HCI_EVENT_AUTHENTICATION_COMPLETE 362 * @param event packet 363 * @return status 364 * @note: btstack_type 1 365 */ 366 static inline uint8_t hci_event_authentication_complete_get_status(const uint8_t * event){ 367 return event[2]; 368 } 369 /** 370 * @brief Get field connection_handle from event HCI_EVENT_AUTHENTICATION_COMPLETE 371 * @param event packet 372 * @return connection_handle 373 * @note: btstack_type 2 374 */ 375 static inline uint16_t hci_event_authentication_complete_get_connection_handle(const uint8_t * event){ 376 return little_endian_read_16(event, 3); 377 } 378 379 /** 380 * @brief Get field status from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 381 * @param event packet 382 * @return status 383 * @note: btstack_type 1 384 */ 385 static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){ 386 return event[2]; 387 } 388 /** 389 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 390 * @param event packet 391 * @param Pointer to storage for bd_addr 392 * @note: btstack_type B 393 */ 394 static inline void hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 395 reverse_bd_addr(&event[3], bd_addr); 396 } 397 /** 398 * @brief Get field remote_name from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 399 * @param event packet 400 * @return remote_name 401 * @note: btstack_type N 402 */ 403 static inline const char * hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){ 404 return (const char *) &event[9]; 405 } 406 407 /** 408 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE 409 * @param event packet 410 * @return status 411 * @note: btstack_type 1 412 */ 413 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){ 414 return event[2]; 415 } 416 /** 417 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE 418 * @param event packet 419 * @return connection_handle 420 * @note: btstack_type 2 421 */ 422 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){ 423 return little_endian_read_16(event, 3); 424 } 425 /** 426 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE 427 * @param event packet 428 * @return encryption_enabled 429 * @note: btstack_type 1 430 */ 431 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){ 432 return event[5]; 433 } 434 435 /** 436 * @brief Get field status from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 437 * @param event packet 438 * @return status 439 * @note: btstack_type 1 440 */ 441 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){ 442 return event[2]; 443 } 444 /** 445 * @brief Get field connection_handle from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 446 * @param event packet 447 * @return connection_handle 448 * @note: btstack_type 2 449 */ 450 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){ 451 return little_endian_read_16(event, 3); 452 } 453 454 /** 455 * @brief Get field status from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 456 * @param event packet 457 * @return status 458 * @note: btstack_type 1 459 */ 460 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){ 461 return event[2]; 462 } 463 /** 464 * @brief Get field connection_handle from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 465 * @param event packet 466 * @return connection_handle 467 * @note: btstack_type 2 468 */ 469 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){ 470 return little_endian_read_16(event, 3); 471 } 472 /** 473 * @brief Get field key_flag from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 474 * @param event packet 475 * @return key_flag 476 * @note: btstack_type 1 477 */ 478 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){ 479 return event[5]; 480 } 481 482 /** 483 * @brief Get field status from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 484 * @param event packet 485 * @return status 486 * @note: btstack_type 1 487 */ 488 static inline uint8_t hci_event_read_remote_version_information_complete_get_status(const uint8_t * event){ 489 return event[2]; 490 } 491 /** 492 * @brief Get field connection_handle from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 493 * @param event packet 494 * @return connection_handle 495 * @note: btstack_type 2 496 */ 497 static inline uint16_t hci_event_read_remote_version_information_complete_get_connection_handle(const uint8_t * event){ 498 return little_endian_read_16(event, 3); 499 } 500 /** 501 * @brief Get field version from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 502 * @param event packet 503 * @return version 504 * @note: btstack_type 1 505 */ 506 static inline uint8_t hci_event_read_remote_version_information_complete_get_version(const uint8_t * event){ 507 return event[5]; 508 } 509 /** 510 * @brief Get field manufacturer_name from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 511 * @param event packet 512 * @return manufacturer_name 513 * @note: btstack_type 2 514 */ 515 static inline uint16_t hci_event_read_remote_version_information_complete_get_manufacturer_name(const uint8_t * event){ 516 return little_endian_read_16(event, 6); 517 } 518 /** 519 * @brief Get field subversion from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 520 * @param event packet 521 * @return subversion 522 * @note: btstack_type 2 523 */ 524 static inline uint16_t hci_event_read_remote_version_information_complete_get_subversion(const uint8_t * event){ 525 return little_endian_read_16(event, 8); 526 } 527 528 /** 529 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_COMPLETE 530 * @param event packet 531 * @return num_hci_command_packets 532 * @note: btstack_type 1 533 */ 534 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){ 535 return event[2]; 536 } 537 /** 538 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_COMPLETE 539 * @param event packet 540 * @return command_opcode 541 * @note: btstack_type 2 542 */ 543 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){ 544 return little_endian_read_16(event, 3); 545 } 546 /** 547 * @brief Get field return_parameters from event HCI_EVENT_COMMAND_COMPLETE 548 * @param event packet 549 * @return return_parameters 550 * @note: btstack_type R 551 */ 552 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){ 553 return &event[5]; 554 } 555 556 /** 557 * @brief Get field status from event HCI_EVENT_COMMAND_STATUS 558 * @param event packet 559 * @return status 560 * @note: btstack_type 1 561 */ 562 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){ 563 return event[2]; 564 } 565 /** 566 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_STATUS 567 * @param event packet 568 * @return num_hci_command_packets 569 * @note: btstack_type 1 570 */ 571 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){ 572 return event[3]; 573 } 574 /** 575 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_STATUS 576 * @param event packet 577 * @return command_opcode 578 * @note: btstack_type 2 579 */ 580 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){ 581 return little_endian_read_16(event, 4); 582 } 583 584 /** 585 * @brief Get field hardware_code from event HCI_EVENT_HARDWARE_ERROR 586 * @param event packet 587 * @return hardware_code 588 * @note: btstack_type 1 589 */ 590 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){ 591 return event[2]; 592 } 593 594 /** 595 * @brief Get field status from event HCI_EVENT_ROLE_CHANGE 596 * @param event packet 597 * @return status 598 * @note: btstack_type 1 599 */ 600 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){ 601 return event[2]; 602 } 603 /** 604 * @brief Get field bd_addr from event HCI_EVENT_ROLE_CHANGE 605 * @param event packet 606 * @param Pointer to storage for bd_addr 607 * @note: btstack_type B 608 */ 609 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 610 reverse_bd_addr(&event[3], bd_addr); 611 } 612 /** 613 * @brief Get field role from event HCI_EVENT_ROLE_CHANGE 614 * @param event packet 615 * @return role 616 * @note: btstack_type 1 617 */ 618 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){ 619 return event[9]; 620 } 621 622 /** 623 * @brief Get field status from event HCI_EVENT_MODE_CHANGE 624 * @param event packet 625 * @return status 626 * @note: btstack_type 1 627 */ 628 static inline uint8_t hci_event_mode_change_get_status(const uint8_t * event){ 629 return event[2]; 630 } 631 /** 632 * @brief Get field handle from event HCI_EVENT_MODE_CHANGE 633 * @param event packet 634 * @return handle 635 * @note: btstack_type H 636 */ 637 static inline hci_con_handle_t hci_event_mode_change_get_handle(const uint8_t * event){ 638 return little_endian_read_16(event, 3); 639 } 640 /** 641 * @brief Get field mode from event HCI_EVENT_MODE_CHANGE 642 * @param event packet 643 * @return mode 644 * @note: btstack_type 1 645 */ 646 static inline uint8_t hci_event_mode_change_get_mode(const uint8_t * event){ 647 return event[5]; 648 } 649 /** 650 * @brief Get field interval from event HCI_EVENT_MODE_CHANGE 651 * @param event packet 652 * @return interval 653 * @note: btstack_type 2 654 */ 655 static inline uint16_t hci_event_mode_change_get_interval(const uint8_t * event){ 656 return little_endian_read_16(event, 6); 657 } 658 659 /** 660 * @brief Get field bd_addr from event HCI_EVENT_PIN_CODE_REQUEST 661 * @param event packet 662 * @param Pointer to storage for bd_addr 663 * @note: btstack_type B 664 */ 665 static inline void hci_event_pin_code_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 666 reverse_bd_addr(&event[2], bd_addr); 667 } 668 669 /** 670 * @brief Get field bd_addr from event HCI_EVENT_LINK_KEY_REQUEST 671 * @param event packet 672 * @param Pointer to storage for bd_addr 673 * @note: btstack_type B 674 */ 675 static inline void hci_event_link_key_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 676 reverse_bd_addr(&event[2], bd_addr); 677 } 678 679 /** 680 * @brief Get field link_type from event HCI_EVENT_DATA_BUFFER_OVERFLOW 681 * @param event packet 682 * @return link_type 683 * @note: btstack_type 1 684 */ 685 static inline uint8_t hci_event_data_buffer_overflow_get_link_type(const uint8_t * event){ 686 return event[2]; 687 } 688 689 /** 690 * @brief Get field handle from event HCI_EVENT_MAX_SLOTS_CHANGED 691 * @param event packet 692 * @return handle 693 * @note: btstack_type H 694 */ 695 static inline hci_con_handle_t hci_event_max_slots_changed_get_handle(const uint8_t * event){ 696 return little_endian_read_16(event, 2); 697 } 698 /** 699 * @brief Get field lmp_max_slots from event HCI_EVENT_MAX_SLOTS_CHANGED 700 * @param event packet 701 * @return lmp_max_slots 702 * @note: btstack_type 1 703 */ 704 static inline uint8_t hci_event_max_slots_changed_get_lmp_max_slots(const uint8_t * event){ 705 return event[4]; 706 } 707 708 /** 709 * @brief Get field status from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 710 * @param event packet 711 * @return status 712 * @note: btstack_type 1 713 */ 714 static inline uint8_t hci_event_read_clock_offset_complete_get_status(const uint8_t * event){ 715 return event[2]; 716 } 717 /** 718 * @brief Get field handle from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 719 * @param event packet 720 * @return handle 721 * @note: btstack_type H 722 */ 723 static inline hci_con_handle_t hci_event_read_clock_offset_complete_get_handle(const uint8_t * event){ 724 return little_endian_read_16(event, 3); 725 } 726 /** 727 * @brief Get field clock_offset from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 728 * @param event packet 729 * @return clock_offset 730 * @note: btstack_type 2 731 */ 732 static inline uint16_t hci_event_read_clock_offset_complete_get_clock_offset(const uint8_t * event){ 733 return little_endian_read_16(event, 5); 734 } 735 736 /** 737 * @brief Get field status from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 738 * @param event packet 739 * @return status 740 * @note: btstack_type 1 741 */ 742 static inline uint8_t hci_event_connection_packet_type_changed_get_status(const uint8_t * event){ 743 return event[2]; 744 } 745 /** 746 * @brief Get field handle from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 747 * @param event packet 748 * @return handle 749 * @note: btstack_type H 750 */ 751 static inline hci_con_handle_t hci_event_connection_packet_type_changed_get_handle(const uint8_t * event){ 752 return little_endian_read_16(event, 3); 753 } 754 /** 755 * @brief Get field packet_types from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 756 * @param event packet 757 * @return packet_types 758 * @note: btstack_type 2 759 */ 760 static inline uint16_t hci_event_connection_packet_type_changed_get_packet_types(const uint8_t * event){ 761 return little_endian_read_16(event, 5); 762 } 763 764 /** 765 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 766 * @param event packet 767 * @return num_responses 768 * @note: btstack_type 1 769 */ 770 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){ 771 return event[2]; 772 } 773 /** 774 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 775 * @param event packet 776 * @param Pointer to storage for bd_addr 777 * @note: btstack_type B 778 */ 779 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 780 reverse_bd_addr(&event[3], bd_addr); 781 } 782 /** 783 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 784 * @param event packet 785 * @return page_scan_repetition_mode 786 * @note: btstack_type 1 787 */ 788 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){ 789 return event[9]; 790 } 791 /** 792 * @brief Get field reserved from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 793 * @param event packet 794 * @return reserved 795 * @note: btstack_type 1 796 */ 797 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){ 798 return event[10]; 799 } 800 /** 801 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 802 * @param event packet 803 * @return class_of_device 804 * @note: btstack_type 3 805 */ 806 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){ 807 return little_endian_read_24(event, 11); 808 } 809 /** 810 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 811 * @param event packet 812 * @return clock_offset 813 * @note: btstack_type 2 814 */ 815 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){ 816 return little_endian_read_16(event, 14); 817 } 818 /** 819 * @brief Get field rssi from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 820 * @param event packet 821 * @return rssi 822 * @note: btstack_type 1 823 */ 824 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){ 825 return event[16]; 826 } 827 828 /** 829 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 830 * @param event packet 831 * @return status 832 * @note: btstack_type 1 833 */ 834 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){ 835 return event[2]; 836 } 837 /** 838 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 839 * @param event packet 840 * @return handle 841 * @note: btstack_type H 842 */ 843 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){ 844 return little_endian_read_16(event, 3); 845 } 846 /** 847 * @brief Get field bd_addr from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 848 * @param event packet 849 * @param Pointer to storage for bd_addr 850 * @note: btstack_type B 851 */ 852 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 853 reverse_bd_addr(&event[5], bd_addr); 854 } 855 /** 856 * @brief Get field link_type from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 857 * @param event packet 858 * @return link_type 859 * @note: btstack_type 1 860 */ 861 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){ 862 return event[11]; 863 } 864 /** 865 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 866 * @param event packet 867 * @return transmission_interval 868 * @note: btstack_type 1 869 */ 870 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){ 871 return event[12]; 872 } 873 /** 874 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 875 * @param event packet 876 * @return retransmission_interval 877 * @note: btstack_type 1 878 */ 879 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){ 880 return event[13]; 881 } 882 /** 883 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 884 * @param event packet 885 * @return rx_packet_length 886 * @note: btstack_type 2 887 */ 888 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){ 889 return little_endian_read_16(event, 14); 890 } 891 /** 892 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 893 * @param event packet 894 * @return tx_packet_length 895 * @note: btstack_type 2 896 */ 897 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){ 898 return little_endian_read_16(event, 16); 899 } 900 /** 901 * @brief Get field air_mode from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 902 * @param event packet 903 * @return air_mode 904 * @note: btstack_type 1 905 */ 906 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){ 907 return event[18]; 908 } 909 910 /** 911 * @brief Get field num_responses from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 912 * @param event packet 913 * @return num_responses 914 * @note: btstack_type 1 915 */ 916 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){ 917 return event[2]; 918 } 919 /** 920 * @brief Get field bd_addr from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 921 * @param event packet 922 * @param Pointer to storage for bd_addr 923 * @note: btstack_type B 924 */ 925 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 926 reverse_bd_addr(&event[3], bd_addr); 927 } 928 /** 929 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 930 * @param event packet 931 * @return page_scan_repetition_mode 932 * @note: btstack_type 1 933 */ 934 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){ 935 return event[9]; 936 } 937 /** 938 * @brief Get field reserved from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 939 * @param event packet 940 * @return reserved 941 * @note: btstack_type 1 942 */ 943 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){ 944 return event[10]; 945 } 946 /** 947 * @brief Get field class_of_device from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 948 * @param event packet 949 * @return class_of_device 950 * @note: btstack_type 3 951 */ 952 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){ 953 return little_endian_read_24(event, 11); 954 } 955 /** 956 * @brief Get field clock_offset from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 957 * @param event packet 958 * @return clock_offset 959 * @note: btstack_type 2 960 */ 961 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){ 962 return little_endian_read_16(event, 14); 963 } 964 /** 965 * @brief Get field rssi from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 966 * @param event packet 967 * @return rssi 968 * @note: btstack_type 1 969 */ 970 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){ 971 return event[16]; 972 } 973 974 /** 975 * @brief Get field status from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 976 * @param event packet 977 * @return status 978 * @note: btstack_type 1 979 */ 980 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){ 981 return event[2]; 982 } 983 /** 984 * @brief Get field handle from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 985 * @param event packet 986 * @return handle 987 * @note: btstack_type H 988 */ 989 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){ 990 return little_endian_read_16(event, 3); 991 } 992 993 /** 994 * @brief Get field bd_addr from event HCI_EVENT_USER_CONFIRMATION_REQUEST 995 * @param event packet 996 * @param Pointer to storage for bd_addr 997 * @note: btstack_type B 998 */ 999 static inline void hci_event_user_confirmation_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1000 reverse_bd_addr(&event[2], bd_addr); 1001 } 1002 /** 1003 * @brief Get field numeric_value from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1004 * @param event packet 1005 * @return numeric_value 1006 * @note: btstack_type 4 1007 */ 1008 static inline uint32_t hci_event_user_confirmation_request_get_numeric_value(const uint8_t * event){ 1009 return little_endian_read_32(event, 8); 1010 } 1011 1012 /** 1013 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_REQUEST 1014 * @param event packet 1015 * @param Pointer to storage for bd_addr 1016 * @note: btstack_type B 1017 */ 1018 static inline void hci_event_user_passkey_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1019 reverse_bd_addr(&event[2], bd_addr); 1020 } 1021 1022 /** 1023 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_OOB_DATA_REQUEST 1024 * @param event packet 1025 * @param Pointer to storage for bd_addr 1026 * @note: btstack_type B 1027 */ 1028 static inline void hci_event_remote_oob_data_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1029 reverse_bd_addr(&event[2], bd_addr); 1030 } 1031 1032 /** 1033 * @brief Get field status from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1034 * @param event packet 1035 * @return status 1036 * @note: btstack_type 1 1037 */ 1038 static inline uint8_t hci_event_simple_pairing_complete_get_status(const uint8_t * event){ 1039 return event[2]; 1040 } 1041 /** 1042 * @brief Get field bd_addr from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1043 * @param event packet 1044 * @param Pointer to storage for bd_addr 1045 * @note: btstack_type B 1046 */ 1047 static inline void hci_event_simple_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1048 reverse_bd_addr(&event[3], bd_addr); 1049 } 1050 1051 /** 1052 * @brief Get field state from event BTSTACK_EVENT_STATE 1053 * @param event packet 1054 * @return state 1055 * @note: btstack_type 1 1056 */ 1057 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){ 1058 return event[2]; 1059 } 1060 1061 /** 1062 * @brief Get field number_connections from event BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 1063 * @param event packet 1064 * @return number_connections 1065 * @note: btstack_type 1 1066 */ 1067 static inline uint8_t btstack_event_nr_connections_changed_get_number_connections(const uint8_t * event){ 1068 return event[2]; 1069 } 1070 1071 1072 /** 1073 * @brief Get field discoverable from event BTSTACK_EVENT_DISCOVERABLE_ENABLED 1074 * @param event packet 1075 * @return discoverable 1076 * @note: btstack_type 1 1077 */ 1078 static inline uint8_t btstack_event_discoverable_enabled_get_discoverable(const uint8_t * event){ 1079 return event[2]; 1080 } 1081 1082 /** 1083 * @brief Get field active from event HCI_EVENT_TRANSPORT_SLEEP_MODE 1084 * @param event packet 1085 * @return active 1086 * @note: btstack_type 1 1087 */ 1088 static inline uint8_t hci_event_transport_sleep_mode_get_active(const uint8_t * event){ 1089 return event[2]; 1090 } 1091 1092 /** 1093 * @brief Get field handle from event HCI_EVENT_SCO_CAN_SEND_NOW 1094 * @param event packet 1095 * @param Pointer to storage for handle 1096 * @note: btstack_type B 1097 */ 1098 static inline void hci_event_sco_can_send_now_get_handle(const uint8_t * event, bd_addr_t handle){ 1099 reverse_bd_addr(&event[2], handle); 1100 } 1101 1102 /** 1103 * @brief Get field status from event L2CAP_EVENT_CHANNEL_OPENED 1104 * @param event packet 1105 * @return status 1106 * @note: btstack_type 1 1107 */ 1108 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){ 1109 return event[2]; 1110 } 1111 /** 1112 * @brief Get field address from event L2CAP_EVENT_CHANNEL_OPENED 1113 * @param event packet 1114 * @param Pointer to storage for address 1115 * @note: btstack_type B 1116 */ 1117 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1118 reverse_bd_addr(&event[3], address); 1119 } 1120 /** 1121 * @brief Get field handle from event L2CAP_EVENT_CHANNEL_OPENED 1122 * @param event packet 1123 * @return handle 1124 * @note: btstack_type H 1125 */ 1126 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){ 1127 return little_endian_read_16(event, 9); 1128 } 1129 /** 1130 * @brief Get field psm from event L2CAP_EVENT_CHANNEL_OPENED 1131 * @param event packet 1132 * @return psm 1133 * @note: btstack_type 2 1134 */ 1135 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){ 1136 return little_endian_read_16(event, 11); 1137 } 1138 /** 1139 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_OPENED 1140 * @param event packet 1141 * @return local_cid 1142 * @note: btstack_type 2 1143 */ 1144 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){ 1145 return little_endian_read_16(event, 13); 1146 } 1147 /** 1148 * @brief Get field remote_cid from event L2CAP_EVENT_CHANNEL_OPENED 1149 * @param event packet 1150 * @return remote_cid 1151 * @note: btstack_type 2 1152 */ 1153 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){ 1154 return little_endian_read_16(event, 15); 1155 } 1156 /** 1157 * @brief Get field local_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1158 * @param event packet 1159 * @return local_mtu 1160 * @note: btstack_type 2 1161 */ 1162 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){ 1163 return little_endian_read_16(event, 17); 1164 } 1165 /** 1166 * @brief Get field remote_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1167 * @param event packet 1168 * @return remote_mtu 1169 * @note: btstack_type 2 1170 */ 1171 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){ 1172 return little_endian_read_16(event, 19); 1173 } 1174 /** 1175 * @brief Get field flush_timeout from event L2CAP_EVENT_CHANNEL_OPENED 1176 * @param event packet 1177 * @return flush_timeout 1178 * @note: btstack_type 2 1179 */ 1180 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){ 1181 return little_endian_read_16(event, 21); 1182 } 1183 /** 1184 * @brief Get field incoming from event L2CAP_EVENT_CHANNEL_OPENED 1185 * @param event packet 1186 * @return incoming 1187 * @note: btstack_type 1 1188 */ 1189 static inline uint8_t l2cap_event_channel_opened_get_incoming(const uint8_t * event){ 1190 return event[23]; 1191 } 1192 /** 1193 * @brief Get field mode from event L2CAP_EVENT_CHANNEL_OPENED 1194 * @param event packet 1195 * @return mode 1196 * @note: btstack_type 1 1197 */ 1198 static inline uint8_t l2cap_event_channel_opened_get_mode(const uint8_t * event){ 1199 return event[24]; 1200 } 1201 /** 1202 * @brief Get field fcs from event L2CAP_EVENT_CHANNEL_OPENED 1203 * @param event packet 1204 * @return fcs 1205 * @note: btstack_type 1 1206 */ 1207 static inline uint8_t l2cap_event_channel_opened_get_fcs(const uint8_t * event){ 1208 return event[25]; 1209 } 1210 1211 /** 1212 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_CLOSED 1213 * @param event packet 1214 * @return local_cid 1215 * @note: btstack_type 2 1216 */ 1217 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){ 1218 return little_endian_read_16(event, 2); 1219 } 1220 1221 /** 1222 * @brief Get field address from event L2CAP_EVENT_INCOMING_CONNECTION 1223 * @param event packet 1224 * @param Pointer to storage for address 1225 * @note: btstack_type B 1226 */ 1227 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1228 reverse_bd_addr(&event[2], address); 1229 } 1230 /** 1231 * @brief Get field handle from event L2CAP_EVENT_INCOMING_CONNECTION 1232 * @param event packet 1233 * @return handle 1234 * @note: btstack_type H 1235 */ 1236 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){ 1237 return little_endian_read_16(event, 8); 1238 } 1239 /** 1240 * @brief Get field psm from event L2CAP_EVENT_INCOMING_CONNECTION 1241 * @param event packet 1242 * @return psm 1243 * @note: btstack_type 2 1244 */ 1245 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){ 1246 return little_endian_read_16(event, 10); 1247 } 1248 /** 1249 * @brief Get field local_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1250 * @param event packet 1251 * @return local_cid 1252 * @note: btstack_type 2 1253 */ 1254 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){ 1255 return little_endian_read_16(event, 12); 1256 } 1257 /** 1258 * @brief Get field remote_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1259 * @param event packet 1260 * @return remote_cid 1261 * @note: btstack_type 2 1262 */ 1263 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){ 1264 return little_endian_read_16(event, 14); 1265 } 1266 1267 /** 1268 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1269 * @param event packet 1270 * @return handle 1271 * @note: btstack_type H 1272 */ 1273 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){ 1274 return little_endian_read_16(event, 2); 1275 } 1276 /** 1277 * @brief Get field interval_min from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1278 * @param event packet 1279 * @return interval_min 1280 * @note: btstack_type 2 1281 */ 1282 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){ 1283 return little_endian_read_16(event, 4); 1284 } 1285 /** 1286 * @brief Get field interval_max from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1287 * @param event packet 1288 * @return interval_max 1289 * @note: btstack_type 2 1290 */ 1291 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){ 1292 return little_endian_read_16(event, 6); 1293 } 1294 /** 1295 * @brief Get field latencey from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1296 * @param event packet 1297 * @return latencey 1298 * @note: btstack_type 2 1299 */ 1300 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latencey(const uint8_t * event){ 1301 return little_endian_read_16(event, 8); 1302 } 1303 /** 1304 * @brief Get field timeout_multiplier from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1305 * @param event packet 1306 * @return timeout_multiplier 1307 * @note: btstack_type 2 1308 */ 1309 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){ 1310 return little_endian_read_16(event, 10); 1311 } 1312 1313 /** 1314 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1315 * @param event packet 1316 * @return handle 1317 * @note: btstack_type H 1318 */ 1319 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){ 1320 return little_endian_read_16(event, 2); 1321 } 1322 /** 1323 * @brief Get field result from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1324 * @param event packet 1325 * @return result 1326 * @note: btstack_type 2 1327 */ 1328 static inline uint16_t l2cap_event_connection_parameter_update_response_get_result(const uint8_t * event){ 1329 return little_endian_read_16(event, 4); 1330 } 1331 1332 /** 1333 * @brief Get field local_cid from event L2CAP_EVENT_CAN_SEND_NOW 1334 * @param event packet 1335 * @return local_cid 1336 * @note: btstack_type 2 1337 */ 1338 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){ 1339 return little_endian_read_16(event, 2); 1340 } 1341 1342 /** 1343 * @brief Get field address_type from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1344 * @param event packet 1345 * @return address_type 1346 * @note: btstack_type 1 1347 */ 1348 static inline uint8_t l2cap_event_le_incoming_connection_get_address_type(const uint8_t * event){ 1349 return event[2]; 1350 } 1351 /** 1352 * @brief Get field address from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1353 * @param event packet 1354 * @param Pointer to storage for address 1355 * @note: btstack_type B 1356 */ 1357 static inline void l2cap_event_le_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1358 reverse_bd_addr(&event[3], address); 1359 } 1360 /** 1361 * @brief Get field handle from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1362 * @param event packet 1363 * @return handle 1364 * @note: btstack_type H 1365 */ 1366 static inline hci_con_handle_t l2cap_event_le_incoming_connection_get_handle(const uint8_t * event){ 1367 return little_endian_read_16(event, 9); 1368 } 1369 /** 1370 * @brief Get field psm from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1371 * @param event packet 1372 * @return psm 1373 * @note: btstack_type 2 1374 */ 1375 static inline uint16_t l2cap_event_le_incoming_connection_get_psm(const uint8_t * event){ 1376 return little_endian_read_16(event, 11); 1377 } 1378 /** 1379 * @brief Get field local_cid from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1380 * @param event packet 1381 * @return local_cid 1382 * @note: btstack_type 2 1383 */ 1384 static inline uint16_t l2cap_event_le_incoming_connection_get_local_cid(const uint8_t * event){ 1385 return little_endian_read_16(event, 13); 1386 } 1387 /** 1388 * @brief Get field remote_cid from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1389 * @param event packet 1390 * @return remote_cid 1391 * @note: btstack_type 2 1392 */ 1393 static inline uint16_t l2cap_event_le_incoming_connection_get_remote_cid(const uint8_t * event){ 1394 return little_endian_read_16(event, 15); 1395 } 1396 /** 1397 * @brief Get field remote_mtu from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1398 * @param event packet 1399 * @return remote_mtu 1400 * @note: btstack_type 2 1401 */ 1402 static inline uint16_t l2cap_event_le_incoming_connection_get_remote_mtu(const uint8_t * event){ 1403 return little_endian_read_16(event, 17); 1404 } 1405 1406 /** 1407 * @brief Get field status from event L2CAP_EVENT_LE_CHANNEL_OPENED 1408 * @param event packet 1409 * @return status 1410 * @note: btstack_type 1 1411 */ 1412 static inline uint8_t l2cap_event_le_channel_opened_get_status(const uint8_t * event){ 1413 return event[2]; 1414 } 1415 /** 1416 * @brief Get field address_type from event L2CAP_EVENT_LE_CHANNEL_OPENED 1417 * @param event packet 1418 * @return address_type 1419 * @note: btstack_type 1 1420 */ 1421 static inline uint8_t l2cap_event_le_channel_opened_get_address_type(const uint8_t * event){ 1422 return event[3]; 1423 } 1424 /** 1425 * @brief Get field address from event L2CAP_EVENT_LE_CHANNEL_OPENED 1426 * @param event packet 1427 * @param Pointer to storage for address 1428 * @note: btstack_type B 1429 */ 1430 static inline void l2cap_event_le_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1431 reverse_bd_addr(&event[4], address); 1432 } 1433 /** 1434 * @brief Get field handle from event L2CAP_EVENT_LE_CHANNEL_OPENED 1435 * @param event packet 1436 * @return handle 1437 * @note: btstack_type H 1438 */ 1439 static inline hci_con_handle_t l2cap_event_le_channel_opened_get_handle(const uint8_t * event){ 1440 return little_endian_read_16(event, 10); 1441 } 1442 /** 1443 * @brief Get field incoming from event L2CAP_EVENT_LE_CHANNEL_OPENED 1444 * @param event packet 1445 * @return incoming 1446 * @note: btstack_type 1 1447 */ 1448 static inline uint8_t l2cap_event_le_channel_opened_get_incoming(const uint8_t * event){ 1449 return event[12]; 1450 } 1451 /** 1452 * @brief Get field psm from event L2CAP_EVENT_LE_CHANNEL_OPENED 1453 * @param event packet 1454 * @return psm 1455 * @note: btstack_type 2 1456 */ 1457 static inline uint16_t l2cap_event_le_channel_opened_get_psm(const uint8_t * event){ 1458 return little_endian_read_16(event, 13); 1459 } 1460 /** 1461 * @brief Get field local_cid from event L2CAP_EVENT_LE_CHANNEL_OPENED 1462 * @param event packet 1463 * @return local_cid 1464 * @note: btstack_type 2 1465 */ 1466 static inline uint16_t l2cap_event_le_channel_opened_get_local_cid(const uint8_t * event){ 1467 return little_endian_read_16(event, 15); 1468 } 1469 /** 1470 * @brief Get field remote_cid from event L2CAP_EVENT_LE_CHANNEL_OPENED 1471 * @param event packet 1472 * @return remote_cid 1473 * @note: btstack_type 2 1474 */ 1475 static inline uint16_t l2cap_event_le_channel_opened_get_remote_cid(const uint8_t * event){ 1476 return little_endian_read_16(event, 17); 1477 } 1478 /** 1479 * @brief Get field local_mtu from event L2CAP_EVENT_LE_CHANNEL_OPENED 1480 * @param event packet 1481 * @return local_mtu 1482 * @note: btstack_type 2 1483 */ 1484 static inline uint16_t l2cap_event_le_channel_opened_get_local_mtu(const uint8_t * event){ 1485 return little_endian_read_16(event, 19); 1486 } 1487 /** 1488 * @brief Get field remote_mtu from event L2CAP_EVENT_LE_CHANNEL_OPENED 1489 * @param event packet 1490 * @return remote_mtu 1491 * @note: btstack_type 2 1492 */ 1493 static inline uint16_t l2cap_event_le_channel_opened_get_remote_mtu(const uint8_t * event){ 1494 return little_endian_read_16(event, 21); 1495 } 1496 1497 /** 1498 * @brief Get field local_cid from event L2CAP_EVENT_LE_CHANNEL_CLOSED 1499 * @param event packet 1500 * @return local_cid 1501 * @note: btstack_type 2 1502 */ 1503 static inline uint16_t l2cap_event_le_channel_closed_get_local_cid(const uint8_t * event){ 1504 return little_endian_read_16(event, 2); 1505 } 1506 1507 /** 1508 * @brief Get field local_cid from event L2CAP_EVENT_LE_CAN_SEND_NOW 1509 * @param event packet 1510 * @return local_cid 1511 * @note: btstack_type 2 1512 */ 1513 static inline uint16_t l2cap_event_le_can_send_now_get_local_cid(const uint8_t * event){ 1514 return little_endian_read_16(event, 2); 1515 } 1516 1517 /** 1518 * @brief Get field local_cid from event L2CAP_EVENT_LE_PACKET_SENT 1519 * @param event packet 1520 * @return local_cid 1521 * @note: btstack_type 2 1522 */ 1523 static inline uint16_t l2cap_event_le_packet_sent_get_local_cid(const uint8_t * event){ 1524 return little_endian_read_16(event, 2); 1525 } 1526 1527 /** 1528 * @brief Get field local_cid from event L2CAP_EVENT_ERTM_BUFFER_RELEASED 1529 * @param event packet 1530 * @return local_cid 1531 * @note: btstack_type 2 1532 */ 1533 static inline uint16_t l2cap_event_ertm_buffer_released_get_local_cid(const uint8_t * event){ 1534 return little_endian_read_16(event, 2); 1535 } 1536 1537 /** 1538 * @brief Get field status from event RFCOMM_EVENT_CHANNEL_OPENED 1539 * @param event packet 1540 * @return status 1541 * @note: btstack_type 1 1542 */ 1543 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){ 1544 return event[2]; 1545 } 1546 /** 1547 * @brief Get field bd_addr from event RFCOMM_EVENT_CHANNEL_OPENED 1548 * @param event packet 1549 * @param Pointer to storage for bd_addr 1550 * @note: btstack_type B 1551 */ 1552 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1553 reverse_bd_addr(&event[3], bd_addr); 1554 } 1555 /** 1556 * @brief Get field con_handle from event RFCOMM_EVENT_CHANNEL_OPENED 1557 * @param event packet 1558 * @return con_handle 1559 * @note: btstack_type 2 1560 */ 1561 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){ 1562 return little_endian_read_16(event, 9); 1563 } 1564 /** 1565 * @brief Get field server_channel from event RFCOMM_EVENT_CHANNEL_OPENED 1566 * @param event packet 1567 * @return server_channel 1568 * @note: btstack_type 1 1569 */ 1570 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){ 1571 return event[11]; 1572 } 1573 /** 1574 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_OPENED 1575 * @param event packet 1576 * @return rfcomm_cid 1577 * @note: btstack_type 2 1578 */ 1579 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){ 1580 return little_endian_read_16(event, 12); 1581 } 1582 /** 1583 * @brief Get field max_frame_size from event RFCOMM_EVENT_CHANNEL_OPENED 1584 * @param event packet 1585 * @return max_frame_size 1586 * @note: btstack_type 2 1587 */ 1588 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){ 1589 return little_endian_read_16(event, 14); 1590 } 1591 /** 1592 * @brief Get field incoming from event RFCOMM_EVENT_CHANNEL_OPENED 1593 * @param event packet 1594 * @return incoming 1595 * @note: btstack_type 1 1596 */ 1597 static inline uint8_t rfcomm_event_channel_opened_get_incoming(const uint8_t * event){ 1598 return event[16]; 1599 } 1600 1601 /** 1602 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_CLOSED 1603 * @param event packet 1604 * @return rfcomm_cid 1605 * @note: btstack_type 2 1606 */ 1607 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){ 1608 return little_endian_read_16(event, 2); 1609 } 1610 1611 /** 1612 * @brief Get field bd_addr from event RFCOMM_EVENT_INCOMING_CONNECTION 1613 * @param event packet 1614 * @param Pointer to storage for bd_addr 1615 * @note: btstack_type B 1616 */ 1617 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1618 reverse_bd_addr(&event[2], bd_addr); 1619 } 1620 /** 1621 * @brief Get field server_channel from event RFCOMM_EVENT_INCOMING_CONNECTION 1622 * @param event packet 1623 * @return server_channel 1624 * @note: btstack_type 1 1625 */ 1626 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){ 1627 return event[8]; 1628 } 1629 /** 1630 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_INCOMING_CONNECTION 1631 * @param event packet 1632 * @return rfcomm_cid 1633 * @note: btstack_type 2 1634 */ 1635 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){ 1636 return little_endian_read_16(event, 9); 1637 } 1638 1639 /** 1640 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_LINE_STATUS 1641 * @param event packet 1642 * @return rfcomm_cid 1643 * @note: btstack_type 2 1644 */ 1645 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){ 1646 return little_endian_read_16(event, 2); 1647 } 1648 /** 1649 * @brief Get field line_status from event RFCOMM_EVENT_REMOTE_LINE_STATUS 1650 * @param event packet 1651 * @return line_status 1652 * @note: btstack_type 1 1653 */ 1654 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){ 1655 return event[4]; 1656 } 1657 1658 /** 1659 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 1660 * @param event packet 1661 * @return rfcomm_cid 1662 * @note: btstack_type 2 1663 */ 1664 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){ 1665 return little_endian_read_16(event, 2); 1666 } 1667 /** 1668 * @brief Get field modem_status from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 1669 * @param event packet 1670 * @return modem_status 1671 * @note: btstack_type 1 1672 */ 1673 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){ 1674 return event[4]; 1675 } 1676 1677 /** 1678 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CAN_SEND_NOW 1679 * @param event packet 1680 * @return rfcomm_cid 1681 * @note: btstack_type 2 1682 */ 1683 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){ 1684 return little_endian_read_16(event, 2); 1685 } 1686 1687 /** 1688 * @brief Get field status from event SDP_EVENT_QUERY_COMPLETE 1689 * @param event packet 1690 * @return status 1691 * @note: btstack_type 1 1692 */ 1693 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){ 1694 return event[2]; 1695 } 1696 1697 /** 1698 * @brief Get field rfcomm_channel from event SDP_EVENT_QUERY_RFCOMM_SERVICE 1699 * @param event packet 1700 * @return rfcomm_channel 1701 * @note: btstack_type 1 1702 */ 1703 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){ 1704 return event[2]; 1705 } 1706 /** 1707 * @brief Get field name from event SDP_EVENT_QUERY_RFCOMM_SERVICE 1708 * @param event packet 1709 * @return name 1710 * @note: btstack_type T 1711 */ 1712 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){ 1713 return (const char *) &event[3]; 1714 } 1715 1716 /** 1717 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1718 * @param event packet 1719 * @return record_id 1720 * @note: btstack_type 2 1721 */ 1722 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){ 1723 return little_endian_read_16(event, 2); 1724 } 1725 /** 1726 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1727 * @param event packet 1728 * @return attribute_id 1729 * @note: btstack_type 2 1730 */ 1731 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){ 1732 return little_endian_read_16(event, 4); 1733 } 1734 /** 1735 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1736 * @param event packet 1737 * @return attribute_length 1738 * @note: btstack_type 2 1739 */ 1740 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){ 1741 return little_endian_read_16(event, 6); 1742 } 1743 /** 1744 * @brief Get field data_offset from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1745 * @param event packet 1746 * @return data_offset 1747 * @note: btstack_type 2 1748 */ 1749 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){ 1750 return little_endian_read_16(event, 8); 1751 } 1752 /** 1753 * @brief Get field data from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1754 * @param event packet 1755 * @return data 1756 * @note: btstack_type 1 1757 */ 1758 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){ 1759 return event[10]; 1760 } 1761 1762 /** 1763 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1764 * @param event packet 1765 * @return record_id 1766 * @note: btstack_type 2 1767 */ 1768 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){ 1769 return little_endian_read_16(event, 2); 1770 } 1771 /** 1772 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1773 * @param event packet 1774 * @return attribute_id 1775 * @note: btstack_type 2 1776 */ 1777 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){ 1778 return little_endian_read_16(event, 4); 1779 } 1780 /** 1781 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1782 * @param event packet 1783 * @return attribute_length 1784 * @note: btstack_type L 1785 */ 1786 static inline uint16_t sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){ 1787 return little_endian_read_16(event, 6); 1788 } 1789 /** 1790 * @brief Get field attribute_value from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1791 * @param event packet 1792 * @return attribute_value 1793 * @note: btstack_type V 1794 */ 1795 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){ 1796 return &event[8]; 1797 } 1798 1799 /** 1800 * @brief Get field total_count from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 1801 * @param event packet 1802 * @return total_count 1803 * @note: btstack_type 2 1804 */ 1805 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){ 1806 return little_endian_read_16(event, 2); 1807 } 1808 /** 1809 * @brief Get field record_index from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 1810 * @param event packet 1811 * @return record_index 1812 * @note: btstack_type 2 1813 */ 1814 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){ 1815 return little_endian_read_16(event, 4); 1816 } 1817 /** 1818 * @brief Get field record_handle from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 1819 * @param event packet 1820 * @return record_handle 1821 * @note: btstack_type 4 1822 */ 1823 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){ 1824 return little_endian_read_32(event, 6); 1825 } 1826 1827 #ifdef ENABLE_BLE 1828 /** 1829 * @brief Get field handle from event GATT_EVENT_QUERY_COMPLETE 1830 * @param event packet 1831 * @return handle 1832 * @note: btstack_type H 1833 */ 1834 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){ 1835 return little_endian_read_16(event, 2); 1836 } 1837 /** 1838 * @brief Get field status from event GATT_EVENT_QUERY_COMPLETE 1839 * @param event packet 1840 * @return status 1841 * @note: btstack_type 1 1842 */ 1843 static inline uint8_t gatt_event_query_complete_get_status(const uint8_t * event){ 1844 return event[4]; 1845 } 1846 #endif 1847 1848 #ifdef ENABLE_BLE 1849 /** 1850 * @brief Get field handle from event GATT_EVENT_SERVICE_QUERY_RESULT 1851 * @param event packet 1852 * @return handle 1853 * @note: btstack_type H 1854 */ 1855 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){ 1856 return little_endian_read_16(event, 2); 1857 } 1858 /** 1859 * @brief Get field service from event GATT_EVENT_SERVICE_QUERY_RESULT 1860 * @param event packet 1861 * @param Pointer to storage for service 1862 * @note: btstack_type X 1863 */ 1864 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 1865 gatt_client_deserialize_service(event, 4, service); 1866 } 1867 #endif 1868 1869 #ifdef ENABLE_BLE 1870 /** 1871 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 1872 * @param event packet 1873 * @return handle 1874 * @note: btstack_type H 1875 */ 1876 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){ 1877 return little_endian_read_16(event, 2); 1878 } 1879 /** 1880 * @brief Get field characteristic from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 1881 * @param event packet 1882 * @param Pointer to storage for characteristic 1883 * @note: btstack_type Y 1884 */ 1885 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){ 1886 gatt_client_deserialize_characteristic(event, 4, characteristic); 1887 } 1888 #endif 1889 1890 #ifdef ENABLE_BLE 1891 /** 1892 * @brief Get field handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 1893 * @param event packet 1894 * @return handle 1895 * @note: btstack_type H 1896 */ 1897 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){ 1898 return little_endian_read_16(event, 2); 1899 } 1900 /** 1901 * @brief Get field include_handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 1902 * @param event packet 1903 * @return include_handle 1904 * @note: btstack_type 2 1905 */ 1906 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){ 1907 return little_endian_read_16(event, 4); 1908 } 1909 /** 1910 * @brief Get field service from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 1911 * @param event packet 1912 * @param Pointer to storage for service 1913 * @note: btstack_type X 1914 */ 1915 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 1916 gatt_client_deserialize_service(event, 6, service); 1917 } 1918 #endif 1919 1920 #ifdef ENABLE_BLE 1921 /** 1922 * @brief Get field handle from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 1923 * @param event packet 1924 * @return handle 1925 * @note: btstack_type H 1926 */ 1927 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){ 1928 return little_endian_read_16(event, 2); 1929 } 1930 /** 1931 * @brief Get field characteristic_descriptor from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 1932 * @param event packet 1933 * @param Pointer to storage for characteristic_descriptor 1934 * @note: btstack_type Z 1935 */ 1936 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){ 1937 gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor); 1938 } 1939 #endif 1940 1941 #ifdef ENABLE_BLE 1942 /** 1943 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 1944 * @param event packet 1945 * @return handle 1946 * @note: btstack_type H 1947 */ 1948 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){ 1949 return little_endian_read_16(event, 2); 1950 } 1951 /** 1952 * @brief Get field value_handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 1953 * @param event packet 1954 * @return value_handle 1955 * @note: btstack_type 2 1956 */ 1957 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 1958 return little_endian_read_16(event, 4); 1959 } 1960 /** 1961 * @brief Get field value_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 1962 * @param event packet 1963 * @return value_length 1964 * @note: btstack_type L 1965 */ 1966 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){ 1967 return little_endian_read_16(event, 6); 1968 } 1969 /** 1970 * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 1971 * @param event packet 1972 * @return value 1973 * @note: btstack_type V 1974 */ 1975 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){ 1976 return &event[8]; 1977 } 1978 #endif 1979 1980 #ifdef ENABLE_BLE 1981 /** 1982 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 1983 * @param event packet 1984 * @return handle 1985 * @note: btstack_type H 1986 */ 1987 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){ 1988 return little_endian_read_16(event, 2); 1989 } 1990 /** 1991 * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 1992 * @param event packet 1993 * @return value_handle 1994 * @note: btstack_type 2 1995 */ 1996 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 1997 return little_endian_read_16(event, 4); 1998 } 1999 /** 2000 * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2001 * @param event packet 2002 * @return value_offset 2003 * @note: btstack_type 2 2004 */ 2005 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){ 2006 return little_endian_read_16(event, 6); 2007 } 2008 /** 2009 * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2010 * @param event packet 2011 * @return value_length 2012 * @note: btstack_type L 2013 */ 2014 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2015 return little_endian_read_16(event, 8); 2016 } 2017 /** 2018 * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2019 * @param event packet 2020 * @return value 2021 * @note: btstack_type V 2022 */ 2023 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){ 2024 return &event[10]; 2025 } 2026 #endif 2027 2028 #ifdef ENABLE_BLE 2029 /** 2030 * @brief Get field handle from event GATT_EVENT_NOTIFICATION 2031 * @param event packet 2032 * @return handle 2033 * @note: btstack_type H 2034 */ 2035 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){ 2036 return little_endian_read_16(event, 2); 2037 } 2038 /** 2039 * @brief Get field value_handle from event GATT_EVENT_NOTIFICATION 2040 * @param event packet 2041 * @return value_handle 2042 * @note: btstack_type 2 2043 */ 2044 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){ 2045 return little_endian_read_16(event, 4); 2046 } 2047 /** 2048 * @brief Get field value_length from event GATT_EVENT_NOTIFICATION 2049 * @param event packet 2050 * @return value_length 2051 * @note: btstack_type L 2052 */ 2053 static inline uint16_t gatt_event_notification_get_value_length(const uint8_t * event){ 2054 return little_endian_read_16(event, 6); 2055 } 2056 /** 2057 * @brief Get field value from event GATT_EVENT_NOTIFICATION 2058 * @param event packet 2059 * @return value 2060 * @note: btstack_type V 2061 */ 2062 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){ 2063 return &event[8]; 2064 } 2065 #endif 2066 2067 #ifdef ENABLE_BLE 2068 /** 2069 * @brief Get field handle from event GATT_EVENT_INDICATION 2070 * @param event packet 2071 * @return handle 2072 * @note: btstack_type H 2073 */ 2074 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){ 2075 return little_endian_read_16(event, 2); 2076 } 2077 /** 2078 * @brief Get field value_handle from event GATT_EVENT_INDICATION 2079 * @param event packet 2080 * @return value_handle 2081 * @note: btstack_type 2 2082 */ 2083 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){ 2084 return little_endian_read_16(event, 4); 2085 } 2086 /** 2087 * @brief Get field value_length from event GATT_EVENT_INDICATION 2088 * @param event packet 2089 * @return value_length 2090 * @note: btstack_type L 2091 */ 2092 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){ 2093 return little_endian_read_16(event, 6); 2094 } 2095 /** 2096 * @brief Get field value from event GATT_EVENT_INDICATION 2097 * @param event packet 2098 * @return value 2099 * @note: btstack_type V 2100 */ 2101 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){ 2102 return &event[8]; 2103 } 2104 #endif 2105 2106 #ifdef ENABLE_BLE 2107 /** 2108 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2109 * @param event packet 2110 * @return handle 2111 * @note: btstack_type H 2112 */ 2113 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2114 return little_endian_read_16(event, 2); 2115 } 2116 /** 2117 * @brief Get field descriptor_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2118 * @param event packet 2119 * @return descriptor_handle 2120 * @note: btstack_type 2 2121 */ 2122 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 2123 return little_endian_read_16(event, 4); 2124 } 2125 /** 2126 * @brief Get field descriptor_length from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2127 * @param event packet 2128 * @return descriptor_length 2129 * @note: btstack_type L 2130 */ 2131 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 2132 return little_endian_read_16(event, 6); 2133 } 2134 /** 2135 * @brief Get field descriptor from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2136 * @param event packet 2137 * @return descriptor 2138 * @note: btstack_type V 2139 */ 2140 static inline const uint8_t * gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 2141 return &event[8]; 2142 } 2143 #endif 2144 2145 #ifdef ENABLE_BLE 2146 /** 2147 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2148 * @param event packet 2149 * @return handle 2150 * @note: btstack_type H 2151 */ 2152 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2153 return little_endian_read_16(event, 2); 2154 } 2155 /** 2156 * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2157 * @param event packet 2158 * @return descriptor_offset 2159 * @note: btstack_type 2 2160 */ 2161 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){ 2162 return little_endian_read_16(event, 4); 2163 } 2164 /** 2165 * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2166 * @param event packet 2167 * @return descriptor_length 2168 * @note: btstack_type L 2169 */ 2170 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 2171 return little_endian_read_16(event, 6); 2172 } 2173 /** 2174 * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2175 * @param event packet 2176 * @return descriptor 2177 * @note: btstack_type V 2178 */ 2179 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 2180 return &event[8]; 2181 } 2182 #endif 2183 2184 #ifdef ENABLE_BLE 2185 /** 2186 * @brief Get field handle from event GATT_EVENT_MTU 2187 * @param event packet 2188 * @return handle 2189 * @note: btstack_type H 2190 */ 2191 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){ 2192 return little_endian_read_16(event, 2); 2193 } 2194 /** 2195 * @brief Get field MTU from event GATT_EVENT_MTU 2196 * @param event packet 2197 * @return MTU 2198 * @note: btstack_type 2 2199 */ 2200 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){ 2201 return little_endian_read_16(event, 4); 2202 } 2203 #endif 2204 2205 #ifdef ENABLE_BLE 2206 /** 2207 * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 2208 * @param event packet 2209 * @return handle 2210 * @note: btstack_type H 2211 */ 2212 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){ 2213 return little_endian_read_16(event, 2); 2214 } 2215 #endif 2216 2217 /** 2218 * @brief Get field address_type from event ATT_EVENT_CONNECTED 2219 * @param event packet 2220 * @return address_type 2221 * @note: btstack_type 1 2222 */ 2223 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){ 2224 return event[2]; 2225 } 2226 /** 2227 * @brief Get field address from event ATT_EVENT_CONNECTED 2228 * @param event packet 2229 * @param Pointer to storage for address 2230 * @note: btstack_type B 2231 */ 2232 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 2233 reverse_bd_addr(&event[3], address); 2234 } 2235 /** 2236 * @brief Get field handle from event ATT_EVENT_CONNECTED 2237 * @param event packet 2238 * @return handle 2239 * @note: btstack_type H 2240 */ 2241 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){ 2242 return little_endian_read_16(event, 9); 2243 } 2244 2245 /** 2246 * @brief Get field handle from event ATT_EVENT_DISCONNECTED 2247 * @param event packet 2248 * @return handle 2249 * @note: btstack_type H 2250 */ 2251 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){ 2252 return little_endian_read_16(event, 2); 2253 } 2254 2255 /** 2256 * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 2257 * @param event packet 2258 * @return handle 2259 * @note: btstack_type H 2260 */ 2261 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){ 2262 return little_endian_read_16(event, 2); 2263 } 2264 /** 2265 * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 2266 * @param event packet 2267 * @return MTU 2268 * @note: btstack_type 2 2269 */ 2270 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){ 2271 return little_endian_read_16(event, 4); 2272 } 2273 2274 /** 2275 * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2276 * @param event packet 2277 * @return status 2278 * @note: btstack_type 1 2279 */ 2280 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){ 2281 return event[2]; 2282 } 2283 /** 2284 * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2285 * @param event packet 2286 * @return conn_handle 2287 * @note: btstack_type H 2288 */ 2289 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){ 2290 return little_endian_read_16(event, 3); 2291 } 2292 /** 2293 * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2294 * @param event packet 2295 * @return attribute_handle 2296 * @note: btstack_type 2 2297 */ 2298 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){ 2299 return little_endian_read_16(event, 5); 2300 } 2301 2302 2303 /** 2304 * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED 2305 * @param event packet 2306 * @return status 2307 * @note: btstack_type 1 2308 */ 2309 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){ 2310 return event[2]; 2311 } 2312 /** 2313 * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED 2314 * @param event packet 2315 * @return service_uuid 2316 * @note: btstack_type 2 2317 */ 2318 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){ 2319 return little_endian_read_16(event, 3); 2320 } 2321 2322 /** 2323 * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED 2324 * @param event packet 2325 * @return status 2326 * @note: btstack_type 1 2327 */ 2328 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){ 2329 return event[2]; 2330 } 2331 /** 2332 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED 2333 * @param event packet 2334 * @return bnep_cid 2335 * @note: btstack_type 2 2336 */ 2337 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){ 2338 return little_endian_read_16(event, 3); 2339 } 2340 /** 2341 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED 2342 * @param event packet 2343 * @return source_uuid 2344 * @note: btstack_type 2 2345 */ 2346 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){ 2347 return little_endian_read_16(event, 5); 2348 } 2349 /** 2350 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED 2351 * @param event packet 2352 * @return destination_uuid 2353 * @note: btstack_type 2 2354 */ 2355 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){ 2356 return little_endian_read_16(event, 7); 2357 } 2358 /** 2359 * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED 2360 * @param event packet 2361 * @return mtu 2362 * @note: btstack_type 2 2363 */ 2364 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){ 2365 return little_endian_read_16(event, 9); 2366 } 2367 /** 2368 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED 2369 * @param event packet 2370 * @param Pointer to storage for remote_address 2371 * @note: btstack_type B 2372 */ 2373 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2374 reverse_bd_addr(&event[11], remote_address); 2375 } 2376 /** 2377 * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED 2378 * @param event packet 2379 * @return con_handle 2380 * @note: btstack_type H 2381 */ 2382 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){ 2383 return little_endian_read_16(event, 17); 2384 } 2385 2386 /** 2387 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED 2388 * @param event packet 2389 * @return bnep_cid 2390 * @note: btstack_type 2 2391 */ 2392 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){ 2393 return little_endian_read_16(event, 2); 2394 } 2395 /** 2396 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED 2397 * @param event packet 2398 * @return source_uuid 2399 * @note: btstack_type 2 2400 */ 2401 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){ 2402 return little_endian_read_16(event, 4); 2403 } 2404 /** 2405 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED 2406 * @param event packet 2407 * @return destination_uuid 2408 * @note: btstack_type 2 2409 */ 2410 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){ 2411 return little_endian_read_16(event, 6); 2412 } 2413 /** 2414 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED 2415 * @param event packet 2416 * @param Pointer to storage for remote_address 2417 * @note: btstack_type B 2418 */ 2419 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2420 reverse_bd_addr(&event[8], remote_address); 2421 } 2422 2423 /** 2424 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT 2425 * @param event packet 2426 * @return bnep_cid 2427 * @note: btstack_type 2 2428 */ 2429 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){ 2430 return little_endian_read_16(event, 2); 2431 } 2432 /** 2433 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 2434 * @param event packet 2435 * @return source_uuid 2436 * @note: btstack_type 2 2437 */ 2438 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){ 2439 return little_endian_read_16(event, 4); 2440 } 2441 /** 2442 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 2443 * @param event packet 2444 * @return destination_uuid 2445 * @note: btstack_type 2 2446 */ 2447 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){ 2448 return little_endian_read_16(event, 6); 2449 } 2450 /** 2451 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT 2452 * @param event packet 2453 * @param Pointer to storage for remote_address 2454 * @note: btstack_type B 2455 */ 2456 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2457 reverse_bd_addr(&event[8], remote_address); 2458 } 2459 /** 2460 * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT 2461 * @param event packet 2462 * @return channel_state 2463 * @note: btstack_type 1 2464 */ 2465 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){ 2466 return event[14]; 2467 } 2468 2469 /** 2470 * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW 2471 * @param event packet 2472 * @return bnep_cid 2473 * @note: btstack_type 2 2474 */ 2475 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){ 2476 return little_endian_read_16(event, 2); 2477 } 2478 /** 2479 * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW 2480 * @param event packet 2481 * @return source_uuid 2482 * @note: btstack_type 2 2483 */ 2484 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){ 2485 return little_endian_read_16(event, 4); 2486 } 2487 /** 2488 * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW 2489 * @param event packet 2490 * @return destination_uuid 2491 * @note: btstack_type 2 2492 */ 2493 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){ 2494 return little_endian_read_16(event, 6); 2495 } 2496 /** 2497 * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW 2498 * @param event packet 2499 * @param Pointer to storage for remote_address 2500 * @note: btstack_type B 2501 */ 2502 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2503 reverse_bd_addr(&event[8], remote_address); 2504 } 2505 2506 #ifdef ENABLE_BLE 2507 /** 2508 * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST 2509 * @param event packet 2510 * @return handle 2511 * @note: btstack_type H 2512 */ 2513 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ 2514 return little_endian_read_16(event, 2); 2515 } 2516 /** 2517 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST 2518 * @param event packet 2519 * @return addr_type 2520 * @note: btstack_type 1 2521 */ 2522 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ 2523 return event[4]; 2524 } 2525 /** 2526 * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST 2527 * @param event packet 2528 * @param Pointer to storage for address 2529 * @note: btstack_type B 2530 */ 2531 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ 2532 reverse_bd_addr(&event[5], address); 2533 } 2534 #endif 2535 2536 #ifdef ENABLE_BLE 2537 /** 2538 * @brief Get field handle from event SM_EVENT_JUST_WORKS_CANCEL 2539 * @param event packet 2540 * @return handle 2541 * @note: btstack_type H 2542 */ 2543 static inline hci_con_handle_t sm_event_just_works_cancel_get_handle(const uint8_t * event){ 2544 return little_endian_read_16(event, 2); 2545 } 2546 /** 2547 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_CANCEL 2548 * @param event packet 2549 * @return addr_type 2550 * @note: btstack_type 1 2551 */ 2552 static inline uint8_t sm_event_just_works_cancel_get_addr_type(const uint8_t * event){ 2553 return event[4]; 2554 } 2555 /** 2556 * @brief Get field address from event SM_EVENT_JUST_WORKS_CANCEL 2557 * @param event packet 2558 * @param Pointer to storage for address 2559 * @note: btstack_type B 2560 */ 2561 static inline void sm_event_just_works_cancel_get_address(const uint8_t * event, bd_addr_t address){ 2562 reverse_bd_addr(&event[5], address); 2563 } 2564 #endif 2565 2566 #ifdef ENABLE_BLE 2567 /** 2568 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2569 * @param event packet 2570 * @return handle 2571 * @note: btstack_type H 2572 */ 2573 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ 2574 return little_endian_read_16(event, 2); 2575 } 2576 /** 2577 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2578 * @param event packet 2579 * @return addr_type 2580 * @note: btstack_type 1 2581 */ 2582 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ 2583 return event[4]; 2584 } 2585 /** 2586 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2587 * @param event packet 2588 * @param Pointer to storage for address 2589 * @note: btstack_type B 2590 */ 2591 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ 2592 reverse_bd_addr(&event[5], address); 2593 } 2594 /** 2595 * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2596 * @param event packet 2597 * @return passkey 2598 * @note: btstack_type 4 2599 */ 2600 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ 2601 return little_endian_read_32(event, 11); 2602 } 2603 #endif 2604 2605 #ifdef ENABLE_BLE 2606 /** 2607 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 2608 * @param event packet 2609 * @return handle 2610 * @note: btstack_type H 2611 */ 2612 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ 2613 return little_endian_read_16(event, 2); 2614 } 2615 /** 2616 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 2617 * @param event packet 2618 * @return addr_type 2619 * @note: btstack_type 1 2620 */ 2621 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ 2622 return event[4]; 2623 } 2624 /** 2625 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 2626 * @param event packet 2627 * @param Pointer to storage for address 2628 * @note: btstack_type B 2629 */ 2630 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ 2631 reverse_bd_addr(&event[5], address); 2632 } 2633 #endif 2634 2635 #ifdef ENABLE_BLE 2636 /** 2637 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER 2638 * @param event packet 2639 * @return handle 2640 * @note: btstack_type H 2641 */ 2642 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ 2643 return little_endian_read_16(event, 2); 2644 } 2645 /** 2646 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER 2647 * @param event packet 2648 * @return addr_type 2649 * @note: btstack_type 1 2650 */ 2651 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ 2652 return event[4]; 2653 } 2654 /** 2655 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER 2656 * @param event packet 2657 * @param Pointer to storage for address 2658 * @note: btstack_type B 2659 */ 2660 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ 2661 reverse_bd_addr(&event[5], address); 2662 } 2663 #endif 2664 2665 #ifdef ENABLE_BLE 2666 /** 2667 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_CANCEL 2668 * @param event packet 2669 * @return handle 2670 * @note: btstack_type H 2671 */ 2672 static inline hci_con_handle_t sm_event_passkey_input_cancel_get_handle(const uint8_t * event){ 2673 return little_endian_read_16(event, 2); 2674 } 2675 /** 2676 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_CANCEL 2677 * @param event packet 2678 * @return addr_type 2679 * @note: btstack_type 1 2680 */ 2681 static inline uint8_t sm_event_passkey_input_cancel_get_addr_type(const uint8_t * event){ 2682 return event[4]; 2683 } 2684 /** 2685 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_CANCEL 2686 * @param event packet 2687 * @param Pointer to storage for address 2688 * @note: btstack_type B 2689 */ 2690 static inline void sm_event_passkey_input_cancel_get_address(const uint8_t * event, bd_addr_t address){ 2691 reverse_bd_addr(&event[5], address); 2692 } 2693 #endif 2694 2695 #ifdef ENABLE_BLE 2696 /** 2697 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2698 * @param event packet 2699 * @return handle 2700 * @note: btstack_type H 2701 */ 2702 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){ 2703 return little_endian_read_16(event, 2); 2704 } 2705 /** 2706 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2707 * @param event packet 2708 * @return addr_type 2709 * @note: btstack_type 1 2710 */ 2711 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){ 2712 return event[4]; 2713 } 2714 /** 2715 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2716 * @param event packet 2717 * @param Pointer to storage for address 2718 * @note: btstack_type B 2719 */ 2720 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){ 2721 reverse_bd_addr(&event[5], address); 2722 } 2723 /** 2724 * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2725 * @param event packet 2726 * @return passkey 2727 * @note: btstack_type 4 2728 */ 2729 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){ 2730 return little_endian_read_32(event, 11); 2731 } 2732 #endif 2733 2734 #ifdef ENABLE_BLE 2735 /** 2736 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_CANCEL 2737 * @param event packet 2738 * @return handle 2739 * @note: btstack_type H 2740 */ 2741 static inline hci_con_handle_t sm_event_numeric_comparison_cancel_get_handle(const uint8_t * event){ 2742 return little_endian_read_16(event, 2); 2743 } 2744 /** 2745 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_CANCEL 2746 * @param event packet 2747 * @return addr_type 2748 * @note: btstack_type 1 2749 */ 2750 static inline uint8_t sm_event_numeric_comparison_cancel_get_addr_type(const uint8_t * event){ 2751 return event[4]; 2752 } 2753 /** 2754 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_CANCEL 2755 * @param event packet 2756 * @param Pointer to storage for address 2757 * @note: btstack_type B 2758 */ 2759 static inline void sm_event_numeric_comparison_cancel_get_address(const uint8_t * event, bd_addr_t address){ 2760 reverse_bd_addr(&event[5], address); 2761 } 2762 #endif 2763 2764 #ifdef ENABLE_BLE 2765 /** 2766 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED 2767 * @param event packet 2768 * @return handle 2769 * @note: btstack_type H 2770 */ 2771 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ 2772 return little_endian_read_16(event, 2); 2773 } 2774 /** 2775 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED 2776 * @param event packet 2777 * @return addr_type 2778 * @note: btstack_type 1 2779 */ 2780 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ 2781 return event[4]; 2782 } 2783 /** 2784 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED 2785 * @param event packet 2786 * @param Pointer to storage for address 2787 * @note: btstack_type B 2788 */ 2789 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ 2790 reverse_bd_addr(&event[5], address); 2791 } 2792 #endif 2793 2794 #ifdef ENABLE_BLE 2795 /** 2796 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED 2797 * @param event packet 2798 * @return handle 2799 * @note: btstack_type H 2800 */ 2801 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ 2802 return little_endian_read_16(event, 2); 2803 } 2804 /** 2805 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED 2806 * @param event packet 2807 * @return addr_type 2808 * @note: btstack_type 1 2809 */ 2810 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ 2811 return event[4]; 2812 } 2813 /** 2814 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED 2815 * @param event packet 2816 * @param Pointer to storage for address 2817 * @note: btstack_type B 2818 */ 2819 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ 2820 reverse_bd_addr(&event[5], address); 2821 } 2822 #endif 2823 2824 #ifdef ENABLE_BLE 2825 /** 2826 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2827 * @param event packet 2828 * @return handle 2829 * @note: btstack_type H 2830 */ 2831 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ 2832 return little_endian_read_16(event, 2); 2833 } 2834 /** 2835 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2836 * @param event packet 2837 * @return addr_type 2838 * @note: btstack_type 1 2839 */ 2840 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ 2841 return event[4]; 2842 } 2843 /** 2844 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2845 * @param event packet 2846 * @param Pointer to storage for address 2847 * @note: btstack_type B 2848 */ 2849 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ 2850 reverse_bd_addr(&event[5], address); 2851 } 2852 /** 2853 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2854 * @param event packet 2855 * @return identity_addr_type 2856 * @note: btstack_type 1 2857 */ 2858 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){ 2859 return event[11]; 2860 } 2861 /** 2862 * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2863 * @param event packet 2864 * @param Pointer to storage for identity_address 2865 * @note: btstack_type B 2866 */ 2867 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 2868 reverse_bd_addr(&event[12], identity_address); 2869 } 2870 /** 2871 * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2872 * @param event packet 2873 * @return index 2874 * @note: btstack_type 2 2875 */ 2876 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){ 2877 return little_endian_read_16(event, 18); 2878 } 2879 #endif 2880 2881 #ifdef ENABLE_BLE 2882 /** 2883 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST 2884 * @param event packet 2885 * @return handle 2886 * @note: btstack_type H 2887 */ 2888 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){ 2889 return little_endian_read_16(event, 2); 2890 } 2891 /** 2892 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST 2893 * @param event packet 2894 * @return addr_type 2895 * @note: btstack_type 1 2896 */ 2897 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ 2898 return event[4]; 2899 } 2900 /** 2901 * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST 2902 * @param event packet 2903 * @param Pointer to storage for address 2904 * @note: btstack_type B 2905 */ 2906 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ 2907 reverse_bd_addr(&event[5], address); 2908 } 2909 #endif 2910 2911 #ifdef ENABLE_BLE 2912 /** 2913 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT 2914 * @param event packet 2915 * @return handle 2916 * @note: btstack_type H 2917 */ 2918 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ 2919 return little_endian_read_16(event, 2); 2920 } 2921 /** 2922 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT 2923 * @param event packet 2924 * @return addr_type 2925 * @note: btstack_type 1 2926 */ 2927 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ 2928 return event[4]; 2929 } 2930 /** 2931 * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT 2932 * @param event packet 2933 * @param Pointer to storage for address 2934 * @note: btstack_type B 2935 */ 2936 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ 2937 reverse_bd_addr(&event[5], address); 2938 } 2939 /** 2940 * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT 2941 * @param event packet 2942 * @return authorization_result 2943 * @note: btstack_type 1 2944 */ 2945 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ 2946 return event[11]; 2947 } 2948 #endif 2949 2950 #ifdef ENABLE_BLE 2951 /** 2952 * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION 2953 * @param event packet 2954 * @return handle 2955 * @note: btstack_type H 2956 */ 2957 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){ 2958 return little_endian_read_16(event, 2); 2959 } 2960 /** 2961 * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION 2962 * @param event packet 2963 * @return action 2964 * @note: btstack_type 1 2965 */ 2966 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){ 2967 return event[4]; 2968 } 2969 #endif 2970 2971 #ifdef ENABLE_BLE 2972 /** 2973 * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED 2974 * @param event packet 2975 * @return handle 2976 * @note: btstack_type H 2977 */ 2978 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){ 2979 return little_endian_read_16(event, 2); 2980 } 2981 /** 2982 * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED 2983 * @param event packet 2984 * @return addr_type 2985 * @note: btstack_type 1 2986 */ 2987 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){ 2988 return event[4]; 2989 } 2990 /** 2991 * @brief Get field address from event SM_EVENT_IDENTITY_CREATED 2992 * @param event packet 2993 * @param Pointer to storage for address 2994 * @note: btstack_type B 2995 */ 2996 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){ 2997 reverse_bd_addr(&event[5], address); 2998 } 2999 /** 3000 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED 3001 * @param event packet 3002 * @return identity_addr_type 3003 * @note: btstack_type 1 3004 */ 3005 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){ 3006 return event[11]; 3007 } 3008 /** 3009 * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED 3010 * @param event packet 3011 * @param Pointer to storage for identity_address 3012 * @note: btstack_type B 3013 */ 3014 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3015 reverse_bd_addr(&event[12], identity_address); 3016 } 3017 /** 3018 * @brief Get field index from event SM_EVENT_IDENTITY_CREATED 3019 * @param event packet 3020 * @return index 3021 * @note: btstack_type 2 3022 */ 3023 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){ 3024 return little_endian_read_16(event, 18); 3025 } 3026 #endif 3027 3028 #ifdef ENABLE_BLE 3029 /** 3030 * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE 3031 * @param event packet 3032 * @return handle 3033 * @note: btstack_type H 3034 */ 3035 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){ 3036 return little_endian_read_16(event, 2); 3037 } 3038 /** 3039 * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE 3040 * @param event packet 3041 * @return addr_type 3042 * @note: btstack_type 1 3043 */ 3044 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){ 3045 return event[4]; 3046 } 3047 /** 3048 * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE 3049 * @param event packet 3050 * @param Pointer to storage for address 3051 * @note: btstack_type B 3052 */ 3053 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){ 3054 reverse_bd_addr(&event[5], address); 3055 } 3056 /** 3057 * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE 3058 * @param event packet 3059 * @return status 3060 * @note: btstack_type 1 3061 */ 3062 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){ 3063 return event[11]; 3064 } 3065 /** 3066 * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE 3067 * @param event packet 3068 * @return reason 3069 * @note: btstack_type 1 3070 */ 3071 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){ 3072 return event[12]; 3073 } 3074 #endif 3075 3076 /** 3077 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 3078 * @param event packet 3079 * @return handle 3080 * @note: btstack_type H 3081 */ 3082 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 3083 return little_endian_read_16(event, 2); 3084 } 3085 /** 3086 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 3087 * @param event packet 3088 * @return security_level 3089 * @note: btstack_type 1 3090 */ 3091 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 3092 return event[4]; 3093 } 3094 3095 /** 3096 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3097 * @param event packet 3098 * @return status 3099 * @note: btstack_type 1 3100 */ 3101 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 3102 return event[2]; 3103 } 3104 /** 3105 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3106 * @param event packet 3107 * @param Pointer to storage for address 3108 * @note: btstack_type B 3109 */ 3110 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 3111 reverse_bd_addr(&event[3], address); 3112 } 3113 3114 /** 3115 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 3116 * @param event packet 3117 * @return advertising_event_type 3118 * @note: btstack_type 1 3119 */ 3120 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 3121 return event[2]; 3122 } 3123 /** 3124 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 3125 * @param event packet 3126 * @return address_type 3127 * @note: btstack_type 1 3128 */ 3129 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 3130 return event[3]; 3131 } 3132 /** 3133 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 3134 * @param event packet 3135 * @param Pointer to storage for address 3136 * @note: btstack_type B 3137 */ 3138 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 3139 reverse_bd_addr(&event[4], address); 3140 } 3141 /** 3142 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 3143 * @param event packet 3144 * @return rssi 3145 * @note: btstack_type 1 3146 */ 3147 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 3148 return event[10]; 3149 } 3150 /** 3151 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 3152 * @param event packet 3153 * @return data_length 3154 * @note: btstack_type J 3155 */ 3156 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 3157 return event[11]; 3158 } 3159 /** 3160 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 3161 * @param event packet 3162 * @return data 3163 * @note: btstack_type V 3164 */ 3165 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 3166 return &event[12]; 3167 } 3168 3169 /** 3170 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 3171 * @param event packet 3172 * @param Pointer to storage for bd_addr 3173 * @note: btstack_type B 3174 */ 3175 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 3176 reverse_bd_addr(&event[2], bd_addr); 3177 } 3178 /** 3179 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 3180 * @param event packet 3181 * @return page_scan_repetition_mode 3182 * @note: btstack_type 1 3183 */ 3184 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 3185 return event[8]; 3186 } 3187 /** 3188 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 3189 * @param event packet 3190 * @return class_of_device 3191 * @note: btstack_type 3 3192 */ 3193 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 3194 return little_endian_read_24(event, 9); 3195 } 3196 /** 3197 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 3198 * @param event packet 3199 * @return clock_offset 3200 * @note: btstack_type 2 3201 */ 3202 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 3203 return little_endian_read_16(event, 12); 3204 } 3205 /** 3206 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 3207 * @param event packet 3208 * @return rssi_available 3209 * @note: btstack_type 1 3210 */ 3211 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 3212 return event[14]; 3213 } 3214 /** 3215 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 3216 * @param event packet 3217 * @return rssi 3218 * @note: btstack_type 1 3219 */ 3220 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 3221 return event[15]; 3222 } 3223 /** 3224 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 3225 * @param event packet 3226 * @return name_available 3227 * @note: btstack_type 1 3228 */ 3229 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 3230 return event[16]; 3231 } 3232 /** 3233 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 3234 * @param event packet 3235 * @return name_len 3236 * @note: btstack_type J 3237 */ 3238 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 3239 return event[17]; 3240 } 3241 /** 3242 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 3243 * @param event packet 3244 * @return name 3245 * @note: btstack_type V 3246 */ 3247 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 3248 return &event[18]; 3249 } 3250 3251 /** 3252 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 3253 * @param event packet 3254 * @return status 3255 * @note: btstack_type 1 3256 */ 3257 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 3258 return event[2]; 3259 } 3260 3261 /** 3262 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3263 * @param event packet 3264 * @return status 3265 * @note: btstack_type 1 3266 */ 3267 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 3268 return event[3]; 3269 } 3270 /** 3271 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3272 * @param event packet 3273 * @return connection_handle 3274 * @note: btstack_type H 3275 */ 3276 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 3277 return little_endian_read_16(event, 4); 3278 } 3279 /** 3280 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3281 * @param event packet 3282 * @return role 3283 * @note: btstack_type 1 3284 */ 3285 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 3286 return event[6]; 3287 } 3288 /** 3289 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3290 * @param event packet 3291 * @return peer_address_type 3292 * @note: btstack_type 1 3293 */ 3294 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 3295 return event[7]; 3296 } 3297 /** 3298 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3299 * @param event packet 3300 * @param Pointer to storage for peer_address 3301 * @note: btstack_type B 3302 */ 3303 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 3304 reverse_bd_addr(&event[8], peer_address); 3305 } 3306 /** 3307 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3308 * @param event packet 3309 * @return conn_interval 3310 * @note: btstack_type 2 3311 */ 3312 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 3313 return little_endian_read_16(event, 14); 3314 } 3315 /** 3316 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3317 * @param event packet 3318 * @return conn_latency 3319 * @note: btstack_type 2 3320 */ 3321 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 3322 return little_endian_read_16(event, 16); 3323 } 3324 /** 3325 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3326 * @param event packet 3327 * @return supervision_timeout 3328 * @note: btstack_type 2 3329 */ 3330 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 3331 return little_endian_read_16(event, 18); 3332 } 3333 /** 3334 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3335 * @param event packet 3336 * @return master_clock_accuracy 3337 * @note: btstack_type 1 3338 */ 3339 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 3340 return event[20]; 3341 } 3342 3343 /** 3344 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3345 * @param event packet 3346 * @return status 3347 * @note: btstack_type 1 3348 */ 3349 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 3350 return event[3]; 3351 } 3352 /** 3353 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3354 * @param event packet 3355 * @return connection_handle 3356 * @note: btstack_type H 3357 */ 3358 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 3359 return little_endian_read_16(event, 4); 3360 } 3361 /** 3362 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3363 * @param event packet 3364 * @return conn_interval 3365 * @note: btstack_type 2 3366 */ 3367 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 3368 return little_endian_read_16(event, 6); 3369 } 3370 /** 3371 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3372 * @param event packet 3373 * @return conn_latency 3374 * @note: btstack_type 2 3375 */ 3376 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 3377 return little_endian_read_16(event, 8); 3378 } 3379 /** 3380 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3381 * @param event packet 3382 * @return supervision_timeout 3383 * @note: btstack_type 2 3384 */ 3385 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 3386 return little_endian_read_16(event, 10); 3387 } 3388 3389 /** 3390 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3391 * @param event packet 3392 * @return connection_handle 3393 * @note: btstack_type H 3394 */ 3395 static inline hci_con_handle_t hci_subevent_le_read_remote_used_features_complete_get_connection_handle(const uint8_t * event){ 3396 return little_endian_read_16(event, 3); 3397 } 3398 /** 3399 * @brief Get field random_number from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3400 * @param event packet 3401 * @return random_number 3402 * @note: btstack_type D 3403 */ 3404 static inline const uint8_t * hci_subevent_le_read_remote_used_features_complete_get_random_number(const uint8_t * event){ 3405 return (const uint8_t *) &event[5]; 3406 } 3407 /** 3408 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3409 * @param event packet 3410 * @return encryption_diversifier 3411 * @note: btstack_type 2 3412 */ 3413 static inline uint16_t hci_subevent_le_read_remote_used_features_complete_get_encryption_diversifier(const uint8_t * event){ 3414 return little_endian_read_16(event, 13); 3415 } 3416 3417 /** 3418 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3419 * @param event packet 3420 * @return connection_handle 3421 * @note: btstack_type H 3422 */ 3423 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 3424 return little_endian_read_16(event, 3); 3425 } 3426 /** 3427 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3428 * @param event packet 3429 * @return random_number 3430 * @note: btstack_type D 3431 */ 3432 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 3433 return (const uint8_t *) &event[5]; 3434 } 3435 /** 3436 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3437 * @param event packet 3438 * @return encryption_diversifier 3439 * @note: btstack_type 2 3440 */ 3441 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 3442 return little_endian_read_16(event, 13); 3443 } 3444 3445 /** 3446 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3447 * @param event packet 3448 * @return connection_handle 3449 * @note: btstack_type H 3450 */ 3451 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 3452 return little_endian_read_16(event, 3); 3453 } 3454 /** 3455 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3456 * @param event packet 3457 * @return interval_min 3458 * @note: btstack_type 2 3459 */ 3460 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 3461 return little_endian_read_16(event, 5); 3462 } 3463 /** 3464 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3465 * @param event packet 3466 * @return interval_max 3467 * @note: btstack_type 2 3468 */ 3469 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 3470 return little_endian_read_16(event, 7); 3471 } 3472 /** 3473 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3474 * @param event packet 3475 * @return latency 3476 * @note: btstack_type 2 3477 */ 3478 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 3479 return little_endian_read_16(event, 9); 3480 } 3481 /** 3482 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3483 * @param event packet 3484 * @return timeout 3485 * @note: btstack_type 2 3486 */ 3487 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 3488 return little_endian_read_16(event, 11); 3489 } 3490 3491 /** 3492 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3493 * @param event packet 3494 * @return connection_handle 3495 * @note: btstack_type H 3496 */ 3497 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 3498 return little_endian_read_16(event, 3); 3499 } 3500 /** 3501 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3502 * @param event packet 3503 * @return max_tx_octets 3504 * @note: btstack_type 2 3505 */ 3506 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 3507 return little_endian_read_16(event, 5); 3508 } 3509 /** 3510 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3511 * @param event packet 3512 * @return max_tx_time 3513 * @note: btstack_type 2 3514 */ 3515 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 3516 return little_endian_read_16(event, 7); 3517 } 3518 /** 3519 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3520 * @param event packet 3521 * @return max_rx_octets 3522 * @note: btstack_type 2 3523 */ 3524 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 3525 return little_endian_read_16(event, 9); 3526 } 3527 /** 3528 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3529 * @param event packet 3530 * @return max_rx_time 3531 * @note: btstack_type 2 3532 */ 3533 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 3534 return little_endian_read_16(event, 11); 3535 } 3536 3537 /** 3538 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3539 * @param event packet 3540 * @return status 3541 * @note: btstack_type 1 3542 */ 3543 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 3544 return event[3]; 3545 } 3546 /** 3547 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3548 * @param event packet 3549 * @param Pointer to storage for dhkey_x 3550 * @note: btstack_type Q 3551 */ 3552 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 3553 reverse_bytes(&event[4], dhkey_x, 32); 3554 } 3555 /** 3556 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3557 * @param event packet 3558 * @param Pointer to storage for dhkey_y 3559 * @note: btstack_type Q 3560 */ 3561 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 3562 reverse_bytes(&event[36], dhkey_y, 32); 3563 } 3564 3565 /** 3566 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 3567 * @param event packet 3568 * @return status 3569 * @note: btstack_type 1 3570 */ 3571 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 3572 return event[3]; 3573 } 3574 /** 3575 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 3576 * @param event packet 3577 * @param Pointer to storage for dhkey 3578 * @note: btstack_type Q 3579 */ 3580 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 3581 reverse_bytes(&event[4], dhkey, 32); 3582 } 3583 3584 /** 3585 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3586 * @param event packet 3587 * @return status 3588 * @note: btstack_type 1 3589 */ 3590 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_status(const uint8_t * event){ 3591 return event[3]; 3592 } 3593 /** 3594 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3595 * @param event packet 3596 * @return connection_handle 3597 * @note: btstack_type H 3598 */ 3599 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_get_connection_handle(const uint8_t * event){ 3600 return little_endian_read_16(event, 4); 3601 } 3602 /** 3603 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3604 * @param event packet 3605 * @return role 3606 * @note: btstack_type 1 3607 */ 3608 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_role(const uint8_t * event){ 3609 return event[6]; 3610 } 3611 /** 3612 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3613 * @param event packet 3614 * @return peer_address_type 3615 * @note: btstack_type 1 3616 */ 3617 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_peer_address_type(const uint8_t * event){ 3618 return event[7]; 3619 } 3620 /** 3621 * @brief Get field perr_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3622 * @param event packet 3623 * @param Pointer to storage for perr_addresss 3624 * @note: btstack_type B 3625 */ 3626 static inline void hci_subevent_le_enhanced_connection_complete_get_perr_addresss(const uint8_t * event, bd_addr_t perr_addresss){ 3627 reverse_bd_addr(&event[8], perr_addresss); 3628 } 3629 /** 3630 * @brief Get field local_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3631 * @param event packet 3632 * @param Pointer to storage for local_resolvable_private_addres 3633 * @note: btstack_type B 3634 */ 3635 static inline void hci_subevent_le_enhanced_connection_complete_get_local_resolvable_private_addres(const uint8_t * event, bd_addr_t local_resolvable_private_addres){ 3636 reverse_bd_addr(&event[14], local_resolvable_private_addres); 3637 } 3638 /** 3639 * @brief Get field peer_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3640 * @param event packet 3641 * @param Pointer to storage for peer_resolvable_private_addres 3642 * @note: btstack_type B 3643 */ 3644 static inline void hci_subevent_le_enhanced_connection_complete_get_peer_resolvable_private_addres(const uint8_t * event, bd_addr_t peer_resolvable_private_addres){ 3645 reverse_bd_addr(&event[20], peer_resolvable_private_addres); 3646 } 3647 /** 3648 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3649 * @param event packet 3650 * @return conn_interval 3651 * @note: btstack_type 2 3652 */ 3653 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_interval(const uint8_t * event){ 3654 return little_endian_read_16(event, 26); 3655 } 3656 /** 3657 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3658 * @param event packet 3659 * @return conn_latency 3660 * @note: btstack_type 2 3661 */ 3662 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_latency(const uint8_t * event){ 3663 return little_endian_read_16(event, 28); 3664 } 3665 /** 3666 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3667 * @param event packet 3668 * @return supervision_timeout 3669 * @note: btstack_type 2 3670 */ 3671 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_supervision_timeout(const uint8_t * event){ 3672 return little_endian_read_16(event, 30); 3673 } 3674 /** 3675 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3676 * @param event packet 3677 * @return master_clock_accuracy 3678 * @note: btstack_type 1 3679 */ 3680 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 3681 return event[32]; 3682 } 3683 3684 /** 3685 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 3686 * @param event packet 3687 * @return status 3688 * @note: btstack_type 1 3689 */ 3690 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 3691 return event[3]; 3692 } 3693 3694 /** 3695 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 3696 * @param event packet 3697 * @return status 3698 * @note: btstack_type 1 3699 */ 3700 static inline uint8_t hsp_subevent_rfcomm_disconnection_complete_get_status(const uint8_t * event){ 3701 return event[3]; 3702 } 3703 3704 /** 3705 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 3706 * @param event packet 3707 * @return status 3708 * @note: btstack_type 1 3709 */ 3710 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 3711 return event[3]; 3712 } 3713 /** 3714 * @brief Get field handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 3715 * @param event packet 3716 * @return handle 3717 * @note: btstack_type H 3718 */ 3719 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_handle(const uint8_t * event){ 3720 return little_endian_read_16(event, 4); 3721 } 3722 3723 /** 3724 * @brief Get field status from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 3725 * @param event packet 3726 * @return status 3727 * @note: btstack_type 1 3728 */ 3729 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_status(const uint8_t * event){ 3730 return event[3]; 3731 } 3732 3733 3734 /** 3735 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 3736 * @param event packet 3737 * @return gain 3738 * @note: btstack_type 1 3739 */ 3740 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 3741 return event[3]; 3742 } 3743 3744 /** 3745 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 3746 * @param event packet 3747 * @return gain 3748 * @note: btstack_type 1 3749 */ 3750 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 3751 return event[3]; 3752 } 3753 3754 /** 3755 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 3756 * @param event packet 3757 * @return value_length 3758 * @note: btstack_type J 3759 */ 3760 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 3761 return event[3]; 3762 } 3763 /** 3764 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 3765 * @param event packet 3766 * @return value 3767 * @note: btstack_type V 3768 */ 3769 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 3770 return &event[4]; 3771 } 3772 3773 /** 3774 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 3775 * @param event packet 3776 * @return value_length 3777 * @note: btstack_type J 3778 */ 3779 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 3780 return event[3]; 3781 } 3782 /** 3783 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 3784 * @param event packet 3785 * @return value 3786 * @note: btstack_type V 3787 */ 3788 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 3789 return &event[4]; 3790 } 3791 3792 /** 3793 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 3794 * @param event packet 3795 * @return status 3796 * @note: btstack_type 1 3797 */ 3798 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 3799 return event[3]; 3800 } 3801 /** 3802 * @brief Get field con_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 3803 * @param event packet 3804 * @return con_handle 3805 * @note: btstack_type H 3806 */ 3807 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_con_handle(const uint8_t * event){ 3808 return little_endian_read_16(event, 4); 3809 } 3810 /** 3811 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 3812 * @param event packet 3813 * @param Pointer to storage for bd_addr 3814 * @note: btstack_type B 3815 */ 3816 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 3817 reverse_bd_addr(&event[6], bd_addr); 3818 } 3819 3820 3821 /** 3822 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3823 * @param event packet 3824 * @return status 3825 * @note: btstack_type 1 3826 */ 3827 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 3828 return event[3]; 3829 } 3830 /** 3831 * @brief Get field handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3832 * @param event packet 3833 * @return handle 3834 * @note: btstack_type H 3835 */ 3836 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_handle(const uint8_t * event){ 3837 return little_endian_read_16(event, 4); 3838 } 3839 /** 3840 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3841 * @param event packet 3842 * @param Pointer to storage for bd_addr 3843 * @note: btstack_type B 3844 */ 3845 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 3846 reverse_bd_addr(&event[6], bd_addr); 3847 } 3848 /** 3849 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3850 * @param event packet 3851 * @return negotiated_codec 3852 * @note: btstack_type 1 3853 */ 3854 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 3855 return event[12]; 3856 } 3857 3858 3859 /** 3860 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 3861 * @param event packet 3862 * @return status 3863 * @note: btstack_type 1 3864 */ 3865 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 3866 return event[3]; 3867 } 3868 3869 /** 3870 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3871 * @param event packet 3872 * @return indicator_index 3873 * @note: btstack_type 1 3874 */ 3875 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 3876 return event[3]; 3877 } 3878 /** 3879 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3880 * @param event packet 3881 * @return indicator_status 3882 * @note: btstack_type 1 3883 */ 3884 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 3885 return event[4]; 3886 } 3887 /** 3888 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3889 * @param event packet 3890 * @return indicator_min_range 3891 * @note: btstack_type 1 3892 */ 3893 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 3894 return event[5]; 3895 } 3896 /** 3897 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3898 * @param event packet 3899 * @return indicator_max_range 3900 * @note: btstack_type 1 3901 */ 3902 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 3903 return event[6]; 3904 } 3905 /** 3906 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3907 * @param event packet 3908 * @return indicator_mandatory 3909 * @note: btstack_type 1 3910 */ 3911 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 3912 return event[7]; 3913 } 3914 /** 3915 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3916 * @param event packet 3917 * @return indicator_enabled 3918 * @note: btstack_type 1 3919 */ 3920 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 3921 return event[8]; 3922 } 3923 /** 3924 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3925 * @param event packet 3926 * @return indicator_status_changed 3927 * @note: btstack_type 1 3928 */ 3929 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 3930 return event[9]; 3931 } 3932 /** 3933 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3934 * @param event packet 3935 * @return indicator_name 3936 * @note: btstack_type T 3937 */ 3938 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 3939 return (const char *) &event[10]; 3940 } 3941 3942 /** 3943 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 3944 * @param event packet 3945 * @return network_operator_mode 3946 * @note: btstack_type 1 3947 */ 3948 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 3949 return event[3]; 3950 } 3951 /** 3952 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 3953 * @param event packet 3954 * @return network_operator_format 3955 * @note: btstack_type 1 3956 */ 3957 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 3958 return event[4]; 3959 } 3960 /** 3961 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 3962 * @param event packet 3963 * @return network_operator_name 3964 * @note: btstack_type T 3965 */ 3966 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 3967 return (const char *) &event[5]; 3968 } 3969 3970 /** 3971 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 3972 * @param event packet 3973 * @return error 3974 * @note: btstack_type 1 3975 */ 3976 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 3977 return event[3]; 3978 } 3979 3980 3981 3982 3983 /** 3984 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 3985 * @param event packet 3986 * @return number 3987 * @note: btstack_type T 3988 */ 3989 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 3990 return (const char *) &event[3]; 3991 } 3992 3993 3994 /** 3995 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 3996 * @param event packet 3997 * @return number 3998 * @note: btstack_type T 3999 */ 4000 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 4001 return (const char *) &event[3]; 4002 } 4003 4004 /** 4005 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 4006 * @param event packet 4007 * @return dtmf 4008 * @note: btstack_type T 4009 */ 4010 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 4011 return (const char *) &event[3]; 4012 } 4013 4014 4015 4016 4017 /** 4018 * @brief Get field status from event HFP_SUBEVENT_SPEAKER_VOLUME 4019 * @param event packet 4020 * @return status 4021 * @note: btstack_type 1 4022 */ 4023 static inline uint8_t hfp_subevent_speaker_volume_get_status(const uint8_t * event){ 4024 return event[3]; 4025 } 4026 /** 4027 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 4028 * @param event packet 4029 * @return gain 4030 * @note: btstack_type 1 4031 */ 4032 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 4033 return event[4]; 4034 } 4035 4036 /** 4037 * @brief Get field status from event HFP_SUBEVENT_MICROPHONE_VOLUME 4038 * @param event packet 4039 * @return status 4040 * @note: btstack_type 1 4041 */ 4042 static inline uint8_t hfp_subevent_microphone_volume_get_status(const uint8_t * event){ 4043 return event[3]; 4044 } 4045 /** 4046 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 4047 * @param event packet 4048 * @return gain 4049 * @note: btstack_type 1 4050 */ 4051 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 4052 return event[4]; 4053 } 4054 4055 /** 4056 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 4057 * @param event packet 4058 * @return type 4059 * @note: btstack_type 1 4060 */ 4061 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 4062 return event[3]; 4063 } 4064 /** 4065 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 4066 * @param event packet 4067 * @return number 4068 * @note: btstack_type T 4069 */ 4070 static inline const char * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 4071 return (const char *) &event[4]; 4072 } 4073 4074 /** 4075 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 4076 * @param event packet 4077 * @return type 4078 * @note: btstack_type 1 4079 */ 4080 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 4081 return event[3]; 4082 } 4083 /** 4084 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 4085 * @param event packet 4086 * @return number 4087 * @note: btstack_type T 4088 */ 4089 static inline const char * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 4090 return (const char *) &event[4]; 4091 } 4092 4093 /** 4094 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4095 * @param event packet 4096 * @return clcc_idx 4097 * @note: btstack_type 1 4098 */ 4099 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 4100 return event[3]; 4101 } 4102 /** 4103 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4104 * @param event packet 4105 * @return clcc_dir 4106 * @note: btstack_type 1 4107 */ 4108 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 4109 return event[4]; 4110 } 4111 /** 4112 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4113 * @param event packet 4114 * @return clcc_status 4115 * @note: btstack_type 1 4116 */ 4117 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 4118 return event[5]; 4119 } 4120 /** 4121 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4122 * @param event packet 4123 * @return clcc_mode 4124 * @note: btstack_type 1 4125 */ 4126 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 4127 return event[6]; 4128 } 4129 /** 4130 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4131 * @param event packet 4132 * @return clcc_mpty 4133 * @note: btstack_type 1 4134 */ 4135 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 4136 return event[7]; 4137 } 4138 /** 4139 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4140 * @param event packet 4141 * @return bnip_type 4142 * @note: btstack_type 1 4143 */ 4144 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 4145 return event[8]; 4146 } 4147 /** 4148 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4149 * @param event packet 4150 * @return bnip_number 4151 * @note: btstack_type T 4152 */ 4153 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 4154 return (const char *) &event[9]; 4155 } 4156 4157 /** 4158 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4159 * @param event packet 4160 * @return status 4161 * @note: btstack_type 1 4162 */ 4163 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 4164 return event[3]; 4165 } 4166 /** 4167 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4168 * @param event packet 4169 * @return bnip_type 4170 * @note: btstack_type 1 4171 */ 4172 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 4173 return event[4]; 4174 } 4175 /** 4176 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4177 * @param event packet 4178 * @return bnip_number 4179 * @note: btstack_type T 4180 */ 4181 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 4182 return (const char *) &event[5]; 4183 } 4184 4185 /** 4186 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 4187 * @param event packet 4188 * @return value 4189 * @note: btstack_type T 4190 */ 4191 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 4192 return (const char *) &event[3]; 4193 } 4194 4195 #ifdef ENABLE_BLE 4196 /** 4197 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 4198 * @param event packet 4199 * @return handle 4200 * @note: btstack_type H 4201 */ 4202 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 4203 return little_endian_read_16(event, 3); 4204 } 4205 #endif 4206 4207 #ifdef ENABLE_BLE 4208 /** 4209 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4210 * @param event packet 4211 * @return handle 4212 * @note: btstack_type H 4213 */ 4214 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 4215 return little_endian_read_16(event, 3); 4216 } 4217 /** 4218 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4219 * @param event packet 4220 * @return attribute_id 4221 * @note: btstack_type 2 4222 */ 4223 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 4224 return little_endian_read_16(event, 5); 4225 } 4226 /** 4227 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4228 * @param event packet 4229 * @return text 4230 * @note: btstack_type T 4231 */ 4232 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 4233 return (const char *) &event[7]; 4234 } 4235 #endif 4236 4237 #ifdef ENABLE_BLE 4238 /** 4239 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 4240 * @param event packet 4241 * @return handle 4242 * @note: btstack_type H 4243 */ 4244 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 4245 return little_endian_read_16(event, 3); 4246 } 4247 #endif 4248 4249 /** 4250 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4251 * @param event packet 4252 * @return avdtp_cid 4253 * @note: btstack_type 2 4254 */ 4255 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 4256 return little_endian_read_16(event, 3); 4257 } 4258 /** 4259 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4260 * @param event packet 4261 * @return local_seid 4262 * @note: btstack_type 1 4263 */ 4264 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 4265 return event[5]; 4266 } 4267 /** 4268 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4269 * @param event packet 4270 * @return signal_identifier 4271 * @note: btstack_type 1 4272 */ 4273 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 4274 return event[6]; 4275 } 4276 4277 /** 4278 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 4279 * @param event packet 4280 * @return avdtp_cid 4281 * @note: btstack_type 2 4282 */ 4283 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 4284 return little_endian_read_16(event, 3); 4285 } 4286 /** 4287 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 4288 * @param event packet 4289 * @return local_seid 4290 * @note: btstack_type 1 4291 */ 4292 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 4293 return event[5]; 4294 } 4295 /** 4296 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 4297 * @param event packet 4298 * @return signal_identifier 4299 * @note: btstack_type 1 4300 */ 4301 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 4302 return event[6]; 4303 } 4304 4305 /** 4306 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4307 * @param event packet 4308 * @return avdtp_cid 4309 * @note: btstack_type 2 4310 */ 4311 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 4312 return little_endian_read_16(event, 3); 4313 } 4314 /** 4315 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4316 * @param event packet 4317 * @return local_seid 4318 * @note: btstack_type 1 4319 */ 4320 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 4321 return event[5]; 4322 } 4323 /** 4324 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4325 * @param event packet 4326 * @return signal_identifier 4327 * @note: btstack_type 1 4328 */ 4329 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 4330 return event[6]; 4331 } 4332 4333 /** 4334 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4335 * @param event packet 4336 * @return avdtp_cid 4337 * @note: btstack_type 2 4338 */ 4339 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 4340 return little_endian_read_16(event, 3); 4341 } 4342 /** 4343 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4344 * @param event packet 4345 * @param Pointer to storage for bd_addr 4346 * @note: btstack_type B 4347 */ 4348 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4349 reverse_bd_addr(&event[5], bd_addr); 4350 } 4351 /** 4352 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4353 * @param event packet 4354 * @return status 4355 * @note: btstack_type 1 4356 */ 4357 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 4358 return event[11]; 4359 } 4360 4361 /** 4362 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 4363 * @param event packet 4364 * @return avdtp_cid 4365 * @note: btstack_type 2 4366 */ 4367 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 4368 return little_endian_read_16(event, 3); 4369 } 4370 4371 /** 4372 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4373 * @param event packet 4374 * @return avdtp_cid 4375 * @note: btstack_type 2 4376 */ 4377 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 4378 return little_endian_read_16(event, 3); 4379 } 4380 /** 4381 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4382 * @param event packet 4383 * @return remote_seid 4384 * @note: btstack_type 1 4385 */ 4386 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 4387 return event[5]; 4388 } 4389 /** 4390 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4391 * @param event packet 4392 * @return in_use 4393 * @note: btstack_type 1 4394 */ 4395 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 4396 return event[6]; 4397 } 4398 /** 4399 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4400 * @param event packet 4401 * @return media_type 4402 * @note: btstack_type 1 4403 */ 4404 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 4405 return event[7]; 4406 } 4407 /** 4408 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4409 * @param event packet 4410 * @return sep_type 4411 * @note: btstack_type 1 4412 */ 4413 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 4414 return event[8]; 4415 } 4416 4417 /** 4418 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4419 * @param event packet 4420 * @return avdtp_cid 4421 * @note: btstack_type 2 4422 */ 4423 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 4424 return little_endian_read_16(event, 3); 4425 } 4426 /** 4427 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4428 * @param event packet 4429 * @return local_seid 4430 * @note: btstack_type 1 4431 */ 4432 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_local_seid(const uint8_t * event){ 4433 return event[5]; 4434 } 4435 /** 4436 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4437 * @param event packet 4438 * @return remote_seid 4439 * @note: btstack_type 1 4440 */ 4441 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 4442 return event[6]; 4443 } 4444 /** 4445 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4446 * @param event packet 4447 * @return media_type 4448 * @note: btstack_type 1 4449 */ 4450 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 4451 return event[7]; 4452 } 4453 /** 4454 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4455 * @param event packet 4456 * @return sampling_frequency_bitmap 4457 * @note: btstack_type 1 4458 */ 4459 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 4460 return event[8]; 4461 } 4462 /** 4463 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4464 * @param event packet 4465 * @return channel_mode_bitmap 4466 * @note: btstack_type 1 4467 */ 4468 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 4469 return event[9]; 4470 } 4471 /** 4472 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4473 * @param event packet 4474 * @return block_length_bitmap 4475 * @note: btstack_type 1 4476 */ 4477 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 4478 return event[10]; 4479 } 4480 /** 4481 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4482 * @param event packet 4483 * @return subbands_bitmap 4484 * @note: btstack_type 1 4485 */ 4486 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 4487 return event[11]; 4488 } 4489 /** 4490 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4491 * @param event packet 4492 * @return allocation_method_bitmap 4493 * @note: btstack_type 1 4494 */ 4495 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 4496 return event[12]; 4497 } 4498 /** 4499 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4500 * @param event packet 4501 * @return min_bitpool_value 4502 * @note: btstack_type 1 4503 */ 4504 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 4505 return event[13]; 4506 } 4507 /** 4508 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4509 * @param event packet 4510 * @return max_bitpool_value 4511 * @note: btstack_type 1 4512 */ 4513 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 4514 return event[14]; 4515 } 4516 4517 /** 4518 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4519 * @param event packet 4520 * @return avdtp_cid 4521 * @note: btstack_type 2 4522 */ 4523 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 4524 return little_endian_read_16(event, 3); 4525 } 4526 /** 4527 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4528 * @param event packet 4529 * @return local_seid 4530 * @note: btstack_type 1 4531 */ 4532 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_local_seid(const uint8_t * event){ 4533 return event[5]; 4534 } 4535 /** 4536 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4537 * @param event packet 4538 * @return remote_seid 4539 * @note: btstack_type 1 4540 */ 4541 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 4542 return event[6]; 4543 } 4544 /** 4545 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4546 * @param event packet 4547 * @return media_type 4548 * @note: btstack_type 1 4549 */ 4550 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 4551 return event[7]; 4552 } 4553 /** 4554 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4555 * @param event packet 4556 * @return media_codec_type 4557 * @note: btstack_type 2 4558 */ 4559 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 4560 return little_endian_read_16(event, 8); 4561 } 4562 /** 4563 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4564 * @param event packet 4565 * @return media_codec_information_len 4566 * @note: btstack_type L 4567 */ 4568 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 4569 return little_endian_read_16(event, 10); 4570 } 4571 /** 4572 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4573 * @param event packet 4574 * @return media_codec_information 4575 * @note: btstack_type V 4576 */ 4577 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 4578 return &event[12]; 4579 } 4580 4581 /** 4582 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 4583 * @param event packet 4584 * @return avdtp_cid 4585 * @note: btstack_type 2 4586 */ 4587 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 4588 return little_endian_read_16(event, 3); 4589 } 4590 /** 4591 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 4592 * @param event packet 4593 * @return local_seid 4594 * @note: btstack_type 1 4595 */ 4596 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_local_seid(const uint8_t * event){ 4597 return event[5]; 4598 } 4599 /** 4600 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 4601 * @param event packet 4602 * @return remote_seid 4603 * @note: btstack_type 1 4604 */ 4605 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 4606 return event[6]; 4607 } 4608 4609 /** 4610 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 4611 * @param event packet 4612 * @return avdtp_cid 4613 * @note: btstack_type 2 4614 */ 4615 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 4616 return little_endian_read_16(event, 3); 4617 } 4618 /** 4619 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 4620 * @param event packet 4621 * @return local_seid 4622 * @note: btstack_type 1 4623 */ 4624 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_local_seid(const uint8_t * event){ 4625 return event[5]; 4626 } 4627 /** 4628 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 4629 * @param event packet 4630 * @return remote_seid 4631 * @note: btstack_type 1 4632 */ 4633 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 4634 return event[6]; 4635 } 4636 4637 /** 4638 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4639 * @param event packet 4640 * @return avdtp_cid 4641 * @note: btstack_type 2 4642 */ 4643 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 4644 return little_endian_read_16(event, 3); 4645 } 4646 /** 4647 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4648 * @param event packet 4649 * @return local_seid 4650 * @note: btstack_type 1 4651 */ 4652 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_local_seid(const uint8_t * event){ 4653 return event[5]; 4654 } 4655 /** 4656 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4657 * @param event packet 4658 * @return remote_seid 4659 * @note: btstack_type 1 4660 */ 4661 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 4662 return event[6]; 4663 } 4664 /** 4665 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4666 * @param event packet 4667 * @return recovery_type 4668 * @note: btstack_type 1 4669 */ 4670 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 4671 return event[7]; 4672 } 4673 /** 4674 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4675 * @param event packet 4676 * @return maximum_recovery_window_size 4677 * @note: btstack_type 1 4678 */ 4679 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 4680 return event[8]; 4681 } 4682 /** 4683 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4684 * @param event packet 4685 * @return maximum_number_media_packets 4686 * @note: btstack_type 1 4687 */ 4688 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 4689 return event[9]; 4690 } 4691 4692 /** 4693 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4694 * @param event packet 4695 * @return avdtp_cid 4696 * @note: btstack_type 2 4697 */ 4698 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 4699 return little_endian_read_16(event, 3); 4700 } 4701 /** 4702 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4703 * @param event packet 4704 * @return local_seid 4705 * @note: btstack_type 1 4706 */ 4707 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_local_seid(const uint8_t * event){ 4708 return event[5]; 4709 } 4710 /** 4711 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4712 * @param event packet 4713 * @return remote_seid 4714 * @note: btstack_type 1 4715 */ 4716 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 4717 return event[6]; 4718 } 4719 /** 4720 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4721 * @param event packet 4722 * @return cp_type 4723 * @note: btstack_type 2 4724 */ 4725 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 4726 return little_endian_read_16(event, 7); 4727 } 4728 /** 4729 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4730 * @param event packet 4731 * @return cp_type_value_len 4732 * @note: btstack_type L 4733 */ 4734 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 4735 return little_endian_read_16(event, 9); 4736 } 4737 /** 4738 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4739 * @param event packet 4740 * @return cp_type_value 4741 * @note: btstack_type V 4742 */ 4743 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 4744 return &event[11]; 4745 } 4746 4747 /** 4748 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4749 * @param event packet 4750 * @return avdtp_cid 4751 * @note: btstack_type 2 4752 */ 4753 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 4754 return little_endian_read_16(event, 3); 4755 } 4756 /** 4757 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4758 * @param event packet 4759 * @return local_seid 4760 * @note: btstack_type 1 4761 */ 4762 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_local_seid(const uint8_t * event){ 4763 return event[5]; 4764 } 4765 /** 4766 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4767 * @param event packet 4768 * @return remote_seid 4769 * @note: btstack_type 1 4770 */ 4771 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 4772 return event[6]; 4773 } 4774 /** 4775 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4776 * @param event packet 4777 * @return fragmentation 4778 * @note: btstack_type 1 4779 */ 4780 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 4781 return event[7]; 4782 } 4783 /** 4784 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4785 * @param event packet 4786 * @return transport_identifiers_num 4787 * @note: btstack_type 1 4788 */ 4789 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 4790 return event[8]; 4791 } 4792 /** 4793 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4794 * @param event packet 4795 * @return transport_session_identifier_1 4796 * @note: btstack_type 1 4797 */ 4798 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 4799 return event[9]; 4800 } 4801 /** 4802 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4803 * @param event packet 4804 * @return transport_session_identifier_2 4805 * @note: btstack_type 1 4806 */ 4807 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 4808 return event[10]; 4809 } 4810 /** 4811 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4812 * @param event packet 4813 * @return transport_session_identifier_3 4814 * @note: btstack_type 1 4815 */ 4816 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 4817 return event[11]; 4818 } 4819 /** 4820 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4821 * @param event packet 4822 * @return tcid_1 4823 * @note: btstack_type 1 4824 */ 4825 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 4826 return event[12]; 4827 } 4828 /** 4829 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4830 * @param event packet 4831 * @return tcid_2 4832 * @note: btstack_type 1 4833 */ 4834 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 4835 return event[13]; 4836 } 4837 /** 4838 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4839 * @param event packet 4840 * @return tcid_3 4841 * @note: btstack_type 1 4842 */ 4843 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 4844 return event[14]; 4845 } 4846 4847 /** 4848 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 4849 * @param event packet 4850 * @return avdtp_cid 4851 * @note: btstack_type 2 4852 */ 4853 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 4854 return little_endian_read_16(event, 3); 4855 } 4856 /** 4857 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 4858 * @param event packet 4859 * @return local_seid 4860 * @note: btstack_type 1 4861 */ 4862 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_local_seid(const uint8_t * event){ 4863 return event[5]; 4864 } 4865 /** 4866 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 4867 * @param event packet 4868 * @return remote_seid 4869 * @note: btstack_type 1 4870 */ 4871 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 4872 return event[6]; 4873 } 4874 4875 /** 4876 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4877 * @param event packet 4878 * @return avdtp_cid 4879 * @note: btstack_type 2 4880 */ 4881 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 4882 return little_endian_read_16(event, 3); 4883 } 4884 /** 4885 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4886 * @param event packet 4887 * @return local_seid 4888 * @note: btstack_type 1 4889 */ 4890 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_local_seid(const uint8_t * event){ 4891 return event[5]; 4892 } 4893 /** 4894 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4895 * @param event packet 4896 * @return remote_seid 4897 * @note: btstack_type 1 4898 */ 4899 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 4900 return event[6]; 4901 } 4902 /** 4903 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4904 * @param event packet 4905 * @return back_ch 4906 * @note: btstack_type 1 4907 */ 4908 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 4909 return event[7]; 4910 } 4911 /** 4912 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4913 * @param event packet 4914 * @return media 4915 * @note: btstack_type 1 4916 */ 4917 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 4918 return event[8]; 4919 } 4920 /** 4921 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4922 * @param event packet 4923 * @return recovery 4924 * @note: btstack_type 1 4925 */ 4926 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 4927 return event[9]; 4928 } 4929 4930 /** 4931 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4932 * @param event packet 4933 * @return avdtp_cid 4934 * @note: btstack_type 2 4935 */ 4936 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 4937 return little_endian_read_16(event, 3); 4938 } 4939 /** 4940 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4941 * @param event packet 4942 * @return local_seid 4943 * @note: btstack_type 1 4944 */ 4945 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 4946 return event[5]; 4947 } 4948 /** 4949 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4950 * @param event packet 4951 * @return remote_seid 4952 * @note: btstack_type 1 4953 */ 4954 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 4955 return event[6]; 4956 } 4957 /** 4958 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4959 * @param event packet 4960 * @return reconfigure 4961 * @note: btstack_type 1 4962 */ 4963 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 4964 return event[7]; 4965 } 4966 /** 4967 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4968 * @param event packet 4969 * @return media_type 4970 * @note: btstack_type 1 4971 */ 4972 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 4973 return event[8]; 4974 } 4975 /** 4976 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4977 * @param event packet 4978 * @return sampling_frequency 4979 * @note: btstack_type 2 4980 */ 4981 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 4982 return little_endian_read_16(event, 9); 4983 } 4984 /** 4985 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4986 * @param event packet 4987 * @return channel_mode 4988 * @note: btstack_type 1 4989 */ 4990 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 4991 return event[11]; 4992 } 4993 /** 4994 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4995 * @param event packet 4996 * @return num_channels 4997 * @note: btstack_type 1 4998 */ 4999 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 5000 return event[12]; 5001 } 5002 /** 5003 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5004 * @param event packet 5005 * @return block_length 5006 * @note: btstack_type 1 5007 */ 5008 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 5009 return event[13]; 5010 } 5011 /** 5012 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5013 * @param event packet 5014 * @return subbands 5015 * @note: btstack_type 1 5016 */ 5017 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 5018 return event[14]; 5019 } 5020 /** 5021 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5022 * @param event packet 5023 * @return allocation_method 5024 * @note: btstack_type 1 5025 */ 5026 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 5027 return event[15]; 5028 } 5029 /** 5030 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5031 * @param event packet 5032 * @return min_bitpool_value 5033 * @note: btstack_type 1 5034 */ 5035 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 5036 return event[16]; 5037 } 5038 /** 5039 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5040 * @param event packet 5041 * @return max_bitpool_value 5042 * @note: btstack_type 1 5043 */ 5044 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 5045 return event[17]; 5046 } 5047 5048 /** 5049 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5050 * @param event packet 5051 * @return avdtp_cid 5052 * @note: btstack_type 2 5053 */ 5054 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 5055 return little_endian_read_16(event, 3); 5056 } 5057 /** 5058 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5059 * @param event packet 5060 * @return local_seid 5061 * @note: btstack_type 1 5062 */ 5063 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 5064 return event[5]; 5065 } 5066 /** 5067 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5068 * @param event packet 5069 * @return remote_seid 5070 * @note: btstack_type 1 5071 */ 5072 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 5073 return event[6]; 5074 } 5075 /** 5076 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5077 * @param event packet 5078 * @return reconfigure 5079 * @note: btstack_type 1 5080 */ 5081 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 5082 return event[7]; 5083 } 5084 /** 5085 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5086 * @param event packet 5087 * @return media_type 5088 * @note: btstack_type 1 5089 */ 5090 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 5091 return event[8]; 5092 } 5093 /** 5094 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5095 * @param event packet 5096 * @return media_codec_type 5097 * @note: btstack_type 2 5098 */ 5099 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 5100 return little_endian_read_16(event, 9); 5101 } 5102 /** 5103 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5104 * @param event packet 5105 * @return media_codec_information_len 5106 * @note: btstack_type L 5107 */ 5108 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 5109 return little_endian_read_16(event, 11); 5110 } 5111 /** 5112 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5113 * @param event packet 5114 * @return media_codec_information 5115 * @note: btstack_type V 5116 */ 5117 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 5118 return &event[13]; 5119 } 5120 5121 /** 5122 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5123 * @param event packet 5124 * @return avdtp_cid 5125 * @note: btstack_type 2 5126 */ 5127 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 5128 return little_endian_read_16(event, 3); 5129 } 5130 /** 5131 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5132 * @param event packet 5133 * @param Pointer to storage for bd_addr 5134 * @note: btstack_type B 5135 */ 5136 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5137 reverse_bd_addr(&event[5], bd_addr); 5138 } 5139 /** 5140 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5141 * @param event packet 5142 * @return local_seid 5143 * @note: btstack_type 1 5144 */ 5145 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 5146 return event[11]; 5147 } 5148 /** 5149 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5150 * @param event packet 5151 * @return remote_seid 5152 * @note: btstack_type 1 5153 */ 5154 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 5155 return event[12]; 5156 } 5157 /** 5158 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5159 * @param event packet 5160 * @return status 5161 * @note: btstack_type 1 5162 */ 5163 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 5164 return event[13]; 5165 } 5166 5167 /** 5168 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 5169 * @param event packet 5170 * @return avdtp_cid 5171 * @note: btstack_type 2 5172 */ 5173 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 5174 return little_endian_read_16(event, 3); 5175 } 5176 /** 5177 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 5178 * @param event packet 5179 * @return local_seid 5180 * @note: btstack_type 1 5181 */ 5182 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 5183 return event[5]; 5184 } 5185 5186 /** 5187 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5188 * @param event packet 5189 * @return avdtp_cid 5190 * @note: btstack_type 2 5191 */ 5192 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 5193 return little_endian_read_16(event, 3); 5194 } 5195 /** 5196 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5197 * @param event packet 5198 * @return local_seid 5199 * @note: btstack_type 1 5200 */ 5201 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 5202 return event[5]; 5203 } 5204 /** 5205 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5206 * @param event packet 5207 * @return sequence_number 5208 * @note: btstack_type 2 5209 */ 5210 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 5211 return little_endian_read_16(event, 6); 5212 } 5213 5214 /** 5215 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITY_DONE 5216 * @param event packet 5217 * @return avdtp_cid 5218 * @note: btstack_type 2 5219 */ 5220 static inline uint16_t avdtp_subevent_signaling_capability_done_get_avdtp_cid(const uint8_t * event){ 5221 return little_endian_read_16(event, 3); 5222 } 5223 /** 5224 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITY_DONE 5225 * @param event packet 5226 * @return local_seid 5227 * @note: btstack_type 1 5228 */ 5229 static inline uint8_t avdtp_subevent_signaling_capability_done_get_local_seid(const uint8_t * event){ 5230 return event[5]; 5231 } 5232 /** 5233 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITY_DONE 5234 * @param event packet 5235 * @return remote_seid 5236 * @note: btstack_type 1 5237 */ 5238 static inline uint8_t avdtp_subevent_signaling_capability_done_get_remote_seid(const uint8_t * event){ 5239 return event[6]; 5240 } 5241 5242 /** 5243 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 5244 * @param event packet 5245 * @return avdtp_cid 5246 * @note: btstack_type 2 5247 */ 5248 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 5249 return little_endian_read_16(event, 3); 5250 } 5251 5252 /** 5253 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5254 * @param event packet 5255 * @return a2dp_cid 5256 * @note: btstack_type 2 5257 */ 5258 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 5259 return little_endian_read_16(event, 3); 5260 } 5261 /** 5262 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5263 * @param event packet 5264 * @return local_seid 5265 * @note: btstack_type 1 5266 */ 5267 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 5268 return event[5]; 5269 } 5270 5271 /** 5272 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5273 * @param event packet 5274 * @return a2dp_cid 5275 * @note: btstack_type 2 5276 */ 5277 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 5278 return little_endian_read_16(event, 3); 5279 } 5280 /** 5281 * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5282 * @param event packet 5283 * @return int_seid 5284 * @note: btstack_type 1 5285 */ 5286 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_int_seid(const uint8_t * event){ 5287 return event[5]; 5288 } 5289 /** 5290 * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5291 * @param event packet 5292 * @return acp_seid 5293 * @note: btstack_type 1 5294 */ 5295 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_acp_seid(const uint8_t * event){ 5296 return event[6]; 5297 } 5298 /** 5299 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5300 * @param event packet 5301 * @return reconfigure 5302 * @note: btstack_type 1 5303 */ 5304 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 5305 return event[7]; 5306 } 5307 /** 5308 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5309 * @param event packet 5310 * @return media_type 5311 * @note: btstack_type 1 5312 */ 5313 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 5314 return event[8]; 5315 } 5316 /** 5317 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5318 * @param event packet 5319 * @return sampling_frequency 5320 * @note: btstack_type 2 5321 */ 5322 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 5323 return little_endian_read_16(event, 9); 5324 } 5325 /** 5326 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5327 * @param event packet 5328 * @return channel_mode 5329 * @note: btstack_type 1 5330 */ 5331 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 5332 return event[11]; 5333 } 5334 /** 5335 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5336 * @param event packet 5337 * @return num_channels 5338 * @note: btstack_type 1 5339 */ 5340 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 5341 return event[12]; 5342 } 5343 /** 5344 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5345 * @param event packet 5346 * @return block_length 5347 * @note: btstack_type 1 5348 */ 5349 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 5350 return event[13]; 5351 } 5352 /** 5353 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5354 * @param event packet 5355 * @return subbands 5356 * @note: btstack_type 1 5357 */ 5358 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 5359 return event[14]; 5360 } 5361 /** 5362 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5363 * @param event packet 5364 * @return allocation_method 5365 * @note: btstack_type 1 5366 */ 5367 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 5368 return event[15]; 5369 } 5370 /** 5371 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5372 * @param event packet 5373 * @return min_bitpool_value 5374 * @note: btstack_type 1 5375 */ 5376 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 5377 return event[16]; 5378 } 5379 /** 5380 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5381 * @param event packet 5382 * @return max_bitpool_value 5383 * @note: btstack_type 1 5384 */ 5385 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 5386 return event[17]; 5387 } 5388 5389 /** 5390 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5391 * @param event packet 5392 * @return a2dp_cid 5393 * @note: btstack_type 2 5394 */ 5395 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 5396 return little_endian_read_16(event, 3); 5397 } 5398 /** 5399 * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5400 * @param event packet 5401 * @return int_seid 5402 * @note: btstack_type 1 5403 */ 5404 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_int_seid(const uint8_t * event){ 5405 return event[5]; 5406 } 5407 /** 5408 * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5409 * @param event packet 5410 * @return acp_seid 5411 * @note: btstack_type 1 5412 */ 5413 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_acp_seid(const uint8_t * event){ 5414 return event[6]; 5415 } 5416 /** 5417 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5418 * @param event packet 5419 * @return reconfigure 5420 * @note: btstack_type 1 5421 */ 5422 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 5423 return event[7]; 5424 } 5425 /** 5426 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5427 * @param event packet 5428 * @return media_type 5429 * @note: btstack_type 1 5430 */ 5431 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 5432 return event[8]; 5433 } 5434 /** 5435 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5436 * @param event packet 5437 * @return media_codec_type 5438 * @note: btstack_type 2 5439 */ 5440 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 5441 return little_endian_read_16(event, 9); 5442 } 5443 /** 5444 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5445 * @param event packet 5446 * @return media_codec_information_len 5447 * @note: btstack_type L 5448 */ 5449 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 5450 return little_endian_read_16(event, 11); 5451 } 5452 /** 5453 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5454 * @param event packet 5455 * @return media_codec_information 5456 * @note: btstack_type V 5457 */ 5458 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 5459 return &event[13]; 5460 } 5461 5462 /** 5463 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5464 * @param event packet 5465 * @return a2dp_cid 5466 * @note: btstack_type 2 5467 */ 5468 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 5469 return little_endian_read_16(event, 3); 5470 } 5471 /** 5472 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5473 * @param event packet 5474 * @param Pointer to storage for bd_addr 5475 * @note: btstack_type B 5476 */ 5477 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5478 reverse_bd_addr(&event[5], bd_addr); 5479 } 5480 /** 5481 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5482 * @param event packet 5483 * @return local_seid 5484 * @note: btstack_type 1 5485 */ 5486 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 5487 return event[11]; 5488 } 5489 /** 5490 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5491 * @param event packet 5492 * @return remote_seid 5493 * @note: btstack_type 1 5494 */ 5495 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 5496 return event[12]; 5497 } 5498 /** 5499 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5500 * @param event packet 5501 * @return status 5502 * @note: btstack_type 1 5503 */ 5504 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 5505 return event[13]; 5506 } 5507 5508 /** 5509 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 5510 * @param event packet 5511 * @return a2dp_cid 5512 * @note: btstack_type 2 5513 */ 5514 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 5515 return little_endian_read_16(event, 3); 5516 } 5517 /** 5518 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 5519 * @param event packet 5520 * @return local_seid 5521 * @note: btstack_type 1 5522 */ 5523 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 5524 return event[5]; 5525 } 5526 5527 /** 5528 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 5529 * @param event packet 5530 * @return a2dp_cid 5531 * @note: btstack_type 2 5532 */ 5533 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 5534 return little_endian_read_16(event, 3); 5535 } 5536 /** 5537 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 5538 * @param event packet 5539 * @return local_seid 5540 * @note: btstack_type 1 5541 */ 5542 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 5543 return event[5]; 5544 } 5545 5546 /** 5547 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 5548 * @param event packet 5549 * @return a2dp_cid 5550 * @note: btstack_type 2 5551 */ 5552 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 5553 return little_endian_read_16(event, 3); 5554 } 5555 /** 5556 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 5557 * @param event packet 5558 * @return local_seid 5559 * @note: btstack_type 1 5560 */ 5561 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 5562 return event[5]; 5563 } 5564 5565 /** 5566 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 5567 * @param event packet 5568 * @return a2dp_cid 5569 * @note: btstack_type 2 5570 */ 5571 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 5572 return little_endian_read_16(event, 3); 5573 } 5574 /** 5575 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 5576 * @param event packet 5577 * @return local_seid 5578 * @note: btstack_type 1 5579 */ 5580 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 5581 return event[5]; 5582 } 5583 5584 /** 5585 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 5586 * @param event packet 5587 * @return a2dp_cid 5588 * @note: btstack_type 2 5589 */ 5590 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 5591 return little_endian_read_16(event, 3); 5592 } 5593 /** 5594 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 5595 * @param event packet 5596 * @return local_seid 5597 * @note: btstack_type 1 5598 */ 5599 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 5600 return event[5]; 5601 } 5602 /** 5603 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 5604 * @param event packet 5605 * @return signal_identifier 5606 * @note: btstack_type 1 5607 */ 5608 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 5609 return event[6]; 5610 } 5611 5612 /** 5613 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 5614 * @param event packet 5615 * @return a2dp_cid 5616 * @note: btstack_type 2 5617 */ 5618 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 5619 return little_endian_read_16(event, 3); 5620 } 5621 /** 5622 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 5623 * @param event packet 5624 * @return local_seid 5625 * @note: btstack_type 1 5626 */ 5627 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 5628 return event[5]; 5629 } 5630 /** 5631 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 5632 * @param event packet 5633 * @return signal_identifier 5634 * @note: btstack_type 1 5635 */ 5636 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 5637 return event[6]; 5638 } 5639 5640 /** 5641 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 5642 * @param event packet 5643 * @return a2dp_cid 5644 * @note: btstack_type 2 5645 */ 5646 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 5647 return little_endian_read_16(event, 3); 5648 } 5649 /** 5650 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 5651 * @param event packet 5652 * @param Pointer to storage for bd_addr 5653 * @note: btstack_type B 5654 */ 5655 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5656 reverse_bd_addr(&event[5], bd_addr); 5657 } 5658 /** 5659 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 5660 * @param event packet 5661 * @return status 5662 * @note: btstack_type 1 5663 */ 5664 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 5665 return event[11]; 5666 } 5667 5668 /** 5669 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 5670 * @param event packet 5671 * @return a2dp_cid 5672 * @note: btstack_type 2 5673 */ 5674 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 5675 return little_endian_read_16(event, 3); 5676 } 5677 5678 /** 5679 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 5680 * @param event packet 5681 * @return a2dp_cid 5682 * @note: btstack_type 2 5683 */ 5684 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 5685 return little_endian_read_16(event, 3); 5686 } 5687 /** 5688 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 5689 * @param event packet 5690 * @return local_seid 5691 * @note: btstack_type 1 5692 */ 5693 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 5694 return event[5]; 5695 } 5696 /** 5697 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 5698 * @param event packet 5699 * @return status 5700 * @note: btstack_type 1 5701 */ 5702 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 5703 return event[6]; 5704 } 5705 5706 /** 5707 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 5708 * @param event packet 5709 * @return status 5710 * @note: btstack_type 1 5711 */ 5712 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 5713 return event[3]; 5714 } 5715 /** 5716 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 5717 * @param event packet 5718 * @param Pointer to storage for bd_addr 5719 * @note: btstack_type B 5720 */ 5721 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5722 reverse_bd_addr(&event[4], bd_addr); 5723 } 5724 /** 5725 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 5726 * @param event packet 5727 * @return avrcp_cid 5728 * @note: btstack_type 2 5729 */ 5730 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 5731 return little_endian_read_16(event, 10); 5732 } 5733 5734 /** 5735 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 5736 * @param event packet 5737 * @return avrcp_cid 5738 * @note: btstack_type 2 5739 */ 5740 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 5741 return little_endian_read_16(event, 3); 5742 } 5743 5744 /** 5745 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 5746 * @param event packet 5747 * @return avrcp_cid 5748 * @note: btstack_type 2 5749 */ 5750 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 5751 return little_endian_read_16(event, 3); 5752 } 5753 /** 5754 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 5755 * @param event packet 5756 * @return command_type 5757 * @note: btstack_type 1 5758 */ 5759 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 5760 return event[5]; 5761 } 5762 /** 5763 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 5764 * @param event packet 5765 * @return repeat_mode 5766 * @note: btstack_type 1 5767 */ 5768 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 5769 return event[6]; 5770 } 5771 /** 5772 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 5773 * @param event packet 5774 * @return shuffle_mode 5775 * @note: btstack_type 1 5776 */ 5777 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 5778 return event[7]; 5779 } 5780 5781 /** 5782 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 5783 * @param event packet 5784 * @return avrcp_cid 5785 * @note: btstack_type 2 5786 */ 5787 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 5788 return little_endian_read_16(event, 3); 5789 } 5790 /** 5791 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 5792 * @param event packet 5793 * @return command_type 5794 * @note: btstack_type 1 5795 */ 5796 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 5797 return event[5]; 5798 } 5799 /** 5800 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 5801 * @param event packet 5802 * @return song_length 5803 * @note: btstack_type 4 5804 */ 5805 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 5806 return little_endian_read_32(event, 6); 5807 } 5808 /** 5809 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 5810 * @param event packet 5811 * @return song_position 5812 * @note: btstack_type 4 5813 */ 5814 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 5815 return little_endian_read_32(event, 10); 5816 } 5817 /** 5818 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 5819 * @param event packet 5820 * @return play_status 5821 * @note: btstack_type 1 5822 */ 5823 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 5824 return event[14]; 5825 } 5826 5827 /** 5828 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 5829 * @param event packet 5830 * @return avrcp_cid 5831 * @note: btstack_type 2 5832 */ 5833 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 5834 return little_endian_read_16(event, 3); 5835 } 5836 /** 5837 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 5838 * @param event packet 5839 * @return command_type 5840 * @note: btstack_type 1 5841 */ 5842 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 5843 return event[5]; 5844 } 5845 /** 5846 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 5847 * @param event packet 5848 * @return play_status 5849 * @note: btstack_type 1 5850 */ 5851 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 5852 return event[6]; 5853 } 5854 5855 /** 5856 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 5857 * @param event packet 5858 * @return avrcp_cid 5859 * @note: btstack_type 2 5860 */ 5861 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 5862 return little_endian_read_16(event, 3); 5863 } 5864 /** 5865 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 5866 * @param event packet 5867 * @return command_type 5868 * @note: btstack_type 1 5869 */ 5870 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 5871 return event[5]; 5872 } 5873 5874 /** 5875 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 5876 * @param event packet 5877 * @return avrcp_cid 5878 * @note: btstack_type 2 5879 */ 5880 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 5881 return little_endian_read_16(event, 3); 5882 } 5883 /** 5884 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 5885 * @param event packet 5886 * @return command_type 5887 * @note: btstack_type 1 5888 */ 5889 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 5890 return event[5]; 5891 } 5892 5893 /** 5894 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 5895 * @param event packet 5896 * @return avrcp_cid 5897 * @note: btstack_type 2 5898 */ 5899 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 5900 return little_endian_read_16(event, 3); 5901 } 5902 /** 5903 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 5904 * @param event packet 5905 * @return command_type 5906 * @note: btstack_type 1 5907 */ 5908 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 5909 return event[5]; 5910 } 5911 5912 /** 5913 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 5914 * @param event packet 5915 * @return avrcp_cid 5916 * @note: btstack_type 2 5917 */ 5918 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 5919 return little_endian_read_16(event, 3); 5920 } 5921 /** 5922 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 5923 * @param event packet 5924 * @return command_type 5925 * @note: btstack_type 1 5926 */ 5927 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 5928 return event[5]; 5929 } 5930 /** 5931 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 5932 * @param event packet 5933 * @return absolute_volume 5934 * @note: btstack_type 1 5935 */ 5936 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 5937 return event[6]; 5938 } 5939 5940 /** 5941 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 5942 * @param event packet 5943 * @return avrcp_cid 5944 * @note: btstack_type 2 5945 */ 5946 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 5947 return little_endian_read_16(event, 3); 5948 } 5949 /** 5950 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 5951 * @param event packet 5952 * @return command_type 5953 * @note: btstack_type 1 5954 */ 5955 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 5956 return event[5]; 5957 } 5958 /** 5959 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 5960 * @param event packet 5961 * @return absolute_volume 5962 * @note: btstack_type 1 5963 */ 5964 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 5965 return event[6]; 5966 } 5967 5968 /** 5969 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 5970 * @param event packet 5971 * @return avrcp_cid 5972 * @note: btstack_type 2 5973 */ 5974 static inline uint16_t avrcp_subevent_enable_notification_complete_get_avrcp_cid(const uint8_t * event){ 5975 return little_endian_read_16(event, 3); 5976 } 5977 /** 5978 * @brief Get field command_type from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 5979 * @param event packet 5980 * @return command_type 5981 * @note: btstack_type 1 5982 */ 5983 static inline uint8_t avrcp_subevent_enable_notification_complete_get_command_type(const uint8_t * event){ 5984 return event[5]; 5985 } 5986 /** 5987 * @brief Get field notification_id from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 5988 * @param event packet 5989 * @return notification_id 5990 * @note: btstack_type 1 5991 */ 5992 static inline uint8_t avrcp_subevent_enable_notification_complete_get_notification_id(const uint8_t * event){ 5993 return event[6]; 5994 } 5995 5996 /** 5997 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 5998 * @param event packet 5999 * @return avrcp_cid 6000 * @note: btstack_type 2 6001 */ 6002 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 6003 return little_endian_read_16(event, 3); 6004 } 6005 /** 6006 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 6007 * @param event packet 6008 * @return command_type 6009 * @note: btstack_type 1 6010 */ 6011 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 6012 return event[5]; 6013 } 6014 /** 6015 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 6016 * @param event packet 6017 * @return operation_id 6018 * @note: btstack_type 1 6019 */ 6020 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 6021 return event[6]; 6022 } 6023 6024 /** 6025 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 6026 * @param event packet 6027 * @return avrcp_cid 6028 * @note: btstack_type 2 6029 */ 6030 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 6031 return little_endian_read_16(event, 3); 6032 } 6033 /** 6034 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 6035 * @param event packet 6036 * @return command_type 6037 * @note: btstack_type 1 6038 */ 6039 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 6040 return event[5]; 6041 } 6042 /** 6043 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 6044 * @param event packet 6045 * @return operation_id 6046 * @note: btstack_type 1 6047 */ 6048 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 6049 return event[6]; 6050 } 6051 6052 /** 6053 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 6054 * @param event packet 6055 * @return avrcp_cid 6056 * @note: btstack_type 2 6057 */ 6058 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 6059 return little_endian_read_16(event, 3); 6060 } 6061 /** 6062 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 6063 * @param event packet 6064 * @return command_type 6065 * @note: btstack_type 1 6066 */ 6067 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 6068 return event[5]; 6069 } 6070 6071 /** 6072 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COMPANY_IDS_QUERY 6073 * @param event packet 6074 * @return avrcp_cid 6075 * @note: btstack_type 2 6076 */ 6077 static inline uint16_t avrcp_subevent_company_ids_query_get_avrcp_cid(const uint8_t * event){ 6078 return little_endian_read_16(event, 3); 6079 } 6080 6081 /** 6082 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_EVENT_IDS_QUERY 6083 * @param event packet 6084 * @return avrcp_cid 6085 * @note: btstack_type 2 6086 */ 6087 static inline uint16_t avrcp_subevent_event_ids_query_get_avrcp_cid(const uint8_t * event){ 6088 return little_endian_read_16(event, 3); 6089 } 6090 6091 /** 6092 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 6093 * @param event packet 6094 * @return avrcp_cid 6095 * @note: btstack_type 2 6096 */ 6097 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 6098 return little_endian_read_16(event, 3); 6099 } 6100 6101 /** 6102 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 6103 * @param event packet 6104 * @return avrcp_cid 6105 * @note: btstack_type 2 6106 */ 6107 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 6108 return little_endian_read_16(event, 3); 6109 } 6110 /** 6111 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 6112 * @param event packet 6113 * @return operation_id 6114 * @note: btstack_type 1 6115 */ 6116 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 6117 return event[5]; 6118 } 6119 /** 6120 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 6121 * @param event packet 6122 * @return operands_length 6123 * @note: btstack_type 1 6124 */ 6125 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 6126 return event[6]; 6127 } 6128 /** 6129 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 6130 * @param event packet 6131 * @return operand 6132 * @note: btstack_type 1 6133 */ 6134 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 6135 return event[7]; 6136 } 6137 6138 /** 6139 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 6140 * @param event packet 6141 * @return avrcp_cid 6142 * @note: btstack_type 2 6143 */ 6144 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 6145 return little_endian_read_16(event, 3); 6146 } 6147 /** 6148 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 6149 * @param event packet 6150 * @return command_type 6151 * @note: btstack_type 1 6152 */ 6153 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 6154 return event[5]; 6155 } 6156 /** 6157 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 6158 * @param event packet 6159 * @return track 6160 * @note: btstack_type 1 6161 */ 6162 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 6163 return event[6]; 6164 } 6165 6166 /** 6167 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 6168 * @param event packet 6169 * @return avrcp_cid 6170 * @note: btstack_type 2 6171 */ 6172 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 6173 return little_endian_read_16(event, 3); 6174 } 6175 /** 6176 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 6177 * @param event packet 6178 * @return command_type 6179 * @note: btstack_type 1 6180 */ 6181 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 6182 return event[5]; 6183 } 6184 /** 6185 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 6186 * @param event packet 6187 * @return total_tracks 6188 * @note: btstack_type 1 6189 */ 6190 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 6191 return event[6]; 6192 } 6193 6194 /** 6195 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 6196 * @param event packet 6197 * @return avrcp_cid 6198 * @note: btstack_type 2 6199 */ 6200 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 6201 return little_endian_read_16(event, 3); 6202 } 6203 /** 6204 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 6205 * @param event packet 6206 * @return command_type 6207 * @note: btstack_type 1 6208 */ 6209 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 6210 return event[5]; 6211 } 6212 /** 6213 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 6214 * @param event packet 6215 * @return song_length 6216 * @note: btstack_type 4 6217 */ 6218 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 6219 return little_endian_read_32(event, 6); 6220 } 6221 6222 /** 6223 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6224 * @param event packet 6225 * @return avrcp_cid 6226 * @note: btstack_type 2 6227 */ 6228 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 6229 return little_endian_read_16(event, 3); 6230 } 6231 /** 6232 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6233 * @param event packet 6234 * @return command_type 6235 * @note: btstack_type 1 6236 */ 6237 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 6238 return event[5]; 6239 } 6240 /** 6241 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6242 * @param event packet 6243 * @return value_len 6244 * @note: btstack_type J 6245 */ 6246 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 6247 return event[6]; 6248 } 6249 /** 6250 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6251 * @param event packet 6252 * @return value 6253 * @note: btstack_type V 6254 */ 6255 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 6256 return &event[7]; 6257 } 6258 6259 /** 6260 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6261 * @param event packet 6262 * @return avrcp_cid 6263 * @note: btstack_type 2 6264 */ 6265 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 6266 return little_endian_read_16(event, 3); 6267 } 6268 /** 6269 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6270 * @param event packet 6271 * @return command_type 6272 * @note: btstack_type 1 6273 */ 6274 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 6275 return event[5]; 6276 } 6277 /** 6278 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6279 * @param event packet 6280 * @return value_len 6281 * @note: btstack_type J 6282 */ 6283 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 6284 return event[6]; 6285 } 6286 /** 6287 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6288 * @param event packet 6289 * @return value 6290 * @note: btstack_type V 6291 */ 6292 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 6293 return &event[7]; 6294 } 6295 6296 /** 6297 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6298 * @param event packet 6299 * @return avrcp_cid 6300 * @note: btstack_type 2 6301 */ 6302 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 6303 return little_endian_read_16(event, 3); 6304 } 6305 /** 6306 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6307 * @param event packet 6308 * @return command_type 6309 * @note: btstack_type 1 6310 */ 6311 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 6312 return event[5]; 6313 } 6314 /** 6315 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6316 * @param event packet 6317 * @return value_len 6318 * @note: btstack_type J 6319 */ 6320 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 6321 return event[6]; 6322 } 6323 /** 6324 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6325 * @param event packet 6326 * @return value 6327 * @note: btstack_type V 6328 */ 6329 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 6330 return &event[7]; 6331 } 6332 6333 /** 6334 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6335 * @param event packet 6336 * @return avrcp_cid 6337 * @note: btstack_type 2 6338 */ 6339 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 6340 return little_endian_read_16(event, 3); 6341 } 6342 /** 6343 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6344 * @param event packet 6345 * @return command_type 6346 * @note: btstack_type 1 6347 */ 6348 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 6349 return event[5]; 6350 } 6351 /** 6352 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6353 * @param event packet 6354 * @return value_len 6355 * @note: btstack_type J 6356 */ 6357 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 6358 return event[6]; 6359 } 6360 /** 6361 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6362 * @param event packet 6363 * @return value 6364 * @note: btstack_type V 6365 */ 6366 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 6367 return &event[7]; 6368 } 6369 6370 /** 6371 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 6372 * @param event packet 6373 * @return avrcp_cid 6374 * @note: btstack_type 2 6375 */ 6376 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 6377 return little_endian_read_16(event, 3); 6378 } 6379 /** 6380 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 6381 * @param event packet 6382 * @return command_type 6383 * @note: btstack_type 1 6384 */ 6385 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 6386 return event[5]; 6387 } 6388 /** 6389 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 6390 * @param event packet 6391 * @return status 6392 * @note: btstack_type 1 6393 */ 6394 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 6395 return event[6]; 6396 } 6397 6398 /** 6399 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 6400 * @param event packet 6401 * @param Pointer to storage for bd_addr 6402 * @note: btstack_type B 6403 */ 6404 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6405 reverse_bd_addr(&event[3], bd_addr); 6406 } 6407 /** 6408 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 6409 * @param event packet 6410 * @return browsing_cid 6411 * @note: btstack_type 2 6412 */ 6413 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 6414 return little_endian_read_16(event, 9); 6415 } 6416 6417 /** 6418 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 6419 * @param event packet 6420 * @return status 6421 * @note: btstack_type 1 6422 */ 6423 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 6424 return event[3]; 6425 } 6426 /** 6427 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 6428 * @param event packet 6429 * @param Pointer to storage for bd_addr 6430 * @note: btstack_type B 6431 */ 6432 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6433 reverse_bd_addr(&event[4], bd_addr); 6434 } 6435 /** 6436 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 6437 * @param event packet 6438 * @return browsing_cid 6439 * @note: btstack_type 2 6440 */ 6441 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 6442 return little_endian_read_16(event, 10); 6443 } 6444 6445 /** 6446 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 6447 * @param event packet 6448 * @return browsing_cid 6449 * @note: btstack_type 2 6450 */ 6451 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 6452 return little_endian_read_16(event, 3); 6453 } 6454 6455 /** 6456 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 6457 * @param event packet 6458 * @return browsing_cid 6459 * @note: btstack_type 2 6460 */ 6461 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 6462 return little_endian_read_16(event, 3); 6463 } 6464 /** 6465 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 6466 * @param event packet 6467 * @return uid_counter 6468 * @note: btstack_type 2 6469 */ 6470 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 6471 return little_endian_read_16(event, 5); 6472 } 6473 /** 6474 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 6475 * @param event packet 6476 * @return browsing_status 6477 * @note: btstack_type 1 6478 */ 6479 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 6480 return event[7]; 6481 } 6482 /** 6483 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 6484 * @param event packet 6485 * @return bluetooth_status 6486 * @note: btstack_type 1 6487 */ 6488 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 6489 return event[8]; 6490 } 6491 6492 /** 6493 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 6494 * @param event packet 6495 * @return browsing_cid 6496 * @note: btstack_type 2 6497 */ 6498 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 6499 return little_endian_read_16(event, 3); 6500 } 6501 /** 6502 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 6503 * @param event packet 6504 * @return scope 6505 * @note: btstack_type 1 6506 */ 6507 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 6508 return event[5]; 6509 } 6510 /** 6511 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 6512 * @param event packet 6513 * @return attr_bitmap 6514 * @note: btstack_type 4 6515 */ 6516 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 6517 return little_endian_read_32(event, 6); 6518 } 6519 6520 /** 6521 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 6522 * @param event packet 6523 * @return browsing_cid 6524 * @note: btstack_type 2 6525 */ 6526 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 6527 return little_endian_read_16(event, 3); 6528 } 6529 /** 6530 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 6531 * @param event packet 6532 * @return scope 6533 * @note: btstack_type 1 6534 */ 6535 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 6536 return event[5]; 6537 } 6538 6539 /** 6540 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 6541 * @param event packet 6542 * @return avrcp_cid 6543 * @note: btstack_type 2 6544 */ 6545 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 6546 return little_endian_read_16(event, 3); 6547 } 6548 /** 6549 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 6550 * @param event packet 6551 * @return command_type 6552 * @note: btstack_type 1 6553 */ 6554 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 6555 return event[5]; 6556 } 6557 /** 6558 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 6559 * @param event packet 6560 * @return playback_position_ms 6561 * @note: btstack_type 4 6562 */ 6563 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 6564 return little_endian_read_32(event, 6); 6565 } 6566 6567 /** 6568 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 6569 * @param event packet 6570 * @return goep_cid 6571 * @note: btstack_type 2 6572 */ 6573 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 6574 return little_endian_read_16(event, 3); 6575 } 6576 /** 6577 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 6578 * @param event packet 6579 * @return status 6580 * @note: btstack_type 1 6581 */ 6582 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 6583 return event[5]; 6584 } 6585 /** 6586 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 6587 * @param event packet 6588 * @param Pointer to storage for bd_addr 6589 * @note: btstack_type B 6590 */ 6591 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6592 reverse_bd_addr(&event[6], bd_addr); 6593 } 6594 /** 6595 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 6596 * @param event packet 6597 * @return con_handle 6598 * @note: btstack_type H 6599 */ 6600 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 6601 return little_endian_read_16(event, 12); 6602 } 6603 /** 6604 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 6605 * @param event packet 6606 * @return incoming 6607 * @note: btstack_type 1 6608 */ 6609 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 6610 return event[14]; 6611 } 6612 6613 /** 6614 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 6615 * @param event packet 6616 * @return goep_cid 6617 * @note: btstack_type 2 6618 */ 6619 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 6620 return little_endian_read_16(event, 3); 6621 } 6622 6623 /** 6624 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 6625 * @param event packet 6626 * @return goep_cid 6627 * @note: btstack_type 2 6628 */ 6629 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 6630 return little_endian_read_16(event, 3); 6631 } 6632 6633 /** 6634 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 6635 * @param event packet 6636 * @return pbap_cid 6637 * @note: btstack_type 2 6638 */ 6639 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 6640 return little_endian_read_16(event, 3); 6641 } 6642 /** 6643 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 6644 * @param event packet 6645 * @return status 6646 * @note: btstack_type 1 6647 */ 6648 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 6649 return event[5]; 6650 } 6651 /** 6652 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 6653 * @param event packet 6654 * @param Pointer to storage for bd_addr 6655 * @note: btstack_type B 6656 */ 6657 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6658 reverse_bd_addr(&event[6], bd_addr); 6659 } 6660 /** 6661 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 6662 * @param event packet 6663 * @return con_handle 6664 * @note: btstack_type H 6665 */ 6666 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 6667 return little_endian_read_16(event, 12); 6668 } 6669 /** 6670 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 6671 * @param event packet 6672 * @return incoming 6673 * @note: btstack_type 1 6674 */ 6675 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 6676 return event[14]; 6677 } 6678 6679 /** 6680 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 6681 * @param event packet 6682 * @return goep_cid 6683 * @note: btstack_type 2 6684 */ 6685 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 6686 return little_endian_read_16(event, 3); 6687 } 6688 6689 /** 6690 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 6691 * @param event packet 6692 * @return goep_cid 6693 * @note: btstack_type 2 6694 */ 6695 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 6696 return little_endian_read_16(event, 3); 6697 } 6698 /** 6699 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 6700 * @param event packet 6701 * @return status 6702 * @note: btstack_type 1 6703 */ 6704 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 6705 return event[5]; 6706 } 6707 6708 /** 6709 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 6710 * @param event packet 6711 * @return goep_cid 6712 * @note: btstack_type 2 6713 */ 6714 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 6715 return little_endian_read_16(event, 3); 6716 } 6717 /** 6718 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 6719 * @param event packet 6720 * @return status 6721 * @note: btstack_type 1 6722 */ 6723 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 6724 return event[5]; 6725 } 6726 /** 6727 * @brief Get field phoneboook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 6728 * @param event packet 6729 * @return phoneboook_size 6730 * @note: btstack_type 2 6731 */ 6732 static inline uint16_t pbap_subevent_phonebook_size_get_phoneboook_size(const uint8_t * event){ 6733 return little_endian_read_16(event, 6); 6734 } 6735 6736 /** 6737 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 6738 * @param event packet 6739 * @return goep_cid 6740 * @note: btstack_type 2 6741 */ 6742 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 6743 return little_endian_read_16(event, 3); 6744 } 6745 /** 6746 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 6747 * @param event packet 6748 * @return user_id_required 6749 * @note: btstack_type 1 6750 */ 6751 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 6752 return event[5]; 6753 } 6754 /** 6755 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 6756 * @param event packet 6757 * @return full_access 6758 * @note: btstack_type 1 6759 */ 6760 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 6761 return event[6]; 6762 } 6763 6764 /** 6765 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 6766 * @param event packet 6767 * @return goep_cid 6768 * @note: btstack_type 2 6769 */ 6770 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 6771 return little_endian_read_16(event, 3); 6772 } 6773 /** 6774 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 6775 * @param event packet 6776 * @return name_len 6777 * @note: btstack_type J 6778 */ 6779 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 6780 return event[5]; 6781 } 6782 /** 6783 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 6784 * @param event packet 6785 * @return name 6786 * @note: btstack_type V 6787 */ 6788 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 6789 return &event[6]; 6790 } 6791 /** 6792 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 6793 * @param event packet 6794 * @return handle_len 6795 * @note: btstack_type J 6796 */ 6797 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 6798 return event[6 + event[5]]; 6799 } 6800 /** 6801 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 6802 * @param event packet 6803 * @return handle 6804 * @note: btstack_type V 6805 */ 6806 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 6807 return &event[6 + event[5] + 1]; 6808 } 6809 6810 /** 6811 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 6812 * @param event packet 6813 * @return hid_cid 6814 * @note: btstack_type 2 6815 */ 6816 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 6817 return little_endian_read_16(event, 3); 6818 } 6819 /** 6820 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 6821 * @param event packet 6822 * @return status 6823 * @note: btstack_type 1 6824 */ 6825 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 6826 return event[5]; 6827 } 6828 /** 6829 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 6830 * @param event packet 6831 * @param Pointer to storage for bd_addr 6832 * @note: btstack_type B 6833 */ 6834 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6835 reverse_bd_addr(&event[6], bd_addr); 6836 } 6837 /** 6838 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 6839 * @param event packet 6840 * @return con_handle 6841 * @note: btstack_type H 6842 */ 6843 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 6844 return little_endian_read_16(event, 12); 6845 } 6846 /** 6847 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 6848 * @param event packet 6849 * @return incoming 6850 * @note: btstack_type 1 6851 */ 6852 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 6853 return event[14]; 6854 } 6855 6856 /** 6857 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 6858 * @param event packet 6859 * @return hid_cid 6860 * @note: btstack_type 2 6861 */ 6862 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 6863 return little_endian_read_16(event, 3); 6864 } 6865 6866 /** 6867 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 6868 * @param event packet 6869 * @return hid_cid 6870 * @note: btstack_type 2 6871 */ 6872 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 6873 return little_endian_read_16(event, 3); 6874 } 6875 6876 /** 6877 * @brief Get field con_handle from event HID_SUBEVENT_SUSPEND 6878 * @param event packet 6879 * @return con_handle 6880 * @note: btstack_type 2 6881 */ 6882 static inline uint16_t hid_subevent_suspend_get_con_handle(const uint8_t * event){ 6883 return little_endian_read_16(event, 3); 6884 } 6885 6886 /** 6887 * @brief Get field con_handle from event HID_SUBEVENT_EXIT_SUSPEND 6888 * @param event packet 6889 * @return con_handle 6890 * @note: btstack_type 2 6891 */ 6892 static inline uint16_t hid_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 6893 return little_endian_read_16(event, 3); 6894 } 6895 6896 /** 6897 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 6898 * @param event packet 6899 * @return con_handle 6900 * @note: btstack_type 2 6901 */ 6902 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 6903 return little_endian_read_16(event, 3); 6904 } 6905 6906 /** 6907 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 6908 * @param event packet 6909 * @return con_handle 6910 * @note: btstack_type 2 6911 */ 6912 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 6913 return little_endian_read_16(event, 3); 6914 } 6915 /** 6916 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 6917 * @param event packet 6918 * @return protocol_mode 6919 * @note: btstack_type 1 6920 */ 6921 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 6922 return event[5]; 6923 } 6924 6925 /** 6926 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 6927 * @param event packet 6928 * @return con_handle 6929 * @note: btstack_type 2 6930 */ 6931 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 6932 return little_endian_read_16(event, 3); 6933 } 6934 /** 6935 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 6936 * @param event packet 6937 * @return enable 6938 * @note: btstack_type 1 6939 */ 6940 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 6941 return event[5]; 6942 } 6943 6944 /** 6945 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 6946 * @param event packet 6947 * @return con_handle 6948 * @note: btstack_type 2 6949 */ 6950 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 6951 return little_endian_read_16(event, 3); 6952 } 6953 /** 6954 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 6955 * @param event packet 6956 * @return enable 6957 * @note: btstack_type 1 6958 */ 6959 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 6960 return event[5]; 6961 } 6962 6963 /** 6964 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 6965 * @param event packet 6966 * @return con_handle 6967 * @note: btstack_type 2 6968 */ 6969 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 6970 return little_endian_read_16(event, 3); 6971 } 6972 /** 6973 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 6974 * @param event packet 6975 * @return enable 6976 * @note: btstack_type 1 6977 */ 6978 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 6979 return event[5]; 6980 } 6981 6982 /** 6983 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 6984 * @param event packet 6985 * @return con_handle 6986 * @note: btstack_type 2 6987 */ 6988 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 6989 return little_endian_read_16(event, 3); 6990 } 6991 /** 6992 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 6993 * @param event packet 6994 * @return enable 6995 * @note: btstack_type 1 6996 */ 6997 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 6998 return event[5]; 6999 } 7000 7001 /** 7002 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 7003 * @param event packet 7004 * @return con_handle 7005 * @note: btstack_type 2 7006 */ 7007 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 7008 return little_endian_read_16(event, 3); 7009 } 7010 /** 7011 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 7012 * @param event packet 7013 * @return enable 7014 * @note: btstack_type 1 7015 */ 7016 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 7017 return event[5]; 7018 } 7019 7020 /** 7021 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 7022 * @param event packet 7023 * @return con_handle 7024 * @note: btstack_type 2 7025 */ 7026 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 7027 return little_endian_read_16(event, 3); 7028 } 7029 7030 /** 7031 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 7032 * @param event packet 7033 * @return con_handle 7034 * @note: btstack_type 2 7035 */ 7036 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 7037 return little_endian_read_16(event, 3); 7038 } 7039 7040 /** 7041 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 7042 * @param event packet 7043 * @return con_handle 7044 * @note: btstack_type 2 7045 */ 7046 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 7047 return little_endian_read_16(event, 3); 7048 } 7049 /** 7050 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 7051 * @param event packet 7052 * @return measurement_type 7053 * @note: btstack_type 1 7054 */ 7055 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 7056 return event[5]; 7057 } 7058 /** 7059 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 7060 * @param event packet 7061 * @return is_enhanced 7062 * @note: btstack_type 1 7063 */ 7064 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 7065 return event[6]; 7066 } 7067 7068 /** 7069 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 7070 * @param event packet 7071 * @return con_handle 7072 * @note: btstack_type 2 7073 */ 7074 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 7075 return little_endian_read_16(event, 3); 7076 } 7077 7078 /** 7079 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 7080 * @param event packet 7081 * @return con_handle 7082 * @note: btstack_type 2 7083 */ 7084 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 7085 return little_endian_read_16(event, 3); 7086 } 7087 7088 /** 7089 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_OPENED 7090 * @param event packet 7091 * @return map_cid 7092 * @note: btstack_type 2 7093 */ 7094 static inline uint16_t map_subevent_connection_opened_get_map_cid(const uint8_t * event){ 7095 return little_endian_read_16(event, 3); 7096 } 7097 /** 7098 * @brief Get field status from event MAP_SUBEVENT_CONNECTION_OPENED 7099 * @param event packet 7100 * @return status 7101 * @note: btstack_type 1 7102 */ 7103 static inline uint8_t map_subevent_connection_opened_get_status(const uint8_t * event){ 7104 return event[5]; 7105 } 7106 /** 7107 * @brief Get field bd_addr from event MAP_SUBEVENT_CONNECTION_OPENED 7108 * @param event packet 7109 * @param Pointer to storage for bd_addr 7110 * @note: btstack_type B 7111 */ 7112 static inline void map_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7113 reverse_bd_addr(&event[6], bd_addr); 7114 } 7115 /** 7116 * @brief Get field con_handle from event MAP_SUBEVENT_CONNECTION_OPENED 7117 * @param event packet 7118 * @return con_handle 7119 * @note: btstack_type H 7120 */ 7121 static inline hci_con_handle_t map_subevent_connection_opened_get_con_handle(const uint8_t * event){ 7122 return little_endian_read_16(event, 12); 7123 } 7124 /** 7125 * @brief Get field incoming from event MAP_SUBEVENT_CONNECTION_OPENED 7126 * @param event packet 7127 * @return incoming 7128 * @note: btstack_type 1 7129 */ 7130 static inline uint8_t map_subevent_connection_opened_get_incoming(const uint8_t * event){ 7131 return event[14]; 7132 } 7133 7134 /** 7135 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_CLOSED 7136 * @param event packet 7137 * @return map_cid 7138 * @note: btstack_type 2 7139 */ 7140 static inline uint16_t map_subevent_connection_closed_get_map_cid(const uint8_t * event){ 7141 return little_endian_read_16(event, 3); 7142 } 7143 7144 /** 7145 * @brief Get field map_cid from event MAP_SUBEVENT_OPERATION_COMPLETED 7146 * @param event packet 7147 * @return map_cid 7148 * @note: btstack_type 2 7149 */ 7150 static inline uint16_t map_subevent_operation_completed_get_map_cid(const uint8_t * event){ 7151 return little_endian_read_16(event, 3); 7152 } 7153 /** 7154 * @brief Get field status from event MAP_SUBEVENT_OPERATION_COMPLETED 7155 * @param event packet 7156 * @return status 7157 * @note: btstack_type 1 7158 */ 7159 static inline uint8_t map_subevent_operation_completed_get_status(const uint8_t * event){ 7160 return event[5]; 7161 } 7162 7163 /** 7164 * @brief Get field map_cid from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 7165 * @param event packet 7166 * @return map_cid 7167 * @note: btstack_type 2 7168 */ 7169 static inline uint16_t map_subevent_folder_listing_item_get_map_cid(const uint8_t * event){ 7170 return little_endian_read_16(event, 3); 7171 } 7172 /** 7173 * @brief Get field name_len from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 7174 * @param event packet 7175 * @return name_len 7176 * @note: btstack_type L 7177 */ 7178 static inline uint16_t map_subevent_folder_listing_item_get_name_len(const uint8_t * event){ 7179 return little_endian_read_16(event, 5); 7180 } 7181 /** 7182 * @brief Get field name from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 7183 * @param event packet 7184 * @return name 7185 * @note: btstack_type V 7186 */ 7187 static inline const uint8_t * map_subevent_folder_listing_item_get_name(const uint8_t * event){ 7188 return &event[7]; 7189 } 7190 7191 /** 7192 * @brief Get field map_cid from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 7193 * @param event packet 7194 * @return map_cid 7195 * @note: btstack_type 2 7196 */ 7197 static inline uint16_t map_subevent_message_listing_item_get_map_cid(const uint8_t * event){ 7198 return little_endian_read_16(event, 3); 7199 } 7200 /** 7201 * @brief Get field handle from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 7202 * @param event packet 7203 * @return handle 7204 * @note: btstack_type D 7205 */ 7206 static inline const uint8_t * map_subevent_message_listing_item_get_handle(const uint8_t * event){ 7207 return (const uint8_t *) &event[5]; 7208 } 7209 7210 /** 7211 * @brief Get field map_cid from event MAP_SUBEVENT_PARSING_DONE 7212 * @param event packet 7213 * @return map_cid 7214 * @note: btstack_type 2 7215 */ 7216 static inline uint16_t map_subevent_parsing_done_get_map_cid(const uint8_t * event){ 7217 return little_endian_read_16(event, 3); 7218 } 7219 7220 7221 /** 7222 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 7223 * @param event packet 7224 * @return status 7225 * @note: btstack_type 1 7226 */ 7227 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 7228 return event[3]; 7229 } 7230 7231 /** 7232 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 7233 * @param event packet 7234 * @return status 7235 * @note: btstack_type 1 7236 */ 7237 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 7238 return event[3]; 7239 } 7240 /** 7241 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 7242 * @param event packet 7243 * @return pb_transport_cid 7244 * @note: btstack_type 2 7245 */ 7246 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 7247 return little_endian_read_16(event, 4); 7248 } 7249 /** 7250 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 7251 * @param event packet 7252 * @return pb_type 7253 * @note: btstack_type 1 7254 */ 7255 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 7256 return event[6]; 7257 } 7258 7259 /** 7260 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 7261 * @param event packet 7262 * @return pb_transport_cid 7263 * @note: btstack_type 1 7264 */ 7265 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 7266 return event[3]; 7267 } 7268 /** 7269 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 7270 * @param event packet 7271 * @return reason 7272 * @note: btstack_type 2 7273 */ 7274 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 7275 return little_endian_read_16(event, 4); 7276 } 7277 7278 /** 7279 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 7280 * @param event packet 7281 * @return pb_transport_cid 7282 * @note: btstack_type 2 7283 */ 7284 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 7285 return little_endian_read_16(event, 3); 7286 } 7287 /** 7288 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 7289 * @param event packet 7290 * @return attention_time 7291 * @note: btstack_type 1 7292 */ 7293 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 7294 return event[5]; 7295 } 7296 7297 /** 7298 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 7299 * @param event packet 7300 * @return pb_transport_cid 7301 * @note: btstack_type 2 7302 */ 7303 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 7304 return little_endian_read_16(event, 3); 7305 } 7306 7307 /** 7308 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 7309 * @param event packet 7310 * @return pb_transport_cid 7311 * @note: btstack_type 2 7312 */ 7313 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 7314 return little_endian_read_16(event, 3); 7315 } 7316 7317 /** 7318 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 7319 * @param event packet 7320 * @return pb_transport_cid 7321 * @note: btstack_type 2 7322 */ 7323 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 7324 return little_endian_read_16(event, 3); 7325 } 7326 7327 /** 7328 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 7329 * @param event packet 7330 * @return pb_transport_cid 7331 * @note: btstack_type 2 7332 */ 7333 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 7334 return little_endian_read_16(event, 3); 7335 } 7336 /** 7337 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 7338 * @param event packet 7339 * @return output_oob 7340 * @note: btstack_type 4 7341 */ 7342 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 7343 return little_endian_read_32(event, 5); 7344 } 7345 7346 /** 7347 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 7348 * @param event packet 7349 * @return pb_transport_cid 7350 * @note: btstack_type 2 7351 */ 7352 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 7353 return little_endian_read_16(event, 3); 7354 } 7355 7356 /** 7357 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 7358 * @param event packet 7359 * @return pb_transport_cid 7360 * @note: btstack_type 2 7361 */ 7362 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 7363 return little_endian_read_16(event, 3); 7364 } 7365 7366 /** 7367 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 7368 * @param event packet 7369 * @return pb_transport_cid 7370 * @note: btstack_type 2 7371 */ 7372 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 7373 return little_endian_read_16(event, 3); 7374 } 7375 7376 /** 7377 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 7378 * @param event packet 7379 * @return pb_transport_cid 7380 * @note: btstack_type 2 7381 */ 7382 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 7383 return little_endian_read_16(event, 3); 7384 } 7385 7386 /** 7387 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 7388 * @param event packet 7389 * @return pb_transport_cid 7390 * @note: btstack_type 2 7391 */ 7392 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 7393 return little_endian_read_16(event, 3); 7394 } 7395 /** 7396 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 7397 * @param event packet 7398 * @return output_oob 7399 * @note: btstack_type 4 7400 */ 7401 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 7402 return little_endian_read_32(event, 5); 7403 } 7404 7405 /** 7406 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 7407 * @param event packet 7408 * @return pb_transport_cid 7409 * @note: btstack_type 2 7410 */ 7411 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 7412 return little_endian_read_16(event, 3); 7413 } 7414 7415 /** 7416 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7417 * @param event packet 7418 * @return pb_transport_cid 7419 * @note: btstack_type 2 7420 */ 7421 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 7422 return little_endian_read_16(event, 3); 7423 } 7424 /** 7425 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7426 * @param event packet 7427 * @return num_elements 7428 * @note: btstack_type 1 7429 */ 7430 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 7431 return event[5]; 7432 } 7433 /** 7434 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7435 * @param event packet 7436 * @return algorithms 7437 * @note: btstack_type 2 7438 */ 7439 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 7440 return little_endian_read_16(event, 6); 7441 } 7442 /** 7443 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7444 * @param event packet 7445 * @return public_key 7446 * @note: btstack_type 1 7447 */ 7448 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 7449 return event[8]; 7450 } 7451 /** 7452 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7453 * @param event packet 7454 * @return static_oob_type 7455 * @note: btstack_type 1 7456 */ 7457 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 7458 return event[9]; 7459 } 7460 /** 7461 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7462 * @param event packet 7463 * @return output_oob_size 7464 * @note: btstack_type 1 7465 */ 7466 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 7467 return event[10]; 7468 } 7469 /** 7470 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7471 * @param event packet 7472 * @return output_oob_action 7473 * @note: btstack_type 2 7474 */ 7475 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 7476 return little_endian_read_16(event, 11); 7477 } 7478 /** 7479 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7480 * @param event packet 7481 * @return input_oob_size 7482 * @note: btstack_type 1 7483 */ 7484 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 7485 return event[13]; 7486 } 7487 /** 7488 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7489 * @param event packet 7490 * @return input_oob_action 7491 * @note: btstack_type 2 7492 */ 7493 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 7494 return little_endian_read_16(event, 14); 7495 } 7496 7497 /** 7498 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 7499 * @param event packet 7500 * @return pb_transport_cid 7501 * @note: btstack_type 2 7502 */ 7503 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 7504 return little_endian_read_16(event, 3); 7505 } 7506 7507 /** 7508 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 7509 * @param event packet 7510 * @return attention_time 7511 * @note: btstack_type 1 7512 */ 7513 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 7514 return event[3]; 7515 } 7516 7517 /** 7518 * @brief Get field status from event MESH_SUBEVENT_PROXY_CONNECTED 7519 * @param event packet 7520 * @return status 7521 * @note: btstack_type 1 7522 */ 7523 static inline uint8_t mesh_subevent_proxy_connected_get_status(const uint8_t * event){ 7524 return event[3]; 7525 } 7526 /** 7527 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 7528 * @param event packet 7529 * @return con_handle 7530 * @note: btstack_type H 7531 */ 7532 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 7533 return little_endian_read_16(event, 4); 7534 } 7535 7536 /** 7537 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 7538 * @param event packet 7539 * @return con_handle 7540 * @note: btstack_type H 7541 */ 7542 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 7543 return little_endian_read_16(event, 3); 7544 } 7545 7546 /** 7547 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 7548 * @param event packet 7549 * @return con_handle 7550 * @note: btstack_type H 7551 */ 7552 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 7553 return little_endian_read_16(event, 3); 7554 } 7555 7556 /** 7557 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 7558 * @param event packet 7559 * @return con_handle 7560 * @note: btstack_type H 7561 */ 7562 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 7563 return little_endian_read_16(event, 3); 7564 } 7565 7566 /** 7567 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7568 * @param event packet 7569 * @return element_index 7570 * @note: btstack_type 1 7571 */ 7572 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 7573 return event[3]; 7574 } 7575 /** 7576 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7577 * @param event packet 7578 * @return model_identifier 7579 * @note: btstack_type 4 7580 */ 7581 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 7582 return little_endian_read_32(event, 4); 7583 } 7584 /** 7585 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7586 * @param event packet 7587 * @return state_identifier 7588 * @note: btstack_type 4 7589 */ 7590 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 7591 return little_endian_read_32(event, 8); 7592 } 7593 /** 7594 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7595 * @param event packet 7596 * @return reason 7597 * @note: btstack_type 1 7598 */ 7599 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 7600 return event[12]; 7601 } 7602 /** 7603 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7604 * @param event packet 7605 * @return value 7606 * @note: btstack_type 1 7607 */ 7608 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 7609 return event[13]; 7610 } 7611 7612 /** 7613 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 7614 * @param event packet 7615 * @return element_index 7616 * @note: btstack_type 1 7617 */ 7618 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 7619 return event[3]; 7620 } 7621 /** 7622 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 7623 * @param event packet 7624 * @return model_identifier 7625 * @note: btstack_type 4 7626 */ 7627 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 7628 return little_endian_read_32(event, 4); 7629 } 7630 /** 7631 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 7632 * @param event packet 7633 * @return state_identifier 7634 * @note: btstack_type 4 7635 */ 7636 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 7637 return little_endian_read_32(event, 8); 7638 } 7639 /** 7640 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 7641 * @param event packet 7642 * @return reason 7643 * @note: btstack_type 1 7644 */ 7645 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 7646 return event[12]; 7647 } 7648 /** 7649 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 7650 * @param event packet 7651 * @return value 7652 * @note: btstack_type 2 7653 */ 7654 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 7655 return little_endian_read_16(event, 13); 7656 } 7657 7658 /** 7659 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 7660 * @param event packet 7661 * @return element_index 7662 * @note: btstack_type 1 7663 */ 7664 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 7665 return event[3]; 7666 } 7667 /** 7668 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 7669 * @param event packet 7670 * @return model_identifier 7671 * @note: btstack_type 4 7672 */ 7673 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 7674 return little_endian_read_32(event, 4); 7675 } 7676 /** 7677 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 7678 * @param event packet 7679 * @return opcode 7680 * @note: btstack_type 4 7681 */ 7682 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 7683 return little_endian_read_32(event, 8); 7684 } 7685 /** 7686 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 7687 * @param event packet 7688 * @return dest 7689 * @note: btstack_type 2 7690 */ 7691 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 7692 return little_endian_read_16(event, 12); 7693 } 7694 7695 /** 7696 * @brief Get field element_index from event MESH_SUBEVENT_GENERIC_ON_OFF_STATUS 7697 * @param event packet 7698 * @return element_index 7699 * @note: btstack_type 1 7700 */ 7701 static inline uint8_t mesh_subevent_generic_on_off_status_get_element_index(const uint8_t * event){ 7702 return event[3]; 7703 } 7704 /** 7705 * @brief Get field model_identifier from event MESH_SUBEVENT_GENERIC_ON_OFF_STATUS 7706 * @param event packet 7707 * @return model_identifier 7708 * @note: btstack_type 4 7709 */ 7710 static inline uint32_t mesh_subevent_generic_on_off_status_get_model_identifier(const uint8_t * event){ 7711 return little_endian_read_32(event, 4); 7712 } 7713 /** 7714 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF_STATUS 7715 * @param event packet 7716 * @return present_value 7717 * @note: btstack_type 1 7718 */ 7719 static inline uint8_t mesh_subevent_generic_on_off_status_get_present_value(const uint8_t * event){ 7720 return event[8]; 7721 } 7722 /** 7723 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF_STATUS 7724 * @param event packet 7725 * @return target_value 7726 * @note: btstack_type 1 7727 */ 7728 static inline uint8_t mesh_subevent_generic_on_off_status_get_target_value(const uint8_t * event){ 7729 return event[9]; 7730 } 7731 /** 7732 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF_STATUS 7733 * @param event packet 7734 * @return remaining_time_ms 7735 * @note: btstack_type 4 7736 */ 7737 static inline uint32_t mesh_subevent_generic_on_off_status_get_remaining_time_ms(const uint8_t * event){ 7738 return little_endian_read_32(event, 10); 7739 } 7740 7741 /** 7742 * @brief Get field element_index from event MESH_SUBEVENT_GENERIC_LEVEL_STATUS 7743 * @param event packet 7744 * @return element_index 7745 * @note: btstack_type 1 7746 */ 7747 static inline uint8_t mesh_subevent_generic_level_status_get_element_index(const uint8_t * event){ 7748 return event[3]; 7749 } 7750 /** 7751 * @brief Get field model_identifier from event MESH_SUBEVENT_GENERIC_LEVEL_STATUS 7752 * @param event packet 7753 * @return model_identifier 7754 * @note: btstack_type 4 7755 */ 7756 static inline uint32_t mesh_subevent_generic_level_status_get_model_identifier(const uint8_t * event){ 7757 return little_endian_read_32(event, 4); 7758 } 7759 /** 7760 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL_STATUS 7761 * @param event packet 7762 * @return present_value 7763 * @note: btstack_type 2 7764 */ 7765 static inline uint16_t mesh_subevent_generic_level_status_get_present_value(const uint8_t * event){ 7766 return little_endian_read_16(event, 8); 7767 } 7768 /** 7769 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL_STATUS 7770 * @param event packet 7771 * @return target_value 7772 * @note: btstack_type 2 7773 */ 7774 static inline uint16_t mesh_subevent_generic_level_status_get_target_value(const uint8_t * event){ 7775 return little_endian_read_16(event, 10); 7776 } 7777 /** 7778 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL_STATUS 7779 * @param event packet 7780 * @return remaining_time_ms 7781 * @note: btstack_type 4 7782 */ 7783 static inline uint32_t mesh_subevent_generic_level_status_get_remaining_time_ms(const uint8_t * event){ 7784 return little_endian_read_32(event, 12); 7785 } 7786 7787 /** 7788 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_CLEAR_REGISTERED_FAULTS 7789 * @param event packet 7790 * @return element_index 7791 * @note: btstack_type 1 7792 */ 7793 static inline uint8_t mesh_subevent_health_clear_registered_faults_get_element_index(const uint8_t * event){ 7794 return event[3]; 7795 } 7796 /** 7797 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_CLEAR_REGISTERED_FAULTS 7798 * @param event packet 7799 * @return company_id 7800 * @note: btstack_type 2 7801 */ 7802 static inline uint16_t mesh_subevent_health_clear_registered_faults_get_company_id(const uint8_t * event){ 7803 return little_endian_read_16(event, 4); 7804 } 7805 7806 /** 7807 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 7808 * @param event packet 7809 * @return element_index 7810 * @note: btstack_type 1 7811 */ 7812 static inline uint8_t mesh_subevent_health_perform_test_get_element_index(const uint8_t * event){ 7813 return event[3]; 7814 } 7815 /** 7816 * @brief Get field model_identifier from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 7817 * @param event packet 7818 * @return model_identifier 7819 * @note: btstack_type 4 7820 */ 7821 static inline uint32_t mesh_subevent_health_perform_test_get_model_identifier(const uint8_t * event){ 7822 return little_endian_read_32(event, 4); 7823 } 7824 /** 7825 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 7826 * @param event packet 7827 * @return dest 7828 * @note: btstack_type 2 7829 */ 7830 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 7831 return little_endian_read_16(event, 8); 7832 } 7833 /** 7834 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 7835 * @param event packet 7836 * @return netkey_index 7837 * @note: btstack_type 2 7838 */ 7839 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 7840 return little_endian_read_16(event, 10); 7841 } 7842 /** 7843 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 7844 * @param event packet 7845 * @return appkey_index 7846 * @note: btstack_type 2 7847 */ 7848 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 7849 return little_endian_read_16(event, 12); 7850 } 7851 /** 7852 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 7853 * @param event packet 7854 * @return company_id 7855 * @note: btstack_type 2 7856 */ 7857 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 7858 return little_endian_read_16(event, 14); 7859 } 7860 /** 7861 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 7862 * @param event packet 7863 * @return test_id 7864 * @note: btstack_type 1 7865 */ 7866 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 7867 return event[16]; 7868 } 7869 7870 /** 7871 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_FAST_PERIOD_DIVISOR_CHANGED 7872 * @param event packet 7873 * @return element_index 7874 * @note: btstack_type 1 7875 */ 7876 static inline uint8_t mesh_subevent_health_fast_period_divisor_changed_get_element_index(const uint8_t * event){ 7877 return event[3]; 7878 } 7879 /** 7880 * @brief Get field fast_period_divisor from event MESH_SUBEVENT_HEALTH_FAST_PERIOD_DIVISOR_CHANGED 7881 * @param event packet 7882 * @return fast_period_divisor 7883 * @note: btstack_type 1 7884 */ 7885 static inline uint8_t mesh_subevent_health_fast_period_divisor_changed_get_fast_period_divisor(const uint8_t * event){ 7886 return event[4]; 7887 } 7888 7889 /** 7890 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 7891 * @param event packet 7892 * @return element_index 7893 * @note: btstack_type 1 7894 */ 7895 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 7896 return event[3]; 7897 } 7898 7899 7900 7901 /* API_END */ 7902 7903 #if defined __cplusplus 7904 } 7905 #endif 7906 7907 #endif // BTSTACK_EVENT_H 7908