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 BLUEKITCHEN 24 * GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 27 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 30 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * Please inquire about commercial licensing options at 34 * [email protected] 35 * 36 */ 37 38 39 /** 40 * HCI Event Getter 41 * 42 * Note: Don't edit this file. It is generated by tool/btstack_event_generator.py 43 * 44 */ 45 46 #ifndef BTSTACK_EVENT_H 47 #define BTSTACK_EVENT_H 48 49 #if defined __cplusplus 50 extern "C" { 51 #endif 52 53 #include "btstack_util.h" 54 #include <stdint.h> 55 56 #ifdef ENABLE_BLE 57 #include "ble/gatt_client.h" 58 #endif 59 60 /* API_START */ 61 62 /** 63 * @brief Get event type 64 * @param event 65 * @return type of event 66 */ 67 static inline uint8_t hci_event_packet_get_type(const uint8_t * event){ 68 return event[0]; 69 } 70 71 /*** 72 * @brief Get subevent code for a2dp event 73 * @param event packet 74 * @return subevent_code 75 */ 76 static inline uint8_t hci_event_a2dp_meta_get_subevent_code(const uint8_t * event){ 77 return event[2]; 78 } 79 /*** 80 * @brief Get subevent code for ancs event 81 * @param event packet 82 * @return subevent_code 83 */ 84 static inline uint8_t hci_event_ancs_meta_get_subevent_code(const uint8_t * event){ 85 return event[2]; 86 } 87 /*** 88 * @brief Get subevent code for avdtp event 89 * @param event packet 90 * @return subevent_code 91 */ 92 static inline uint8_t hci_event_avdtp_meta_get_subevent_code(const uint8_t * event){ 93 return event[2]; 94 } 95 /*** 96 * @brief Get subevent code for avrcp event 97 * @param event packet 98 * @return subevent_code 99 */ 100 static inline uint8_t hci_event_avrcp_meta_get_subevent_code(const uint8_t * event){ 101 return event[2]; 102 } 103 /*** 104 * @brief Get subevent code for gap event 105 * @param event packet 106 * @return subevent_code 107 */ 108 static inline uint8_t hci_event_gap_meta_get_subevent_code(const uint8_t * event){ 109 return event[2]; 110 } 111 /*** 112 * @brief Get subevent code for gattservice event 113 * @param event packet 114 * @return subevent_code 115 */ 116 static inline uint8_t hci_event_gattservice_meta_get_subevent_code(const uint8_t * event){ 117 return event[2]; 118 } 119 /*** 120 * @brief Get subevent code for goep event 121 * @param event packet 122 * @return subevent_code 123 */ 124 static inline uint8_t hci_event_goep_meta_get_subevent_code(const uint8_t * event){ 125 return event[2]; 126 } 127 /*** 128 * @brief Get subevent code for hfp event 129 * @param event packet 130 * @return subevent_code 131 */ 132 static inline uint8_t hci_event_hfp_meta_get_subevent_code(const uint8_t * event){ 133 return event[2]; 134 } 135 /*** 136 * @brief Get subevent code for hid event 137 * @param event packet 138 * @return subevent_code 139 */ 140 static inline uint8_t hci_event_hid_meta_get_subevent_code(const uint8_t * event){ 141 return event[2]; 142 } 143 /*** 144 * @brief Get subevent code for hids event 145 * @param event packet 146 * @return subevent_code 147 */ 148 static inline uint8_t hci_event_hids_meta_get_subevent_code(const uint8_t * event){ 149 return event[2]; 150 } 151 /*** 152 * @brief Get subevent code for hsp event 153 * @param event packet 154 * @return subevent_code 155 */ 156 static inline uint8_t hci_event_hsp_meta_get_subevent_code(const uint8_t * event){ 157 return event[2]; 158 } 159 /*** 160 * @brief Get subevent code for le event 161 * @param event packet 162 * @return subevent_code 163 */ 164 static inline uint8_t hci_event_le_meta_get_subevent_code(const uint8_t * event){ 165 return event[2]; 166 } 167 /*** 168 * @brief Get subevent code for leaudio event 169 * @param event packet 170 * @return subevent_code 171 */ 172 static inline uint8_t hci_event_leaudio_meta_get_subevent_code(const uint8_t * event){ 173 return event[2]; 174 } 175 /*** 176 * @brief Get subevent code for map event 177 * @param event packet 178 * @return subevent_code 179 */ 180 static inline uint8_t hci_event_map_meta_get_subevent_code(const uint8_t * event){ 181 return event[2]; 182 } 183 /*** 184 * @brief Get subevent code for mesh event 185 * @param event packet 186 * @return subevent_code 187 */ 188 static inline uint8_t hci_event_mesh_meta_get_subevent_code(const uint8_t * event){ 189 return event[2]; 190 } 191 /*** 192 * @brief Get subevent code for pbap event 193 * @param event packet 194 * @return subevent_code 195 */ 196 static inline uint8_t hci_event_pbap_meta_get_subevent_code(const uint8_t * event){ 197 return event[2]; 198 } 199 /*** 200 * @brief Get subevent code for opp event 201 * @param event packet 202 * @return subevent_code 203 */ 204 static inline uint8_t hci_event_opp_meta_get_subevent_code(const uint8_t * event){ 205 return event[2]; 206 } 207 /** 208 * @brief Get field status from event HCI_EVENT_INQUIRY_COMPLETE 209 * @param event packet 210 * @return status 211 * @note: btstack_type 1 212 */ 213 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){ 214 return event[2]; 215 } 216 217 /** 218 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT 219 * @param event packet 220 * @return num_responses 221 * @note: btstack_type 1 222 */ 223 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){ 224 return event[2]; 225 } 226 /** 227 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT 228 * @param event packet 229 * @param Pointer to storage for bd_addr 230 * @note: btstack_type B 231 */ 232 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 233 reverse_bytes(&event[3], bd_addr, 6); 234 } 235 /** 236 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT 237 * @param event packet 238 * @return page_scan_repetition_mode 239 * @note: btstack_type 1 240 */ 241 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 242 return event[9]; 243 } 244 /** 245 * @brief Get field reserved1 from event HCI_EVENT_INQUIRY_RESULT 246 * @param event packet 247 * @return reserved1 248 * @note: btstack_type 1 249 */ 250 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){ 251 return event[10]; 252 } 253 /** 254 * @brief Get field reserved2 from event HCI_EVENT_INQUIRY_RESULT 255 * @param event packet 256 * @return reserved2 257 * @note: btstack_type 1 258 */ 259 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){ 260 return event[11]; 261 } 262 /** 263 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT 264 * @param event packet 265 * @return class_of_device 266 * @note: btstack_type 3 267 */ 268 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){ 269 return little_endian_read_24(event, 12); 270 } 271 /** 272 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT 273 * @param event packet 274 * @return clock_offset 275 * @note: btstack_type 2 276 */ 277 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){ 278 return little_endian_read_16(event, 15); 279 } 280 281 /** 282 * @brief Get field status from event HCI_EVENT_CONNECTION_COMPLETE 283 * @param event packet 284 * @return status 285 * @note: btstack_type 1 286 */ 287 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){ 288 return event[2]; 289 } 290 /** 291 * @brief Get field connection_handle from event HCI_EVENT_CONNECTION_COMPLETE 292 * @param event packet 293 * @return connection_handle 294 * @note: btstack_type 2 295 */ 296 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){ 297 return little_endian_read_16(event, 3); 298 } 299 /** 300 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_COMPLETE 301 * @param event packet 302 * @param Pointer to storage for bd_addr 303 * @note: btstack_type B 304 */ 305 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 306 reverse_bytes(&event[5], bd_addr, 6); 307 } 308 /** 309 * @brief Get field link_type from event HCI_EVENT_CONNECTION_COMPLETE 310 * @param event packet 311 * @return link_type 312 * @note: btstack_type 1 313 */ 314 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){ 315 return event[11]; 316 } 317 /** 318 * @brief Get field encryption_enabled from event HCI_EVENT_CONNECTION_COMPLETE 319 * @param event packet 320 * @return encryption_enabled 321 * @note: btstack_type 1 322 */ 323 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){ 324 return event[12]; 325 } 326 327 /** 328 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_REQUEST 329 * @param event packet 330 * @param Pointer to storage for bd_addr 331 * @note: btstack_type B 332 */ 333 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 334 reverse_bytes(&event[2], bd_addr, 6); 335 } 336 /** 337 * @brief Get field class_of_device from event HCI_EVENT_CONNECTION_REQUEST 338 * @param event packet 339 * @return class_of_device 340 * @note: btstack_type 3 341 */ 342 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){ 343 return little_endian_read_24(event, 8); 344 } 345 /** 346 * @brief Get field link_type from event HCI_EVENT_CONNECTION_REQUEST 347 * @param event packet 348 * @return link_type 349 * @note: btstack_type 1 350 */ 351 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){ 352 return event[11]; 353 } 354 355 /** 356 * @brief Get field status from event HCI_EVENT_DISCONNECTION_COMPLETE 357 * @param event packet 358 * @return status 359 * @note: btstack_type 1 360 */ 361 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){ 362 return event[2]; 363 } 364 /** 365 * @brief Get field connection_handle from event HCI_EVENT_DISCONNECTION_COMPLETE 366 * @param event packet 367 * @return connection_handle 368 * @note: btstack_type 2 369 */ 370 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){ 371 return little_endian_read_16(event, 3); 372 } 373 /** 374 * @brief Get field reason from event HCI_EVENT_DISCONNECTION_COMPLETE 375 * @param event packet 376 * @return reason 377 * @note: btstack_type 1 378 */ 379 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){ 380 return event[5]; 381 } 382 383 /** 384 * @brief Get field status from event HCI_EVENT_AUTHENTICATION_COMPLETE 385 * @param event packet 386 * @return status 387 * @note: btstack_type 1 388 */ 389 static inline uint8_t hci_event_authentication_complete_get_status(const uint8_t * event){ 390 return event[2]; 391 } 392 /** 393 * @brief Get field connection_handle from event HCI_EVENT_AUTHENTICATION_COMPLETE 394 * @param event packet 395 * @return connection_handle 396 * @note: btstack_type 2 397 */ 398 static inline uint16_t hci_event_authentication_complete_get_connection_handle(const uint8_t * event){ 399 return little_endian_read_16(event, 3); 400 } 401 402 /** 403 * @brief Get field status from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 404 * @param event packet 405 * @return status 406 * @note: btstack_type 1 407 */ 408 static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){ 409 return event[2]; 410 } 411 /** 412 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 413 * @param event packet 414 * @param Pointer to storage for bd_addr 415 * @note: btstack_type B 416 */ 417 static inline void hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 418 reverse_bytes(&event[3], bd_addr, 6); 419 } 420 /** 421 * @brief Get field remote_name from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 422 * @param event packet 423 * @return remote_name 424 * @note: btstack_type N 425 */ 426 static inline const char * hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){ 427 return (const char *) &event[9]; 428 } 429 430 /** 431 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE 432 * @param event packet 433 * @return status 434 * @note: btstack_type 1 435 */ 436 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){ 437 return event[2]; 438 } 439 /** 440 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE 441 * @param event packet 442 * @return connection_handle 443 * @note: btstack_type 2 444 */ 445 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){ 446 return little_endian_read_16(event, 3); 447 } 448 /** 449 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE 450 * @param event packet 451 * @return encryption_enabled 452 * @note: btstack_type 1 453 */ 454 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){ 455 return event[5]; 456 } 457 458 /** 459 * @brief Get field status from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 460 * @param event packet 461 * @return status 462 * @note: btstack_type 1 463 */ 464 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){ 465 return event[2]; 466 } 467 /** 468 * @brief Get field connection_handle from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 469 * @param event packet 470 * @return connection_handle 471 * @note: btstack_type 2 472 */ 473 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){ 474 return little_endian_read_16(event, 3); 475 } 476 477 /** 478 * @brief Get field status from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 479 * @param event packet 480 * @return status 481 * @note: btstack_type 1 482 */ 483 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){ 484 return event[2]; 485 } 486 /** 487 * @brief Get field connection_handle from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 488 * @param event packet 489 * @return connection_handle 490 * @note: btstack_type 2 491 */ 492 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){ 493 return little_endian_read_16(event, 3); 494 } 495 /** 496 * @brief Get field key_flag from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 497 * @param event packet 498 * @return key_flag 499 * @note: btstack_type 1 500 */ 501 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){ 502 return event[5]; 503 } 504 505 /** 506 * @brief Get field status from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 507 * @param event packet 508 * @return status 509 * @note: btstack_type 1 510 */ 511 static inline uint8_t hci_event_read_remote_version_information_complete_get_status(const uint8_t * event){ 512 return event[2]; 513 } 514 /** 515 * @brief Get field connection_handle from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 516 * @param event packet 517 * @return connection_handle 518 * @note: btstack_type 2 519 */ 520 static inline uint16_t hci_event_read_remote_version_information_complete_get_connection_handle(const uint8_t * event){ 521 return little_endian_read_16(event, 3); 522 } 523 /** 524 * @brief Get field version from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 525 * @param event packet 526 * @return version 527 * @note: btstack_type 1 528 */ 529 static inline uint8_t hci_event_read_remote_version_information_complete_get_version(const uint8_t * event){ 530 return event[5]; 531 } 532 /** 533 * @brief Get field manufacturer_name from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 534 * @param event packet 535 * @return manufacturer_name 536 * @note: btstack_type 2 537 */ 538 static inline uint16_t hci_event_read_remote_version_information_complete_get_manufacturer_name(const uint8_t * event){ 539 return little_endian_read_16(event, 6); 540 } 541 /** 542 * @brief Get field subversion from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 543 * @param event packet 544 * @return subversion 545 * @note: btstack_type 2 546 */ 547 static inline uint16_t hci_event_read_remote_version_information_complete_get_subversion(const uint8_t * event){ 548 return little_endian_read_16(event, 8); 549 } 550 551 /** 552 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_COMPLETE 553 * @param event packet 554 * @return num_hci_command_packets 555 * @note: btstack_type 1 556 */ 557 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){ 558 return event[2]; 559 } 560 /** 561 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_COMPLETE 562 * @param event packet 563 * @return command_opcode 564 * @note: btstack_type 2 565 */ 566 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){ 567 return little_endian_read_16(event, 3); 568 } 569 /** 570 * @brief Get field return_parameters from event HCI_EVENT_COMMAND_COMPLETE 571 * @param event packet 572 * @return return_parameters 573 * @note: btstack_type R 574 */ 575 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){ 576 return &event[5]; 577 } 578 579 /** 580 * @brief Get field status from event HCI_EVENT_COMMAND_STATUS 581 * @param event packet 582 * @return status 583 * @note: btstack_type 1 584 */ 585 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){ 586 return event[2]; 587 } 588 /** 589 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_STATUS 590 * @param event packet 591 * @return num_hci_command_packets 592 * @note: btstack_type 1 593 */ 594 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){ 595 return event[3]; 596 } 597 /** 598 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_STATUS 599 * @param event packet 600 * @return command_opcode 601 * @note: btstack_type 2 602 */ 603 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){ 604 return little_endian_read_16(event, 4); 605 } 606 607 /** 608 * @brief Get field hardware_code from event HCI_EVENT_HARDWARE_ERROR 609 * @param event packet 610 * @return hardware_code 611 * @note: btstack_type 1 612 */ 613 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){ 614 return event[2]; 615 } 616 617 /** 618 * @brief Get field handle from event HCI_EVENT_FLUSH_OCCURRED 619 * @param event packet 620 * @return handle 621 * @note: btstack_type H 622 */ 623 static inline hci_con_handle_t hci_event_flush_occurred_get_handle(const uint8_t * event){ 624 return little_endian_read_16(event, 2); 625 } 626 627 /** 628 * @brief Get field status from event HCI_EVENT_ROLE_CHANGE 629 * @param event packet 630 * @return status 631 * @note: btstack_type 1 632 */ 633 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){ 634 return event[2]; 635 } 636 /** 637 * @brief Get field bd_addr from event HCI_EVENT_ROLE_CHANGE 638 * @param event packet 639 * @param Pointer to storage for bd_addr 640 * @note: btstack_type B 641 */ 642 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 643 reverse_bytes(&event[3], bd_addr, 6); 644 } 645 /** 646 * @brief Get field role from event HCI_EVENT_ROLE_CHANGE 647 * @param event packet 648 * @return role 649 * @note: btstack_type 1 650 */ 651 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){ 652 return event[9]; 653 } 654 655 /** 656 * @brief Get field status from event HCI_EVENT_MODE_CHANGE 657 * @param event packet 658 * @return status 659 * @note: btstack_type 1 660 */ 661 static inline uint8_t hci_event_mode_change_get_status(const uint8_t * event){ 662 return event[2]; 663 } 664 /** 665 * @brief Get field handle from event HCI_EVENT_MODE_CHANGE 666 * @param event packet 667 * @return handle 668 * @note: btstack_type H 669 */ 670 static inline hci_con_handle_t hci_event_mode_change_get_handle(const uint8_t * event){ 671 return little_endian_read_16(event, 3); 672 } 673 /** 674 * @brief Get field mode from event HCI_EVENT_MODE_CHANGE 675 * @param event packet 676 * @return mode 677 * @note: btstack_type 1 678 */ 679 static inline uint8_t hci_event_mode_change_get_mode(const uint8_t * event){ 680 return event[5]; 681 } 682 /** 683 * @brief Get field interval from event HCI_EVENT_MODE_CHANGE 684 * @param event packet 685 * @return interval 686 * @note: btstack_type 2 687 */ 688 static inline uint16_t hci_event_mode_change_get_interval(const uint8_t * event){ 689 return little_endian_read_16(event, 6); 690 } 691 692 /** 693 * @brief Get field bd_addr from event HCI_EVENT_PIN_CODE_REQUEST 694 * @param event packet 695 * @param Pointer to storage for bd_addr 696 * @note: btstack_type B 697 */ 698 static inline void hci_event_pin_code_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 699 reverse_bytes(&event[2], bd_addr, 6); 700 } 701 702 /** 703 * @brief Get field bd_addr from event HCI_EVENT_LINK_KEY_REQUEST 704 * @param event packet 705 * @param Pointer to storage for bd_addr 706 * @note: btstack_type B 707 */ 708 static inline void hci_event_link_key_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 709 reverse_bytes(&event[2], bd_addr, 6); 710 } 711 712 /** 713 * @brief Get field link_type from event HCI_EVENT_DATA_BUFFER_OVERFLOW 714 * @param event packet 715 * @return link_type 716 * @note: btstack_type 1 717 */ 718 static inline uint8_t hci_event_data_buffer_overflow_get_link_type(const uint8_t * event){ 719 return event[2]; 720 } 721 722 /** 723 * @brief Get field handle from event HCI_EVENT_MAX_SLOTS_CHANGED 724 * @param event packet 725 * @return handle 726 * @note: btstack_type H 727 */ 728 static inline hci_con_handle_t hci_event_max_slots_changed_get_handle(const uint8_t * event){ 729 return little_endian_read_16(event, 2); 730 } 731 /** 732 * @brief Get field lmp_max_slots from event HCI_EVENT_MAX_SLOTS_CHANGED 733 * @param event packet 734 * @return lmp_max_slots 735 * @note: btstack_type 1 736 */ 737 static inline uint8_t hci_event_max_slots_changed_get_lmp_max_slots(const uint8_t * event){ 738 return event[4]; 739 } 740 741 /** 742 * @brief Get field status from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 743 * @param event packet 744 * @return status 745 * @note: btstack_type 1 746 */ 747 static inline uint8_t hci_event_read_clock_offset_complete_get_status(const uint8_t * event){ 748 return event[2]; 749 } 750 /** 751 * @brief Get field handle from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 752 * @param event packet 753 * @return handle 754 * @note: btstack_type H 755 */ 756 static inline hci_con_handle_t hci_event_read_clock_offset_complete_get_handle(const uint8_t * event){ 757 return little_endian_read_16(event, 3); 758 } 759 /** 760 * @brief Get field clock_offset from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 761 * @param event packet 762 * @return clock_offset 763 * @note: btstack_type 2 764 */ 765 static inline uint16_t hci_event_read_clock_offset_complete_get_clock_offset(const uint8_t * event){ 766 return little_endian_read_16(event, 5); 767 } 768 769 /** 770 * @brief Get field status from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 771 * @param event packet 772 * @return status 773 * @note: btstack_type 1 774 */ 775 static inline uint8_t hci_event_connection_packet_type_changed_get_status(const uint8_t * event){ 776 return event[2]; 777 } 778 /** 779 * @brief Get field handle from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 780 * @param event packet 781 * @return handle 782 * @note: btstack_type H 783 */ 784 static inline hci_con_handle_t hci_event_connection_packet_type_changed_get_handle(const uint8_t * event){ 785 return little_endian_read_16(event, 3); 786 } 787 /** 788 * @brief Get field packet_types from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 789 * @param event packet 790 * @return packet_types 791 * @note: btstack_type 2 792 */ 793 static inline uint16_t hci_event_connection_packet_type_changed_get_packet_types(const uint8_t * event){ 794 return little_endian_read_16(event, 5); 795 } 796 797 /** 798 * @brief Get field handle from event HCI_EVENT_QOS_VIOLATION 799 * @param event packet 800 * @return handle 801 * @note: btstack_type H 802 */ 803 static inline hci_con_handle_t hci_event_qos_violation_get_handle(const uint8_t * event){ 804 return little_endian_read_16(event, 2); 805 } 806 807 /** 808 * @brief Get field handle from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 809 * @param event packet 810 * @return handle 811 * @note: btstack_type H 812 */ 813 static inline hci_con_handle_t hci_event_page_scan_repetition_mode_change_get_handle(const uint8_t * event){ 814 return little_endian_read_16(event, 2); 815 } 816 /** 817 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 818 * @param event packet 819 * @return page_scan_repetition_mode 820 * @note: btstack_type 1 821 */ 822 static inline uint8_t hci_event_page_scan_repetition_mode_change_get_page_scan_repetition_mode(const uint8_t * event){ 823 return event[4]; 824 } 825 826 /** 827 * @brief Get field status from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 828 * @param event packet 829 * @return status 830 * @note: btstack_type 1 831 */ 832 static inline uint8_t hci_event_flow_specification_complete_get_status(const uint8_t * event){ 833 return event[2]; 834 } 835 /** 836 * @brief Get field handle from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 837 * @param event packet 838 * @return handle 839 * @note: btstack_type H 840 */ 841 static inline hci_con_handle_t hci_event_flow_specification_complete_get_handle(const uint8_t * event){ 842 return little_endian_read_16(event, 3); 843 } 844 /** 845 * @brief Get field unused from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 846 * @param event packet 847 * @return unused 848 * @note: btstack_type 1 849 */ 850 static inline uint8_t hci_event_flow_specification_complete_get_unused(const uint8_t * event){ 851 return event[5]; 852 } 853 /** 854 * @brief Get field flow_direction from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 855 * @param event packet 856 * @return flow_direction 857 * @note: btstack_type 1 858 */ 859 static inline uint8_t hci_event_flow_specification_complete_get_flow_direction(const uint8_t * event){ 860 return event[6]; 861 } 862 /** 863 * @brief Get field service_type from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 864 * @param event packet 865 * @return service_type 866 * @note: btstack_type 1 867 */ 868 static inline uint8_t hci_event_flow_specification_complete_get_service_type(const uint8_t * event){ 869 return event[7]; 870 } 871 /** 872 * @brief Get field token_rate from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 873 * @param event packet 874 * @return token_rate 875 * @note: btstack_type 4 876 */ 877 static inline uint32_t hci_event_flow_specification_complete_get_token_rate(const uint8_t * event){ 878 return little_endian_read_32(event, 8); 879 } 880 /** 881 * @brief Get field token_bucket_size from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 882 * @param event packet 883 * @return token_bucket_size 884 * @note: btstack_type 4 885 */ 886 static inline uint32_t hci_event_flow_specification_complete_get_token_bucket_size(const uint8_t * event){ 887 return little_endian_read_32(event, 12); 888 } 889 /** 890 * @brief Get field peak_bandwidth from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 891 * @param event packet 892 * @return peak_bandwidth 893 * @note: btstack_type 4 894 */ 895 static inline uint32_t hci_event_flow_specification_complete_get_peak_bandwidth(const uint8_t * event){ 896 return little_endian_read_32(event, 16); 897 } 898 /** 899 * @brief Get field access_latency from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 900 * @param event packet 901 * @return access_latency 902 * @note: btstack_type 4 903 */ 904 static inline uint32_t hci_event_flow_specification_complete_get_access_latency(const uint8_t * event){ 905 return little_endian_read_32(event, 20); 906 } 907 908 /** 909 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 910 * @param event packet 911 * @return num_responses 912 * @note: btstack_type 1 913 */ 914 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){ 915 return event[2]; 916 } 917 /** 918 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 919 * @param event packet 920 * @param Pointer to storage for bd_addr 921 * @note: btstack_type B 922 */ 923 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 924 reverse_bytes(&event[3], bd_addr, 6); 925 } 926 /** 927 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 928 * @param event packet 929 * @return page_scan_repetition_mode 930 * @note: btstack_type 1 931 */ 932 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){ 933 return event[9]; 934 } 935 /** 936 * @brief Get field reserved from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 937 * @param event packet 938 * @return reserved 939 * @note: btstack_type 1 940 */ 941 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){ 942 return event[10]; 943 } 944 /** 945 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 946 * @param event packet 947 * @return class_of_device 948 * @note: btstack_type 3 949 */ 950 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){ 951 return little_endian_read_24(event, 11); 952 } 953 /** 954 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 955 * @param event packet 956 * @return clock_offset 957 * @note: btstack_type 2 958 */ 959 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){ 960 return little_endian_read_16(event, 14); 961 } 962 /** 963 * @brief Get field rssi from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 964 * @param event packet 965 * @return rssi 966 * @note: btstack_type 1 967 */ 968 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){ 969 return event[16]; 970 } 971 972 /** 973 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 974 * @param event packet 975 * @return status 976 * @note: btstack_type 1 977 */ 978 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){ 979 return event[2]; 980 } 981 /** 982 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 983 * @param event packet 984 * @return handle 985 * @note: btstack_type H 986 */ 987 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){ 988 return little_endian_read_16(event, 3); 989 } 990 /** 991 * @brief Get field bd_addr from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 992 * @param event packet 993 * @param Pointer to storage for bd_addr 994 * @note: btstack_type B 995 */ 996 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 997 reverse_bytes(&event[5], bd_addr, 6); 998 } 999 /** 1000 * @brief Get field link_type from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1001 * @param event packet 1002 * @return link_type 1003 * @note: btstack_type 1 1004 */ 1005 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){ 1006 return event[11]; 1007 } 1008 /** 1009 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1010 * @param event packet 1011 * @return transmission_interval 1012 * @note: btstack_type 1 1013 */ 1014 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){ 1015 return event[12]; 1016 } 1017 /** 1018 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1019 * @param event packet 1020 * @return retransmission_interval 1021 * @note: btstack_type 1 1022 */ 1023 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){ 1024 return event[13]; 1025 } 1026 /** 1027 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1028 * @param event packet 1029 * @return rx_packet_length 1030 * @note: btstack_type 2 1031 */ 1032 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){ 1033 return little_endian_read_16(event, 14); 1034 } 1035 /** 1036 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1037 * @param event packet 1038 * @return tx_packet_length 1039 * @note: btstack_type 2 1040 */ 1041 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){ 1042 return little_endian_read_16(event, 16); 1043 } 1044 /** 1045 * @brief Get field air_mode from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1046 * @param event packet 1047 * @return air_mode 1048 * @note: btstack_type 1 1049 */ 1050 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){ 1051 return event[18]; 1052 } 1053 1054 /** 1055 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1056 * @param event packet 1057 * @return status 1058 * @note: btstack_type 1 1059 */ 1060 static inline uint8_t hci_event_synchronous_connection_changed_get_status(const uint8_t * event){ 1061 return event[2]; 1062 } 1063 /** 1064 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1065 * @param event packet 1066 * @return handle 1067 * @note: btstack_type H 1068 */ 1069 static inline hci_con_handle_t hci_event_synchronous_connection_changed_get_handle(const uint8_t * event){ 1070 return little_endian_read_16(event, 3); 1071 } 1072 /** 1073 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1074 * @param event packet 1075 * @return transmission_interval 1076 * @note: btstack_type 1 1077 */ 1078 static inline uint8_t hci_event_synchronous_connection_changed_get_transmission_interval(const uint8_t * event){ 1079 return event[5]; 1080 } 1081 /** 1082 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1083 * @param event packet 1084 * @return retransmission_interval 1085 * @note: btstack_type 1 1086 */ 1087 static inline uint8_t hci_event_synchronous_connection_changed_get_retransmission_interval(const uint8_t * event){ 1088 return event[6]; 1089 } 1090 /** 1091 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1092 * @param event packet 1093 * @return rx_packet_length 1094 * @note: btstack_type 2 1095 */ 1096 static inline uint16_t hci_event_synchronous_connection_changed_get_rx_packet_length(const uint8_t * event){ 1097 return little_endian_read_16(event, 7); 1098 } 1099 /** 1100 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1101 * @param event packet 1102 * @return tx_packet_length 1103 * @note: btstack_type 2 1104 */ 1105 static inline uint16_t hci_event_synchronous_connection_changed_get_tx_packet_length(const uint8_t * event){ 1106 return little_endian_read_16(event, 9); 1107 } 1108 1109 /** 1110 * @brief Get field status from event HCI_EVENT_SNIFF_SUBRATING 1111 * @param event packet 1112 * @return status 1113 * @note: btstack_type 1 1114 */ 1115 static inline uint8_t hci_event_sniff_subrating_get_status(const uint8_t * event){ 1116 return event[2]; 1117 } 1118 /** 1119 * @brief Get field handle from event HCI_EVENT_SNIFF_SUBRATING 1120 * @param event packet 1121 * @return handle 1122 * @note: btstack_type H 1123 */ 1124 static inline hci_con_handle_t hci_event_sniff_subrating_get_handle(const uint8_t * event){ 1125 return little_endian_read_16(event, 3); 1126 } 1127 /** 1128 * @brief Get field max_tx_latency from event HCI_EVENT_SNIFF_SUBRATING 1129 * @param event packet 1130 * @return max_tx_latency 1131 * @note: btstack_type 2 1132 */ 1133 static inline uint16_t hci_event_sniff_subrating_get_max_tx_latency(const uint8_t * event){ 1134 return little_endian_read_16(event, 5); 1135 } 1136 /** 1137 * @brief Get field max_rx_latency from event HCI_EVENT_SNIFF_SUBRATING 1138 * @param event packet 1139 * @return max_rx_latency 1140 * @note: btstack_type 2 1141 */ 1142 static inline uint16_t hci_event_sniff_subrating_get_max_rx_latency(const uint8_t * event){ 1143 return little_endian_read_16(event, 7); 1144 } 1145 /** 1146 * @brief Get field min_remote_timeout from event HCI_EVENT_SNIFF_SUBRATING 1147 * @param event packet 1148 * @return min_remote_timeout 1149 * @note: btstack_type 2 1150 */ 1151 static inline uint16_t hci_event_sniff_subrating_get_min_remote_timeout(const uint8_t * event){ 1152 return little_endian_read_16(event, 9); 1153 } 1154 /** 1155 * @brief Get field min_local_timeout from event HCI_EVENT_SNIFF_SUBRATING 1156 * @param event packet 1157 * @return min_local_timeout 1158 * @note: btstack_type 2 1159 */ 1160 static inline uint16_t hci_event_sniff_subrating_get_min_local_timeout(const uint8_t * event){ 1161 return little_endian_read_16(event, 11); 1162 } 1163 1164 /** 1165 * @brief Get field num_responses from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1166 * @param event packet 1167 * @return num_responses 1168 * @note: btstack_type 1 1169 */ 1170 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){ 1171 return event[2]; 1172 } 1173 /** 1174 * @brief Get field bd_addr from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1175 * @param event packet 1176 * @param Pointer to storage for bd_addr 1177 * @note: btstack_type B 1178 */ 1179 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1180 reverse_bytes(&event[3], bd_addr, 6); 1181 } 1182 /** 1183 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1184 * @param event packet 1185 * @return page_scan_repetition_mode 1186 * @note: btstack_type 1 1187 */ 1188 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){ 1189 return event[9]; 1190 } 1191 /** 1192 * @brief Get field reserved from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1193 * @param event packet 1194 * @return reserved 1195 * @note: btstack_type 1 1196 */ 1197 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){ 1198 return event[10]; 1199 } 1200 /** 1201 * @brief Get field class_of_device from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1202 * @param event packet 1203 * @return class_of_device 1204 * @note: btstack_type 3 1205 */ 1206 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){ 1207 return little_endian_read_24(event, 11); 1208 } 1209 /** 1210 * @brief Get field clock_offset from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1211 * @param event packet 1212 * @return clock_offset 1213 * @note: btstack_type 2 1214 */ 1215 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){ 1216 return little_endian_read_16(event, 14); 1217 } 1218 /** 1219 * @brief Get field rssi from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1220 * @param event packet 1221 * @return rssi 1222 * @note: btstack_type 1 1223 */ 1224 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){ 1225 return event[16]; 1226 } 1227 1228 /** 1229 * @brief Get field status from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1230 * @param event packet 1231 * @return status 1232 * @note: btstack_type 1 1233 */ 1234 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){ 1235 return event[2]; 1236 } 1237 /** 1238 * @brief Get field handle from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1239 * @param event packet 1240 * @return handle 1241 * @note: btstack_type H 1242 */ 1243 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){ 1244 return little_endian_read_16(event, 3); 1245 } 1246 1247 /** 1248 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_REQUEST 1249 * @param event packet 1250 * @param Pointer to storage for bd_addr 1251 * @note: btstack_type B 1252 */ 1253 static inline void hci_event_io_capability_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1254 reverse_bytes(&event[2], bd_addr, 6); 1255 } 1256 1257 /** 1258 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1259 * @param event packet 1260 * @param Pointer to storage for bd_addr 1261 * @note: btstack_type B 1262 */ 1263 static inline void hci_event_io_capability_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1264 reverse_bytes(&event[2], bd_addr, 6); 1265 } 1266 /** 1267 * @brief Get field io_capability from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1268 * @param event packet 1269 * @return io_capability 1270 * @note: btstack_type 1 1271 */ 1272 static inline uint8_t hci_event_io_capability_response_get_io_capability(const uint8_t * event){ 1273 return event[8]; 1274 } 1275 /** 1276 * @brief Get field oob_data_present from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1277 * @param event packet 1278 * @return oob_data_present 1279 * @note: btstack_type 1 1280 */ 1281 static inline uint8_t hci_event_io_capability_response_get_oob_data_present(const uint8_t * event){ 1282 return event[9]; 1283 } 1284 /** 1285 * @brief Get field authentication_requirements from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1286 * @param event packet 1287 * @return authentication_requirements 1288 * @note: btstack_type 1 1289 */ 1290 static inline uint8_t hci_event_io_capability_response_get_authentication_requirements(const uint8_t * event){ 1291 return event[10]; 1292 } 1293 1294 /** 1295 * @brief Get field bd_addr from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1296 * @param event packet 1297 * @param Pointer to storage for bd_addr 1298 * @note: btstack_type B 1299 */ 1300 static inline void hci_event_user_confirmation_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1301 reverse_bytes(&event[2], bd_addr, 6); 1302 } 1303 /** 1304 * @brief Get field numeric_value from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1305 * @param event packet 1306 * @return numeric_value 1307 * @note: btstack_type 4 1308 */ 1309 static inline uint32_t hci_event_user_confirmation_request_get_numeric_value(const uint8_t * event){ 1310 return little_endian_read_32(event, 8); 1311 } 1312 1313 /** 1314 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_REQUEST 1315 * @param event packet 1316 * @param Pointer to storage for bd_addr 1317 * @note: btstack_type B 1318 */ 1319 static inline void hci_event_user_passkey_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1320 reverse_bytes(&event[2], bd_addr, 6); 1321 } 1322 1323 /** 1324 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_OOB_DATA_REQUEST 1325 * @param event packet 1326 * @param Pointer to storage for bd_addr 1327 * @note: btstack_type B 1328 */ 1329 static inline void hci_event_remote_oob_data_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1330 reverse_bytes(&event[2], bd_addr, 6); 1331 } 1332 1333 /** 1334 * @brief Get field status from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1335 * @param event packet 1336 * @return status 1337 * @note: btstack_type 1 1338 */ 1339 static inline uint8_t hci_event_simple_pairing_complete_get_status(const uint8_t * event){ 1340 return event[2]; 1341 } 1342 /** 1343 * @brief Get field bd_addr from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1344 * @param event packet 1345 * @param Pointer to storage for bd_addr 1346 * @note: btstack_type B 1347 */ 1348 static inline void hci_event_simple_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1349 reverse_bytes(&event[3], bd_addr, 6); 1350 } 1351 1352 /** 1353 * @brief Get field handle from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1354 * @param event packet 1355 * @return handle 1356 * @note: btstack_type H 1357 */ 1358 static inline hci_con_handle_t hci_event_link_supervision_timeout_changed_get_handle(const uint8_t * event){ 1359 return little_endian_read_16(event, 2); 1360 } 1361 /** 1362 * @brief Get field link_supervision_timeout from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1363 * @param event packet 1364 * @return link_supervision_timeout 1365 * @note: btstack_type 2 1366 */ 1367 static inline uint16_t hci_event_link_supervision_timeout_changed_get_link_supervision_timeout(const uint8_t * event){ 1368 return little_endian_read_16(event, 4); 1369 } 1370 1371 /** 1372 * @brief Get field handle from event HCI_EVENT_ENHANCED_FLUSH_COMPLETE 1373 * @param event packet 1374 * @return handle 1375 * @note: btstack_type H 1376 */ 1377 static inline hci_con_handle_t hci_event_enhanced_flush_complete_get_handle(const uint8_t * event){ 1378 return little_endian_read_16(event, 2); 1379 } 1380 1381 /** 1382 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1383 * @param event packet 1384 * @param Pointer to storage for bd_addr 1385 * @note: btstack_type B 1386 */ 1387 static inline void hci_event_user_passkey_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1388 reverse_bytes(&event[2], bd_addr, 6); 1389 } 1390 /** 1391 * @brief Get field numeric_value from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1392 * @param event packet 1393 * @return numeric_value 1394 * @note: btstack_type 4 1395 */ 1396 static inline uint32_t hci_event_user_passkey_notification_get_numeric_value(const uint8_t * event){ 1397 return little_endian_read_32(event, 8); 1398 } 1399 1400 /** 1401 * @brief Get field bd_addr from event HCI_EVENT_KEYPRESS_NOTIFICATION 1402 * @param event packet 1403 * @param Pointer to storage for bd_addr 1404 * @note: btstack_type B 1405 */ 1406 static inline void hci_event_keypress_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1407 reverse_bytes(&event[2], bd_addr, 6); 1408 } 1409 /** 1410 * @brief Get field notification_type from event HCI_EVENT_KEYPRESS_NOTIFICATION 1411 * @param event packet 1412 * @return notification_type 1413 * @note: btstack_type 1 1414 */ 1415 static inline uint8_t hci_event_keypress_notification_get_notification_type(const uint8_t * event){ 1416 return event[8]; 1417 } 1418 1419 /** 1420 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1421 * @param event packet 1422 * @return status 1423 * @note: btstack_type 1 1424 */ 1425 static inline uint8_t hci_event_encryption_change_v2_get_status(const uint8_t * event){ 1426 return event[2]; 1427 } 1428 /** 1429 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1430 * @param event packet 1431 * @return connection_handle 1432 * @note: btstack_type 2 1433 */ 1434 static inline uint16_t hci_event_encryption_change_v2_get_connection_handle(const uint8_t * event){ 1435 return little_endian_read_16(event, 3); 1436 } 1437 /** 1438 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1439 * @param event packet 1440 * @return encryption_enabled 1441 * @note: btstack_type 1 1442 */ 1443 static inline uint8_t hci_event_encryption_change_v2_get_encryption_enabled(const uint8_t * event){ 1444 return event[5]; 1445 } 1446 /** 1447 * @brief Get field encryption_key_size from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1448 * @param event packet 1449 * @return encryption_key_size 1450 * @note: btstack_type 1 1451 */ 1452 static inline uint8_t hci_event_encryption_change_v2_get_encryption_key_size(const uint8_t * event){ 1453 return event[6]; 1454 } 1455 1456 /** 1457 * @brief Get field state from event BTSTACK_EVENT_STATE 1458 * @param event packet 1459 * @return state 1460 * @note: btstack_type 1 1461 */ 1462 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){ 1463 return event[2]; 1464 } 1465 1466 /** 1467 * @brief Get field number_connections from event BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 1468 * @param event packet 1469 * @return number_connections 1470 * @note: btstack_type 1 1471 */ 1472 static inline uint8_t btstack_event_nr_connections_changed_get_number_connections(const uint8_t * event){ 1473 return event[2]; 1474 } 1475 1476 1477 /** 1478 * @brief Get field discoverable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1479 * @param event packet 1480 * @return discoverable 1481 * @note: btstack_type 1 1482 */ 1483 static inline uint8_t btstack_event_scan_mode_changed_get_discoverable(const uint8_t * event){ 1484 return event[2]; 1485 } 1486 /** 1487 * @brief Get field connectable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1488 * @param event packet 1489 * @return connectable 1490 * @note: btstack_type 1 1491 */ 1492 static inline uint8_t btstack_event_scan_mode_changed_get_connectable(const uint8_t * event){ 1493 return event[3]; 1494 } 1495 1496 /** 1497 * @brief Get field active from event HCI_EVENT_TRANSPORT_SLEEP_MODE 1498 * @param event packet 1499 * @return active 1500 * @note: btstack_type 1 1501 */ 1502 static inline uint8_t hci_event_transport_sleep_mode_get_active(const uint8_t * event){ 1503 return event[2]; 1504 } 1505 1506 /** 1507 * @brief Get field vendor_id from event HCI_EVENT_TRANSPORT_USB_INFO 1508 * @param event packet 1509 * @return vendor_id 1510 * @note: btstack_type 2 1511 */ 1512 static inline uint16_t hci_event_transport_usb_info_get_vendor_id(const uint8_t * event){ 1513 return little_endian_read_16(event, 2); 1514 } 1515 /** 1516 * @brief Get field product_id from event HCI_EVENT_TRANSPORT_USB_INFO 1517 * @param event packet 1518 * @return product_id 1519 * @note: btstack_type 2 1520 */ 1521 static inline uint16_t hci_event_transport_usb_info_get_product_id(const uint8_t * event){ 1522 return little_endian_read_16(event, 4); 1523 } 1524 /** 1525 * @brief Get field path_len from event HCI_EVENT_TRANSPORT_USB_INFO 1526 * @param event packet 1527 * @return path_len 1528 * @note: btstack_type J 1529 */ 1530 static inline uint8_t hci_event_transport_usb_info_get_path_len(const uint8_t * event){ 1531 return event[6]; 1532 } 1533 /** 1534 * @brief Get field path from event HCI_EVENT_TRANSPORT_USB_INFO 1535 * @param event packet 1536 * @return path 1537 * @note: btstack_type V 1538 */ 1539 static inline const uint8_t * hci_event_transport_usb_info_get_path(const uint8_t * event){ 1540 return &event[7]; 1541 } 1542 1543 /** 1544 * @brief Get field big_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1545 * @param event packet 1546 * @return big_handle 1547 * @note: btstack_type 1 1548 */ 1549 static inline uint8_t hci_event_bis_can_send_now_get_big_handle(const uint8_t * event){ 1550 return event[2]; 1551 } 1552 /** 1553 * @brief Get field bis_index from event HCI_EVENT_BIS_CAN_SEND_NOW 1554 * @param event packet 1555 * @return bis_index 1556 * @note: btstack_type 1 1557 */ 1558 static inline uint8_t hci_event_bis_can_send_now_get_bis_index(const uint8_t * event){ 1559 return event[3]; 1560 } 1561 /** 1562 * @brief Get field con_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1563 * @param event packet 1564 * @return con_handle 1565 * @note: btstack_type H 1566 */ 1567 static inline hci_con_handle_t hci_event_bis_can_send_now_get_con_handle(const uint8_t * event){ 1568 return little_endian_read_16(event, 4); 1569 } 1570 1571 /** 1572 * @brief Get field cis_con_handle from event HCI_EVENT_CIS_CAN_SEND_NOW 1573 * @param event packet 1574 * @return cis_con_handle 1575 * @note: btstack_type H 1576 */ 1577 static inline hci_con_handle_t hci_event_cis_can_send_now_get_cis_con_handle(const uint8_t * event){ 1578 return little_endian_read_16(event, 2); 1579 } 1580 1581 1582 /** 1583 * @brief Get field status from event L2CAP_EVENT_CHANNEL_OPENED 1584 * @param event packet 1585 * @return status 1586 * @note: btstack_type 1 1587 */ 1588 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){ 1589 return event[2]; 1590 } 1591 /** 1592 * @brief Get field address from event L2CAP_EVENT_CHANNEL_OPENED 1593 * @param event packet 1594 * @param Pointer to storage for address 1595 * @note: btstack_type B 1596 */ 1597 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1598 reverse_bytes(&event[3], address, 6); 1599 } 1600 /** 1601 * @brief Get field handle from event L2CAP_EVENT_CHANNEL_OPENED 1602 * @param event packet 1603 * @return handle 1604 * @note: btstack_type H 1605 */ 1606 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){ 1607 return little_endian_read_16(event, 9); 1608 } 1609 /** 1610 * @brief Get field psm from event L2CAP_EVENT_CHANNEL_OPENED 1611 * @param event packet 1612 * @return psm 1613 * @note: btstack_type 2 1614 */ 1615 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){ 1616 return little_endian_read_16(event, 11); 1617 } 1618 /** 1619 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_OPENED 1620 * @param event packet 1621 * @return local_cid 1622 * @note: btstack_type 2 1623 */ 1624 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){ 1625 return little_endian_read_16(event, 13); 1626 } 1627 /** 1628 * @brief Get field remote_cid from event L2CAP_EVENT_CHANNEL_OPENED 1629 * @param event packet 1630 * @return remote_cid 1631 * @note: btstack_type 2 1632 */ 1633 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){ 1634 return little_endian_read_16(event, 15); 1635 } 1636 /** 1637 * @brief Get field local_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1638 * @param event packet 1639 * @return local_mtu 1640 * @note: btstack_type 2 1641 */ 1642 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){ 1643 return little_endian_read_16(event, 17); 1644 } 1645 /** 1646 * @brief Get field remote_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1647 * @param event packet 1648 * @return remote_mtu 1649 * @note: btstack_type 2 1650 */ 1651 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){ 1652 return little_endian_read_16(event, 19); 1653 } 1654 /** 1655 * @brief Get field flush_timeout from event L2CAP_EVENT_CHANNEL_OPENED 1656 * @param event packet 1657 * @return flush_timeout 1658 * @note: btstack_type 2 1659 */ 1660 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){ 1661 return little_endian_read_16(event, 21); 1662 } 1663 /** 1664 * @brief Get field incoming from event L2CAP_EVENT_CHANNEL_OPENED 1665 * @param event packet 1666 * @return incoming 1667 * @note: btstack_type 1 1668 */ 1669 static inline uint8_t l2cap_event_channel_opened_get_incoming(const uint8_t * event){ 1670 return event[23]; 1671 } 1672 /** 1673 * @brief Get field mode from event L2CAP_EVENT_CHANNEL_OPENED 1674 * @param event packet 1675 * @return mode 1676 * @note: btstack_type 1 1677 */ 1678 static inline uint8_t l2cap_event_channel_opened_get_mode(const uint8_t * event){ 1679 return event[24]; 1680 } 1681 /** 1682 * @brief Get field fcs from event L2CAP_EVENT_CHANNEL_OPENED 1683 * @param event packet 1684 * @return fcs 1685 * @note: btstack_type 1 1686 */ 1687 static inline uint8_t l2cap_event_channel_opened_get_fcs(const uint8_t * event){ 1688 return event[25]; 1689 } 1690 1691 /** 1692 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_CLOSED 1693 * @param event packet 1694 * @return local_cid 1695 * @note: btstack_type 2 1696 */ 1697 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){ 1698 return little_endian_read_16(event, 2); 1699 } 1700 1701 /** 1702 * @brief Get field address from event L2CAP_EVENT_INCOMING_CONNECTION 1703 * @param event packet 1704 * @param Pointer to storage for address 1705 * @note: btstack_type B 1706 */ 1707 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1708 reverse_bytes(&event[2], address, 6); 1709 } 1710 /** 1711 * @brief Get field handle from event L2CAP_EVENT_INCOMING_CONNECTION 1712 * @param event packet 1713 * @return handle 1714 * @note: btstack_type H 1715 */ 1716 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){ 1717 return little_endian_read_16(event, 8); 1718 } 1719 /** 1720 * @brief Get field psm from event L2CAP_EVENT_INCOMING_CONNECTION 1721 * @param event packet 1722 * @return psm 1723 * @note: btstack_type 2 1724 */ 1725 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){ 1726 return little_endian_read_16(event, 10); 1727 } 1728 /** 1729 * @brief Get field local_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1730 * @param event packet 1731 * @return local_cid 1732 * @note: btstack_type 2 1733 */ 1734 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){ 1735 return little_endian_read_16(event, 12); 1736 } 1737 /** 1738 * @brief Get field remote_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1739 * @param event packet 1740 * @return remote_cid 1741 * @note: btstack_type 2 1742 */ 1743 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){ 1744 return little_endian_read_16(event, 14); 1745 } 1746 1747 /** 1748 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1749 * @param event packet 1750 * @return handle 1751 * @note: btstack_type H 1752 */ 1753 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){ 1754 return little_endian_read_16(event, 2); 1755 } 1756 /** 1757 * @brief Get field interval_min from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1758 * @param event packet 1759 * @return interval_min 1760 * @note: btstack_type 2 1761 */ 1762 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){ 1763 return little_endian_read_16(event, 4); 1764 } 1765 /** 1766 * @brief Get field interval_max from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1767 * @param event packet 1768 * @return interval_max 1769 * @note: btstack_type 2 1770 */ 1771 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){ 1772 return little_endian_read_16(event, 6); 1773 } 1774 /** 1775 * @brief Get field latency from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1776 * @param event packet 1777 * @return latency 1778 * @note: btstack_type 2 1779 */ 1780 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latency(const uint8_t * event){ 1781 return little_endian_read_16(event, 8); 1782 } 1783 /** 1784 * @brief Get field timeout_multiplier from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1785 * @param event packet 1786 * @return timeout_multiplier 1787 * @note: btstack_type 2 1788 */ 1789 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){ 1790 return little_endian_read_16(event, 10); 1791 } 1792 1793 /** 1794 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1795 * @param event packet 1796 * @return handle 1797 * @note: btstack_type H 1798 */ 1799 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){ 1800 return little_endian_read_16(event, 2); 1801 } 1802 /** 1803 * @brief Get field result from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1804 * @param event packet 1805 * @return result 1806 * @note: btstack_type 2 1807 */ 1808 static inline uint16_t l2cap_event_connection_parameter_update_response_get_result(const uint8_t * event){ 1809 return little_endian_read_16(event, 4); 1810 } 1811 1812 /** 1813 * @brief Get field con_handle from event L2CAP_EVENT_INFORMATION_RESPONSE 1814 * @param event packet 1815 * @return con_handle 1816 * @note: btstack_type H 1817 */ 1818 static inline hci_con_handle_t l2cap_event_information_response_get_con_handle(const uint8_t * event){ 1819 return little_endian_read_16(event, 2); 1820 } 1821 /** 1822 * @brief Get field extended_feature_mask from event L2CAP_EVENT_INFORMATION_RESPONSE 1823 * @param event packet 1824 * @return extended_feature_mask 1825 * @note: btstack_type 2 1826 */ 1827 static inline uint16_t l2cap_event_information_response_get_extended_feature_mask(const uint8_t * event){ 1828 return little_endian_read_16(event, 4); 1829 } 1830 /** 1831 * @brief Get field fixed_channels_supported from event L2CAP_EVENT_INFORMATION_RESPONSE 1832 * @param event packet 1833 * @return fixed_channels_supported 1834 * @note: btstack_type 2 1835 */ 1836 static inline uint16_t l2cap_event_information_response_get_fixed_channels_supported(const uint8_t * event){ 1837 return little_endian_read_16(event, 6); 1838 } 1839 1840 /** 1841 * @brief Get field local_cid from event L2CAP_EVENT_CAN_SEND_NOW 1842 * @param event packet 1843 * @return local_cid 1844 * @note: btstack_type 2 1845 */ 1846 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){ 1847 return little_endian_read_16(event, 2); 1848 } 1849 1850 /** 1851 * @brief Get field local_cid from event L2CAP_EVENT_PACKET_SENT 1852 * @param event packet 1853 * @return local_cid 1854 * @note: btstack_type 2 1855 */ 1856 static inline uint16_t l2cap_event_packet_sent_get_local_cid(const uint8_t * event){ 1857 return little_endian_read_16(event, 2); 1858 } 1859 1860 /** 1861 * @brief Get field local_cid from event L2CAP_EVENT_ERTM_BUFFER_RELEASED 1862 * @param event packet 1863 * @return local_cid 1864 * @note: btstack_type 2 1865 */ 1866 static inline uint16_t l2cap_event_ertm_buffer_released_get_local_cid(const uint8_t * event){ 1867 return little_endian_read_16(event, 2); 1868 } 1869 1870 /** 1871 * @brief Get field address_type from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1872 * @param event packet 1873 * @return address_type 1874 * @note: btstack_type 1 1875 */ 1876 static inline uint8_t l2cap_event_cbm_incoming_connection_get_address_type(const uint8_t * event){ 1877 return event[2]; 1878 } 1879 /** 1880 * @brief Get field address from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1881 * @param event packet 1882 * @param Pointer to storage for address 1883 * @note: btstack_type B 1884 */ 1885 static inline void l2cap_event_cbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1886 reverse_bytes(&event[3], address, 6); 1887 } 1888 /** 1889 * @brief Get field handle from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1890 * @param event packet 1891 * @return handle 1892 * @note: btstack_type H 1893 */ 1894 static inline hci_con_handle_t l2cap_event_cbm_incoming_connection_get_handle(const uint8_t * event){ 1895 return little_endian_read_16(event, 9); 1896 } 1897 /** 1898 * @brief Get field psm from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1899 * @param event packet 1900 * @return psm 1901 * @note: btstack_type 2 1902 */ 1903 static inline uint16_t l2cap_event_cbm_incoming_connection_get_psm(const uint8_t * event){ 1904 return little_endian_read_16(event, 11); 1905 } 1906 /** 1907 * @brief Get field local_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1908 * @param event packet 1909 * @return local_cid 1910 * @note: btstack_type 2 1911 */ 1912 static inline uint16_t l2cap_event_cbm_incoming_connection_get_local_cid(const uint8_t * event){ 1913 return little_endian_read_16(event, 13); 1914 } 1915 /** 1916 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1917 * @param event packet 1918 * @return remote_cid 1919 * @note: btstack_type 2 1920 */ 1921 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_cid(const uint8_t * event){ 1922 return little_endian_read_16(event, 15); 1923 } 1924 /** 1925 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1926 * @param event packet 1927 * @return remote_mtu 1928 * @note: btstack_type 2 1929 */ 1930 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_mtu(const uint8_t * event){ 1931 return little_endian_read_16(event, 17); 1932 } 1933 1934 /** 1935 * @brief Get field status from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1936 * @param event packet 1937 * @return status 1938 * @note: btstack_type 1 1939 */ 1940 static inline uint8_t l2cap_event_cbm_channel_opened_get_status(const uint8_t * event){ 1941 return event[2]; 1942 } 1943 /** 1944 * @brief Get field address_type from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1945 * @param event packet 1946 * @return address_type 1947 * @note: btstack_type 1 1948 */ 1949 static inline uint8_t l2cap_event_cbm_channel_opened_get_address_type(const uint8_t * event){ 1950 return event[3]; 1951 } 1952 /** 1953 * @brief Get field address from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1954 * @param event packet 1955 * @param Pointer to storage for address 1956 * @note: btstack_type B 1957 */ 1958 static inline void l2cap_event_cbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1959 reverse_bytes(&event[4], address, 6); 1960 } 1961 /** 1962 * @brief Get field handle from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1963 * @param event packet 1964 * @return handle 1965 * @note: btstack_type H 1966 */ 1967 static inline hci_con_handle_t l2cap_event_cbm_channel_opened_get_handle(const uint8_t * event){ 1968 return little_endian_read_16(event, 10); 1969 } 1970 /** 1971 * @brief Get field incoming from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1972 * @param event packet 1973 * @return incoming 1974 * @note: btstack_type 1 1975 */ 1976 static inline uint8_t l2cap_event_cbm_channel_opened_get_incoming(const uint8_t * event){ 1977 return event[12]; 1978 } 1979 /** 1980 * @brief Get field psm from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1981 * @param event packet 1982 * @return psm 1983 * @note: btstack_type 2 1984 */ 1985 static inline uint16_t l2cap_event_cbm_channel_opened_get_psm(const uint8_t * event){ 1986 return little_endian_read_16(event, 13); 1987 } 1988 /** 1989 * @brief Get field local_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1990 * @param event packet 1991 * @return local_cid 1992 * @note: btstack_type 2 1993 */ 1994 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_cid(const uint8_t * event){ 1995 return little_endian_read_16(event, 15); 1996 } 1997 /** 1998 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1999 * @param event packet 2000 * @return remote_cid 2001 * @note: btstack_type 2 2002 */ 2003 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_cid(const uint8_t * event){ 2004 return little_endian_read_16(event, 17); 2005 } 2006 /** 2007 * @brief Get field local_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2008 * @param event packet 2009 * @return local_mtu 2010 * @note: btstack_type 2 2011 */ 2012 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_mtu(const uint8_t * event){ 2013 return little_endian_read_16(event, 19); 2014 } 2015 /** 2016 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2017 * @param event packet 2018 * @return remote_mtu 2019 * @note: btstack_type 2 2020 */ 2021 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2022 return little_endian_read_16(event, 21); 2023 } 2024 2025 2026 /** 2027 * @brief Get field address_type from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2028 * @param event packet 2029 * @return address_type 2030 * @note: btstack_type 1 2031 */ 2032 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_address_type(const uint8_t * event){ 2033 return event[2]; 2034 } 2035 /** 2036 * @brief Get field address from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2037 * @param event packet 2038 * @param Pointer to storage for address 2039 * @note: btstack_type B 2040 */ 2041 static inline void l2cap_event_ecbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 2042 reverse_bytes(&event[3], address, 6); 2043 } 2044 /** 2045 * @brief Get field handle from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2046 * @param event packet 2047 * @return handle 2048 * @note: btstack_type H 2049 */ 2050 static inline hci_con_handle_t l2cap_event_ecbm_incoming_connection_get_handle(const uint8_t * event){ 2051 return little_endian_read_16(event, 9); 2052 } 2053 /** 2054 * @brief Get field psm from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2055 * @param event packet 2056 * @return psm 2057 * @note: btstack_type 2 2058 */ 2059 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_psm(const uint8_t * event){ 2060 return little_endian_read_16(event, 11); 2061 } 2062 /** 2063 * @brief Get field num_channels from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2064 * @param event packet 2065 * @return num_channels 2066 * @note: btstack_type 1 2067 */ 2068 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_num_channels(const uint8_t * event){ 2069 return event[13]; 2070 } 2071 /** 2072 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2073 * @param event packet 2074 * @return local_cid 2075 * @note: btstack_type 2 2076 */ 2077 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_local_cid(const uint8_t * event){ 2078 return little_endian_read_16(event, 14); 2079 } 2080 2081 /** 2082 * @brief Get field status from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2083 * @param event packet 2084 * @return status 2085 * @note: btstack_type 1 2086 */ 2087 static inline uint8_t l2cap_event_ecbm_channel_opened_get_status(const uint8_t * event){ 2088 return event[2]; 2089 } 2090 /** 2091 * @brief Get field address_type from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2092 * @param event packet 2093 * @return address_type 2094 * @note: btstack_type 1 2095 */ 2096 static inline uint8_t l2cap_event_ecbm_channel_opened_get_address_type(const uint8_t * event){ 2097 return event[3]; 2098 } 2099 /** 2100 * @brief Get field address from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2101 * @param event packet 2102 * @param Pointer to storage for address 2103 * @note: btstack_type B 2104 */ 2105 static inline void l2cap_event_ecbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 2106 reverse_bytes(&event[4], address, 6); 2107 } 2108 /** 2109 * @brief Get field handle from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2110 * @param event packet 2111 * @return handle 2112 * @note: btstack_type H 2113 */ 2114 static inline hci_con_handle_t l2cap_event_ecbm_channel_opened_get_handle(const uint8_t * event){ 2115 return little_endian_read_16(event, 10); 2116 } 2117 /** 2118 * @brief Get field incoming from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2119 * @param event packet 2120 * @return incoming 2121 * @note: btstack_type 1 2122 */ 2123 static inline uint8_t l2cap_event_ecbm_channel_opened_get_incoming(const uint8_t * event){ 2124 return event[12]; 2125 } 2126 /** 2127 * @brief Get field psm from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2128 * @param event packet 2129 * @return psm 2130 * @note: btstack_type 2 2131 */ 2132 static inline uint16_t l2cap_event_ecbm_channel_opened_get_psm(const uint8_t * event){ 2133 return little_endian_read_16(event, 13); 2134 } 2135 /** 2136 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2137 * @param event packet 2138 * @return local_cid 2139 * @note: btstack_type 2 2140 */ 2141 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_cid(const uint8_t * event){ 2142 return little_endian_read_16(event, 15); 2143 } 2144 /** 2145 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2146 * @param event packet 2147 * @return remote_cid 2148 * @note: btstack_type 2 2149 */ 2150 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_cid(const uint8_t * event){ 2151 return little_endian_read_16(event, 17); 2152 } 2153 /** 2154 * @brief Get field local_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2155 * @param event packet 2156 * @return local_mtu 2157 * @note: btstack_type 2 2158 */ 2159 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_mtu(const uint8_t * event){ 2160 return little_endian_read_16(event, 19); 2161 } 2162 /** 2163 * @brief Get field remote_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2164 * @param event packet 2165 * @return remote_mtu 2166 * @note: btstack_type 2 2167 */ 2168 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2169 return little_endian_read_16(event, 21); 2170 } 2171 2172 /** 2173 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_RECONFIGURED 2174 * @param event packet 2175 * @return remote_cid 2176 * @note: btstack_type 2 2177 */ 2178 static inline uint16_t l2cap_event_ecbm_reconfigured_get_remote_cid(const uint8_t * event){ 2179 return little_endian_read_16(event, 2); 2180 } 2181 /** 2182 * @brief Get field mtu from event L2CAP_EVENT_ECBM_RECONFIGURED 2183 * @param event packet 2184 * @return mtu 2185 * @note: btstack_type 2 2186 */ 2187 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mtu(const uint8_t * event){ 2188 return little_endian_read_16(event, 4); 2189 } 2190 /** 2191 * @brief Get field mps from event L2CAP_EVENT_ECBM_RECONFIGURED 2192 * @param event packet 2193 * @return mps 2194 * @note: btstack_type 2 2195 */ 2196 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mps(const uint8_t * event){ 2197 return little_endian_read_16(event, 6); 2198 } 2199 2200 /** 2201 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2202 * @param event packet 2203 * @return local_cid 2204 * @note: btstack_type 2 2205 */ 2206 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_local_cid(const uint8_t * event){ 2207 return little_endian_read_16(event, 2); 2208 } 2209 /** 2210 * @brief Get field reconfigure_result from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2211 * @param event packet 2212 * @return reconfigure_result 2213 * @note: btstack_type 2 2214 */ 2215 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_reconfigure_result(const uint8_t * event){ 2216 return little_endian_read_16(event, 4); 2217 } 2218 2219 /** 2220 * @brief Get field status from event RFCOMM_EVENT_CHANNEL_OPENED 2221 * @param event packet 2222 * @return status 2223 * @note: btstack_type 1 2224 */ 2225 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){ 2226 return event[2]; 2227 } 2228 /** 2229 * @brief Get field bd_addr from event RFCOMM_EVENT_CHANNEL_OPENED 2230 * @param event packet 2231 * @param Pointer to storage for bd_addr 2232 * @note: btstack_type B 2233 */ 2234 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2235 reverse_bytes(&event[3], bd_addr, 6); 2236 } 2237 /** 2238 * @brief Get field con_handle from event RFCOMM_EVENT_CHANNEL_OPENED 2239 * @param event packet 2240 * @return con_handle 2241 * @note: btstack_type 2 2242 */ 2243 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){ 2244 return little_endian_read_16(event, 9); 2245 } 2246 /** 2247 * @brief Get field server_channel from event RFCOMM_EVENT_CHANNEL_OPENED 2248 * @param event packet 2249 * @return server_channel 2250 * @note: btstack_type 1 2251 */ 2252 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){ 2253 return event[11]; 2254 } 2255 /** 2256 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_OPENED 2257 * @param event packet 2258 * @return rfcomm_cid 2259 * @note: btstack_type 2 2260 */ 2261 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){ 2262 return little_endian_read_16(event, 12); 2263 } 2264 /** 2265 * @brief Get field max_frame_size from event RFCOMM_EVENT_CHANNEL_OPENED 2266 * @param event packet 2267 * @return max_frame_size 2268 * @note: btstack_type 2 2269 */ 2270 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){ 2271 return little_endian_read_16(event, 14); 2272 } 2273 /** 2274 * @brief Get field incoming from event RFCOMM_EVENT_CHANNEL_OPENED 2275 * @param event packet 2276 * @return incoming 2277 * @note: btstack_type 1 2278 */ 2279 static inline uint8_t rfcomm_event_channel_opened_get_incoming(const uint8_t * event){ 2280 return event[16]; 2281 } 2282 2283 /** 2284 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_CLOSED 2285 * @param event packet 2286 * @return rfcomm_cid 2287 * @note: btstack_type 2 2288 */ 2289 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){ 2290 return little_endian_read_16(event, 2); 2291 } 2292 2293 /** 2294 * @brief Get field bd_addr from event RFCOMM_EVENT_INCOMING_CONNECTION 2295 * @param event packet 2296 * @param Pointer to storage for bd_addr 2297 * @note: btstack_type B 2298 */ 2299 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2300 reverse_bytes(&event[2], bd_addr, 6); 2301 } 2302 /** 2303 * @brief Get field server_channel from event RFCOMM_EVENT_INCOMING_CONNECTION 2304 * @param event packet 2305 * @return server_channel 2306 * @note: btstack_type 1 2307 */ 2308 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){ 2309 return event[8]; 2310 } 2311 /** 2312 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_INCOMING_CONNECTION 2313 * @param event packet 2314 * @return rfcomm_cid 2315 * @note: btstack_type 2 2316 */ 2317 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){ 2318 return little_endian_read_16(event, 9); 2319 } 2320 /** 2321 * @brief Get field con_handle from event RFCOMM_EVENT_INCOMING_CONNECTION 2322 * @param event packet 2323 * @return con_handle 2324 * @note: btstack_type H 2325 */ 2326 static inline hci_con_handle_t rfcomm_event_incoming_connection_get_con_handle(const uint8_t * event){ 2327 return little_endian_read_16(event, 11); 2328 } 2329 2330 /** 2331 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2332 * @param event packet 2333 * @return rfcomm_cid 2334 * @note: btstack_type 2 2335 */ 2336 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){ 2337 return little_endian_read_16(event, 2); 2338 } 2339 /** 2340 * @brief Get field line_status from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2341 * @param event packet 2342 * @return line_status 2343 * @note: btstack_type 1 2344 */ 2345 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){ 2346 return event[4]; 2347 } 2348 2349 /** 2350 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2351 * @param event packet 2352 * @return rfcomm_cid 2353 * @note: btstack_type 2 2354 */ 2355 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){ 2356 return little_endian_read_16(event, 2); 2357 } 2358 /** 2359 * @brief Get field modem_status from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2360 * @param event packet 2361 * @return modem_status 2362 * @note: btstack_type 1 2363 */ 2364 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){ 2365 return event[4]; 2366 } 2367 2368 /** 2369 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CAN_SEND_NOW 2370 * @param event packet 2371 * @return rfcomm_cid 2372 * @note: btstack_type 2 2373 */ 2374 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){ 2375 return little_endian_read_16(event, 2); 2376 } 2377 2378 /** 2379 * @brief Get field status from event SDP_EVENT_QUERY_COMPLETE 2380 * @param event packet 2381 * @return status 2382 * @note: btstack_type 1 2383 */ 2384 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){ 2385 return event[2]; 2386 } 2387 2388 /** 2389 * @brief Get field rfcomm_channel from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2390 * @param event packet 2391 * @return rfcomm_channel 2392 * @note: btstack_type 1 2393 */ 2394 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){ 2395 return event[2]; 2396 } 2397 /** 2398 * @brief Get field name from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2399 * @param event packet 2400 * @return name 2401 * @note: btstack_type T 2402 */ 2403 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){ 2404 return (const char *) &event[3]; 2405 } 2406 2407 /** 2408 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2409 * @param event packet 2410 * @return record_id 2411 * @note: btstack_type 2 2412 */ 2413 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){ 2414 return little_endian_read_16(event, 2); 2415 } 2416 /** 2417 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2418 * @param event packet 2419 * @return attribute_id 2420 * @note: btstack_type 2 2421 */ 2422 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){ 2423 return little_endian_read_16(event, 4); 2424 } 2425 /** 2426 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2427 * @param event packet 2428 * @return attribute_length 2429 * @note: btstack_type 2 2430 */ 2431 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){ 2432 return little_endian_read_16(event, 6); 2433 } 2434 /** 2435 * @brief Get field data_offset from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2436 * @param event packet 2437 * @return data_offset 2438 * @note: btstack_type 2 2439 */ 2440 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){ 2441 return little_endian_read_16(event, 8); 2442 } 2443 /** 2444 * @brief Get field data from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2445 * @param event packet 2446 * @return data 2447 * @note: btstack_type 1 2448 */ 2449 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){ 2450 return event[10]; 2451 } 2452 2453 /** 2454 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2455 * @param event packet 2456 * @return record_id 2457 * @note: btstack_type 2 2458 */ 2459 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){ 2460 return little_endian_read_16(event, 2); 2461 } 2462 /** 2463 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2464 * @param event packet 2465 * @return attribute_id 2466 * @note: btstack_type 2 2467 */ 2468 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){ 2469 return little_endian_read_16(event, 4); 2470 } 2471 /** 2472 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2473 * @param event packet 2474 * @return attribute_length 2475 * @note: btstack_type L 2476 */ 2477 static inline uint16_t sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){ 2478 return little_endian_read_16(event, 6); 2479 } 2480 /** 2481 * @brief Get field attribute_value from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2482 * @param event packet 2483 * @return attribute_value 2484 * @note: btstack_type V 2485 */ 2486 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){ 2487 return &event[8]; 2488 } 2489 2490 /** 2491 * @brief Get field total_count from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2492 * @param event packet 2493 * @return total_count 2494 * @note: btstack_type 2 2495 */ 2496 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){ 2497 return little_endian_read_16(event, 2); 2498 } 2499 /** 2500 * @brief Get field record_index from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2501 * @param event packet 2502 * @return record_index 2503 * @note: btstack_type 2 2504 */ 2505 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){ 2506 return little_endian_read_16(event, 4); 2507 } 2508 /** 2509 * @brief Get field record_handle from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2510 * @param event packet 2511 * @return record_handle 2512 * @note: btstack_type 4 2513 */ 2514 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){ 2515 return little_endian_read_32(event, 6); 2516 } 2517 2518 #ifdef ENABLE_BLE 2519 /** 2520 * @brief Get field handle from event GATT_EVENT_QUERY_COMPLETE 2521 * @param event packet 2522 * @return handle 2523 * @note: btstack_type H 2524 */ 2525 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){ 2526 return little_endian_read_16(event, 2); 2527 } 2528 /** 2529 * @brief Get field att_status from event GATT_EVENT_QUERY_COMPLETE 2530 * @param event packet 2531 * @return att_status 2532 * @note: btstack_type 1 2533 */ 2534 static inline uint8_t gatt_event_query_complete_get_att_status(const uint8_t * event){ 2535 return event[4]; 2536 } 2537 #endif 2538 2539 #ifdef ENABLE_BLE 2540 /** 2541 * @brief Get field handle from event GATT_EVENT_SERVICE_QUERY_RESULT 2542 * @param event packet 2543 * @return handle 2544 * @note: btstack_type H 2545 */ 2546 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){ 2547 return little_endian_read_16(event, 2); 2548 } 2549 /** 2550 * @brief Get field service from event GATT_EVENT_SERVICE_QUERY_RESULT 2551 * @param event packet 2552 * @param Pointer to storage for service 2553 * @note: btstack_type X 2554 */ 2555 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2556 gatt_client_deserialize_service(event, 4, service); 2557 } 2558 #endif 2559 2560 #ifdef ENABLE_BLE 2561 /** 2562 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2563 * @param event packet 2564 * @return handle 2565 * @note: btstack_type H 2566 */ 2567 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){ 2568 return little_endian_read_16(event, 2); 2569 } 2570 /** 2571 * @brief Get field characteristic from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2572 * @param event packet 2573 * @param Pointer to storage for characteristic 2574 * @note: btstack_type Y 2575 */ 2576 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){ 2577 gatt_client_deserialize_characteristic(event, 4, characteristic); 2578 } 2579 #endif 2580 2581 #ifdef ENABLE_BLE 2582 /** 2583 * @brief Get field handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2584 * @param event packet 2585 * @return handle 2586 * @note: btstack_type H 2587 */ 2588 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){ 2589 return little_endian_read_16(event, 2); 2590 } 2591 /** 2592 * @brief Get field include_handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2593 * @param event packet 2594 * @return include_handle 2595 * @note: btstack_type 2 2596 */ 2597 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){ 2598 return little_endian_read_16(event, 4); 2599 } 2600 /** 2601 * @brief Get field service from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2602 * @param event packet 2603 * @param Pointer to storage for service 2604 * @note: btstack_type X 2605 */ 2606 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2607 gatt_client_deserialize_service(event, 6, service); 2608 } 2609 #endif 2610 2611 #ifdef ENABLE_BLE 2612 /** 2613 * @brief Get field handle from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2614 * @param event packet 2615 * @return handle 2616 * @note: btstack_type H 2617 */ 2618 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){ 2619 return little_endian_read_16(event, 2); 2620 } 2621 /** 2622 * @brief Get field characteristic_descriptor from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2623 * @param event packet 2624 * @param Pointer to storage for characteristic_descriptor 2625 * @note: btstack_type Z 2626 */ 2627 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){ 2628 gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor); 2629 } 2630 #endif 2631 2632 #ifdef ENABLE_BLE 2633 /** 2634 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2635 * @param event packet 2636 * @return handle 2637 * @note: btstack_type H 2638 */ 2639 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){ 2640 return little_endian_read_16(event, 2); 2641 } 2642 /** 2643 * @brief Get field value_handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2644 * @param event packet 2645 * @return value_handle 2646 * @note: btstack_type 2 2647 */ 2648 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2649 return little_endian_read_16(event, 4); 2650 } 2651 /** 2652 * @brief Get field value_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2653 * @param event packet 2654 * @return value_length 2655 * @note: btstack_type L 2656 */ 2657 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2658 return little_endian_read_16(event, 6); 2659 } 2660 /** 2661 * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2662 * @param event packet 2663 * @return value 2664 * @note: btstack_type V 2665 */ 2666 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){ 2667 return &event[8]; 2668 } 2669 #endif 2670 2671 #ifdef ENABLE_BLE 2672 /** 2673 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2674 * @param event packet 2675 * @return handle 2676 * @note: btstack_type H 2677 */ 2678 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){ 2679 return little_endian_read_16(event, 2); 2680 } 2681 /** 2682 * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2683 * @param event packet 2684 * @return value_handle 2685 * @note: btstack_type 2 2686 */ 2687 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2688 return little_endian_read_16(event, 4); 2689 } 2690 /** 2691 * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2692 * @param event packet 2693 * @return value_offset 2694 * @note: btstack_type 2 2695 */ 2696 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){ 2697 return little_endian_read_16(event, 6); 2698 } 2699 /** 2700 * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2701 * @param event packet 2702 * @return value_length 2703 * @note: btstack_type L 2704 */ 2705 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2706 return little_endian_read_16(event, 8); 2707 } 2708 /** 2709 * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2710 * @param event packet 2711 * @return value 2712 * @note: btstack_type V 2713 */ 2714 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){ 2715 return &event[10]; 2716 } 2717 #endif 2718 2719 #ifdef ENABLE_BLE 2720 /** 2721 * @brief Get field handle from event GATT_EVENT_NOTIFICATION 2722 * @param event packet 2723 * @return handle 2724 * @note: btstack_type H 2725 */ 2726 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){ 2727 return little_endian_read_16(event, 2); 2728 } 2729 /** 2730 * @brief Get field value_handle from event GATT_EVENT_NOTIFICATION 2731 * @param event packet 2732 * @return value_handle 2733 * @note: btstack_type 2 2734 */ 2735 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){ 2736 return little_endian_read_16(event, 4); 2737 } 2738 /** 2739 * @brief Get field value_length from event GATT_EVENT_NOTIFICATION 2740 * @param event packet 2741 * @return value_length 2742 * @note: btstack_type L 2743 */ 2744 static inline uint16_t gatt_event_notification_get_value_length(const uint8_t * event){ 2745 return little_endian_read_16(event, 6); 2746 } 2747 /** 2748 * @brief Get field value from event GATT_EVENT_NOTIFICATION 2749 * @param event packet 2750 * @return value 2751 * @note: btstack_type V 2752 */ 2753 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){ 2754 return &event[8]; 2755 } 2756 #endif 2757 2758 #ifdef ENABLE_BLE 2759 /** 2760 * @brief Get field handle from event GATT_EVENT_INDICATION 2761 * @param event packet 2762 * @return handle 2763 * @note: btstack_type H 2764 */ 2765 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){ 2766 return little_endian_read_16(event, 2); 2767 } 2768 /** 2769 * @brief Get field value_handle from event GATT_EVENT_INDICATION 2770 * @param event packet 2771 * @return value_handle 2772 * @note: btstack_type 2 2773 */ 2774 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){ 2775 return little_endian_read_16(event, 4); 2776 } 2777 /** 2778 * @brief Get field value_length from event GATT_EVENT_INDICATION 2779 * @param event packet 2780 * @return value_length 2781 * @note: btstack_type L 2782 */ 2783 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){ 2784 return little_endian_read_16(event, 6); 2785 } 2786 /** 2787 * @brief Get field value from event GATT_EVENT_INDICATION 2788 * @param event packet 2789 * @return value 2790 * @note: btstack_type V 2791 */ 2792 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){ 2793 return &event[8]; 2794 } 2795 #endif 2796 2797 #ifdef ENABLE_BLE 2798 /** 2799 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2800 * @param event packet 2801 * @return handle 2802 * @note: btstack_type H 2803 */ 2804 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2805 return little_endian_read_16(event, 2); 2806 } 2807 /** 2808 * @brief Get field descriptor_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2809 * @param event packet 2810 * @return descriptor_handle 2811 * @note: btstack_type 2 2812 */ 2813 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 2814 return little_endian_read_16(event, 4); 2815 } 2816 /** 2817 * @brief Get field descriptor_length from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2818 * @param event packet 2819 * @return descriptor_length 2820 * @note: btstack_type L 2821 */ 2822 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 2823 return little_endian_read_16(event, 6); 2824 } 2825 /** 2826 * @brief Get field descriptor from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2827 * @param event packet 2828 * @return descriptor 2829 * @note: btstack_type V 2830 */ 2831 static inline const uint8_t * gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 2832 return &event[8]; 2833 } 2834 #endif 2835 2836 #ifdef ENABLE_BLE 2837 /** 2838 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2839 * @param event packet 2840 * @return handle 2841 * @note: btstack_type H 2842 */ 2843 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2844 return little_endian_read_16(event, 2); 2845 } 2846 /** 2847 * @brief Get field descriptor_handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2848 * @param event packet 2849 * @return descriptor_handle 2850 * @note: btstack_type 2 2851 */ 2852 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 2853 return little_endian_read_16(event, 4); 2854 } 2855 /** 2856 * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2857 * @param event packet 2858 * @return descriptor_offset 2859 * @note: btstack_type 2 2860 */ 2861 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){ 2862 return little_endian_read_16(event, 6); 2863 } 2864 /** 2865 * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2866 * @param event packet 2867 * @return descriptor_length 2868 * @note: btstack_type L 2869 */ 2870 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 2871 return little_endian_read_16(event, 8); 2872 } 2873 /** 2874 * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2875 * @param event packet 2876 * @return descriptor 2877 * @note: btstack_type V 2878 */ 2879 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 2880 return &event[10]; 2881 } 2882 #endif 2883 2884 #ifdef ENABLE_BLE 2885 /** 2886 * @brief Get field handle from event GATT_EVENT_MTU 2887 * @param event packet 2888 * @return handle 2889 * @note: btstack_type H 2890 */ 2891 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){ 2892 return little_endian_read_16(event, 2); 2893 } 2894 /** 2895 * @brief Get field MTU from event GATT_EVENT_MTU 2896 * @param event packet 2897 * @return MTU 2898 * @note: btstack_type 2 2899 */ 2900 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){ 2901 return little_endian_read_16(event, 4); 2902 } 2903 #endif 2904 2905 #ifdef ENABLE_BLE 2906 /** 2907 * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 2908 * @param event packet 2909 * @return handle 2910 * @note: btstack_type H 2911 */ 2912 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){ 2913 return little_endian_read_16(event, 2); 2914 } 2915 #endif 2916 2917 #ifdef ENABLE_BLE 2918 /** 2919 * @brief Get field status from event GATT_EVENT_CONNECTED 2920 * @param event packet 2921 * @return status 2922 * @note: btstack_type 1 2923 */ 2924 static inline uint8_t gatt_event_connected_get_status(const uint8_t * event){ 2925 return event[2]; 2926 } 2927 /** 2928 * @brief Get field address from event GATT_EVENT_CONNECTED 2929 * @param event packet 2930 * @param Pointer to storage for address 2931 * @note: btstack_type B 2932 */ 2933 static inline void gatt_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 2934 reverse_bytes(&event[3], address, 6); 2935 } 2936 /** 2937 * @brief Get field handle from event GATT_EVENT_CONNECTED 2938 * @param event packet 2939 * @return handle 2940 * @note: btstack_type H 2941 */ 2942 static inline hci_con_handle_t gatt_event_connected_get_handle(const uint8_t * event){ 2943 return little_endian_read_16(event, 9); 2944 } 2945 #endif 2946 2947 #ifdef ENABLE_BLE 2948 /** 2949 * @brief Get field handle from event GATT_EVENT_DISCONNECTED 2950 * @param event packet 2951 * @return handle 2952 * @note: btstack_type H 2953 */ 2954 static inline hci_con_handle_t gatt_event_disconnected_get_handle(const uint8_t * event){ 2955 return little_endian_read_16(event, 2); 2956 } 2957 #endif 2958 2959 /** 2960 * @brief Get field address_type from event ATT_EVENT_CONNECTED 2961 * @param event packet 2962 * @return address_type 2963 * @note: btstack_type 1 2964 */ 2965 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){ 2966 return event[2]; 2967 } 2968 /** 2969 * @brief Get field address from event ATT_EVENT_CONNECTED 2970 * @param event packet 2971 * @param Pointer to storage for address 2972 * @note: btstack_type B 2973 */ 2974 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 2975 reverse_bytes(&event[3], address, 6); 2976 } 2977 /** 2978 * @brief Get field handle from event ATT_EVENT_CONNECTED 2979 * @param event packet 2980 * @return handle 2981 * @note: btstack_type H 2982 */ 2983 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){ 2984 return little_endian_read_16(event, 9); 2985 } 2986 2987 /** 2988 * @brief Get field handle from event ATT_EVENT_DISCONNECTED 2989 * @param event packet 2990 * @return handle 2991 * @note: btstack_type H 2992 */ 2993 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){ 2994 return little_endian_read_16(event, 2); 2995 } 2996 2997 /** 2998 * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 2999 * @param event packet 3000 * @return handle 3001 * @note: btstack_type H 3002 */ 3003 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){ 3004 return little_endian_read_16(event, 2); 3005 } 3006 /** 3007 * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 3008 * @param event packet 3009 * @return MTU 3010 * @note: btstack_type 2 3011 */ 3012 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){ 3013 return little_endian_read_16(event, 4); 3014 } 3015 3016 /** 3017 * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3018 * @param event packet 3019 * @return status 3020 * @note: btstack_type 1 3021 */ 3022 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){ 3023 return event[2]; 3024 } 3025 /** 3026 * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3027 * @param event packet 3028 * @return conn_handle 3029 * @note: btstack_type H 3030 */ 3031 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){ 3032 return little_endian_read_16(event, 3); 3033 } 3034 /** 3035 * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3036 * @param event packet 3037 * @return attribute_handle 3038 * @note: btstack_type 2 3039 */ 3040 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){ 3041 return little_endian_read_16(event, 5); 3042 } 3043 3044 3045 /** 3046 * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED 3047 * @param event packet 3048 * @return status 3049 * @note: btstack_type 1 3050 */ 3051 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){ 3052 return event[2]; 3053 } 3054 /** 3055 * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED 3056 * @param event packet 3057 * @return service_uuid 3058 * @note: btstack_type 2 3059 */ 3060 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){ 3061 return little_endian_read_16(event, 3); 3062 } 3063 3064 /** 3065 * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED 3066 * @param event packet 3067 * @return status 3068 * @note: btstack_type 1 3069 */ 3070 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){ 3071 return event[2]; 3072 } 3073 /** 3074 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED 3075 * @param event packet 3076 * @return bnep_cid 3077 * @note: btstack_type 2 3078 */ 3079 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){ 3080 return little_endian_read_16(event, 3); 3081 } 3082 /** 3083 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED 3084 * @param event packet 3085 * @return source_uuid 3086 * @note: btstack_type 2 3087 */ 3088 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){ 3089 return little_endian_read_16(event, 5); 3090 } 3091 /** 3092 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED 3093 * @param event packet 3094 * @return destination_uuid 3095 * @note: btstack_type 2 3096 */ 3097 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){ 3098 return little_endian_read_16(event, 7); 3099 } 3100 /** 3101 * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED 3102 * @param event packet 3103 * @return mtu 3104 * @note: btstack_type 2 3105 */ 3106 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){ 3107 return little_endian_read_16(event, 9); 3108 } 3109 /** 3110 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED 3111 * @param event packet 3112 * @param Pointer to storage for remote_address 3113 * @note: btstack_type B 3114 */ 3115 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3116 reverse_bytes(&event[11], remote_address, 6); 3117 } 3118 /** 3119 * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED 3120 * @param event packet 3121 * @return con_handle 3122 * @note: btstack_type H 3123 */ 3124 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){ 3125 return little_endian_read_16(event, 17); 3126 } 3127 3128 /** 3129 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED 3130 * @param event packet 3131 * @return bnep_cid 3132 * @note: btstack_type 2 3133 */ 3134 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){ 3135 return little_endian_read_16(event, 2); 3136 } 3137 /** 3138 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3139 * @param event packet 3140 * @return source_uuid 3141 * @note: btstack_type 2 3142 */ 3143 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){ 3144 return little_endian_read_16(event, 4); 3145 } 3146 /** 3147 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3148 * @param event packet 3149 * @return destination_uuid 3150 * @note: btstack_type 2 3151 */ 3152 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){ 3153 return little_endian_read_16(event, 6); 3154 } 3155 /** 3156 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED 3157 * @param event packet 3158 * @param Pointer to storage for remote_address 3159 * @note: btstack_type B 3160 */ 3161 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3162 reverse_bytes(&event[8], remote_address, 6); 3163 } 3164 3165 /** 3166 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT 3167 * @param event packet 3168 * @return bnep_cid 3169 * @note: btstack_type 2 3170 */ 3171 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){ 3172 return little_endian_read_16(event, 2); 3173 } 3174 /** 3175 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3176 * @param event packet 3177 * @return source_uuid 3178 * @note: btstack_type 2 3179 */ 3180 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){ 3181 return little_endian_read_16(event, 4); 3182 } 3183 /** 3184 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3185 * @param event packet 3186 * @return destination_uuid 3187 * @note: btstack_type 2 3188 */ 3189 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){ 3190 return little_endian_read_16(event, 6); 3191 } 3192 /** 3193 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT 3194 * @param event packet 3195 * @param Pointer to storage for remote_address 3196 * @note: btstack_type B 3197 */ 3198 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3199 reverse_bytes(&event[8], remote_address, 6); 3200 } 3201 /** 3202 * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT 3203 * @param event packet 3204 * @return channel_state 3205 * @note: btstack_type 1 3206 */ 3207 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){ 3208 return event[14]; 3209 } 3210 3211 /** 3212 * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW 3213 * @param event packet 3214 * @return bnep_cid 3215 * @note: btstack_type 2 3216 */ 3217 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){ 3218 return little_endian_read_16(event, 2); 3219 } 3220 /** 3221 * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW 3222 * @param event packet 3223 * @return source_uuid 3224 * @note: btstack_type 2 3225 */ 3226 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){ 3227 return little_endian_read_16(event, 4); 3228 } 3229 /** 3230 * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW 3231 * @param event packet 3232 * @return destination_uuid 3233 * @note: btstack_type 2 3234 */ 3235 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){ 3236 return little_endian_read_16(event, 6); 3237 } 3238 /** 3239 * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW 3240 * @param event packet 3241 * @param Pointer to storage for remote_address 3242 * @note: btstack_type B 3243 */ 3244 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3245 reverse_bytes(&event[8], remote_address, 6); 3246 } 3247 3248 #ifdef ENABLE_BLE 3249 /** 3250 * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST 3251 * @param event packet 3252 * @return handle 3253 * @note: btstack_type H 3254 */ 3255 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ 3256 return little_endian_read_16(event, 2); 3257 } 3258 /** 3259 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST 3260 * @param event packet 3261 * @return addr_type 3262 * @note: btstack_type 1 3263 */ 3264 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ 3265 return event[4]; 3266 } 3267 /** 3268 * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST 3269 * @param event packet 3270 * @param Pointer to storage for address 3271 * @note: btstack_type B 3272 */ 3273 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ 3274 reverse_bytes(&event[5], address, 6); 3275 } 3276 /** 3277 * @brief Get field secure_connection from event SM_EVENT_JUST_WORKS_REQUEST 3278 * @param event packet 3279 * @return secure_connection 3280 * @note: btstack_type 1 3281 */ 3282 static inline uint8_t sm_event_just_works_request_get_secure_connection(const uint8_t * event){ 3283 return event[11]; 3284 } 3285 #endif 3286 3287 #ifdef ENABLE_BLE 3288 /** 3289 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3290 * @param event packet 3291 * @return handle 3292 * @note: btstack_type H 3293 */ 3294 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ 3295 return little_endian_read_16(event, 2); 3296 } 3297 /** 3298 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3299 * @param event packet 3300 * @return addr_type 3301 * @note: btstack_type 1 3302 */ 3303 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ 3304 return event[4]; 3305 } 3306 /** 3307 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3308 * @param event packet 3309 * @param Pointer to storage for address 3310 * @note: btstack_type B 3311 */ 3312 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ 3313 reverse_bytes(&event[5], address, 6); 3314 } 3315 /** 3316 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3317 * @param event packet 3318 * @return secure_connection 3319 * @note: btstack_type 1 3320 */ 3321 static inline uint8_t sm_event_passkey_display_number_get_secure_connection(const uint8_t * event){ 3322 return event[11]; 3323 } 3324 /** 3325 * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3326 * @param event packet 3327 * @return passkey 3328 * @note: btstack_type 4 3329 */ 3330 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ 3331 return little_endian_read_32(event, 12); 3332 } 3333 #endif 3334 3335 #ifdef ENABLE_BLE 3336 /** 3337 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3338 * @param event packet 3339 * @return handle 3340 * @note: btstack_type H 3341 */ 3342 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ 3343 return little_endian_read_16(event, 2); 3344 } 3345 /** 3346 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3347 * @param event packet 3348 * @return addr_type 3349 * @note: btstack_type 1 3350 */ 3351 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ 3352 return event[4]; 3353 } 3354 /** 3355 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3356 * @param event packet 3357 * @param Pointer to storage for address 3358 * @note: btstack_type B 3359 */ 3360 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ 3361 reverse_bytes(&event[5], address, 6); 3362 } 3363 #endif 3364 3365 #ifdef ENABLE_BLE 3366 /** 3367 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER 3368 * @param event packet 3369 * @return handle 3370 * @note: btstack_type H 3371 */ 3372 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ 3373 return little_endian_read_16(event, 2); 3374 } 3375 /** 3376 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER 3377 * @param event packet 3378 * @return addr_type 3379 * @note: btstack_type 1 3380 */ 3381 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ 3382 return event[4]; 3383 } 3384 /** 3385 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER 3386 * @param event packet 3387 * @param Pointer to storage for address 3388 * @note: btstack_type B 3389 */ 3390 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ 3391 reverse_bytes(&event[5], address, 6); 3392 } 3393 /** 3394 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_INPUT_NUMBER 3395 * @param event packet 3396 * @return secure_connection 3397 * @note: btstack_type 1 3398 */ 3399 static inline uint8_t sm_event_passkey_input_number_get_secure_connection(const uint8_t * event){ 3400 return event[11]; 3401 } 3402 #endif 3403 3404 #ifdef ENABLE_BLE 3405 /** 3406 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3407 * @param event packet 3408 * @return handle 3409 * @note: btstack_type H 3410 */ 3411 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){ 3412 return little_endian_read_16(event, 2); 3413 } 3414 /** 3415 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3416 * @param event packet 3417 * @return addr_type 3418 * @note: btstack_type 1 3419 */ 3420 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){ 3421 return event[4]; 3422 } 3423 /** 3424 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3425 * @param event packet 3426 * @param Pointer to storage for address 3427 * @note: btstack_type B 3428 */ 3429 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){ 3430 reverse_bytes(&event[5], address, 6); 3431 } 3432 /** 3433 * @brief Get field secure_connection from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3434 * @param event packet 3435 * @return secure_connection 3436 * @note: btstack_type 1 3437 */ 3438 static inline uint8_t sm_event_numeric_comparison_request_get_secure_connection(const uint8_t * event){ 3439 return event[11]; 3440 } 3441 /** 3442 * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3443 * @param event packet 3444 * @return passkey 3445 * @note: btstack_type 4 3446 */ 3447 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){ 3448 return little_endian_read_32(event, 12); 3449 } 3450 #endif 3451 3452 #ifdef ENABLE_BLE 3453 /** 3454 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3455 * @param event packet 3456 * @return handle 3457 * @note: btstack_type H 3458 */ 3459 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ 3460 return little_endian_read_16(event, 2); 3461 } 3462 /** 3463 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3464 * @param event packet 3465 * @return addr_type 3466 * @note: btstack_type 1 3467 */ 3468 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ 3469 return event[4]; 3470 } 3471 /** 3472 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3473 * @param event packet 3474 * @param Pointer to storage for address 3475 * @note: btstack_type B 3476 */ 3477 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ 3478 reverse_bytes(&event[5], address, 6); 3479 } 3480 #endif 3481 3482 #ifdef ENABLE_BLE 3483 /** 3484 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3485 * @param event packet 3486 * @return handle 3487 * @note: btstack_type H 3488 */ 3489 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ 3490 return little_endian_read_16(event, 2); 3491 } 3492 /** 3493 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3494 * @param event packet 3495 * @return addr_type 3496 * @note: btstack_type 1 3497 */ 3498 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ 3499 return event[4]; 3500 } 3501 /** 3502 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3503 * @param event packet 3504 * @param Pointer to storage for address 3505 * @note: btstack_type B 3506 */ 3507 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ 3508 reverse_bytes(&event[5], address, 6); 3509 } 3510 #endif 3511 3512 #ifdef ENABLE_BLE 3513 /** 3514 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3515 * @param event packet 3516 * @return handle 3517 * @note: btstack_type H 3518 */ 3519 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ 3520 return little_endian_read_16(event, 2); 3521 } 3522 /** 3523 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3524 * @param event packet 3525 * @return addr_type 3526 * @note: btstack_type 1 3527 */ 3528 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ 3529 return event[4]; 3530 } 3531 /** 3532 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3533 * @param event packet 3534 * @param Pointer to storage for address 3535 * @note: btstack_type B 3536 */ 3537 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ 3538 reverse_bytes(&event[5], address, 6); 3539 } 3540 /** 3541 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3542 * @param event packet 3543 * @return identity_addr_type 3544 * @note: btstack_type 1 3545 */ 3546 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){ 3547 return event[11]; 3548 } 3549 /** 3550 * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3551 * @param event packet 3552 * @param Pointer to storage for identity_address 3553 * @note: btstack_type B 3554 */ 3555 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3556 reverse_bytes(&event[12], identity_address, 6); 3557 } 3558 /** 3559 * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3560 * @param event packet 3561 * @return index 3562 * @note: btstack_type 2 3563 */ 3564 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){ 3565 return little_endian_read_16(event, 18); 3566 } 3567 #endif 3568 3569 #ifdef ENABLE_BLE 3570 /** 3571 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST 3572 * @param event packet 3573 * @return handle 3574 * @note: btstack_type H 3575 */ 3576 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){ 3577 return little_endian_read_16(event, 2); 3578 } 3579 /** 3580 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST 3581 * @param event packet 3582 * @return addr_type 3583 * @note: btstack_type 1 3584 */ 3585 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ 3586 return event[4]; 3587 } 3588 /** 3589 * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST 3590 * @param event packet 3591 * @param Pointer to storage for address 3592 * @note: btstack_type B 3593 */ 3594 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ 3595 reverse_bytes(&event[5], address, 6); 3596 } 3597 #endif 3598 3599 #ifdef ENABLE_BLE 3600 /** 3601 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT 3602 * @param event packet 3603 * @return handle 3604 * @note: btstack_type H 3605 */ 3606 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ 3607 return little_endian_read_16(event, 2); 3608 } 3609 /** 3610 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT 3611 * @param event packet 3612 * @return addr_type 3613 * @note: btstack_type 1 3614 */ 3615 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ 3616 return event[4]; 3617 } 3618 /** 3619 * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT 3620 * @param event packet 3621 * @param Pointer to storage for address 3622 * @note: btstack_type B 3623 */ 3624 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ 3625 reverse_bytes(&event[5], address, 6); 3626 } 3627 /** 3628 * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT 3629 * @param event packet 3630 * @return authorization_result 3631 * @note: btstack_type 1 3632 */ 3633 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ 3634 return event[11]; 3635 } 3636 #endif 3637 3638 #ifdef ENABLE_BLE 3639 /** 3640 * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION 3641 * @param event packet 3642 * @return handle 3643 * @note: btstack_type H 3644 */ 3645 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){ 3646 return little_endian_read_16(event, 2); 3647 } 3648 /** 3649 * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION 3650 * @param event packet 3651 * @return action 3652 * @note: btstack_type 1 3653 */ 3654 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){ 3655 return event[4]; 3656 } 3657 #endif 3658 3659 #ifdef ENABLE_BLE 3660 /** 3661 * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED 3662 * @param event packet 3663 * @return handle 3664 * @note: btstack_type H 3665 */ 3666 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){ 3667 return little_endian_read_16(event, 2); 3668 } 3669 /** 3670 * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED 3671 * @param event packet 3672 * @return addr_type 3673 * @note: btstack_type 1 3674 */ 3675 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){ 3676 return event[4]; 3677 } 3678 /** 3679 * @brief Get field address from event SM_EVENT_IDENTITY_CREATED 3680 * @param event packet 3681 * @param Pointer to storage for address 3682 * @note: btstack_type B 3683 */ 3684 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){ 3685 reverse_bytes(&event[5], address, 6); 3686 } 3687 /** 3688 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED 3689 * @param event packet 3690 * @return identity_addr_type 3691 * @note: btstack_type 1 3692 */ 3693 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){ 3694 return event[11]; 3695 } 3696 /** 3697 * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED 3698 * @param event packet 3699 * @param Pointer to storage for identity_address 3700 * @note: btstack_type B 3701 */ 3702 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3703 reverse_bytes(&event[12], identity_address, 6); 3704 } 3705 /** 3706 * @brief Get field index from event SM_EVENT_IDENTITY_CREATED 3707 * @param event packet 3708 * @return index 3709 * @note: btstack_type 2 3710 */ 3711 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){ 3712 return little_endian_read_16(event, 18); 3713 } 3714 #endif 3715 3716 #ifdef ENABLE_BLE 3717 /** 3718 * @brief Get field handle from event SM_EVENT_PAIRING_STARTED 3719 * @param event packet 3720 * @return handle 3721 * @note: btstack_type H 3722 */ 3723 static inline hci_con_handle_t sm_event_pairing_started_get_handle(const uint8_t * event){ 3724 return little_endian_read_16(event, 2); 3725 } 3726 /** 3727 * @brief Get field addr_type from event SM_EVENT_PAIRING_STARTED 3728 * @param event packet 3729 * @return addr_type 3730 * @note: btstack_type 1 3731 */ 3732 static inline uint8_t sm_event_pairing_started_get_addr_type(const uint8_t * event){ 3733 return event[4]; 3734 } 3735 /** 3736 * @brief Get field address from event SM_EVENT_PAIRING_STARTED 3737 * @param event packet 3738 * @param Pointer to storage for address 3739 * @note: btstack_type B 3740 */ 3741 static inline void sm_event_pairing_started_get_address(const uint8_t * event, bd_addr_t address){ 3742 reverse_bytes(&event[5], address, 6); 3743 } 3744 #endif 3745 3746 #ifdef ENABLE_BLE 3747 /** 3748 * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE 3749 * @param event packet 3750 * @return handle 3751 * @note: btstack_type H 3752 */ 3753 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){ 3754 return little_endian_read_16(event, 2); 3755 } 3756 /** 3757 * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE 3758 * @param event packet 3759 * @return addr_type 3760 * @note: btstack_type 1 3761 */ 3762 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){ 3763 return event[4]; 3764 } 3765 /** 3766 * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE 3767 * @param event packet 3768 * @param Pointer to storage for address 3769 * @note: btstack_type B 3770 */ 3771 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){ 3772 reverse_bytes(&event[5], address, 6); 3773 } 3774 /** 3775 * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE 3776 * @param event packet 3777 * @return status 3778 * @note: btstack_type 1 3779 */ 3780 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){ 3781 return event[11]; 3782 } 3783 /** 3784 * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE 3785 * @param event packet 3786 * @return reason 3787 * @note: btstack_type 1 3788 */ 3789 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){ 3790 return event[12]; 3791 } 3792 #endif 3793 3794 #ifdef ENABLE_BLE 3795 /** 3796 * @brief Get field handle from event SM_EVENT_REENCRYPTION_STARTED 3797 * @param event packet 3798 * @return handle 3799 * @note: btstack_type H 3800 */ 3801 static inline hci_con_handle_t sm_event_reencryption_started_get_handle(const uint8_t * event){ 3802 return little_endian_read_16(event, 2); 3803 } 3804 /** 3805 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_STARTED 3806 * @param event packet 3807 * @return addr_type 3808 * @note: btstack_type 1 3809 */ 3810 static inline uint8_t sm_event_reencryption_started_get_addr_type(const uint8_t * event){ 3811 return event[4]; 3812 } 3813 /** 3814 * @brief Get field address from event SM_EVENT_REENCRYPTION_STARTED 3815 * @param event packet 3816 * @param Pointer to storage for address 3817 * @note: btstack_type B 3818 */ 3819 static inline void sm_event_reencryption_started_get_address(const uint8_t * event, bd_addr_t address){ 3820 reverse_bytes(&event[5], address, 6); 3821 } 3822 #endif 3823 3824 #ifdef ENABLE_BLE 3825 /** 3826 * @brief Get field handle from event SM_EVENT_REENCRYPTION_COMPLETE 3827 * @param event packet 3828 * @return handle 3829 * @note: btstack_type H 3830 */ 3831 static inline hci_con_handle_t sm_event_reencryption_complete_get_handle(const uint8_t * event){ 3832 return little_endian_read_16(event, 2); 3833 } 3834 /** 3835 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_COMPLETE 3836 * @param event packet 3837 * @return addr_type 3838 * @note: btstack_type 1 3839 */ 3840 static inline uint8_t sm_event_reencryption_complete_get_addr_type(const uint8_t * event){ 3841 return event[4]; 3842 } 3843 /** 3844 * @brief Get field address from event SM_EVENT_REENCRYPTION_COMPLETE 3845 * @param event packet 3846 * @param Pointer to storage for address 3847 * @note: btstack_type B 3848 */ 3849 static inline void sm_event_reencryption_complete_get_address(const uint8_t * event, bd_addr_t address){ 3850 reverse_bytes(&event[5], address, 6); 3851 } 3852 /** 3853 * @brief Get field status from event SM_EVENT_REENCRYPTION_COMPLETE 3854 * @param event packet 3855 * @return status 3856 * @note: btstack_type 1 3857 */ 3858 static inline uint8_t sm_event_reencryption_complete_get_status(const uint8_t * event){ 3859 return event[11]; 3860 } 3861 #endif 3862 3863 /** 3864 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 3865 * @param event packet 3866 * @return handle 3867 * @note: btstack_type H 3868 */ 3869 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 3870 return little_endian_read_16(event, 2); 3871 } 3872 /** 3873 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 3874 * @param event packet 3875 * @return security_level 3876 * @note: btstack_type 1 3877 */ 3878 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 3879 return event[4]; 3880 } 3881 3882 /** 3883 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3884 * @param event packet 3885 * @return status 3886 * @note: btstack_type 1 3887 */ 3888 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 3889 return event[2]; 3890 } 3891 /** 3892 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3893 * @param event packet 3894 * @param Pointer to storage for address 3895 * @note: btstack_type B 3896 */ 3897 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 3898 reverse_bytes(&event[3], address, 6); 3899 } 3900 3901 /** 3902 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 3903 * @param event packet 3904 * @return advertising_event_type 3905 * @note: btstack_type 1 3906 */ 3907 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 3908 return event[2]; 3909 } 3910 /** 3911 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 3912 * @param event packet 3913 * @return address_type 3914 * @note: btstack_type 1 3915 */ 3916 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 3917 return event[3]; 3918 } 3919 /** 3920 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 3921 * @param event packet 3922 * @param Pointer to storage for address 3923 * @note: btstack_type B 3924 */ 3925 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 3926 reverse_bytes(&event[4], address, 6); 3927 } 3928 /** 3929 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 3930 * @param event packet 3931 * @return rssi 3932 * @note: btstack_type 1 3933 */ 3934 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 3935 return event[10]; 3936 } 3937 /** 3938 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 3939 * @param event packet 3940 * @return data_length 3941 * @note: btstack_type J 3942 */ 3943 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 3944 return event[11]; 3945 } 3946 /** 3947 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 3948 * @param event packet 3949 * @return data 3950 * @note: btstack_type V 3951 */ 3952 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 3953 return &event[12]; 3954 } 3955 3956 /** 3957 * @brief Get field advertising_event_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3958 * @param event packet 3959 * @return advertising_event_type 3960 * @note: btstack_type 2 3961 */ 3962 static inline uint16_t gap_event_extended_advertising_report_get_advertising_event_type(const uint8_t * event){ 3963 return little_endian_read_16(event, 2); 3964 } 3965 /** 3966 * @brief Get field address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3967 * @param event packet 3968 * @return address_type 3969 * @note: btstack_type 1 3970 */ 3971 static inline uint8_t gap_event_extended_advertising_report_get_address_type(const uint8_t * event){ 3972 return event[4]; 3973 } 3974 /** 3975 * @brief Get field address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3976 * @param event packet 3977 * @param Pointer to storage for address 3978 * @note: btstack_type B 3979 */ 3980 static inline void gap_event_extended_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 3981 reverse_bytes(&event[5], address, 6); 3982 } 3983 /** 3984 * @brief Get field primary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3985 * @param event packet 3986 * @return primary_phy 3987 * @note: btstack_type 1 3988 */ 3989 static inline uint8_t gap_event_extended_advertising_report_get_primary_phy(const uint8_t * event){ 3990 return event[11]; 3991 } 3992 /** 3993 * @brief Get field secondary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3994 * @param event packet 3995 * @return secondary_phy 3996 * @note: btstack_type 1 3997 */ 3998 static inline uint8_t gap_event_extended_advertising_report_get_secondary_phy(const uint8_t * event){ 3999 return event[12]; 4000 } 4001 /** 4002 * @brief Get field advertising_sid from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4003 * @param event packet 4004 * @return advertising_sid 4005 * @note: btstack_type 1 4006 */ 4007 static inline uint8_t gap_event_extended_advertising_report_get_advertising_sid(const uint8_t * event){ 4008 return event[13]; 4009 } 4010 /** 4011 * @brief Get field tx_power from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4012 * @param event packet 4013 * @return tx_power 4014 * @note: btstack_type 1 4015 */ 4016 static inline uint8_t gap_event_extended_advertising_report_get_tx_power(const uint8_t * event){ 4017 return event[14]; 4018 } 4019 /** 4020 * @brief Get field rssi from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4021 * @param event packet 4022 * @return rssi 4023 * @note: btstack_type 1 4024 */ 4025 static inline uint8_t gap_event_extended_advertising_report_get_rssi(const uint8_t * event){ 4026 return event[15]; 4027 } 4028 /** 4029 * @brief Get field periodic_advertising_interval from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4030 * @param event packet 4031 * @return periodic_advertising_interval 4032 * @note: btstack_type 2 4033 */ 4034 static inline uint16_t gap_event_extended_advertising_report_get_periodic_advertising_interval(const uint8_t * event){ 4035 return little_endian_read_16(event, 16); 4036 } 4037 /** 4038 * @brief Get field direct_address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4039 * @param event packet 4040 * @return direct_address_type 4041 * @note: btstack_type 1 4042 */ 4043 static inline uint8_t gap_event_extended_advertising_report_get_direct_address_type(const uint8_t * event){ 4044 return event[18]; 4045 } 4046 /** 4047 * @brief Get field direct_address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4048 * @param event packet 4049 * @param Pointer to storage for direct_address 4050 * @note: btstack_type B 4051 */ 4052 static inline void gap_event_extended_advertising_report_get_direct_address(const uint8_t * event, bd_addr_t direct_address){ 4053 reverse_bytes(&event[19], direct_address, 6); 4054 } 4055 /** 4056 * @brief Get field data_length from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4057 * @param event packet 4058 * @return data_length 4059 * @note: btstack_type J 4060 */ 4061 static inline uint8_t gap_event_extended_advertising_report_get_data_length(const uint8_t * event){ 4062 return event[25]; 4063 } 4064 /** 4065 * @brief Get field data from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4066 * @param event packet 4067 * @return data 4068 * @note: btstack_type V 4069 */ 4070 static inline const uint8_t * gap_event_extended_advertising_report_get_data(const uint8_t * event){ 4071 return &event[26]; 4072 } 4073 4074 /** 4075 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 4076 * @param event packet 4077 * @param Pointer to storage for bd_addr 4078 * @note: btstack_type B 4079 */ 4080 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4081 reverse_bytes(&event[2], bd_addr, 6); 4082 } 4083 /** 4084 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 4085 * @param event packet 4086 * @return page_scan_repetition_mode 4087 * @note: btstack_type 1 4088 */ 4089 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 4090 return event[8]; 4091 } 4092 /** 4093 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 4094 * @param event packet 4095 * @return class_of_device 4096 * @note: btstack_type 3 4097 */ 4098 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 4099 return little_endian_read_24(event, 9); 4100 } 4101 /** 4102 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 4103 * @param event packet 4104 * @return clock_offset 4105 * @note: btstack_type 2 4106 */ 4107 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 4108 return little_endian_read_16(event, 12); 4109 } 4110 /** 4111 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 4112 * @param event packet 4113 * @return rssi_available 4114 * @note: btstack_type 1 4115 */ 4116 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 4117 return event[14]; 4118 } 4119 /** 4120 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 4121 * @param event packet 4122 * @return rssi 4123 * @note: btstack_type 1 4124 */ 4125 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 4126 return event[15]; 4127 } 4128 /** 4129 * @brief Get field device_id_available from event GAP_EVENT_INQUIRY_RESULT 4130 * @param event packet 4131 * @return device_id_available 4132 * @note: btstack_type 1 4133 */ 4134 static inline uint8_t gap_event_inquiry_result_get_device_id_available(const uint8_t * event){ 4135 return event[16]; 4136 } 4137 /** 4138 * @brief Get field device_id_vendor_id_source from event GAP_EVENT_INQUIRY_RESULT 4139 * @param event packet 4140 * @return device_id_vendor_id_source 4141 * @note: btstack_type 2 4142 */ 4143 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id_source(const uint8_t * event){ 4144 return little_endian_read_16(event, 17); 4145 } 4146 /** 4147 * @brief Get field device_id_vendor_id from event GAP_EVENT_INQUIRY_RESULT 4148 * @param event packet 4149 * @return device_id_vendor_id 4150 * @note: btstack_type 2 4151 */ 4152 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id(const uint8_t * event){ 4153 return little_endian_read_16(event, 19); 4154 } 4155 /** 4156 * @brief Get field device_id_product_id from event GAP_EVENT_INQUIRY_RESULT 4157 * @param event packet 4158 * @return device_id_product_id 4159 * @note: btstack_type 2 4160 */ 4161 static inline uint16_t gap_event_inquiry_result_get_device_id_product_id(const uint8_t * event){ 4162 return little_endian_read_16(event, 21); 4163 } 4164 /** 4165 * @brief Get field device_id_version from event GAP_EVENT_INQUIRY_RESULT 4166 * @param event packet 4167 * @return device_id_version 4168 * @note: btstack_type 2 4169 */ 4170 static inline uint16_t gap_event_inquiry_result_get_device_id_version(const uint8_t * event){ 4171 return little_endian_read_16(event, 23); 4172 } 4173 /** 4174 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 4175 * @param event packet 4176 * @return name_available 4177 * @note: btstack_type 1 4178 */ 4179 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 4180 return event[25]; 4181 } 4182 /** 4183 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 4184 * @param event packet 4185 * @return name_len 4186 * @note: btstack_type J 4187 */ 4188 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 4189 return event[26]; 4190 } 4191 /** 4192 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 4193 * @param event packet 4194 * @return name 4195 * @note: btstack_type V 4196 */ 4197 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 4198 return &event[27]; 4199 } 4200 4201 /** 4202 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 4203 * @param event packet 4204 * @return status 4205 * @note: btstack_type 1 4206 */ 4207 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 4208 return event[2]; 4209 } 4210 4211 /** 4212 * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT 4213 * @param event packet 4214 * @return con_handle 4215 * @note: btstack_type H 4216 */ 4217 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){ 4218 return little_endian_read_16(event, 2); 4219 } 4220 /** 4221 * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT 4222 * @param event packet 4223 * @return rssi 4224 * @note: btstack_type 1 4225 */ 4226 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){ 4227 return event[4]; 4228 } 4229 4230 /** 4231 * @brief Get field oob_data_present from event GAP_EVENT_LOCAL_OOB_DATA 4232 * @param event packet 4233 * @return oob_data_present 4234 * @note: btstack_type 1 4235 */ 4236 static inline uint8_t gap_event_local_oob_data_get_oob_data_present(const uint8_t * event){ 4237 return event[2]; 4238 } 4239 /** 4240 * @brief Get field c_192 from event GAP_EVENT_LOCAL_OOB_DATA 4241 * @param event packet 4242 * @param Pointer to storage for c_192 4243 * @note: btstack_type K 4244 */ 4245 static inline void gap_event_local_oob_data_get_c_192(const uint8_t * event, uint8_t * c_192){ 4246 reverse_bytes(&event[3], c_192, 16); 4247 } 4248 /** 4249 * @brief Get field r_192 from event GAP_EVENT_LOCAL_OOB_DATA 4250 * @param event packet 4251 * @param Pointer to storage for r_192 4252 * @note: btstack_type K 4253 */ 4254 static inline void gap_event_local_oob_data_get_r_192(const uint8_t * event, uint8_t * r_192){ 4255 reverse_bytes(&event[19], r_192, 16); 4256 } 4257 /** 4258 * @brief Get field c_256 from event GAP_EVENT_LOCAL_OOB_DATA 4259 * @param event packet 4260 * @param Pointer to storage for c_256 4261 * @note: btstack_type K 4262 */ 4263 static inline void gap_event_local_oob_data_get_c_256(const uint8_t * event, uint8_t * c_256){ 4264 reverse_bytes(&event[35], c_256, 16); 4265 } 4266 /** 4267 * @brief Get field r_256 from event GAP_EVENT_LOCAL_OOB_DATA 4268 * @param event packet 4269 * @param Pointer to storage for r_256 4270 * @note: btstack_type K 4271 */ 4272 static inline void gap_event_local_oob_data_get_r_256(const uint8_t * event, uint8_t * r_256){ 4273 reverse_bytes(&event[51], r_256, 16); 4274 } 4275 4276 /** 4277 * @brief Get field con_handle from event GAP_EVENT_PAIRING_STARTED 4278 * @param event packet 4279 * @return con_handle 4280 * @note: btstack_type H 4281 */ 4282 static inline hci_con_handle_t gap_event_pairing_started_get_con_handle(const uint8_t * event){ 4283 return little_endian_read_16(event, 2); 4284 } 4285 /** 4286 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_STARTED 4287 * @param event packet 4288 * @param Pointer to storage for bd_addr 4289 * @note: btstack_type B 4290 */ 4291 static inline void gap_event_pairing_started_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4292 reverse_bytes(&event[4], bd_addr, 6); 4293 } 4294 /** 4295 * @brief Get field ssp from event GAP_EVENT_PAIRING_STARTED 4296 * @param event packet 4297 * @return ssp 4298 * @note: btstack_type 1 4299 */ 4300 static inline uint8_t gap_event_pairing_started_get_ssp(const uint8_t * event){ 4301 return event[10]; 4302 } 4303 /** 4304 * @brief Get field initiator from event GAP_EVENT_PAIRING_STARTED 4305 * @param event packet 4306 * @return initiator 4307 * @note: btstack_type 1 4308 */ 4309 static inline uint8_t gap_event_pairing_started_get_initiator(const uint8_t * event){ 4310 return event[11]; 4311 } 4312 4313 /** 4314 * @brief Get field con_handle from event GAP_EVENT_PAIRING_COMPLETE 4315 * @param event packet 4316 * @return con_handle 4317 * @note: btstack_type H 4318 */ 4319 static inline hci_con_handle_t gap_event_pairing_complete_get_con_handle(const uint8_t * event){ 4320 return little_endian_read_16(event, 2); 4321 } 4322 /** 4323 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_COMPLETE 4324 * @param event packet 4325 * @param Pointer to storage for bd_addr 4326 * @note: btstack_type B 4327 */ 4328 static inline void gap_event_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4329 reverse_bytes(&event[4], bd_addr, 6); 4330 } 4331 /** 4332 * @brief Get field status from event GAP_EVENT_PAIRING_COMPLETE 4333 * @param event packet 4334 * @return status 4335 * @note: btstack_type 1 4336 */ 4337 static inline uint8_t gap_event_pairing_complete_get_status(const uint8_t * event){ 4338 return event[10]; 4339 } 4340 4341 /** 4342 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4343 * @param event packet 4344 * @return status 4345 * @note: btstack_type 1 4346 */ 4347 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 4348 return event[3]; 4349 } 4350 /** 4351 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4352 * @param event packet 4353 * @return connection_handle 4354 * @note: btstack_type H 4355 */ 4356 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 4357 return little_endian_read_16(event, 4); 4358 } 4359 /** 4360 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4361 * @param event packet 4362 * @return role 4363 * @note: btstack_type 1 4364 */ 4365 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 4366 return event[6]; 4367 } 4368 /** 4369 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4370 * @param event packet 4371 * @return peer_address_type 4372 * @note: btstack_type 1 4373 */ 4374 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 4375 return event[7]; 4376 } 4377 /** 4378 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4379 * @param event packet 4380 * @param Pointer to storage for peer_address 4381 * @note: btstack_type B 4382 */ 4383 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 4384 reverse_bytes(&event[8], peer_address, 6); 4385 } 4386 /** 4387 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4388 * @param event packet 4389 * @return conn_interval 4390 * @note: btstack_type 2 4391 */ 4392 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 4393 return little_endian_read_16(event, 14); 4394 } 4395 /** 4396 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4397 * @param event packet 4398 * @return conn_latency 4399 * @note: btstack_type 2 4400 */ 4401 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 4402 return little_endian_read_16(event, 16); 4403 } 4404 /** 4405 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4406 * @param event packet 4407 * @return supervision_timeout 4408 * @note: btstack_type 2 4409 */ 4410 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 4411 return little_endian_read_16(event, 18); 4412 } 4413 /** 4414 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4415 * @param event packet 4416 * @return master_clock_accuracy 4417 * @note: btstack_type 1 4418 */ 4419 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 4420 return event[20]; 4421 } 4422 4423 /** 4424 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4425 * @param event packet 4426 * @return status 4427 * @note: btstack_type 1 4428 */ 4429 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 4430 return event[3]; 4431 } 4432 /** 4433 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4434 * @param event packet 4435 * @return connection_handle 4436 * @note: btstack_type H 4437 */ 4438 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 4439 return little_endian_read_16(event, 4); 4440 } 4441 /** 4442 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4443 * @param event packet 4444 * @return conn_interval 4445 * @note: btstack_type 2 4446 */ 4447 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 4448 return little_endian_read_16(event, 6); 4449 } 4450 /** 4451 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4452 * @param event packet 4453 * @return conn_latency 4454 * @note: btstack_type 2 4455 */ 4456 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 4457 return little_endian_read_16(event, 8); 4458 } 4459 /** 4460 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4461 * @param event packet 4462 * @return supervision_timeout 4463 * @note: btstack_type 2 4464 */ 4465 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 4466 return little_endian_read_16(event, 10); 4467 } 4468 4469 /** 4470 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4471 * @param event packet 4472 * @return connection_handle 4473 * @note: btstack_type H 4474 */ 4475 static inline hci_con_handle_t hci_subevent_le_read_remote_features_complete_get_connection_handle(const uint8_t * event){ 4476 return little_endian_read_16(event, 3); 4477 } 4478 /** 4479 * @brief Get field le_features from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4480 * @param event packet 4481 * @return le_features 4482 * @note: btstack_type D 4483 */ 4484 static inline const uint8_t * hci_subevent_le_read_remote_features_complete_get_le_features(const uint8_t * event){ 4485 return (const uint8_t *) &event[5]; 4486 } 4487 4488 /** 4489 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4490 * @param event packet 4491 * @return connection_handle 4492 * @note: btstack_type H 4493 */ 4494 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 4495 return little_endian_read_16(event, 3); 4496 } 4497 /** 4498 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4499 * @param event packet 4500 * @return random_number 4501 * @note: btstack_type D 4502 */ 4503 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 4504 return (const uint8_t *) &event[5]; 4505 } 4506 /** 4507 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4508 * @param event packet 4509 * @return encryption_diversifier 4510 * @note: btstack_type 2 4511 */ 4512 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 4513 return little_endian_read_16(event, 13); 4514 } 4515 4516 /** 4517 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4518 * @param event packet 4519 * @return connection_handle 4520 * @note: btstack_type H 4521 */ 4522 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 4523 return little_endian_read_16(event, 3); 4524 } 4525 /** 4526 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4527 * @param event packet 4528 * @return interval_min 4529 * @note: btstack_type 2 4530 */ 4531 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 4532 return little_endian_read_16(event, 5); 4533 } 4534 /** 4535 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4536 * @param event packet 4537 * @return interval_max 4538 * @note: btstack_type 2 4539 */ 4540 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 4541 return little_endian_read_16(event, 7); 4542 } 4543 /** 4544 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4545 * @param event packet 4546 * @return latency 4547 * @note: btstack_type 2 4548 */ 4549 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 4550 return little_endian_read_16(event, 9); 4551 } 4552 /** 4553 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4554 * @param event packet 4555 * @return timeout 4556 * @note: btstack_type 2 4557 */ 4558 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 4559 return little_endian_read_16(event, 11); 4560 } 4561 4562 /** 4563 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4564 * @param event packet 4565 * @return connection_handle 4566 * @note: btstack_type H 4567 */ 4568 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 4569 return little_endian_read_16(event, 3); 4570 } 4571 /** 4572 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4573 * @param event packet 4574 * @return max_tx_octets 4575 * @note: btstack_type 2 4576 */ 4577 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 4578 return little_endian_read_16(event, 5); 4579 } 4580 /** 4581 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4582 * @param event packet 4583 * @return max_tx_time 4584 * @note: btstack_type 2 4585 */ 4586 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 4587 return little_endian_read_16(event, 7); 4588 } 4589 /** 4590 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4591 * @param event packet 4592 * @return max_rx_octets 4593 * @note: btstack_type 2 4594 */ 4595 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 4596 return little_endian_read_16(event, 9); 4597 } 4598 /** 4599 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4600 * @param event packet 4601 * @return max_rx_time 4602 * @note: btstack_type 2 4603 */ 4604 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 4605 return little_endian_read_16(event, 11); 4606 } 4607 4608 /** 4609 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4610 * @param event packet 4611 * @return status 4612 * @note: btstack_type 1 4613 */ 4614 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 4615 return event[3]; 4616 } 4617 /** 4618 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4619 * @param event packet 4620 * @param Pointer to storage for dhkey_x 4621 * @note: btstack_type Q 4622 */ 4623 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 4624 reverse_bytes(&event[4], dhkey_x, 32); 4625 } 4626 /** 4627 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4628 * @param event packet 4629 * @param Pointer to storage for dhkey_y 4630 * @note: btstack_type Q 4631 */ 4632 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 4633 reverse_bytes(&event[36], dhkey_y, 32); 4634 } 4635 4636 /** 4637 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4638 * @param event packet 4639 * @return status 4640 * @note: btstack_type 1 4641 */ 4642 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 4643 return event[3]; 4644 } 4645 /** 4646 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4647 * @param event packet 4648 * @param Pointer to storage for dhkey 4649 * @note: btstack_type Q 4650 */ 4651 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 4652 reverse_bytes(&event[4], dhkey, 32); 4653 } 4654 4655 /** 4656 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4657 * @param event packet 4658 * @return status 4659 * @note: btstack_type 1 4660 */ 4661 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_status(const uint8_t * event){ 4662 return event[3]; 4663 } 4664 /** 4665 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4666 * @param event packet 4667 * @return connection_handle 4668 * @note: btstack_type H 4669 */ 4670 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v1_get_connection_handle(const uint8_t * event){ 4671 return little_endian_read_16(event, 4); 4672 } 4673 /** 4674 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4675 * @param event packet 4676 * @return role 4677 * @note: btstack_type 1 4678 */ 4679 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_role(const uint8_t * event){ 4680 return event[6]; 4681 } 4682 /** 4683 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4684 * @param event packet 4685 * @return peer_address_type 4686 * @note: btstack_type 1 4687 */ 4688 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_peer_address_type(const uint8_t * event){ 4689 return event[7]; 4690 } 4691 /** 4692 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4693 * @param event packet 4694 * @param Pointer to storage for peer_addresss 4695 * @note: btstack_type B 4696 */ 4697 static inline void hci_subevent_le_enhanced_connection_complete_v1_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 4698 reverse_bytes(&event[8], peer_addresss, 6); 4699 } 4700 /** 4701 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4702 * @param event packet 4703 * @param Pointer to storage for local_resolvable_private_address 4704 * @note: btstack_type B 4705 */ 4706 static inline void hci_subevent_le_enhanced_connection_complete_v1_get_local_resolvable_private_address(const uint8_t * event, bd_addr_t local_resolvable_private_address){ 4707 reverse_bytes(&event[14], local_resolvable_private_address, 6); 4708 } 4709 /** 4710 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4711 * @param event packet 4712 * @param Pointer to storage for peer_resolvable_private_address 4713 * @note: btstack_type B 4714 */ 4715 static inline void hci_subevent_le_enhanced_connection_complete_v1_get_peer_resolvable_private_address(const uint8_t * event, bd_addr_t peer_resolvable_private_address){ 4716 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 4717 } 4718 /** 4719 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4720 * @param event packet 4721 * @return conn_interval 4722 * @note: btstack_type 2 4723 */ 4724 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_interval(const uint8_t * event){ 4725 return little_endian_read_16(event, 26); 4726 } 4727 /** 4728 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4729 * @param event packet 4730 * @return conn_latency 4731 * @note: btstack_type 2 4732 */ 4733 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_latency(const uint8_t * event){ 4734 return little_endian_read_16(event, 28); 4735 } 4736 /** 4737 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4738 * @param event packet 4739 * @return supervision_timeout 4740 * @note: btstack_type 2 4741 */ 4742 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_supervision_timeout(const uint8_t * event){ 4743 return little_endian_read_16(event, 30); 4744 } 4745 /** 4746 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4747 * @param event packet 4748 * @return master_clock_accuracy 4749 * @note: btstack_type 1 4750 */ 4751 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_master_clock_accuracy(const uint8_t * event){ 4752 return event[32]; 4753 } 4754 4755 /** 4756 * @brief Get field status from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4757 * @param event packet 4758 * @return status 4759 * @note: btstack_type 1 4760 */ 4761 static inline uint8_t hci_subevent_le_phy_update_complete_get_status(const uint8_t * event){ 4762 return event[3]; 4763 } 4764 /** 4765 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4766 * @param event packet 4767 * @return connection_handle 4768 * @note: btstack_type H 4769 */ 4770 static inline hci_con_handle_t hci_subevent_le_phy_update_complete_get_connection_handle(const uint8_t * event){ 4771 return little_endian_read_16(event, 4); 4772 } 4773 /** 4774 * @brief Get field tx_phy from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4775 * @param event packet 4776 * @return tx_phy 4777 * @note: btstack_type 1 4778 */ 4779 static inline uint8_t hci_subevent_le_phy_update_complete_get_tx_phy(const uint8_t * event){ 4780 return event[6]; 4781 } 4782 4783 /** 4784 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4785 * @param event packet 4786 * @return status 4787 * @note: btstack_type 1 4788 */ 4789 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_status(const uint8_t * event){ 4790 return event[3]; 4791 } 4792 /** 4793 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4794 * @param event packet 4795 * @return sync_handle 4796 * @note: btstack_type H 4797 */ 4798 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_establishment_get_sync_handle(const uint8_t * event){ 4799 return little_endian_read_16(event, 4); 4800 } 4801 /** 4802 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4803 * @param event packet 4804 * @return advertising_sid 4805 * @note: btstack_type 1 4806 */ 4807 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertising_sid(const uint8_t * event){ 4808 return event[6]; 4809 } 4810 /** 4811 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4812 * @param event packet 4813 * @return advertiser_address_type 4814 * @note: btstack_type 1 4815 */ 4816 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address_type(const uint8_t * event){ 4817 return event[7]; 4818 } 4819 /** 4820 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4821 * @param event packet 4822 * @param Pointer to storage for advertiser_address 4823 * @note: btstack_type B 4824 */ 4825 static inline void hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 4826 reverse_bytes(&event[8], advertiser_address, 6); 4827 } 4828 /** 4829 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4830 * @param event packet 4831 * @return advertiser_phy 4832 * @note: btstack_type 1 4833 */ 4834 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_phy(const uint8_t * event){ 4835 return event[14]; 4836 } 4837 /** 4838 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4839 * @param event packet 4840 * @return periodic_advertising_interval 4841 * @note: btstack_type 2 4842 */ 4843 static inline uint16_t hci_subevent_le_periodic_advertising_sync_establishment_get_periodic_advertising_interval(const uint8_t * event){ 4844 return little_endian_read_16(event, 15); 4845 } 4846 /** 4847 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4848 * @param event packet 4849 * @return advertiser_clock_accuracy 4850 * @note: btstack_type 1 4851 */ 4852 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_clock_accuracy(const uint8_t * event){ 4853 return event[17]; 4854 } 4855 4856 /** 4857 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4858 * @param event packet 4859 * @return sync_handle 4860 * @note: btstack_type H 4861 */ 4862 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_report_get_sync_handle(const uint8_t * event){ 4863 return little_endian_read_16(event, 3); 4864 } 4865 /** 4866 * @brief Get field tx_power from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4867 * @param event packet 4868 * @return tx_power 4869 * @note: btstack_type 1 4870 */ 4871 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_tx_power(const uint8_t * event){ 4872 return event[5]; 4873 } 4874 /** 4875 * @brief Get field rssi from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4876 * @param event packet 4877 * @return rssi 4878 * @note: btstack_type 1 4879 */ 4880 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_rssi(const uint8_t * event){ 4881 return event[6]; 4882 } 4883 /** 4884 * @brief Get field cte_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4885 * @param event packet 4886 * @return cte_type 4887 * @note: btstack_type 1 4888 */ 4889 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_cte_type(const uint8_t * event){ 4890 return event[7]; 4891 } 4892 /** 4893 * @brief Get field data_status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4894 * @param event packet 4895 * @return data_status 4896 * @note: btstack_type 1 4897 */ 4898 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_status(const uint8_t * event){ 4899 return event[8]; 4900 } 4901 /** 4902 * @brief Get field data_length from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4903 * @param event packet 4904 * @return data_length 4905 * @note: btstack_type J 4906 */ 4907 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_length(const uint8_t * event){ 4908 return event[9]; 4909 } 4910 /** 4911 * @brief Get field data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4912 * @param event packet 4913 * @return data 4914 * @note: btstack_type V 4915 */ 4916 static inline const uint8_t * hci_subevent_le_periodic_advertising_report_get_data(const uint8_t * event){ 4917 return &event[10]; 4918 } 4919 4920 /** 4921 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_LOST 4922 * @param event packet 4923 * @return sync_handle 4924 * @note: btstack_type H 4925 */ 4926 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_lost_get_sync_handle(const uint8_t * event){ 4927 return little_endian_read_16(event, 3); 4928 } 4929 4930 4931 /** 4932 * @brief Get field status from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 4933 * @param event packet 4934 * @return status 4935 * @note: btstack_type 1 4936 */ 4937 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_status(const uint8_t * event){ 4938 return event[3]; 4939 } 4940 /** 4941 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 4942 * @param event packet 4943 * @return advertising_handle 4944 * @note: btstack_type 1 4945 */ 4946 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_advertising_handle(const uint8_t * event){ 4947 return event[4]; 4948 } 4949 /** 4950 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 4951 * @param event packet 4952 * @return connection_handle 4953 * @note: btstack_type H 4954 */ 4955 static inline hci_con_handle_t hci_subevent_le_advertising_set_terminated_get_connection_handle(const uint8_t * event){ 4956 return little_endian_read_16(event, 5); 4957 } 4958 /** 4959 * @brief Get field num_completed_exteneded_advertising_events from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 4960 * @param event packet 4961 * @return num_completed_exteneded_advertising_events 4962 * @note: btstack_type 1 4963 */ 4964 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_num_completed_exteneded_advertising_events(const uint8_t * event){ 4965 return event[7]; 4966 } 4967 4968 /** 4969 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 4970 * @param event packet 4971 * @return advertising_handle 4972 * @note: btstack_type 1 4973 */ 4974 static inline uint8_t hci_subevent_le_scan_request_received_get_advertising_handle(const uint8_t * event){ 4975 return event[3]; 4976 } 4977 /** 4978 * @brief Get field scanner_address_type from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 4979 * @param event packet 4980 * @return scanner_address_type 4981 * @note: btstack_type 1 4982 */ 4983 static inline uint8_t hci_subevent_le_scan_request_received_get_scanner_address_type(const uint8_t * event){ 4984 return event[4]; 4985 } 4986 /** 4987 * @brief Get field scanner_address from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 4988 * @param event packet 4989 * @param Pointer to storage for scanner_address 4990 * @note: btstack_type B 4991 */ 4992 static inline void hci_subevent_le_scan_request_received_get_scanner_address(const uint8_t * event, bd_addr_t scanner_address){ 4993 reverse_bytes(&event[5], scanner_address, 6); 4994 } 4995 4996 /** 4997 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 4998 * @param event packet 4999 * @return connection_handle 5000 * @note: btstack_type H 5001 */ 5002 static inline hci_con_handle_t hci_subevent_le_channel_selection_algorithm_get_connection_handle(const uint8_t * event){ 5003 return little_endian_read_16(event, 3); 5004 } 5005 /** 5006 * @brief Get field channel_selection_algorithm from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 5007 * @param event packet 5008 * @return channel_selection_algorithm 5009 * @note: btstack_type 1 5010 */ 5011 static inline uint8_t hci_subevent_le_channel_selection_algorithm_get_channel_selection_algorithm(const uint8_t * event){ 5012 return event[5]; 5013 } 5014 5015 /** 5016 * @brief Get field status from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5017 * @param event packet 5018 * @return status 5019 * @note: btstack_type 1 5020 */ 5021 static inline uint8_t hci_subevent_le_le_cte_request_failed_get_status(const uint8_t * event){ 5022 return event[3]; 5023 } 5024 /** 5025 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5026 * @param event packet 5027 * @return connection_handle 5028 * @note: btstack_type H 5029 */ 5030 static inline hci_con_handle_t hci_subevent_le_le_cte_request_failed_get_connection_handle(const uint8_t * event){ 5031 return little_endian_read_16(event, 4); 5032 } 5033 5034 /** 5035 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5036 * @param event packet 5037 * @return status 5038 * @note: btstack_type 1 5039 */ 5040 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_status(const uint8_t * event){ 5041 return event[3]; 5042 } 5043 /** 5044 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5045 * @param event packet 5046 * @return connection_handle 5047 * @note: btstack_type H 5048 */ 5049 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_connection_handle(const uint8_t * event){ 5050 return little_endian_read_16(event, 4); 5051 } 5052 /** 5053 * @brief Get field service_data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5054 * @param event packet 5055 * @return service_data 5056 * @note: btstack_type 2 5057 */ 5058 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_service_data(const uint8_t * event){ 5059 return little_endian_read_16(event, 6); 5060 } 5061 /** 5062 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5063 * @param event packet 5064 * @return sync_handle 5065 * @note: btstack_type H 5066 */ 5067 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_sync_handle(const uint8_t * event){ 5068 return little_endian_read_16(event, 8); 5069 } 5070 /** 5071 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5072 * @param event packet 5073 * @return advertising_sid 5074 * @note: btstack_type 1 5075 */ 5076 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertising_sid(const uint8_t * event){ 5077 return event[10]; 5078 } 5079 /** 5080 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5081 * @param event packet 5082 * @return advertiser_address_type 5083 * @note: btstack_type 1 5084 */ 5085 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address_type(const uint8_t * event){ 5086 return event[11]; 5087 } 5088 /** 5089 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5090 * @param event packet 5091 * @param Pointer to storage for advertiser_address 5092 * @note: btstack_type B 5093 */ 5094 static inline void hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5095 reverse_bytes(&event[12], advertiser_address, 6); 5096 } 5097 /** 5098 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5099 * @param event packet 5100 * @return advertiser_phy 5101 * @note: btstack_type 1 5102 */ 5103 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_phy(const uint8_t * event){ 5104 return event[18]; 5105 } 5106 /** 5107 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5108 * @param event packet 5109 * @return periodic_advertising_interval 5110 * @note: btstack_type 2 5111 */ 5112 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_periodic_advertising_interval(const uint8_t * event){ 5113 return little_endian_read_16(event, 19); 5114 } 5115 /** 5116 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5117 * @param event packet 5118 * @return advertiser_clock_accuracy 5119 * @note: btstack_type 1 5120 */ 5121 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_clock_accuracy(const uint8_t * event){ 5122 return event[21]; 5123 } 5124 5125 /** 5126 * @brief Get field status from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5127 * @param event packet 5128 * @return status 5129 * @note: btstack_type 1 5130 */ 5131 static inline uint8_t hci_subevent_le_cis_established_get_status(const uint8_t * event){ 5132 return event[3]; 5133 } 5134 /** 5135 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5136 * @param event packet 5137 * @return connection_handle 5138 * @note: btstack_type H 5139 */ 5140 static inline hci_con_handle_t hci_subevent_le_cis_established_get_connection_handle(const uint8_t * event){ 5141 return little_endian_read_16(event, 4); 5142 } 5143 /** 5144 * @brief Get field cig_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5145 * @param event packet 5146 * @return cig_sync_delay 5147 * @note: btstack_type 3 5148 */ 5149 static inline uint32_t hci_subevent_le_cis_established_get_cig_sync_delay(const uint8_t * event){ 5150 return little_endian_read_24(event, 6); 5151 } 5152 /** 5153 * @brief Get field cis_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5154 * @param event packet 5155 * @return cis_sync_delay 5156 * @note: btstack_type 3 5157 */ 5158 static inline uint32_t hci_subevent_le_cis_established_get_cis_sync_delay(const uint8_t * event){ 5159 return little_endian_read_24(event, 9); 5160 } 5161 /** 5162 * @brief Get field transport_latency_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5163 * @param event packet 5164 * @return transport_latency_c_to_p 5165 * @note: btstack_type 3 5166 */ 5167 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_c_to_p(const uint8_t * event){ 5168 return little_endian_read_24(event, 12); 5169 } 5170 /** 5171 * @brief Get field transport_latency_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5172 * @param event packet 5173 * @return transport_latency_p_to_c 5174 * @note: btstack_type 3 5175 */ 5176 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_p_to_c(const uint8_t * event){ 5177 return little_endian_read_24(event, 15); 5178 } 5179 /** 5180 * @brief Get field phy_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5181 * @param event packet 5182 * @return phy_c_to_p 5183 * @note: btstack_type 1 5184 */ 5185 static inline uint8_t hci_subevent_le_cis_established_get_phy_c_to_p(const uint8_t * event){ 5186 return event[18]; 5187 } 5188 /** 5189 * @brief Get field phy_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5190 * @param event packet 5191 * @return phy_p_to_c 5192 * @note: btstack_type 1 5193 */ 5194 static inline uint8_t hci_subevent_le_cis_established_get_phy_p_to_c(const uint8_t * event){ 5195 return event[19]; 5196 } 5197 /** 5198 * @brief Get field nse from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5199 * @param event packet 5200 * @return nse 5201 * @note: btstack_type 1 5202 */ 5203 static inline uint8_t hci_subevent_le_cis_established_get_nse(const uint8_t * event){ 5204 return event[20]; 5205 } 5206 /** 5207 * @brief Get field bn_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5208 * @param event packet 5209 * @return bn_c_to_p 5210 * @note: btstack_type 1 5211 */ 5212 static inline uint8_t hci_subevent_le_cis_established_get_bn_c_to_p(const uint8_t * event){ 5213 return event[21]; 5214 } 5215 /** 5216 * @brief Get field bn_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5217 * @param event packet 5218 * @return bn_p_to_c 5219 * @note: btstack_type 1 5220 */ 5221 static inline uint8_t hci_subevent_le_cis_established_get_bn_p_to_c(const uint8_t * event){ 5222 return event[22]; 5223 } 5224 /** 5225 * @brief Get field ft_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5226 * @param event packet 5227 * @return ft_c_to_p 5228 * @note: btstack_type 1 5229 */ 5230 static inline uint8_t hci_subevent_le_cis_established_get_ft_c_to_p(const uint8_t * event){ 5231 return event[23]; 5232 } 5233 /** 5234 * @brief Get field ft_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5235 * @param event packet 5236 * @return ft_p_to_c 5237 * @note: btstack_type 1 5238 */ 5239 static inline uint8_t hci_subevent_le_cis_established_get_ft_p_to_c(const uint8_t * event){ 5240 return event[24]; 5241 } 5242 /** 5243 * @brief Get field max_pdu_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5244 * @param event packet 5245 * @return max_pdu_c_to_p 5246 * @note: btstack_type 2 5247 */ 5248 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_c_to_p(const uint8_t * event){ 5249 return little_endian_read_16(event, 25); 5250 } 5251 /** 5252 * @brief Get field max_pdu_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5253 * @param event packet 5254 * @return max_pdu_p_to_c 5255 * @note: btstack_type 2 5256 */ 5257 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_p_to_c(const uint8_t * event){ 5258 return little_endian_read_16(event, 27); 5259 } 5260 /** 5261 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5262 * @param event packet 5263 * @return iso_interval 5264 * @note: btstack_type 2 5265 */ 5266 static inline uint16_t hci_subevent_le_cis_established_get_iso_interval(const uint8_t * event){ 5267 return little_endian_read_16(event, 29); 5268 } 5269 5270 /** 5271 * @brief Get field acl_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5272 * @param event packet 5273 * @return acl_connection_handle 5274 * @note: btstack_type H 5275 */ 5276 static inline hci_con_handle_t hci_subevent_le_cis_request_get_acl_connection_handle(const uint8_t * event){ 5277 return little_endian_read_16(event, 3); 5278 } 5279 /** 5280 * @brief Get field cis_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5281 * @param event packet 5282 * @return cis_connection_handle 5283 * @note: btstack_type H 5284 */ 5285 static inline hci_con_handle_t hci_subevent_le_cis_request_get_cis_connection_handle(const uint8_t * event){ 5286 return little_endian_read_16(event, 5); 5287 } 5288 /** 5289 * @brief Get field cig_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5290 * @param event packet 5291 * @return cig_id 5292 * @note: btstack_type 1 5293 */ 5294 static inline uint8_t hci_subevent_le_cis_request_get_cig_id(const uint8_t * event){ 5295 return event[7]; 5296 } 5297 /** 5298 * @brief Get field cis_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5299 * @param event packet 5300 * @return cis_id 5301 * @note: btstack_type 1 5302 */ 5303 static inline uint8_t hci_subevent_le_cis_request_get_cis_id(const uint8_t * event){ 5304 return event[8]; 5305 } 5306 5307 /** 5308 * @brief Get field big_handle from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5309 * @param event packet 5310 * @return big_handle 5311 * @note: btstack_type 1 5312 */ 5313 static inline uint8_t hci_subevent_le_terminate_big_complete_get_big_handle(const uint8_t * event){ 5314 return event[3]; 5315 } 5316 /** 5317 * @brief Get field reason from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5318 * @param event packet 5319 * @return reason 5320 * @note: btstack_type 1 5321 */ 5322 static inline uint8_t hci_subevent_le_terminate_big_complete_get_reason(const uint8_t * event){ 5323 return event[4]; 5324 } 5325 5326 /** 5327 * @brief Get field big_handle from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5328 * @param event packet 5329 * @return big_handle 5330 * @note: btstack_type 1 5331 */ 5332 static inline uint8_t hci_subevent_le_big_sync_lost_get_big_handle(const uint8_t * event){ 5333 return event[3]; 5334 } 5335 /** 5336 * @brief Get field reason from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5337 * @param event packet 5338 * @return reason 5339 * @note: btstack_type 1 5340 */ 5341 static inline uint8_t hci_subevent_le_big_sync_lost_get_reason(const uint8_t * event){ 5342 return event[4]; 5343 } 5344 5345 /** 5346 * @brief Get field status from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5347 * @param event packet 5348 * @return status 5349 * @note: btstack_type 1 5350 */ 5351 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_status(const uint8_t * event){ 5352 return event[3]; 5353 } 5354 /** 5355 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5356 * @param event packet 5357 * @return connection_handle 5358 * @note: btstack_type H 5359 */ 5360 static inline hci_con_handle_t hci_subevent_le_request_peer_sca_complete_get_connection_handle(const uint8_t * event){ 5361 return little_endian_read_16(event, 4); 5362 } 5363 /** 5364 * @brief Get field peer_clock_accuracy from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5365 * @param event packet 5366 * @return peer_clock_accuracy 5367 * @note: btstack_type 1 5368 */ 5369 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_peer_clock_accuracy(const uint8_t * event){ 5370 return event[6]; 5371 } 5372 5373 /** 5374 * @brief Get field status from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5375 * @param event packet 5376 * @return status 5377 * @note: btstack_type 1 5378 */ 5379 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_status(const uint8_t * event){ 5380 return event[3]; 5381 } 5382 /** 5383 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5384 * @param event packet 5385 * @return connection_handle 5386 * @note: btstack_type H 5387 */ 5388 static inline hci_con_handle_t hci_subevent_le_transmit_power_reporting_get_connection_handle(const uint8_t * event){ 5389 return little_endian_read_16(event, 4); 5390 } 5391 /** 5392 * @brief Get field reason from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5393 * @param event packet 5394 * @return reason 5395 * @note: btstack_type 1 5396 */ 5397 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_reason(const uint8_t * event){ 5398 return event[6]; 5399 } 5400 /** 5401 * @brief Get field phy from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5402 * @param event packet 5403 * @return phy 5404 * @note: btstack_type 1 5405 */ 5406 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_phy(const uint8_t * event){ 5407 return event[7]; 5408 } 5409 /** 5410 * @brief Get field tx_power_level from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5411 * @param event packet 5412 * @return tx_power_level 5413 * @note: btstack_type 1 5414 */ 5415 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level(const uint8_t * event){ 5416 return event[8]; 5417 } 5418 /** 5419 * @brief Get field tx_power_level_flag from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5420 * @param event packet 5421 * @return tx_power_level_flag 5422 * @note: btstack_type 1 5423 */ 5424 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level_flag(const uint8_t * event){ 5425 return event[9]; 5426 } 5427 /** 5428 * @brief Get field delta from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5429 * @param event packet 5430 * @return delta 5431 * @note: btstack_type 1 5432 */ 5433 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_delta(const uint8_t * event){ 5434 return event[10]; 5435 } 5436 5437 /** 5438 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5439 * @param event packet 5440 * @return sync_handle 5441 * @note: btstack_type H 5442 */ 5443 static inline hci_con_handle_t hci_subevent_le_biginfo_advertising_report_get_sync_handle(const uint8_t * event){ 5444 return little_endian_read_16(event, 3); 5445 } 5446 /** 5447 * @brief Get field num_bis from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5448 * @param event packet 5449 * @return num_bis 5450 * @note: btstack_type 1 5451 */ 5452 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_num_bis(const uint8_t * event){ 5453 return event[5]; 5454 } 5455 /** 5456 * @brief Get field nse from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5457 * @param event packet 5458 * @return nse 5459 * @note: btstack_type 1 5460 */ 5461 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_nse(const uint8_t * event){ 5462 return event[6]; 5463 } 5464 /** 5465 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5466 * @param event packet 5467 * @return iso_interval 5468 * @note: btstack_type 2 5469 */ 5470 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_iso_interval(const uint8_t * event){ 5471 return little_endian_read_16(event, 7); 5472 } 5473 /** 5474 * @brief Get field bn from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5475 * @param event packet 5476 * @return bn 5477 * @note: btstack_type 1 5478 */ 5479 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_bn(const uint8_t * event){ 5480 return event[9]; 5481 } 5482 /** 5483 * @brief Get field pto from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5484 * @param event packet 5485 * @return pto 5486 * @note: btstack_type 1 5487 */ 5488 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_pto(const uint8_t * event){ 5489 return event[10]; 5490 } 5491 /** 5492 * @brief Get field irc from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5493 * @param event packet 5494 * @return irc 5495 * @note: btstack_type 1 5496 */ 5497 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_irc(const uint8_t * event){ 5498 return event[11]; 5499 } 5500 /** 5501 * @brief Get field max_pdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5502 * @param event packet 5503 * @return max_pdu 5504 * @note: btstack_type 2 5505 */ 5506 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_pdu(const uint8_t * event){ 5507 return little_endian_read_16(event, 12); 5508 } 5509 /** 5510 * @brief Get field sdu_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5511 * @param event packet 5512 * @return sdu_interval 5513 * @note: btstack_type 3 5514 */ 5515 static inline uint32_t hci_subevent_le_biginfo_advertising_report_get_sdu_interval(const uint8_t * event){ 5516 return little_endian_read_24(event, 14); 5517 } 5518 /** 5519 * @brief Get field max_sdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5520 * @param event packet 5521 * @return max_sdu 5522 * @note: btstack_type 2 5523 */ 5524 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_sdu(const uint8_t * event){ 5525 return little_endian_read_16(event, 17); 5526 } 5527 /** 5528 * @brief Get field phy from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5529 * @param event packet 5530 * @return phy 5531 * @note: btstack_type 1 5532 */ 5533 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_phy(const uint8_t * event){ 5534 return event[19]; 5535 } 5536 /** 5537 * @brief Get field framing from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5538 * @param event packet 5539 * @return framing 5540 * @note: btstack_type 1 5541 */ 5542 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_framing(const uint8_t * event){ 5543 return event[20]; 5544 } 5545 /** 5546 * @brief Get field encryption from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5547 * @param event packet 5548 * @return encryption 5549 * @note: btstack_type 1 5550 */ 5551 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_encryption(const uint8_t * event){ 5552 return event[21]; 5553 } 5554 5555 /** 5556 * @brief Get field status from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5557 * @param event packet 5558 * @return status 5559 * @note: btstack_type 1 5560 */ 5561 static inline uint8_t hci_subevent_le_subrate_change_get_status(const uint8_t * event){ 5562 return event[3]; 5563 } 5564 /** 5565 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5566 * @param event packet 5567 * @return connection_handle 5568 * @note: btstack_type H 5569 */ 5570 static inline hci_con_handle_t hci_subevent_le_subrate_change_get_connection_handle(const uint8_t * event){ 5571 return little_endian_read_16(event, 4); 5572 } 5573 /** 5574 * @brief Get field subrate_factor from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5575 * @param event packet 5576 * @return subrate_factor 5577 * @note: btstack_type 2 5578 */ 5579 static inline uint16_t hci_subevent_le_subrate_change_get_subrate_factor(const uint8_t * event){ 5580 return little_endian_read_16(event, 6); 5581 } 5582 /** 5583 * @brief Get field peripheral_latency from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5584 * @param event packet 5585 * @return peripheral_latency 5586 * @note: btstack_type 2 5587 */ 5588 static inline uint16_t hci_subevent_le_subrate_change_get_peripheral_latency(const uint8_t * event){ 5589 return little_endian_read_16(event, 8); 5590 } 5591 /** 5592 * @brief Get field continuation_number from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5593 * @param event packet 5594 * @return continuation_number 5595 * @note: btstack_type 2 5596 */ 5597 static inline uint16_t hci_subevent_le_subrate_change_get_continuation_number(const uint8_t * event){ 5598 return little_endian_read_16(event, 10); 5599 } 5600 /** 5601 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5602 * @param event packet 5603 * @return supervision_timeout 5604 * @note: btstack_type 2 5605 */ 5606 static inline uint16_t hci_subevent_le_subrate_change_get_supervision_timeout(const uint8_t * event){ 5607 return little_endian_read_16(event, 12); 5608 } 5609 5610 /** 5611 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5612 * @param event packet 5613 * @return advertising_handle 5614 * @note: btstack_type 1 5615 */ 5616 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_advertising_handle(const uint8_t * event){ 5617 return event[3]; 5618 } 5619 /** 5620 * @brief Get field subevent_start from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5621 * @param event packet 5622 * @return subevent_start 5623 * @note: btstack_type 1 5624 */ 5625 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_start(const uint8_t * event){ 5626 return event[4]; 5627 } 5628 /** 5629 * @brief Get field subevent_data_count from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5630 * @param event packet 5631 * @return subevent_data_count 5632 * @note: btstack_type 1 5633 */ 5634 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_data_count(const uint8_t * event){ 5635 return event[5]; 5636 } 5637 5638 /** 5639 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5640 * @param event packet 5641 * @return status 5642 * @note: btstack_type 1 5643 */ 5644 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_status(const uint8_t * event){ 5645 return event[3]; 5646 } 5647 /** 5648 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5649 * @param event packet 5650 * @return connection_handle 5651 * @note: btstack_type H 5652 */ 5653 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_connection_handle(const uint8_t * event){ 5654 return little_endian_read_16(event, 4); 5655 } 5656 /** 5657 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5658 * @param event packet 5659 * @return role 5660 * @note: btstack_type 1 5661 */ 5662 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_role(const uint8_t * event){ 5663 return event[6]; 5664 } 5665 /** 5666 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5667 * @param event packet 5668 * @return peer_address_type 5669 * @note: btstack_type 1 5670 */ 5671 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_peer_address_type(const uint8_t * event){ 5672 return event[7]; 5673 } 5674 /** 5675 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5676 * @param event packet 5677 * @param Pointer to storage for peer_addresss 5678 * @note: btstack_type B 5679 */ 5680 static inline void hci_subevent_le_enhanced_connection_complete_v2_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 5681 reverse_bytes(&event[8], peer_addresss, 6); 5682 } 5683 /** 5684 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5685 * @param event packet 5686 * @param Pointer to storage for local_resolvable_private_address 5687 * @note: btstack_type B 5688 */ 5689 static inline void hci_subevent_le_enhanced_connection_complete_v2_get_local_resolvable_private_address(const uint8_t * event, bd_addr_t local_resolvable_private_address){ 5690 reverse_bytes(&event[14], local_resolvable_private_address, 6); 5691 } 5692 /** 5693 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5694 * @param event packet 5695 * @param Pointer to storage for peer_resolvable_private_address 5696 * @note: btstack_type B 5697 */ 5698 static inline void hci_subevent_le_enhanced_connection_complete_v2_get_peer_resolvable_private_address(const uint8_t * event, bd_addr_t peer_resolvable_private_address){ 5699 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 5700 } 5701 /** 5702 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5703 * @param event packet 5704 * @return conn_interval 5705 * @note: btstack_type 2 5706 */ 5707 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_interval(const uint8_t * event){ 5708 return little_endian_read_16(event, 26); 5709 } 5710 /** 5711 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5712 * @param event packet 5713 * @return conn_latency 5714 * @note: btstack_type 2 5715 */ 5716 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_latency(const uint8_t * event){ 5717 return little_endian_read_16(event, 28); 5718 } 5719 /** 5720 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5721 * @param event packet 5722 * @return supervision_timeout 5723 * @note: btstack_type 2 5724 */ 5725 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_supervision_timeout(const uint8_t * event){ 5726 return little_endian_read_16(event, 30); 5727 } 5728 /** 5729 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5730 * @param event packet 5731 * @return master_clock_accuracy 5732 * @note: btstack_type 1 5733 */ 5734 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_master_clock_accuracy(const uint8_t * event){ 5735 return event[32]; 5736 } 5737 /** 5738 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5739 * @param event packet 5740 * @return advertising_handle 5741 * @note: btstack_type 1 5742 */ 5743 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_advertising_handle(const uint8_t * event){ 5744 return event[33]; 5745 } 5746 /** 5747 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5748 * @param event packet 5749 * @return sync_handle 5750 * @note: btstack_type H 5751 */ 5752 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_sync_handle(const uint8_t * event){ 5753 return little_endian_read_16(event, 34); 5754 } 5755 5756 /** 5757 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5758 * @param event packet 5759 * @return advertisement_handle 5760 * @note: btstack_type 1 5761 */ 5762 static inline uint8_t gap_subevent_advertising_set_installed_get_advertisement_handle(const uint8_t * event){ 5763 return event[3]; 5764 } 5765 /** 5766 * @brief Get field status from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5767 * @param event packet 5768 * @return status 5769 * @note: btstack_type 1 5770 */ 5771 static inline uint8_t gap_subevent_advertising_set_installed_get_status(const uint8_t * event){ 5772 return event[4]; 5773 } 5774 /** 5775 * @brief Get field selected_tx_power from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5776 * @param event packet 5777 * @return selected_tx_power 5778 * @note: btstack_type 1 5779 */ 5780 static inline uint8_t gap_subevent_advertising_set_installed_get_selected_tx_power(const uint8_t * event){ 5781 return event[5]; 5782 } 5783 5784 /** 5785 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_REMOVED 5786 * @param event packet 5787 * @return advertisement_handle 5788 * @note: btstack_type 1 5789 */ 5790 static inline uint8_t gap_subevent_advertising_set_removed_get_advertisement_handle(const uint8_t * event){ 5791 return event[3]; 5792 } 5793 5794 /** 5795 * @brief Get field status from event GAP_SUBEVENT_BIG_CREATED 5796 * @param event packet 5797 * @return status 5798 * @note: btstack_type 1 5799 */ 5800 static inline uint8_t gap_subevent_big_created_get_status(const uint8_t * event){ 5801 return event[3]; 5802 } 5803 /** 5804 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_CREATED 5805 * @param event packet 5806 * @return big_handle 5807 * @note: btstack_type 1 5808 */ 5809 static inline uint8_t gap_subevent_big_created_get_big_handle(const uint8_t * event){ 5810 return event[4]; 5811 } 5812 /** 5813 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_CREATED 5814 * @param event packet 5815 * @return num_bis 5816 * @note: btstack_type 1 5817 */ 5818 static inline uint8_t gap_subevent_big_created_get_num_bis(const uint8_t * event){ 5819 return event[5]; 5820 } 5821 /** 5822 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_CREATED 5823 * @param event packet 5824 * @param index 5825 * @return bis_con_handles 5826 * @note: btstack_type C 5827 */ 5828 static inline uint16_t gap_subevent_big_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 5829 return little_endian_read_16(event, 6 + (2 * (int) index)); 5830 } 5831 5832 /** 5833 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_TERMINATED 5834 * @param event packet 5835 * @return big_handle 5836 * @note: btstack_type 1 5837 */ 5838 static inline uint8_t gap_subevent_big_terminated_get_big_handle(const uint8_t * event){ 5839 return event[3]; 5840 } 5841 5842 /** 5843 * @brief Get field status from event GAP_SUBEVENT_BIG_SYNC_CREATED 5844 * @param event packet 5845 * @return status 5846 * @note: btstack_type 1 5847 */ 5848 static inline uint8_t gap_subevent_big_sync_created_get_status(const uint8_t * event){ 5849 return event[3]; 5850 } 5851 /** 5852 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_CREATED 5853 * @param event packet 5854 * @return big_handle 5855 * @note: btstack_type 1 5856 */ 5857 static inline uint8_t gap_subevent_big_sync_created_get_big_handle(const uint8_t * event){ 5858 return event[4]; 5859 } 5860 /** 5861 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_SYNC_CREATED 5862 * @param event packet 5863 * @return num_bis 5864 * @note: btstack_type 1 5865 */ 5866 static inline uint8_t gap_subevent_big_sync_created_get_num_bis(const uint8_t * event){ 5867 return event[5]; 5868 } 5869 /** 5870 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_SYNC_CREATED 5871 * @param event packet 5872 * @param index 5873 * @return bis_con_handles 5874 * @note: btstack_type C 5875 */ 5876 static inline uint16_t gap_subevent_big_sync_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 5877 return little_endian_read_16(event, 6 + (2 * (int) index)); 5878 } 5879 5880 /** 5881 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_STOPPED 5882 * @param event packet 5883 * @return big_handle 5884 * @note: btstack_type 1 5885 */ 5886 static inline uint8_t gap_subevent_big_sync_stopped_get_big_handle(const uint8_t * event){ 5887 return event[3]; 5888 } 5889 5890 /** 5891 * @brief Get field status from event GAP_SUBEVENT_CIG_CREATED 5892 * @param event packet 5893 * @return status 5894 * @note: btstack_type 1 5895 */ 5896 static inline uint8_t gap_subevent_cig_created_get_status(const uint8_t * event){ 5897 return event[3]; 5898 } 5899 /** 5900 * @brief Get field cig_id from event GAP_SUBEVENT_CIG_CREATED 5901 * @param event packet 5902 * @return cig_id 5903 * @note: btstack_type 1 5904 */ 5905 static inline uint8_t gap_subevent_cig_created_get_cig_id(const uint8_t * event){ 5906 return event[4]; 5907 } 5908 /** 5909 * @brief Get field num_cis from event GAP_SUBEVENT_CIG_CREATED 5910 * @param event packet 5911 * @return num_cis 5912 * @note: btstack_type 1 5913 */ 5914 static inline uint8_t gap_subevent_cig_created_get_num_cis(const uint8_t * event){ 5915 return event[5]; 5916 } 5917 /** 5918 * @brief Get element of array field cis_con_handles from event GAP_SUBEVENT_CIG_CREATED 5919 * @param event packet 5920 * @param index 5921 * @return cis_con_handles 5922 * @note: btstack_type C 5923 */ 5924 static inline uint16_t gap_subevent_cig_created_get_cis_con_handles(const uint8_t * event, uint8_t index){ 5925 return little_endian_read_16(event, 6 + (2 * (int) index)); 5926 } 5927 5928 /** 5929 * @brief Get field status from event GAP_SUBEVENT_CIS_CREATED 5930 * @param event packet 5931 * @return status 5932 * @note: btstack_type 1 5933 */ 5934 static inline uint8_t gap_subevent_cis_created_get_status(const uint8_t * event){ 5935 return event[3]; 5936 } 5937 /** 5938 * @brief Get field cig_id from event GAP_SUBEVENT_CIS_CREATED 5939 * @param event packet 5940 * @return cig_id 5941 * @note: btstack_type 1 5942 */ 5943 static inline uint8_t gap_subevent_cis_created_get_cig_id(const uint8_t * event){ 5944 return event[4]; 5945 } 5946 /** 5947 * @brief Get field cis_id from event GAP_SUBEVENT_CIS_CREATED 5948 * @param event packet 5949 * @return cis_id 5950 * @note: btstack_type 1 5951 */ 5952 static inline uint8_t gap_subevent_cis_created_get_cis_id(const uint8_t * event){ 5953 return event[5]; 5954 } 5955 /** 5956 * @brief Get field cis_con_handle from event GAP_SUBEVENT_CIS_CREATED 5957 * @param event packet 5958 * @return cis_con_handle 5959 * @note: btstack_type H 5960 */ 5961 static inline hci_con_handle_t gap_subevent_cis_created_get_cis_con_handle(const uint8_t * event){ 5962 return little_endian_read_16(event, 6); 5963 } 5964 /** 5965 * @brief Get field acl_con_handle from event GAP_SUBEVENT_CIS_CREATED 5966 * @param event packet 5967 * @return acl_con_handle 5968 * @note: btstack_type H 5969 */ 5970 static inline hci_con_handle_t gap_subevent_cis_created_get_acl_con_handle(const uint8_t * event){ 5971 return little_endian_read_16(event, 8); 5972 } 5973 /** 5974 * @brief Get field iso_interval_1250us from event GAP_SUBEVENT_CIS_CREATED 5975 * @param event packet 5976 * @return iso_interval_1250us 5977 * @note: btstack_type 2 5978 */ 5979 static inline uint16_t gap_subevent_cis_created_get_iso_interval_1250us(const uint8_t * event){ 5980 return little_endian_read_16(event, 10); 5981 } 5982 /** 5983 * @brief Get field number_of_subevents from event GAP_SUBEVENT_CIS_CREATED 5984 * @param event packet 5985 * @return number_of_subevents 5986 * @note: btstack_type 1 5987 */ 5988 static inline uint8_t gap_subevent_cis_created_get_number_of_subevents(const uint8_t * event){ 5989 return event[12]; 5990 } 5991 /** 5992 * @brief Get field burst_number_c_to_p from event GAP_SUBEVENT_CIS_CREATED 5993 * @param event packet 5994 * @return burst_number_c_to_p 5995 * @note: btstack_type 1 5996 */ 5997 static inline uint8_t gap_subevent_cis_created_get_burst_number_c_to_p(const uint8_t * event){ 5998 return event[13]; 5999 } 6000 /** 6001 * @brief Get field burst_number_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6002 * @param event packet 6003 * @return burst_number_p_to_c 6004 * @note: btstack_type 1 6005 */ 6006 static inline uint8_t gap_subevent_cis_created_get_burst_number_p_to_c(const uint8_t * event){ 6007 return event[14]; 6008 } 6009 /** 6010 * @brief Get field flush_timeout_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6011 * @param event packet 6012 * @return flush_timeout_c_to_p 6013 * @note: btstack_type 1 6014 */ 6015 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_c_to_p(const uint8_t * event){ 6016 return event[15]; 6017 } 6018 /** 6019 * @brief Get field flush_timeout_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6020 * @param event packet 6021 * @return flush_timeout_p_to_c 6022 * @note: btstack_type 1 6023 */ 6024 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_p_to_c(const uint8_t * event){ 6025 return event[16]; 6026 } 6027 6028 /** 6029 * @brief Get field status from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6030 * @param event packet 6031 * @return status 6032 * @note: btstack_type 1 6033 */ 6034 static inline uint8_t gap_subevent_le_connection_complete_get_status(const uint8_t * event){ 6035 return event[3]; 6036 } 6037 /** 6038 * @brief Get field connection_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6039 * @param event packet 6040 * @return connection_handle 6041 * @note: btstack_type H 6042 */ 6043 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 6044 return little_endian_read_16(event, 4); 6045 } 6046 /** 6047 * @brief Get field role from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6048 * @param event packet 6049 * @return role 6050 * @note: btstack_type 1 6051 */ 6052 static inline uint8_t gap_subevent_le_connection_complete_get_role(const uint8_t * event){ 6053 return event[6]; 6054 } 6055 /** 6056 * @brief Get field peer_address_type from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6057 * @param event packet 6058 * @return peer_address_type 6059 * @note: btstack_type 1 6060 */ 6061 static inline uint8_t gap_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 6062 return event[7]; 6063 } 6064 /** 6065 * @brief Get field peer_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6066 * @param event packet 6067 * @param Pointer to storage for peer_address 6068 * @note: btstack_type B 6069 */ 6070 static inline void gap_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 6071 reverse_bytes(&event[8], peer_address, 6); 6072 } 6073 /** 6074 * @brief Get field local_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6075 * @param event packet 6076 * @param Pointer to storage for local_resolvable_private_address 6077 * @note: btstack_type B 6078 */ 6079 static inline void gap_subevent_le_connection_complete_get_local_resolvable_private_address(const uint8_t * event, bd_addr_t local_resolvable_private_address){ 6080 reverse_bytes(&event[14], local_resolvable_private_address, 6); 6081 } 6082 /** 6083 * @brief Get field peer_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6084 * @param event packet 6085 * @param Pointer to storage for peer_resolvable_private_address 6086 * @note: btstack_type B 6087 */ 6088 static inline void gap_subevent_le_connection_complete_get_peer_resolvable_private_address(const uint8_t * event, bd_addr_t peer_resolvable_private_address){ 6089 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 6090 } 6091 /** 6092 * @brief Get field conn_interval from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6093 * @param event packet 6094 * @return conn_interval 6095 * @note: btstack_type 2 6096 */ 6097 static inline uint16_t gap_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 6098 return little_endian_read_16(event, 26); 6099 } 6100 /** 6101 * @brief Get field conn_latency from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6102 * @param event packet 6103 * @return conn_latency 6104 * @note: btstack_type 2 6105 */ 6106 static inline uint16_t gap_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 6107 return little_endian_read_16(event, 28); 6108 } 6109 /** 6110 * @brief Get field supervision_timeout from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6111 * @param event packet 6112 * @return supervision_timeout 6113 * @note: btstack_type 2 6114 */ 6115 static inline uint16_t gap_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 6116 return little_endian_read_16(event, 30); 6117 } 6118 /** 6119 * @brief Get field master_clock_accuracy from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6120 * @param event packet 6121 * @return master_clock_accuracy 6122 * @note: btstack_type 1 6123 */ 6124 static inline uint8_t gap_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 6125 return event[32]; 6126 } 6127 /** 6128 * @brief Get field advertising_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6129 * @param event packet 6130 * @return advertising_handle 6131 * @note: btstack_type 1 6132 */ 6133 static inline uint8_t gap_subevent_le_connection_complete_get_advertising_handle(const uint8_t * event){ 6134 return event[33]; 6135 } 6136 /** 6137 * @brief Get field sync_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6138 * @param event packet 6139 * @return sync_handle 6140 * @note: btstack_type H 6141 */ 6142 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_sync_handle(const uint8_t * event){ 6143 return little_endian_read_16(event, 34); 6144 } 6145 6146 /** 6147 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6148 * @param event packet 6149 * @return acl_handle 6150 * @note: btstack_type H 6151 */ 6152 static inline hci_con_handle_t hsp_subevent_rfcomm_connection_complete_get_acl_handle(const uint8_t * event){ 6153 return little_endian_read_16(event, 3); 6154 } 6155 /** 6156 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6157 * @param event packet 6158 * @return status 6159 * @note: btstack_type 1 6160 */ 6161 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 6162 return event[5]; 6163 } 6164 /** 6165 * @brief Get field bd_addr from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6166 * @param event packet 6167 * @param Pointer to storage for bd_addr 6168 * @note: btstack_type B 6169 */ 6170 static inline void hsp_subevent_rfcomm_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6171 reverse_bytes(&event[6], bd_addr, 6); 6172 } 6173 6174 /** 6175 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 6176 * @param event packet 6177 * @return acl_handle 6178 * @note: btstack_type H 6179 */ 6180 static inline hci_con_handle_t hsp_subevent_rfcomm_disconnection_complete_get_acl_handle(const uint8_t * event){ 6181 return little_endian_read_16(event, 3); 6182 } 6183 6184 /** 6185 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6186 * @param event packet 6187 * @return acl_handle 6188 * @note: btstack_type H 6189 */ 6190 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_acl_handle(const uint8_t * event){ 6191 return little_endian_read_16(event, 3); 6192 } 6193 /** 6194 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6195 * @param event packet 6196 * @return status 6197 * @note: btstack_type 1 6198 */ 6199 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 6200 return event[5]; 6201 } 6202 /** 6203 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6204 * @param event packet 6205 * @return sco_handle 6206 * @note: btstack_type H 6207 */ 6208 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_sco_handle(const uint8_t * event){ 6209 return little_endian_read_16(event, 6); 6210 } 6211 6212 /** 6213 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6214 * @param event packet 6215 * @return acl_handle 6216 * @note: btstack_type H 6217 */ 6218 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_acl_handle(const uint8_t * event){ 6219 return little_endian_read_16(event, 3); 6220 } 6221 /** 6222 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6223 * @param event packet 6224 * @return sco_handle 6225 * @note: btstack_type H 6226 */ 6227 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_sco_handle(const uint8_t * event){ 6228 return little_endian_read_16(event, 5); 6229 } 6230 6231 /** 6232 * @brief Get field acl_handle from event HSP_SUBEVENT_RING 6233 * @param event packet 6234 * @return acl_handle 6235 * @note: btstack_type H 6236 */ 6237 static inline hci_con_handle_t hsp_subevent_ring_get_acl_handle(const uint8_t * event){ 6238 return little_endian_read_16(event, 3); 6239 } 6240 6241 /** 6242 * @brief Get field acl_handle from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6243 * @param event packet 6244 * @return acl_handle 6245 * @note: btstack_type H 6246 */ 6247 static inline hci_con_handle_t hsp_subevent_microphone_gain_changed_get_acl_handle(const uint8_t * event){ 6248 return little_endian_read_16(event, 3); 6249 } 6250 /** 6251 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6252 * @param event packet 6253 * @return gain 6254 * @note: btstack_type 1 6255 */ 6256 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 6257 return event[5]; 6258 } 6259 6260 /** 6261 * @brief Get field acl_handle from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6262 * @param event packet 6263 * @return acl_handle 6264 * @note: btstack_type H 6265 */ 6266 static inline hci_con_handle_t hsp_subevent_speaker_gain_changed_get_acl_handle(const uint8_t * event){ 6267 return little_endian_read_16(event, 3); 6268 } 6269 /** 6270 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6271 * @param event packet 6272 * @return gain 6273 * @note: btstack_type 1 6274 */ 6275 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 6276 return event[5]; 6277 } 6278 6279 /** 6280 * @brief Get field acl_handle from event HSP_SUBEVENT_HS_COMMAND 6281 * @param event packet 6282 * @return acl_handle 6283 * @note: btstack_type H 6284 */ 6285 static inline hci_con_handle_t hsp_subevent_hs_command_get_acl_handle(const uint8_t * event){ 6286 return little_endian_read_16(event, 3); 6287 } 6288 /** 6289 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 6290 * @param event packet 6291 * @return value_length 6292 * @note: btstack_type J 6293 */ 6294 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 6295 return event[5]; 6296 } 6297 /** 6298 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 6299 * @param event packet 6300 * @return value 6301 * @note: btstack_type V 6302 */ 6303 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 6304 return &event[6]; 6305 } 6306 6307 /** 6308 * @brief Get field acl_handle from event HSP_SUBEVENT_AG_INDICATION 6309 * @param event packet 6310 * @return acl_handle 6311 * @note: btstack_type H 6312 */ 6313 static inline hci_con_handle_t hsp_subevent_ag_indication_get_acl_handle(const uint8_t * event){ 6314 return little_endian_read_16(event, 3); 6315 } 6316 /** 6317 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 6318 * @param event packet 6319 * @return value_length 6320 * @note: btstack_type J 6321 */ 6322 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 6323 return event[5]; 6324 } 6325 /** 6326 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 6327 * @param event packet 6328 * @return value 6329 * @note: btstack_type V 6330 */ 6331 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 6332 return &event[6]; 6333 } 6334 6335 /** 6336 * @brief Get field acl_handle from event HSP_SUBEVENT_BUTTON_PRESSED 6337 * @param event packet 6338 * @return acl_handle 6339 * @note: btstack_type H 6340 */ 6341 static inline hci_con_handle_t hsp_subevent_button_pressed_get_acl_handle(const uint8_t * event){ 6342 return little_endian_read_16(event, 3); 6343 } 6344 6345 /** 6346 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6347 * @param event packet 6348 * @return acl_handle 6349 * @note: btstack_type H 6350 */ 6351 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_acl_handle(const uint8_t * event){ 6352 return little_endian_read_16(event, 3); 6353 } 6354 /** 6355 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6356 * @param event packet 6357 * @return status 6358 * @note: btstack_type 1 6359 */ 6360 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 6361 return event[5]; 6362 } 6363 /** 6364 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6365 * @param event packet 6366 * @param Pointer to storage for bd_addr 6367 * @note: btstack_type B 6368 */ 6369 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6370 reverse_bytes(&event[6], bd_addr, 6); 6371 } 6372 6373 /** 6374 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 6375 * @param event packet 6376 * @return acl_handle 6377 * @note: btstack_type H 6378 */ 6379 static inline hci_con_handle_t hfp_subevent_service_level_connection_released_get_acl_handle(const uint8_t * event){ 6380 return little_endian_read_16(event, 3); 6381 } 6382 6383 /** 6384 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6385 * @param event packet 6386 * @return acl_handle 6387 * @note: btstack_type H 6388 */ 6389 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_acl_handle(const uint8_t * event){ 6390 return little_endian_read_16(event, 3); 6391 } 6392 /** 6393 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6394 * @param event packet 6395 * @return status 6396 * @note: btstack_type 1 6397 */ 6398 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 6399 return event[5]; 6400 } 6401 /** 6402 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6403 * @param event packet 6404 * @return sco_handle 6405 * @note: btstack_type H 6406 */ 6407 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_sco_handle(const uint8_t * event){ 6408 return little_endian_read_16(event, 6); 6409 } 6410 /** 6411 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6412 * @param event packet 6413 * @param Pointer to storage for bd_addr 6414 * @note: btstack_type B 6415 */ 6416 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6417 reverse_bytes(&event[8], bd_addr, 6); 6418 } 6419 /** 6420 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6421 * @param event packet 6422 * @return negotiated_codec 6423 * @note: btstack_type 1 6424 */ 6425 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 6426 return event[14]; 6427 } 6428 /** 6429 * @brief Get field sco_packet_types from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6430 * @param event packet 6431 * @return sco_packet_types 6432 * @note: btstack_type 2 6433 */ 6434 static inline uint16_t hfp_subevent_audio_connection_established_get_sco_packet_types(const uint8_t * event){ 6435 return little_endian_read_16(event, 15); 6436 } 6437 /** 6438 * @brief Get field rx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6439 * @param event packet 6440 * @return rx_packet_length 6441 * @note: btstack_type 2 6442 */ 6443 static inline uint16_t hfp_subevent_audio_connection_established_get_rx_packet_length(const uint8_t * event){ 6444 return little_endian_read_16(event, 17); 6445 } 6446 /** 6447 * @brief Get field tx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6448 * @param event packet 6449 * @return tx_packet_length 6450 * @note: btstack_type 2 6451 */ 6452 static inline uint16_t hfp_subevent_audio_connection_established_get_tx_packet_length(const uint8_t * event){ 6453 return little_endian_read_16(event, 19); 6454 } 6455 6456 /** 6457 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6458 * @param event packet 6459 * @return acl_handle 6460 * @note: btstack_type H 6461 */ 6462 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_acl_handle(const uint8_t * event){ 6463 return little_endian_read_16(event, 3); 6464 } 6465 /** 6466 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6467 * @param event packet 6468 * @return sco_handle 6469 * @note: btstack_type H 6470 */ 6471 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_sco_handle(const uint8_t * event){ 6472 return little_endian_read_16(event, 5); 6473 } 6474 6475 /** 6476 * @brief Get field acl_handle from event HFP_SUBEVENT_COMPLETE 6477 * @param event packet 6478 * @return acl_handle 6479 * @note: btstack_type H 6480 */ 6481 static inline hci_con_handle_t hfp_subevent_complete_get_acl_handle(const uint8_t * event){ 6482 return little_endian_read_16(event, 3); 6483 } 6484 /** 6485 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 6486 * @param event packet 6487 * @return status 6488 * @note: btstack_type 1 6489 */ 6490 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 6491 return event[5]; 6492 } 6493 6494 /** 6495 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6496 * @param event packet 6497 * @return acl_handle 6498 * @note: btstack_type H 6499 */ 6500 static inline hci_con_handle_t hfp_subevent_ag_indicator_mapping_get_acl_handle(const uint8_t * event){ 6501 return little_endian_read_16(event, 3); 6502 } 6503 /** 6504 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6505 * @param event packet 6506 * @return indicator_index 6507 * @note: btstack_type 1 6508 */ 6509 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_index(const uint8_t * event){ 6510 return event[5]; 6511 } 6512 /** 6513 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6514 * @param event packet 6515 * @return indicator_min_range 6516 * @note: btstack_type 1 6517 */ 6518 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_min_range(const uint8_t * event){ 6519 return event[6]; 6520 } 6521 /** 6522 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6523 * @param event packet 6524 * @return indicator_max_range 6525 * @note: btstack_type 1 6526 */ 6527 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_max_range(const uint8_t * event){ 6528 return event[7]; 6529 } 6530 /** 6531 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6532 * @param event packet 6533 * @return indicator_name 6534 * @note: btstack_type T 6535 */ 6536 static inline const char * hfp_subevent_ag_indicator_mapping_get_indicator_name(const uint8_t * event){ 6537 return (const char *) &event[8]; 6538 } 6539 6540 /** 6541 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6542 * @param event packet 6543 * @return acl_handle 6544 * @note: btstack_type H 6545 */ 6546 static inline hci_con_handle_t hfp_subevent_ag_indicator_status_changed_get_acl_handle(const uint8_t * event){ 6547 return little_endian_read_16(event, 3); 6548 } 6549 /** 6550 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6551 * @param event packet 6552 * @return indicator_index 6553 * @note: btstack_type 1 6554 */ 6555 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 6556 return event[5]; 6557 } 6558 /** 6559 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6560 * @param event packet 6561 * @return indicator_status 6562 * @note: btstack_type 1 6563 */ 6564 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 6565 return event[6]; 6566 } 6567 /** 6568 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6569 * @param event packet 6570 * @return indicator_min_range 6571 * @note: btstack_type 1 6572 */ 6573 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 6574 return event[7]; 6575 } 6576 /** 6577 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6578 * @param event packet 6579 * @return indicator_max_range 6580 * @note: btstack_type 1 6581 */ 6582 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 6583 return event[8]; 6584 } 6585 /** 6586 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6587 * @param event packet 6588 * @return indicator_mandatory 6589 * @note: btstack_type 1 6590 */ 6591 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 6592 return event[9]; 6593 } 6594 /** 6595 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6596 * @param event packet 6597 * @return indicator_enabled 6598 * @note: btstack_type 1 6599 */ 6600 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 6601 return event[10]; 6602 } 6603 /** 6604 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6605 * @param event packet 6606 * @return indicator_status_changed 6607 * @note: btstack_type 1 6608 */ 6609 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 6610 return event[11]; 6611 } 6612 /** 6613 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6614 * @param event packet 6615 * @return indicator_name 6616 * @note: btstack_type T 6617 */ 6618 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 6619 return (const char *) &event[12]; 6620 } 6621 6622 /** 6623 * @brief Get field acl_handle from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6624 * @param event packet 6625 * @return acl_handle 6626 * @note: btstack_type H 6627 */ 6628 static inline hci_con_handle_t hfp_subevent_network_operator_changed_get_acl_handle(const uint8_t * event){ 6629 return little_endian_read_16(event, 3); 6630 } 6631 /** 6632 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6633 * @param event packet 6634 * @return network_operator_mode 6635 * @note: btstack_type 1 6636 */ 6637 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 6638 return event[5]; 6639 } 6640 /** 6641 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6642 * @param event packet 6643 * @return network_operator_format 6644 * @note: btstack_type 1 6645 */ 6646 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 6647 return event[6]; 6648 } 6649 /** 6650 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6651 * @param event packet 6652 * @return network_operator_name 6653 * @note: btstack_type T 6654 */ 6655 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 6656 return (const char *) &event[7]; 6657 } 6658 6659 /** 6660 * @brief Get field acl_handle from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6661 * @param event packet 6662 * @return acl_handle 6663 * @note: btstack_type H 6664 */ 6665 static inline hci_con_handle_t hfp_subevent_extended_audio_gateway_error_get_acl_handle(const uint8_t * event){ 6666 return little_endian_read_16(event, 3); 6667 } 6668 /** 6669 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6670 * @param event packet 6671 * @return error 6672 * @note: btstack_type 1 6673 */ 6674 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 6675 return event[5]; 6676 } 6677 6678 /** 6679 * @brief Get field acl_handle from event HFP_SUBEVENT_START_RINGING 6680 * @param event packet 6681 * @return acl_handle 6682 * @note: btstack_type H 6683 */ 6684 static inline hci_con_handle_t hfp_subevent_start_ringing_get_acl_handle(const uint8_t * event){ 6685 return little_endian_read_16(event, 3); 6686 } 6687 6688 /** 6689 * @brief Get field acl_handle from event HFP_SUBEVENT_RING 6690 * @param event packet 6691 * @return acl_handle 6692 * @note: btstack_type H 6693 */ 6694 static inline hci_con_handle_t hfp_subevent_ring_get_acl_handle(const uint8_t * event){ 6695 return little_endian_read_16(event, 3); 6696 } 6697 6698 /** 6699 * @brief Get field acl_handle from event HFP_SUBEVENT_STOP_RINGING 6700 * @param event packet 6701 * @return acl_handle 6702 * @note: btstack_type H 6703 */ 6704 static inline hci_con_handle_t hfp_subevent_stop_ringing_get_acl_handle(const uint8_t * event){ 6705 return little_endian_read_16(event, 3); 6706 } 6707 6708 /** 6709 * @brief Get field acl_handle from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6710 * @param event packet 6711 * @return acl_handle 6712 * @note: btstack_type H 6713 */ 6714 static inline hci_con_handle_t hfp_subevent_place_call_with_number_get_acl_handle(const uint8_t * event){ 6715 return little_endian_read_16(event, 3); 6716 } 6717 /** 6718 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6719 * @param event packet 6720 * @return number 6721 * @note: btstack_type T 6722 */ 6723 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 6724 return (const char *) &event[5]; 6725 } 6726 6727 /** 6728 * @brief Get field acl_handle from event HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 6729 * @param event packet 6730 * @return acl_handle 6731 * @note: btstack_type H 6732 */ 6733 static inline hci_con_handle_t hfp_subevent_attach_number_to_voice_tag_get_acl_handle(const uint8_t * event){ 6734 return little_endian_read_16(event, 3); 6735 } 6736 6737 /** 6738 * @brief Get field acl_handle from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6739 * @param event packet 6740 * @return acl_handle 6741 * @note: btstack_type H 6742 */ 6743 static inline hci_con_handle_t hfp_subevent_number_for_voice_tag_get_acl_handle(const uint8_t * event){ 6744 return little_endian_read_16(event, 3); 6745 } 6746 /** 6747 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6748 * @param event packet 6749 * @return number 6750 * @note: btstack_type T 6751 */ 6752 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 6753 return (const char *) &event[5]; 6754 } 6755 6756 /** 6757 * @brief Get field acl_handle from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 6758 * @param event packet 6759 * @return acl_handle 6760 * @note: btstack_type H 6761 */ 6762 static inline hci_con_handle_t hfp_subevent_transmit_dtmf_codes_get_acl_handle(const uint8_t * event){ 6763 return little_endian_read_16(event, 3); 6764 } 6765 /** 6766 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 6767 * @param event packet 6768 * @return dtmf 6769 * @note: btstack_type T 6770 */ 6771 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 6772 return (const char *) &event[5]; 6773 } 6774 6775 /** 6776 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_ANSWERED 6777 * @param event packet 6778 * @return acl_handle 6779 * @note: btstack_type H 6780 */ 6781 static inline hci_con_handle_t hfp_subevent_call_answered_get_acl_handle(const uint8_t * event){ 6782 return little_endian_read_16(event, 3); 6783 } 6784 6785 /** 6786 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_TERMINATED 6787 * @param event packet 6788 * @return acl_handle 6789 * @note: btstack_type H 6790 */ 6791 static inline hci_con_handle_t hfp_subevent_call_terminated_get_acl_handle(const uint8_t * event){ 6792 return little_endian_read_16(event, 3); 6793 } 6794 6795 /** 6796 * @brief Get field acl_handle from event HFP_SUBEVENT_CONFERENCE_CALL 6797 * @param event packet 6798 * @return acl_handle 6799 * @note: btstack_type H 6800 */ 6801 static inline hci_con_handle_t hfp_subevent_conference_call_get_acl_handle(const uint8_t * event){ 6802 return little_endian_read_16(event, 3); 6803 } 6804 6805 /** 6806 * @brief Get field acl_handle from event HFP_SUBEVENT_SPEAKER_VOLUME 6807 * @param event packet 6808 * @return acl_handle 6809 * @note: btstack_type H 6810 */ 6811 static inline hci_con_handle_t hfp_subevent_speaker_volume_get_acl_handle(const uint8_t * event){ 6812 return little_endian_read_16(event, 3); 6813 } 6814 /** 6815 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 6816 * @param event packet 6817 * @return gain 6818 * @note: btstack_type 1 6819 */ 6820 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 6821 return event[5]; 6822 } 6823 6824 /** 6825 * @brief Get field acl_handle from event HFP_SUBEVENT_MICROPHONE_VOLUME 6826 * @param event packet 6827 * @return acl_handle 6828 * @note: btstack_type H 6829 */ 6830 static inline hci_con_handle_t hfp_subevent_microphone_volume_get_acl_handle(const uint8_t * event){ 6831 return little_endian_read_16(event, 3); 6832 } 6833 /** 6834 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 6835 * @param event packet 6836 * @return gain 6837 * @note: btstack_type 1 6838 */ 6839 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 6840 return event[5]; 6841 } 6842 6843 /** 6844 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6845 * @param event packet 6846 * @return acl_handle 6847 * @note: btstack_type H 6848 */ 6849 static inline hci_con_handle_t hfp_subevent_call_waiting_notification_get_acl_handle(const uint8_t * event){ 6850 return little_endian_read_16(event, 3); 6851 } 6852 /** 6853 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6854 * @param event packet 6855 * @return type 6856 * @note: btstack_type 1 6857 */ 6858 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 6859 return event[5]; 6860 } 6861 /** 6862 * @brief Get field number_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6863 * @param event packet 6864 * @return number_length 6865 * @note: btstack_type J 6866 */ 6867 static inline uint8_t hfp_subevent_call_waiting_notification_get_number_length(const uint8_t * event){ 6868 return event[6]; 6869 } 6870 /** 6871 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6872 * @param event packet 6873 * @return number 6874 * @note: btstack_type V 6875 */ 6876 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 6877 return &event[7]; 6878 } 6879 /** 6880 * @brief Get field alpha_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6881 * @param event packet 6882 * @return alpha_length 6883 * @note: btstack_type J 6884 */ 6885 static inline uint8_t hfp_subevent_call_waiting_notification_get_alpha_length(const uint8_t * event){ 6886 return event[7u + event[6]]; 6887 } 6888 /** 6889 * @brief Get field alpha from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6890 * @param event packet 6891 * @return alpha 6892 * @note: btstack_type V 6893 */ 6894 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_alpha(const uint8_t * event){ 6895 return &event[7u + event[6] + 1u]; 6896 } 6897 6898 /** 6899 * @brief Get field acl_handle from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6900 * @param event packet 6901 * @return acl_handle 6902 * @note: btstack_type H 6903 */ 6904 static inline hci_con_handle_t hfp_subevent_calling_line_identification_notification_get_acl_handle(const uint8_t * event){ 6905 return little_endian_read_16(event, 3); 6906 } 6907 /** 6908 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6909 * @param event packet 6910 * @return type 6911 * @note: btstack_type 1 6912 */ 6913 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 6914 return event[5]; 6915 } 6916 /** 6917 * @brief Get field number_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6918 * @param event packet 6919 * @return number_length 6920 * @note: btstack_type J 6921 */ 6922 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_number_length(const uint8_t * event){ 6923 return event[6]; 6924 } 6925 /** 6926 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6927 * @param event packet 6928 * @return number 6929 * @note: btstack_type V 6930 */ 6931 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 6932 return &event[7]; 6933 } 6934 /** 6935 * @brief Get field alpha_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6936 * @param event packet 6937 * @return alpha_length 6938 * @note: btstack_type J 6939 */ 6940 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_alpha_length(const uint8_t * event){ 6941 return event[7u + event[6]]; 6942 } 6943 /** 6944 * @brief Get field alpha from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6945 * @param event packet 6946 * @return alpha 6947 * @note: btstack_type V 6948 */ 6949 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_alpha(const uint8_t * event){ 6950 return &event[7u + event[6] + 1u]; 6951 } 6952 6953 /** 6954 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6955 * @param event packet 6956 * @return acl_handle 6957 * @note: btstack_type H 6958 */ 6959 static inline hci_con_handle_t hfp_subevent_enhanced_call_status_get_acl_handle(const uint8_t * event){ 6960 return little_endian_read_16(event, 3); 6961 } 6962 /** 6963 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6964 * @param event packet 6965 * @return clcc_idx 6966 * @note: btstack_type 1 6967 */ 6968 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 6969 return event[5]; 6970 } 6971 /** 6972 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6973 * @param event packet 6974 * @return clcc_dir 6975 * @note: btstack_type 1 6976 */ 6977 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 6978 return event[6]; 6979 } 6980 /** 6981 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6982 * @param event packet 6983 * @return clcc_status 6984 * @note: btstack_type 1 6985 */ 6986 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 6987 return event[7]; 6988 } 6989 /** 6990 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6991 * @param event packet 6992 * @return clcc_mode 6993 * @note: btstack_type 1 6994 */ 6995 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 6996 return event[8]; 6997 } 6998 /** 6999 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7000 * @param event packet 7001 * @return clcc_mpty 7002 * @note: btstack_type 1 7003 */ 7004 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 7005 return event[9]; 7006 } 7007 /** 7008 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7009 * @param event packet 7010 * @return bnip_type 7011 * @note: btstack_type 1 7012 */ 7013 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 7014 return event[10]; 7015 } 7016 /** 7017 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7018 * @param event packet 7019 * @return bnip_number 7020 * @note: btstack_type T 7021 */ 7022 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 7023 return (const char *) &event[11]; 7024 } 7025 7026 /** 7027 * @brief Get field acl_handle from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7028 * @param event packet 7029 * @return acl_handle 7030 * @note: btstack_type H 7031 */ 7032 static inline hci_con_handle_t hfp_subevent_subscriber_number_information_get_acl_handle(const uint8_t * event){ 7033 return little_endian_read_16(event, 3); 7034 } 7035 /** 7036 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7037 * @param event packet 7038 * @return status 7039 * @note: btstack_type 1 7040 */ 7041 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 7042 return event[5]; 7043 } 7044 /** 7045 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7046 * @param event packet 7047 * @return bnip_type 7048 * @note: btstack_type 1 7049 */ 7050 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 7051 return event[6]; 7052 } 7053 /** 7054 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7055 * @param event packet 7056 * @return bnip_number 7057 * @note: btstack_type T 7058 */ 7059 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 7060 return (const char *) &event[7]; 7061 } 7062 7063 /** 7064 * @brief Get field acl_handle from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7065 * @param event packet 7066 * @return acl_handle 7067 * @note: btstack_type H 7068 */ 7069 static inline hci_con_handle_t hfp_subevent_response_and_hold_status_get_acl_handle(const uint8_t * event){ 7070 return little_endian_read_16(event, 3); 7071 } 7072 /** 7073 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7074 * @param event packet 7075 * @return value 7076 * @note: btstack_type T 7077 */ 7078 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 7079 return (const char *) &event[5]; 7080 } 7081 7082 /** 7083 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_SENT 7084 * @param event packet 7085 * @return acl_handle 7086 * @note: btstack_type H 7087 */ 7088 static inline hci_con_handle_t hfp_subevent_at_message_sent_get_acl_handle(const uint8_t * event){ 7089 return little_endian_read_16(event, 3); 7090 } 7091 /** 7092 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_SENT 7093 * @param event packet 7094 * @return command 7095 * @note: btstack_type T 7096 */ 7097 static inline const char * hfp_subevent_at_message_sent_get_command(const uint8_t * event){ 7098 return (const char *) &event[5]; 7099 } 7100 7101 /** 7102 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7103 * @param event packet 7104 * @return acl_handle 7105 * @note: btstack_type H 7106 */ 7107 static inline hci_con_handle_t hfp_subevent_at_message_received_get_acl_handle(const uint8_t * event){ 7108 return little_endian_read_16(event, 3); 7109 } 7110 /** 7111 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7112 * @param event packet 7113 * @return command 7114 * @note: btstack_type T 7115 */ 7116 static inline const char * hfp_subevent_at_message_received_get_command(const uint8_t * event){ 7117 return (const char *) &event[5]; 7118 } 7119 7120 /** 7121 * @brief Get field acl_handle from event HFP_SUBEVENT_IN_BAND_RING_TONE 7122 * @param event packet 7123 * @return acl_handle 7124 * @note: btstack_type H 7125 */ 7126 static inline hci_con_handle_t hfp_subevent_in_band_ring_tone_get_acl_handle(const uint8_t * event){ 7127 return little_endian_read_16(event, 3); 7128 } 7129 /** 7130 * @brief Get field status from event HFP_SUBEVENT_IN_BAND_RING_TONE 7131 * @param event packet 7132 * @return status 7133 * @note: btstack_type 1 7134 */ 7135 static inline uint8_t hfp_subevent_in_band_ring_tone_get_status(const uint8_t * event){ 7136 return event[5]; 7137 } 7138 7139 /** 7140 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7141 * @param event packet 7142 * @return acl_handle 7143 * @note: btstack_type H 7144 */ 7145 static inline hci_con_handle_t hfp_subevent_voice_recognition_activated_get_acl_handle(const uint8_t * event){ 7146 return little_endian_read_16(event, 3); 7147 } 7148 /** 7149 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7150 * @param event packet 7151 * @return status 7152 * @note: btstack_type 1 7153 */ 7154 static inline uint8_t hfp_subevent_voice_recognition_activated_get_status(const uint8_t * event){ 7155 return event[5]; 7156 } 7157 /** 7158 * @brief Get field enhanced from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7159 * @param event packet 7160 * @return enhanced 7161 * @note: btstack_type 1 7162 */ 7163 static inline uint8_t hfp_subevent_voice_recognition_activated_get_enhanced(const uint8_t * event){ 7164 return event[6]; 7165 } 7166 7167 /** 7168 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7169 * @param event packet 7170 * @return acl_handle 7171 * @note: btstack_type H 7172 */ 7173 static inline hci_con_handle_t hfp_subevent_voice_recognition_deactivated_get_acl_handle(const uint8_t * event){ 7174 return little_endian_read_16(event, 3); 7175 } 7176 /** 7177 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7178 * @param event packet 7179 * @return status 7180 * @note: btstack_type 1 7181 */ 7182 static inline uint8_t hfp_subevent_voice_recognition_deactivated_get_status(const uint8_t * event){ 7183 return event[5]; 7184 } 7185 7186 /** 7187 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7188 * @param event packet 7189 * @return acl_handle 7190 * @note: btstack_type H 7191 */ 7192 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_acl_handle(const uint8_t * event){ 7193 return little_endian_read_16(event, 3); 7194 } 7195 /** 7196 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7197 * @param event packet 7198 * @return status 7199 * @note: btstack_type 1 7200 */ 7201 static inline uint8_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_status(const uint8_t * event){ 7202 return event[5]; 7203 } 7204 7205 /** 7206 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7207 * @param event packet 7208 * @return acl_handle 7209 * @note: btstack_type H 7210 */ 7211 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_acl_handle(const uint8_t * event){ 7212 return little_endian_read_16(event, 3); 7213 } 7214 /** 7215 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7216 * @param event packet 7217 * @return status 7218 * @note: btstack_type 1 7219 */ 7220 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_status(const uint8_t * event){ 7221 return event[5]; 7222 } 7223 7224 /** 7225 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7226 * @param event packet 7227 * @return acl_handle 7228 * @note: btstack_type H 7229 */ 7230 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_acl_handle(const uint8_t * event){ 7231 return little_endian_read_16(event, 3); 7232 } 7233 /** 7234 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7235 * @param event packet 7236 * @return status 7237 * @note: btstack_type 1 7238 */ 7239 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_status(const uint8_t * event){ 7240 return event[5]; 7241 } 7242 7243 /** 7244 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7245 * @param event packet 7246 * @return acl_handle 7247 * @note: btstack_type H 7248 */ 7249 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_acl_handle(const uint8_t * event){ 7250 return little_endian_read_16(event, 3); 7251 } 7252 /** 7253 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7254 * @param event packet 7255 * @return status 7256 * @note: btstack_type 1 7257 */ 7258 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_status(const uint8_t * event){ 7259 return event[5]; 7260 } 7261 7262 /** 7263 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7264 * @param event packet 7265 * @return acl_handle 7266 * @note: btstack_type H 7267 */ 7268 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_acl_handle(const uint8_t * event){ 7269 return little_endian_read_16(event, 3); 7270 } 7271 /** 7272 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7273 * @param event packet 7274 * @return status 7275 * @note: btstack_type 1 7276 */ 7277 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_status(const uint8_t * event){ 7278 return event[5]; 7279 } 7280 7281 /** 7282 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7283 * @param event packet 7284 * @return acl_handle 7285 * @note: btstack_type H 7286 */ 7287 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_get_acl_handle(const uint8_t * event){ 7288 return little_endian_read_16(event, 3); 7289 } 7290 /** 7291 * @brief Get field text_id from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7292 * @param event packet 7293 * @return text_id 7294 * @note: btstack_type 2 7295 */ 7296 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_id(const uint8_t * event){ 7297 return little_endian_read_16(event, 5); 7298 } 7299 /** 7300 * @brief Get field text_type from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7301 * @param event packet 7302 * @return text_type 7303 * @note: btstack_type 1 7304 */ 7305 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_type(const uint8_t * event){ 7306 return event[7]; 7307 } 7308 /** 7309 * @brief Get field text_operation from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7310 * @param event packet 7311 * @return text_operation 7312 * @note: btstack_type 1 7313 */ 7314 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_operation(const uint8_t * event){ 7315 return event[8]; 7316 } 7317 /** 7318 * @brief Get field text_length from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7319 * @param event packet 7320 * @return text_length 7321 * @note: btstack_type L 7322 */ 7323 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_length(const uint8_t * event){ 7324 return little_endian_read_16(event, 9); 7325 } 7326 /** 7327 * @brief Get field text from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7328 * @param event packet 7329 * @return text 7330 * @note: btstack_type V 7331 */ 7332 static inline const uint8_t * hfp_subevent_enhanced_voice_recognition_ag_message_get_text(const uint8_t * event){ 7333 return &event[11]; 7334 } 7335 7336 /** 7337 * @brief Get field acl_handle from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7338 * @param event packet 7339 * @return acl_handle 7340 * @note: btstack_type H 7341 */ 7342 static inline hci_con_handle_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_acl_handle(const uint8_t * event){ 7343 return little_endian_read_16(event, 3); 7344 } 7345 /** 7346 * @brief Get field status from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7347 * @param event packet 7348 * @return status 7349 * @note: btstack_type 1 7350 */ 7351 static inline uint8_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_status(const uint8_t * event){ 7352 return event[5]; 7353 } 7354 7355 /** 7356 * @brief Get field acl_handle from event HFP_SUBEVENT_HF_INDICATOR 7357 * @param event packet 7358 * @return acl_handle 7359 * @note: btstack_type H 7360 */ 7361 static inline hci_con_handle_t hfp_subevent_hf_indicator_get_acl_handle(const uint8_t * event){ 7362 return little_endian_read_16(event, 3); 7363 } 7364 /** 7365 * @brief Get field uuid from event HFP_SUBEVENT_HF_INDICATOR 7366 * @param event packet 7367 * @return uuid 7368 * @note: btstack_type 2 7369 */ 7370 static inline uint16_t hfp_subevent_hf_indicator_get_uuid(const uint8_t * event){ 7371 return little_endian_read_16(event, 5); 7372 } 7373 /** 7374 * @brief Get field value from event HFP_SUBEVENT_HF_INDICATOR 7375 * @param event packet 7376 * @return value 7377 * @note: btstack_type 1 7378 */ 7379 static inline uint8_t hfp_subevent_hf_indicator_get_value(const uint8_t * event){ 7380 return event[7]; 7381 } 7382 7383 /** 7384 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7385 * @param event packet 7386 * @return acl_handle 7387 * @note: btstack_type H 7388 */ 7389 static inline hci_con_handle_t hfp_subevent_custom_at_command_get_acl_handle(const uint8_t * event){ 7390 return little_endian_read_16(event, 3); 7391 } 7392 /** 7393 * @brief Get field command_id from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7394 * @param event packet 7395 * @return command_id 7396 * @note: btstack_type 2 7397 */ 7398 static inline uint16_t hfp_subevent_custom_at_command_get_command_id(const uint8_t * event){ 7399 return little_endian_read_16(event, 5); 7400 } 7401 /** 7402 * @brief Get field command_string from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7403 * @param event packet 7404 * @return command_string 7405 * @note: btstack_type T 7406 */ 7407 static inline const char * hfp_subevent_custom_at_command_get_command_string(const uint8_t * event){ 7408 return (const char *) &event[7]; 7409 } 7410 7411 /** 7412 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7413 * @param event packet 7414 * @return acl_handle 7415 * @note: btstack_type H 7416 */ 7417 static inline hci_con_handle_t hfp_subevent_custom_at_message_sent_get_acl_handle(const uint8_t * event){ 7418 return little_endian_read_16(event, 3); 7419 } 7420 /** 7421 * @brief Get field status from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7422 * @param event packet 7423 * @return status 7424 * @note: btstack_type 1 7425 */ 7426 static inline uint8_t hfp_subevent_custom_at_message_sent_get_status(const uint8_t * event){ 7427 return event[5]; 7428 } 7429 7430 #ifdef ENABLE_BLE 7431 /** 7432 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 7433 * @param event packet 7434 * @return handle 7435 * @note: btstack_type H 7436 */ 7437 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 7438 return little_endian_read_16(event, 3); 7439 } 7440 #endif 7441 7442 #ifdef ENABLE_BLE 7443 /** 7444 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7445 * @param event packet 7446 * @return handle 7447 * @note: btstack_type H 7448 */ 7449 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 7450 return little_endian_read_16(event, 3); 7451 } 7452 /** 7453 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7454 * @param event packet 7455 * @return attribute_id 7456 * @note: btstack_type 2 7457 */ 7458 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 7459 return little_endian_read_16(event, 5); 7460 } 7461 /** 7462 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7463 * @param event packet 7464 * @return text 7465 * @note: btstack_type T 7466 */ 7467 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 7468 return (const char *) &event[7]; 7469 } 7470 #endif 7471 7472 #ifdef ENABLE_BLE 7473 /** 7474 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 7475 * @param event packet 7476 * @return handle 7477 * @note: btstack_type H 7478 */ 7479 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 7480 return little_endian_read_16(event, 3); 7481 } 7482 #endif 7483 7484 /** 7485 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7486 * @param event packet 7487 * @return avdtp_cid 7488 * @note: btstack_type 2 7489 */ 7490 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 7491 return little_endian_read_16(event, 3); 7492 } 7493 /** 7494 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7495 * @param event packet 7496 * @return local_seid 7497 * @note: btstack_type 1 7498 */ 7499 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 7500 return event[5]; 7501 } 7502 /** 7503 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7504 * @param event packet 7505 * @return is_initiator 7506 * @note: btstack_type 1 7507 */ 7508 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 7509 return event[6]; 7510 } 7511 /** 7512 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7513 * @param event packet 7514 * @return signal_identifier 7515 * @note: btstack_type 1 7516 */ 7517 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 7518 return event[7]; 7519 } 7520 7521 /** 7522 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7523 * @param event packet 7524 * @return avdtp_cid 7525 * @note: btstack_type 2 7526 */ 7527 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 7528 return little_endian_read_16(event, 3); 7529 } 7530 /** 7531 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7532 * @param event packet 7533 * @return local_seid 7534 * @note: btstack_type 1 7535 */ 7536 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 7537 return event[5]; 7538 } 7539 /** 7540 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 7541 * @param event packet 7542 * @return is_initiator 7543 * @note: btstack_type 1 7544 */ 7545 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 7546 return event[6]; 7547 } 7548 /** 7549 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 7550 * @param event packet 7551 * @return signal_identifier 7552 * @note: btstack_type 1 7553 */ 7554 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 7555 return event[7]; 7556 } 7557 7558 /** 7559 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7560 * @param event packet 7561 * @return avdtp_cid 7562 * @note: btstack_type 2 7563 */ 7564 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 7565 return little_endian_read_16(event, 3); 7566 } 7567 /** 7568 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7569 * @param event packet 7570 * @return local_seid 7571 * @note: btstack_type 1 7572 */ 7573 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 7574 return event[5]; 7575 } 7576 /** 7577 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7578 * @param event packet 7579 * @return is_initiator 7580 * @note: btstack_type 1 7581 */ 7582 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 7583 return event[6]; 7584 } 7585 /** 7586 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7587 * @param event packet 7588 * @return signal_identifier 7589 * @note: btstack_type 1 7590 */ 7591 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 7592 return event[7]; 7593 } 7594 7595 /** 7596 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7597 * @param event packet 7598 * @return avdtp_cid 7599 * @note: btstack_type 2 7600 */ 7601 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 7602 return little_endian_read_16(event, 3); 7603 } 7604 /** 7605 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7606 * @param event packet 7607 * @param Pointer to storage for bd_addr 7608 * @note: btstack_type B 7609 */ 7610 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7611 reverse_bytes(&event[5], bd_addr, 6); 7612 } 7613 /** 7614 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7615 * @param event packet 7616 * @return con_handle 7617 * @note: btstack_type 2 7618 */ 7619 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 7620 return little_endian_read_16(event, 11); 7621 } 7622 /** 7623 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7624 * @param event packet 7625 * @return status 7626 * @note: btstack_type 1 7627 */ 7628 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 7629 return event[13]; 7630 } 7631 7632 /** 7633 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 7634 * @param event packet 7635 * @return avdtp_cid 7636 * @note: btstack_type 2 7637 */ 7638 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 7639 return little_endian_read_16(event, 3); 7640 } 7641 7642 /** 7643 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7644 * @param event packet 7645 * @return avdtp_cid 7646 * @note: btstack_type 2 7647 */ 7648 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 7649 return little_endian_read_16(event, 3); 7650 } 7651 /** 7652 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7653 * @param event packet 7654 * @return remote_seid 7655 * @note: btstack_type 1 7656 */ 7657 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 7658 return event[5]; 7659 } 7660 /** 7661 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7662 * @param event packet 7663 * @return in_use 7664 * @note: btstack_type 1 7665 */ 7666 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 7667 return event[6]; 7668 } 7669 /** 7670 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7671 * @param event packet 7672 * @return media_type 7673 * @note: btstack_type 1 7674 */ 7675 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 7676 return event[7]; 7677 } 7678 /** 7679 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7680 * @param event packet 7681 * @return sep_type 7682 * @note: btstack_type 1 7683 */ 7684 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 7685 return event[8]; 7686 } 7687 7688 /** 7689 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7690 * @param event packet 7691 * @return avdtp_cid 7692 * @note: btstack_type 2 7693 */ 7694 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 7695 return little_endian_read_16(event, 3); 7696 } 7697 /** 7698 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7699 * @param event packet 7700 * @return remote_seid 7701 * @note: btstack_type 1 7702 */ 7703 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 7704 return event[5]; 7705 } 7706 /** 7707 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7708 * @param event packet 7709 * @return media_type 7710 * @note: btstack_type 1 7711 */ 7712 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 7713 return event[6]; 7714 } 7715 /** 7716 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7717 * @param event packet 7718 * @return sampling_frequency_bitmap 7719 * @note: btstack_type 1 7720 */ 7721 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7722 return event[7]; 7723 } 7724 /** 7725 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7726 * @param event packet 7727 * @return channel_mode_bitmap 7728 * @note: btstack_type 1 7729 */ 7730 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 7731 return event[8]; 7732 } 7733 /** 7734 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7735 * @param event packet 7736 * @return block_length_bitmap 7737 * @note: btstack_type 1 7738 */ 7739 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 7740 return event[9]; 7741 } 7742 /** 7743 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7744 * @param event packet 7745 * @return subbands_bitmap 7746 * @note: btstack_type 1 7747 */ 7748 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 7749 return event[10]; 7750 } 7751 /** 7752 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7753 * @param event packet 7754 * @return allocation_method_bitmap 7755 * @note: btstack_type 1 7756 */ 7757 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 7758 return event[11]; 7759 } 7760 /** 7761 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7762 * @param event packet 7763 * @return min_bitpool_value 7764 * @note: btstack_type 1 7765 */ 7766 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 7767 return event[12]; 7768 } 7769 /** 7770 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7771 * @param event packet 7772 * @return max_bitpool_value 7773 * @note: btstack_type 1 7774 */ 7775 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 7776 return event[13]; 7777 } 7778 7779 /** 7780 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7781 * @param event packet 7782 * @return avdtp_cid 7783 * @note: btstack_type 2 7784 */ 7785 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ 7786 return little_endian_read_16(event, 3); 7787 } 7788 /** 7789 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7790 * @param event packet 7791 * @return remote_seid 7792 * @note: btstack_type 1 7793 */ 7794 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 7795 return event[5]; 7796 } 7797 /** 7798 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7799 * @param event packet 7800 * @return media_type 7801 * @note: btstack_type 1 7802 */ 7803 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 7804 return event[6]; 7805 } 7806 /** 7807 * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7808 * @param event packet 7809 * @return layer_bitmap 7810 * @note: btstack_type 1 7811 */ 7812 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 7813 return event[7]; 7814 } 7815 /** 7816 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7817 * @param event packet 7818 * @return crc 7819 * @note: btstack_type 1 7820 */ 7821 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 7822 return event[8]; 7823 } 7824 /** 7825 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7826 * @param event packet 7827 * @return channel_mode_bitmap 7828 * @note: btstack_type 1 7829 */ 7830 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 7831 return event[9]; 7832 } 7833 /** 7834 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7835 * @param event packet 7836 * @return media_payload_format 7837 * @note: btstack_type 1 7838 */ 7839 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 7840 return event[10]; 7841 } 7842 /** 7843 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7844 * @param event packet 7845 * @return sampling_frequency_bitmap 7846 * @note: btstack_type 1 7847 */ 7848 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7849 return event[11]; 7850 } 7851 /** 7852 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7853 * @param event packet 7854 * @return vbr 7855 * @note: btstack_type 1 7856 */ 7857 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 7858 return event[12]; 7859 } 7860 /** 7861 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7862 * @param event packet 7863 * @return bit_rate_index_bitmap 7864 * @note: btstack_type 2 7865 */ 7866 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 7867 return little_endian_read_16(event, 13); 7868 } 7869 7870 /** 7871 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7872 * @param event packet 7873 * @return avdtp_cid 7874 * @note: btstack_type 2 7875 */ 7876 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ 7877 return little_endian_read_16(event, 3); 7878 } 7879 /** 7880 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7881 * @param event packet 7882 * @return remote_seid 7883 * @note: btstack_type 1 7884 */ 7885 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 7886 return event[5]; 7887 } 7888 /** 7889 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7890 * @param event packet 7891 * @return media_type 7892 * @note: btstack_type 1 7893 */ 7894 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 7895 return event[6]; 7896 } 7897 /** 7898 * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7899 * @param event packet 7900 * @return object_type_bitmap 7901 * @note: btstack_type 1 7902 */ 7903 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 7904 return event[7]; 7905 } 7906 /** 7907 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7908 * @param event packet 7909 * @return sampling_frequency_bitmap 7910 * @note: btstack_type 2 7911 */ 7912 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7913 return little_endian_read_16(event, 8); 7914 } 7915 /** 7916 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7917 * @param event packet 7918 * @return channels_bitmap 7919 * @note: btstack_type 1 7920 */ 7921 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 7922 return event[10]; 7923 } 7924 /** 7925 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7926 * @param event packet 7927 * @return bit_rate 7928 * @note: btstack_type 3 7929 */ 7930 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 7931 return little_endian_read_24(event, 11); 7932 } 7933 /** 7934 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7935 * @param event packet 7936 * @return vbr 7937 * @note: btstack_type 1 7938 */ 7939 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 7940 return event[14]; 7941 } 7942 7943 /** 7944 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7945 * @param event packet 7946 * @return avdtp_cid 7947 * @note: btstack_type 2 7948 */ 7949 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ 7950 return little_endian_read_16(event, 3); 7951 } 7952 /** 7953 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7954 * @param event packet 7955 * @return remote_seid 7956 * @note: btstack_type 1 7957 */ 7958 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 7959 return event[5]; 7960 } 7961 /** 7962 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7963 * @param event packet 7964 * @return media_type 7965 * @note: btstack_type 1 7966 */ 7967 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 7968 return event[6]; 7969 } 7970 /** 7971 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7972 * @param event packet 7973 * @return version 7974 * @note: btstack_type 1 7975 */ 7976 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 7977 return event[7]; 7978 } 7979 /** 7980 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7981 * @param event packet 7982 * @return channel_mode_bitmap 7983 * @note: btstack_type 1 7984 */ 7985 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 7986 return event[8]; 7987 } 7988 /** 7989 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7990 * @param event packet 7991 * @return sampling_frequency_bitmap 7992 * @note: btstack_type 1 7993 */ 7994 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7995 return event[9]; 7996 } 7997 /** 7998 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7999 * @param event packet 8000 * @return vbr 8001 * @note: btstack_type 1 8002 */ 8003 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 8004 return event[10]; 8005 } 8006 /** 8007 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8008 * @param event packet 8009 * @return bit_rate_index_bitmap 8010 * @note: btstack_type 3 8011 */ 8012 static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8013 return little_endian_read_24(event, 11); 8014 } 8015 /** 8016 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8017 * @param event packet 8018 * @return maximum_sul 8019 * @note: btstack_type 2 8020 */ 8021 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 8022 return little_endian_read_16(event, 14); 8023 } 8024 8025 /** 8026 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8027 * @param event packet 8028 * @return avdtp_cid 8029 * @note: btstack_type 2 8030 */ 8031 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 8032 return little_endian_read_16(event, 3); 8033 } 8034 /** 8035 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8036 * @param event packet 8037 * @return remote_seid 8038 * @note: btstack_type 1 8039 */ 8040 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 8041 return event[5]; 8042 } 8043 /** 8044 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8045 * @param event packet 8046 * @return media_type 8047 * @note: btstack_type 1 8048 */ 8049 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 8050 return event[6]; 8051 } 8052 /** 8053 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8054 * @param event packet 8055 * @return media_codec_type 8056 * @note: btstack_type 2 8057 */ 8058 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 8059 return little_endian_read_16(event, 7); 8060 } 8061 /** 8062 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8063 * @param event packet 8064 * @return media_codec_information_len 8065 * @note: btstack_type L 8066 */ 8067 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 8068 return little_endian_read_16(event, 9); 8069 } 8070 /** 8071 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8072 * @param event packet 8073 * @return media_codec_information 8074 * @note: btstack_type V 8075 */ 8076 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 8077 return &event[11]; 8078 } 8079 8080 /** 8081 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8082 * @param event packet 8083 * @return avdtp_cid 8084 * @note: btstack_type 2 8085 */ 8086 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 8087 return little_endian_read_16(event, 3); 8088 } 8089 /** 8090 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8091 * @param event packet 8092 * @return remote_seid 8093 * @note: btstack_type 1 8094 */ 8095 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 8096 return event[5]; 8097 } 8098 8099 /** 8100 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8101 * @param event packet 8102 * @return avdtp_cid 8103 * @note: btstack_type 2 8104 */ 8105 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8106 return little_endian_read_16(event, 3); 8107 } 8108 /** 8109 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8110 * @param event packet 8111 * @return remote_seid 8112 * @note: btstack_type 1 8113 */ 8114 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 8115 return event[5]; 8116 } 8117 8118 /** 8119 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8120 * @param event packet 8121 * @return avdtp_cid 8122 * @note: btstack_type 2 8123 */ 8124 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 8125 return little_endian_read_16(event, 3); 8126 } 8127 /** 8128 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8129 * @param event packet 8130 * @return remote_seid 8131 * @note: btstack_type 1 8132 */ 8133 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 8134 return event[5]; 8135 } 8136 /** 8137 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8138 * @param event packet 8139 * @return recovery_type 8140 * @note: btstack_type 1 8141 */ 8142 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 8143 return event[6]; 8144 } 8145 /** 8146 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8147 * @param event packet 8148 * @return maximum_recovery_window_size 8149 * @note: btstack_type 1 8150 */ 8151 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 8152 return event[7]; 8153 } 8154 /** 8155 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8156 * @param event packet 8157 * @return maximum_number_media_packets 8158 * @note: btstack_type 1 8159 */ 8160 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 8161 return event[8]; 8162 } 8163 8164 /** 8165 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8166 * @param event packet 8167 * @return avdtp_cid 8168 * @note: btstack_type 2 8169 */ 8170 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 8171 return little_endian_read_16(event, 3); 8172 } 8173 /** 8174 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8175 * @param event packet 8176 * @return remote_seid 8177 * @note: btstack_type 1 8178 */ 8179 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 8180 return event[5]; 8181 } 8182 /** 8183 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8184 * @param event packet 8185 * @return cp_type 8186 * @note: btstack_type 2 8187 */ 8188 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 8189 return little_endian_read_16(event, 6); 8190 } 8191 /** 8192 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8193 * @param event packet 8194 * @return cp_type_value_len 8195 * @note: btstack_type L 8196 */ 8197 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 8198 return little_endian_read_16(event, 8); 8199 } 8200 /** 8201 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8202 * @param event packet 8203 * @return cp_type_value 8204 * @note: btstack_type V 8205 */ 8206 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 8207 return &event[10]; 8208 } 8209 8210 /** 8211 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8212 * @param event packet 8213 * @return avdtp_cid 8214 * @note: btstack_type 2 8215 */ 8216 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 8217 return little_endian_read_16(event, 3); 8218 } 8219 /** 8220 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8221 * @param event packet 8222 * @return remote_seid 8223 * @note: btstack_type 1 8224 */ 8225 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 8226 return event[5]; 8227 } 8228 /** 8229 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8230 * @param event packet 8231 * @return fragmentation 8232 * @note: btstack_type 1 8233 */ 8234 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 8235 return event[6]; 8236 } 8237 /** 8238 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8239 * @param event packet 8240 * @return transport_identifiers_num 8241 * @note: btstack_type 1 8242 */ 8243 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 8244 return event[7]; 8245 } 8246 /** 8247 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8248 * @param event packet 8249 * @return transport_session_identifier_1 8250 * @note: btstack_type 1 8251 */ 8252 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 8253 return event[8]; 8254 } 8255 /** 8256 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8257 * @param event packet 8258 * @return transport_session_identifier_2 8259 * @note: btstack_type 1 8260 */ 8261 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 8262 return event[9]; 8263 } 8264 /** 8265 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8266 * @param event packet 8267 * @return transport_session_identifier_3 8268 * @note: btstack_type 1 8269 */ 8270 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 8271 return event[10]; 8272 } 8273 /** 8274 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8275 * @param event packet 8276 * @return tcid_1 8277 * @note: btstack_type 1 8278 */ 8279 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 8280 return event[11]; 8281 } 8282 /** 8283 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8284 * @param event packet 8285 * @return tcid_2 8286 * @note: btstack_type 1 8287 */ 8288 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 8289 return event[12]; 8290 } 8291 /** 8292 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8293 * @param event packet 8294 * @return tcid_3 8295 * @note: btstack_type 1 8296 */ 8297 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 8298 return event[13]; 8299 } 8300 8301 /** 8302 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8303 * @param event packet 8304 * @return avdtp_cid 8305 * @note: btstack_type 2 8306 */ 8307 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8308 return little_endian_read_16(event, 3); 8309 } 8310 /** 8311 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8312 * @param event packet 8313 * @return remote_seid 8314 * @note: btstack_type 1 8315 */ 8316 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 8317 return event[5]; 8318 } 8319 8320 /** 8321 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8322 * @param event packet 8323 * @return avdtp_cid 8324 * @note: btstack_type 2 8325 */ 8326 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 8327 return little_endian_read_16(event, 3); 8328 } 8329 /** 8330 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8331 * @param event packet 8332 * @return remote_seid 8333 * @note: btstack_type 1 8334 */ 8335 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 8336 return event[5]; 8337 } 8338 /** 8339 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8340 * @param event packet 8341 * @return back_ch 8342 * @note: btstack_type 1 8343 */ 8344 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 8345 return event[6]; 8346 } 8347 /** 8348 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8349 * @param event packet 8350 * @return media 8351 * @note: btstack_type 1 8352 */ 8353 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 8354 return event[7]; 8355 } 8356 /** 8357 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8358 * @param event packet 8359 * @return recovery 8360 * @note: btstack_type 1 8361 */ 8362 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 8363 return event[8]; 8364 } 8365 8366 /** 8367 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8368 * @param event packet 8369 * @return avdtp_cid 8370 * @note: btstack_type 2 8371 */ 8372 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 8373 return little_endian_read_16(event, 3); 8374 } 8375 /** 8376 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8377 * @param event packet 8378 * @return remote_seid 8379 * @note: btstack_type 1 8380 */ 8381 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 8382 return event[5]; 8383 } 8384 8385 /** 8386 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8387 * @param event packet 8388 * @return avdtp_cid 8389 * @note: btstack_type 2 8390 */ 8391 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 8392 return little_endian_read_16(event, 3); 8393 } 8394 /** 8395 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8396 * @param event packet 8397 * @return local_seid 8398 * @note: btstack_type 1 8399 */ 8400 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 8401 return event[5]; 8402 } 8403 /** 8404 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8405 * @param event packet 8406 * @return remote_seid 8407 * @note: btstack_type 1 8408 */ 8409 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 8410 return event[6]; 8411 } 8412 /** 8413 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8414 * @param event packet 8415 * @return reconfigure 8416 * @note: btstack_type 1 8417 */ 8418 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 8419 return event[7]; 8420 } 8421 /** 8422 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8423 * @param event packet 8424 * @return media_type 8425 * @note: btstack_type 1 8426 */ 8427 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 8428 return event[8]; 8429 } 8430 /** 8431 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8432 * @param event packet 8433 * @return sampling_frequency 8434 * @note: btstack_type 2 8435 */ 8436 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 8437 return little_endian_read_16(event, 9); 8438 } 8439 /** 8440 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8441 * @param event packet 8442 * @return channel_mode 8443 * @note: btstack_type 1 8444 */ 8445 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 8446 return event[11]; 8447 } 8448 /** 8449 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8450 * @param event packet 8451 * @return num_channels 8452 * @note: btstack_type 1 8453 */ 8454 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 8455 return event[12]; 8456 } 8457 /** 8458 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8459 * @param event packet 8460 * @return block_length 8461 * @note: btstack_type 1 8462 */ 8463 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 8464 return event[13]; 8465 } 8466 /** 8467 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8468 * @param event packet 8469 * @return subbands 8470 * @note: btstack_type 1 8471 */ 8472 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 8473 return event[14]; 8474 } 8475 /** 8476 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8477 * @param event packet 8478 * @return allocation_method 8479 * @note: btstack_type 1 8480 */ 8481 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 8482 return event[15]; 8483 } 8484 /** 8485 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8486 * @param event packet 8487 * @return min_bitpool_value 8488 * @note: btstack_type 1 8489 */ 8490 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 8491 return event[16]; 8492 } 8493 /** 8494 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8495 * @param event packet 8496 * @return max_bitpool_value 8497 * @note: btstack_type 1 8498 */ 8499 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 8500 return event[17]; 8501 } 8502 8503 /** 8504 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8505 * @param event packet 8506 * @return avdtp_cid 8507 * @note: btstack_type 2 8508 */ 8509 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ 8510 return little_endian_read_16(event, 3); 8511 } 8512 /** 8513 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8514 * @param event packet 8515 * @return local_seid 8516 * @note: btstack_type 1 8517 */ 8518 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 8519 return event[5]; 8520 } 8521 /** 8522 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8523 * @param event packet 8524 * @return remote_seid 8525 * @note: btstack_type 1 8526 */ 8527 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 8528 return event[6]; 8529 } 8530 /** 8531 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8532 * @param event packet 8533 * @return reconfigure 8534 * @note: btstack_type 1 8535 */ 8536 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 8537 return event[7]; 8538 } 8539 /** 8540 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8541 * @param event packet 8542 * @return media_type 8543 * @note: btstack_type 1 8544 */ 8545 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 8546 return event[8]; 8547 } 8548 /** 8549 * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8550 * @param event packet 8551 * @return layer 8552 * @note: btstack_type 1 8553 */ 8554 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 8555 return event[9]; 8556 } 8557 /** 8558 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8559 * @param event packet 8560 * @return crc 8561 * @note: btstack_type 1 8562 */ 8563 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 8564 return event[10]; 8565 } 8566 /** 8567 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8568 * @param event packet 8569 * @return channel_mode 8570 * @note: btstack_type 1 8571 */ 8572 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 8573 return event[11]; 8574 } 8575 /** 8576 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8577 * @param event packet 8578 * @return num_channels 8579 * @note: btstack_type 1 8580 */ 8581 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 8582 return event[12]; 8583 } 8584 /** 8585 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8586 * @param event packet 8587 * @return media_payload_format 8588 * @note: btstack_type 1 8589 */ 8590 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 8591 return event[13]; 8592 } 8593 /** 8594 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8595 * @param event packet 8596 * @return sampling_frequency 8597 * @note: btstack_type 2 8598 */ 8599 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 8600 return little_endian_read_16(event, 14); 8601 } 8602 /** 8603 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8604 * @param event packet 8605 * @return vbr 8606 * @note: btstack_type 1 8607 */ 8608 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 8609 return event[16]; 8610 } 8611 /** 8612 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8613 * @param event packet 8614 * @return bit_rate_index 8615 * @note: btstack_type 1 8616 */ 8617 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 8618 return event[17]; 8619 } 8620 8621 /** 8622 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8623 * @param event packet 8624 * @return avdtp_cid 8625 * @note: btstack_type 2 8626 */ 8627 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ 8628 return little_endian_read_16(event, 3); 8629 } 8630 /** 8631 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8632 * @param event packet 8633 * @return local_seid 8634 * @note: btstack_type 1 8635 */ 8636 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 8637 return event[5]; 8638 } 8639 /** 8640 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8641 * @param event packet 8642 * @return remote_seid 8643 * @note: btstack_type 1 8644 */ 8645 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 8646 return event[6]; 8647 } 8648 /** 8649 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8650 * @param event packet 8651 * @return reconfigure 8652 * @note: btstack_type 1 8653 */ 8654 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 8655 return event[7]; 8656 } 8657 /** 8658 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8659 * @param event packet 8660 * @return media_type 8661 * @note: btstack_type 1 8662 */ 8663 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 8664 return event[8]; 8665 } 8666 /** 8667 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8668 * @param event packet 8669 * @return object_type 8670 * @note: btstack_type 1 8671 */ 8672 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 8673 return event[9]; 8674 } 8675 /** 8676 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8677 * @param event packet 8678 * @return sampling_frequency 8679 * @note: btstack_type 3 8680 */ 8681 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 8682 return little_endian_read_24(event, 10); 8683 } 8684 /** 8685 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8686 * @param event packet 8687 * @return num_channels 8688 * @note: btstack_type 1 8689 */ 8690 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 8691 return event[13]; 8692 } 8693 /** 8694 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8695 * @param event packet 8696 * @return bit_rate 8697 * @note: btstack_type 3 8698 */ 8699 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 8700 return little_endian_read_24(event, 14); 8701 } 8702 /** 8703 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8704 * @param event packet 8705 * @return vbr 8706 * @note: btstack_type 1 8707 */ 8708 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 8709 return event[17]; 8710 } 8711 8712 /** 8713 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8714 * @param event packet 8715 * @return avdtp_cid 8716 * @note: btstack_type 2 8717 */ 8718 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ 8719 return little_endian_read_16(event, 3); 8720 } 8721 /** 8722 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8723 * @param event packet 8724 * @return local_seid 8725 * @note: btstack_type 1 8726 */ 8727 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 8728 return event[5]; 8729 } 8730 /** 8731 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8732 * @param event packet 8733 * @return remote_seid 8734 * @note: btstack_type 1 8735 */ 8736 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 8737 return event[6]; 8738 } 8739 /** 8740 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8741 * @param event packet 8742 * @return reconfigure 8743 * @note: btstack_type 1 8744 */ 8745 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 8746 return event[7]; 8747 } 8748 /** 8749 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8750 * @param event packet 8751 * @return media_type 8752 * @note: btstack_type 1 8753 */ 8754 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 8755 return event[8]; 8756 } 8757 /** 8758 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8759 * @param event packet 8760 * @return version 8761 * @note: btstack_type 1 8762 */ 8763 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 8764 return event[9]; 8765 } 8766 /** 8767 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8768 * @param event packet 8769 * @return channel_mode 8770 * @note: btstack_type 1 8771 */ 8772 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 8773 return event[10]; 8774 } 8775 /** 8776 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8777 * @param event packet 8778 * @return num_channels 8779 * @note: btstack_type 1 8780 */ 8781 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 8782 return event[11]; 8783 } 8784 /** 8785 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8786 * @param event packet 8787 * @return sampling_frequency 8788 * @note: btstack_type 2 8789 */ 8790 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 8791 return little_endian_read_16(event, 12); 8792 } 8793 /** 8794 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8795 * @param event packet 8796 * @return vbr 8797 * @note: btstack_type 1 8798 */ 8799 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 8800 return event[14]; 8801 } 8802 /** 8803 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8804 * @param event packet 8805 * @return bit_rate_index 8806 * @note: btstack_type 1 8807 */ 8808 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 8809 return event[15]; 8810 } 8811 /** 8812 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8813 * @param event packet 8814 * @return maximum_sul 8815 * @note: btstack_type 2 8816 */ 8817 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 8818 return little_endian_read_16(event, 16); 8819 } 8820 8821 /** 8822 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8823 * @param event packet 8824 * @return avdtp_cid 8825 * @note: btstack_type 2 8826 */ 8827 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 8828 return little_endian_read_16(event, 3); 8829 } 8830 /** 8831 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8832 * @param event packet 8833 * @return local_seid 8834 * @note: btstack_type 1 8835 */ 8836 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 8837 return event[5]; 8838 } 8839 /** 8840 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8841 * @param event packet 8842 * @return remote_seid 8843 * @note: btstack_type 1 8844 */ 8845 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 8846 return event[6]; 8847 } 8848 /** 8849 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8850 * @param event packet 8851 * @return reconfigure 8852 * @note: btstack_type 1 8853 */ 8854 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 8855 return event[7]; 8856 } 8857 /** 8858 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8859 * @param event packet 8860 * @return media_type 8861 * @note: btstack_type 1 8862 */ 8863 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 8864 return event[8]; 8865 } 8866 /** 8867 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8868 * @param event packet 8869 * @return media_codec_type 8870 * @note: btstack_type 2 8871 */ 8872 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 8873 return little_endian_read_16(event, 9); 8874 } 8875 /** 8876 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8877 * @param event packet 8878 * @return media_codec_information_len 8879 * @note: btstack_type L 8880 */ 8881 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 8882 return little_endian_read_16(event, 11); 8883 } 8884 /** 8885 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8886 * @param event packet 8887 * @return media_codec_information 8888 * @note: btstack_type V 8889 */ 8890 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 8891 return &event[13]; 8892 } 8893 8894 /** 8895 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8896 * @param event packet 8897 * @return avdtp_cid 8898 * @note: btstack_type 2 8899 */ 8900 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 8901 return little_endian_read_16(event, 3); 8902 } 8903 /** 8904 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8905 * @param event packet 8906 * @param Pointer to storage for bd_addr 8907 * @note: btstack_type B 8908 */ 8909 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8910 reverse_bytes(&event[5], bd_addr, 6); 8911 } 8912 /** 8913 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8914 * @param event packet 8915 * @return local_seid 8916 * @note: btstack_type 1 8917 */ 8918 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 8919 return event[11]; 8920 } 8921 /** 8922 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8923 * @param event packet 8924 * @return remote_seid 8925 * @note: btstack_type 1 8926 */ 8927 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 8928 return event[12]; 8929 } 8930 /** 8931 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8932 * @param event packet 8933 * @return status 8934 * @note: btstack_type 1 8935 */ 8936 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 8937 return event[13]; 8938 } 8939 8940 /** 8941 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 8942 * @param event packet 8943 * @return avdtp_cid 8944 * @note: btstack_type 2 8945 */ 8946 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 8947 return little_endian_read_16(event, 3); 8948 } 8949 /** 8950 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 8951 * @param event packet 8952 * @return local_seid 8953 * @note: btstack_type 1 8954 */ 8955 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 8956 return event[5]; 8957 } 8958 8959 /** 8960 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8961 * @param event packet 8962 * @return avdtp_cid 8963 * @note: btstack_type 2 8964 */ 8965 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 8966 return little_endian_read_16(event, 3); 8967 } 8968 /** 8969 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8970 * @param event packet 8971 * @return local_seid 8972 * @note: btstack_type 1 8973 */ 8974 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 8975 return event[5]; 8976 } 8977 /** 8978 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8979 * @param event packet 8980 * @return sequence_number 8981 * @note: btstack_type 2 8982 */ 8983 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 8984 return little_endian_read_16(event, 6); 8985 } 8986 8987 /** 8988 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 8989 * @param event packet 8990 * @return avdtp_cid 8991 * @note: btstack_type 2 8992 */ 8993 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 8994 return little_endian_read_16(event, 3); 8995 } 8996 8997 /** 8998 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 8999 * @param event packet 9000 * @return avdtp_cid 9001 * @note: btstack_type 2 9002 */ 9003 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 9004 return little_endian_read_16(event, 3); 9005 } 9006 /** 9007 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9008 * @param event packet 9009 * @return local_seid 9010 * @note: btstack_type 1 9011 */ 9012 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 9013 return event[5]; 9014 } 9015 /** 9016 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9017 * @param event packet 9018 * @return delay_100us 9019 * @note: btstack_type 2 9020 */ 9021 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 9022 return little_endian_read_16(event, 6); 9023 } 9024 9025 /** 9026 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9027 * @param event packet 9028 * @return a2dp_cid 9029 * @note: btstack_type 2 9030 */ 9031 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 9032 return little_endian_read_16(event, 3); 9033 } 9034 /** 9035 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9036 * @param event packet 9037 * @return local_seid 9038 * @note: btstack_type 1 9039 */ 9040 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9041 return event[5]; 9042 } 9043 9044 /** 9045 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9046 * @param event packet 9047 * @return a2dp_cid 9048 * @note: btstack_type 2 9049 */ 9050 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 9051 return little_endian_read_16(event, 3); 9052 } 9053 /** 9054 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9055 * @param event packet 9056 * @return local_seid 9057 * @note: btstack_type 1 9058 */ 9059 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 9060 return event[5]; 9061 } 9062 /** 9063 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9064 * @param event packet 9065 * @return remote_seid 9066 * @note: btstack_type 1 9067 */ 9068 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 9069 return event[6]; 9070 } 9071 /** 9072 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9073 * @param event packet 9074 * @return reconfigure 9075 * @note: btstack_type 1 9076 */ 9077 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 9078 return event[7]; 9079 } 9080 /** 9081 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9082 * @param event packet 9083 * @return media_type 9084 * @note: btstack_type 1 9085 */ 9086 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 9087 return event[8]; 9088 } 9089 /** 9090 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9091 * @param event packet 9092 * @return sampling_frequency 9093 * @note: btstack_type 2 9094 */ 9095 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 9096 return little_endian_read_16(event, 9); 9097 } 9098 /** 9099 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9100 * @param event packet 9101 * @return channel_mode 9102 * @note: btstack_type 1 9103 */ 9104 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 9105 return event[11]; 9106 } 9107 /** 9108 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9109 * @param event packet 9110 * @return num_channels 9111 * @note: btstack_type 1 9112 */ 9113 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 9114 return event[12]; 9115 } 9116 /** 9117 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9118 * @param event packet 9119 * @return block_length 9120 * @note: btstack_type 1 9121 */ 9122 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 9123 return event[13]; 9124 } 9125 /** 9126 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9127 * @param event packet 9128 * @return subbands 9129 * @note: btstack_type 1 9130 */ 9131 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 9132 return event[14]; 9133 } 9134 /** 9135 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9136 * @param event packet 9137 * @return allocation_method 9138 * @note: btstack_type 1 9139 */ 9140 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 9141 return event[15]; 9142 } 9143 /** 9144 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9145 * @param event packet 9146 * @return min_bitpool_value 9147 * @note: btstack_type 1 9148 */ 9149 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 9150 return event[16]; 9151 } 9152 /** 9153 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9154 * @param event packet 9155 * @return max_bitpool_value 9156 * @note: btstack_type 1 9157 */ 9158 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 9159 return event[17]; 9160 } 9161 9162 /** 9163 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9164 * @param event packet 9165 * @return a2dp_cid 9166 * @note: btstack_type 2 9167 */ 9168 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_a2dp_cid(const uint8_t * event){ 9169 return little_endian_read_16(event, 3); 9170 } 9171 /** 9172 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9173 * @param event packet 9174 * @return local_seid 9175 * @note: btstack_type 1 9176 */ 9177 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 9178 return event[5]; 9179 } 9180 /** 9181 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9182 * @param event packet 9183 * @return remote_seid 9184 * @note: btstack_type 1 9185 */ 9186 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 9187 return event[6]; 9188 } 9189 /** 9190 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9191 * @param event packet 9192 * @return reconfigure 9193 * @note: btstack_type 1 9194 */ 9195 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 9196 return event[7]; 9197 } 9198 /** 9199 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9200 * @param event packet 9201 * @return media_type 9202 * @note: btstack_type 1 9203 */ 9204 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 9205 return event[8]; 9206 } 9207 /** 9208 * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9209 * @param event packet 9210 * @return layer 9211 * @note: btstack_type 1 9212 */ 9213 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 9214 return event[9]; 9215 } 9216 /** 9217 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9218 * @param event packet 9219 * @return crc 9220 * @note: btstack_type 1 9221 */ 9222 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 9223 return event[10]; 9224 } 9225 /** 9226 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9227 * @param event packet 9228 * @return channel_mode 9229 * @note: btstack_type 1 9230 */ 9231 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 9232 return event[11]; 9233 } 9234 /** 9235 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9236 * @param event packet 9237 * @return num_channels 9238 * @note: btstack_type 1 9239 */ 9240 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 9241 return event[12]; 9242 } 9243 /** 9244 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9245 * @param event packet 9246 * @return media_payload_format 9247 * @note: btstack_type 1 9248 */ 9249 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 9250 return event[13]; 9251 } 9252 /** 9253 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9254 * @param event packet 9255 * @return sampling_frequency 9256 * @note: btstack_type 2 9257 */ 9258 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 9259 return little_endian_read_16(event, 14); 9260 } 9261 /** 9262 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9263 * @param event packet 9264 * @return vbr 9265 * @note: btstack_type 1 9266 */ 9267 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 9268 return event[16]; 9269 } 9270 /** 9271 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9272 * @param event packet 9273 * @return bit_rate_index 9274 * @note: btstack_type 1 9275 */ 9276 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 9277 return event[17]; 9278 } 9279 9280 /** 9281 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9282 * @param event packet 9283 * @return a2dp_cid 9284 * @note: btstack_type 2 9285 */ 9286 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_a2dp_cid(const uint8_t * event){ 9287 return little_endian_read_16(event, 3); 9288 } 9289 /** 9290 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9291 * @param event packet 9292 * @return local_seid 9293 * @note: btstack_type 1 9294 */ 9295 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 9296 return event[5]; 9297 } 9298 /** 9299 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9300 * @param event packet 9301 * @return remote_seid 9302 * @note: btstack_type 1 9303 */ 9304 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 9305 return event[6]; 9306 } 9307 /** 9308 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9309 * @param event packet 9310 * @return reconfigure 9311 * @note: btstack_type 1 9312 */ 9313 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 9314 return event[7]; 9315 } 9316 /** 9317 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9318 * @param event packet 9319 * @return media_type 9320 * @note: btstack_type 1 9321 */ 9322 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 9323 return event[8]; 9324 } 9325 /** 9326 * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9327 * @param event packet 9328 * @return object_type 9329 * @note: btstack_type 1 9330 */ 9331 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 9332 return event[9]; 9333 } 9334 /** 9335 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9336 * @param event packet 9337 * @return sampling_frequency 9338 * @note: btstack_type 3 9339 */ 9340 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 9341 return little_endian_read_24(event, 10); 9342 } 9343 /** 9344 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9345 * @param event packet 9346 * @return num_channels 9347 * @note: btstack_type 1 9348 */ 9349 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9350 return event[13]; 9351 } 9352 /** 9353 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9354 * @param event packet 9355 * @return bit_rate 9356 * @note: btstack_type 3 9357 */ 9358 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9359 return little_endian_read_24(event, 14); 9360 } 9361 /** 9362 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9363 * @param event packet 9364 * @return vbr 9365 * @note: btstack_type 1 9366 */ 9367 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9368 return event[17]; 9369 } 9370 9371 /** 9372 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9373 * @param event packet 9374 * @return a2dp_cid 9375 * @note: btstack_type 2 9376 */ 9377 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_a2dp_cid(const uint8_t * event){ 9378 return little_endian_read_16(event, 3); 9379 } 9380 /** 9381 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9382 * @param event packet 9383 * @return local_seid 9384 * @note: btstack_type 1 9385 */ 9386 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9387 return event[5]; 9388 } 9389 /** 9390 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9391 * @param event packet 9392 * @return remote_seid 9393 * @note: btstack_type 1 9394 */ 9395 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9396 return event[6]; 9397 } 9398 /** 9399 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9400 * @param event packet 9401 * @return reconfigure 9402 * @note: btstack_type 1 9403 */ 9404 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9405 return event[7]; 9406 } 9407 /** 9408 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9409 * @param event packet 9410 * @return media_type 9411 * @note: btstack_type 1 9412 */ 9413 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9414 return event[8]; 9415 } 9416 /** 9417 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9418 * @param event packet 9419 * @return version 9420 * @note: btstack_type 1 9421 */ 9422 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9423 return event[9]; 9424 } 9425 /** 9426 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9427 * @param event packet 9428 * @return channel_mode 9429 * @note: btstack_type 1 9430 */ 9431 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9432 return event[10]; 9433 } 9434 /** 9435 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9436 * @param event packet 9437 * @return num_channels 9438 * @note: btstack_type 1 9439 */ 9440 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9441 return event[11]; 9442 } 9443 /** 9444 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9445 * @param event packet 9446 * @return sampling_frequency 9447 * @note: btstack_type 2 9448 */ 9449 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9450 return little_endian_read_16(event, 12); 9451 } 9452 /** 9453 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9454 * @param event packet 9455 * @return vbr 9456 * @note: btstack_type 1 9457 */ 9458 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9459 return event[14]; 9460 } 9461 /** 9462 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9463 * @param event packet 9464 * @return bit_rate_index 9465 * @note: btstack_type 1 9466 */ 9467 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9468 return event[15]; 9469 } 9470 /** 9471 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9472 * @param event packet 9473 * @return maximum_sul 9474 * @note: btstack_type 2 9475 */ 9476 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9477 return little_endian_read_16(event, 16); 9478 } 9479 9480 /** 9481 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9482 * @param event packet 9483 * @return a2dp_cid 9484 * @note: btstack_type 2 9485 */ 9486 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 9487 return little_endian_read_16(event, 3); 9488 } 9489 /** 9490 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9491 * @param event packet 9492 * @return local_seid 9493 * @note: btstack_type 1 9494 */ 9495 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9496 return event[5]; 9497 } 9498 /** 9499 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9500 * @param event packet 9501 * @return remote_seid 9502 * @note: btstack_type 1 9503 */ 9504 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9505 return event[6]; 9506 } 9507 /** 9508 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9509 * @param event packet 9510 * @return reconfigure 9511 * @note: btstack_type 1 9512 */ 9513 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9514 return event[7]; 9515 } 9516 /** 9517 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9518 * @param event packet 9519 * @return media_type 9520 * @note: btstack_type 1 9521 */ 9522 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9523 return event[8]; 9524 } 9525 /** 9526 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9527 * @param event packet 9528 * @return media_codec_type 9529 * @note: btstack_type 2 9530 */ 9531 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9532 return little_endian_read_16(event, 9); 9533 } 9534 /** 9535 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9536 * @param event packet 9537 * @return media_codec_information_len 9538 * @note: btstack_type L 9539 */ 9540 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9541 return little_endian_read_16(event, 11); 9542 } 9543 /** 9544 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9545 * @param event packet 9546 * @return media_codec_information 9547 * @note: btstack_type V 9548 */ 9549 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9550 return &event[13]; 9551 } 9552 9553 /** 9554 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9555 * @param event packet 9556 * @return a2dp_cid 9557 * @note: btstack_type 2 9558 */ 9559 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 9560 return little_endian_read_16(event, 3); 9561 } 9562 /** 9563 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9564 * @param event packet 9565 * @param Pointer to storage for bd_addr 9566 * @note: btstack_type B 9567 */ 9568 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9569 reverse_bytes(&event[5], bd_addr, 6); 9570 } 9571 /** 9572 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9573 * @param event packet 9574 * @return local_seid 9575 * @note: btstack_type 1 9576 */ 9577 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 9578 return event[11]; 9579 } 9580 /** 9581 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9582 * @param event packet 9583 * @return remote_seid 9584 * @note: btstack_type 1 9585 */ 9586 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 9587 return event[12]; 9588 } 9589 /** 9590 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9591 * @param event packet 9592 * @return status 9593 * @note: btstack_type 1 9594 */ 9595 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 9596 return event[13]; 9597 } 9598 9599 /** 9600 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9601 * @param event packet 9602 * @return a2dp_cid 9603 * @note: btstack_type 2 9604 */ 9605 static inline uint16_t a2dp_subevent_start_stream_requested_get_a2dp_cid(const uint8_t * event){ 9606 return little_endian_read_16(event, 3); 9607 } 9608 /** 9609 * @brief Get field local_seid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9610 * @param event packet 9611 * @return local_seid 9612 * @note: btstack_type 1 9613 */ 9614 static inline uint8_t a2dp_subevent_start_stream_requested_get_local_seid(const uint8_t * event){ 9615 return event[5]; 9616 } 9617 9618 /** 9619 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 9620 * @param event packet 9621 * @return a2dp_cid 9622 * @note: btstack_type 2 9623 */ 9624 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 9625 return little_endian_read_16(event, 3); 9626 } 9627 /** 9628 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 9629 * @param event packet 9630 * @return local_seid 9631 * @note: btstack_type 1 9632 */ 9633 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 9634 return event[5]; 9635 } 9636 9637 /** 9638 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9639 * @param event packet 9640 * @return a2dp_cid 9641 * @note: btstack_type 2 9642 */ 9643 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 9644 return little_endian_read_16(event, 3); 9645 } 9646 /** 9647 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9648 * @param event packet 9649 * @return local_seid 9650 * @note: btstack_type 1 9651 */ 9652 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 9653 return event[5]; 9654 } 9655 9656 /** 9657 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 9658 * @param event packet 9659 * @return a2dp_cid 9660 * @note: btstack_type 2 9661 */ 9662 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 9663 return little_endian_read_16(event, 3); 9664 } 9665 /** 9666 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 9667 * @param event packet 9668 * @return local_seid 9669 * @note: btstack_type 1 9670 */ 9671 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 9672 return event[5]; 9673 } 9674 9675 /** 9676 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 9677 * @param event packet 9678 * @return a2dp_cid 9679 * @note: btstack_type 2 9680 */ 9681 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 9682 return little_endian_read_16(event, 3); 9683 } 9684 /** 9685 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 9686 * @param event packet 9687 * @return local_seid 9688 * @note: btstack_type 1 9689 */ 9690 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 9691 return event[5]; 9692 } 9693 9694 /** 9695 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9696 * @param event packet 9697 * @return a2dp_cid 9698 * @note: btstack_type 2 9699 */ 9700 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 9701 return little_endian_read_16(event, 3); 9702 } 9703 /** 9704 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9705 * @param event packet 9706 * @return local_seid 9707 * @note: btstack_type 1 9708 */ 9709 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 9710 return event[5]; 9711 } 9712 /** 9713 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9714 * @param event packet 9715 * @return signal_identifier 9716 * @note: btstack_type 1 9717 */ 9718 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 9719 return event[6]; 9720 } 9721 9722 /** 9723 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 9724 * @param event packet 9725 * @return a2dp_cid 9726 * @note: btstack_type 2 9727 */ 9728 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 9729 return little_endian_read_16(event, 3); 9730 } 9731 /** 9732 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 9733 * @param event packet 9734 * @return local_seid 9735 * @note: btstack_type 1 9736 */ 9737 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 9738 return event[5]; 9739 } 9740 /** 9741 * @brief Get field is_initiator from event A2DP_SUBEVENT_COMMAND_REJECTED 9742 * @param event packet 9743 * @return is_initiator 9744 * @note: btstack_type 1 9745 */ 9746 static inline uint8_t a2dp_subevent_command_rejected_get_is_initiator(const uint8_t * event){ 9747 return event[6]; 9748 } 9749 /** 9750 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 9751 * @param event packet 9752 * @return signal_identifier 9753 * @note: btstack_type 1 9754 */ 9755 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 9756 return event[7]; 9757 } 9758 9759 /** 9760 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9761 * @param event packet 9762 * @return a2dp_cid 9763 * @note: btstack_type 2 9764 */ 9765 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 9766 return little_endian_read_16(event, 3); 9767 } 9768 /** 9769 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9770 * @param event packet 9771 * @param Pointer to storage for bd_addr 9772 * @note: btstack_type B 9773 */ 9774 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9775 reverse_bytes(&event[5], bd_addr, 6); 9776 } 9777 /** 9778 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9779 * @param event packet 9780 * @return con_handle 9781 * @note: btstack_type 2 9782 */ 9783 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 9784 return little_endian_read_16(event, 11); 9785 } 9786 /** 9787 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9788 * @param event packet 9789 * @return status 9790 * @note: btstack_type 1 9791 */ 9792 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 9793 return event[13]; 9794 } 9795 9796 /** 9797 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 9798 * @param event packet 9799 * @return a2dp_cid 9800 * @note: btstack_type 2 9801 */ 9802 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 9803 return little_endian_read_16(event, 3); 9804 } 9805 9806 /** 9807 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9808 * @param event packet 9809 * @return a2dp_cid 9810 * @note: btstack_type 2 9811 */ 9812 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 9813 return little_endian_read_16(event, 3); 9814 } 9815 /** 9816 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9817 * @param event packet 9818 * @return local_seid 9819 * @note: btstack_type 1 9820 */ 9821 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 9822 return event[5]; 9823 } 9824 /** 9825 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9826 * @param event packet 9827 * @return status 9828 * @note: btstack_type 1 9829 */ 9830 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 9831 return event[6]; 9832 } 9833 9834 /** 9835 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9836 * @param event packet 9837 * @return a2dp_cid 9838 * @note: btstack_type 2 9839 */ 9840 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_a2dp_cid(const uint8_t * event){ 9841 return little_endian_read_16(event, 3); 9842 } 9843 /** 9844 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9845 * @param event packet 9846 * @return remote_seid 9847 * @note: btstack_type 1 9848 */ 9849 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 9850 return event[5]; 9851 } 9852 /** 9853 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9854 * @param event packet 9855 * @return media_type 9856 * @note: btstack_type 1 9857 */ 9858 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 9859 return event[6]; 9860 } 9861 /** 9862 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9863 * @param event packet 9864 * @return sampling_frequency_bitmap 9865 * @note: btstack_type 1 9866 */ 9867 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9868 return event[7]; 9869 } 9870 /** 9871 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9872 * @param event packet 9873 * @return channel_mode_bitmap 9874 * @note: btstack_type 1 9875 */ 9876 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 9877 return event[8]; 9878 } 9879 /** 9880 * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9881 * @param event packet 9882 * @return block_length_bitmap 9883 * @note: btstack_type 1 9884 */ 9885 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 9886 return event[9]; 9887 } 9888 /** 9889 * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9890 * @param event packet 9891 * @return subbands_bitmap 9892 * @note: btstack_type 1 9893 */ 9894 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 9895 return event[10]; 9896 } 9897 /** 9898 * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9899 * @param event packet 9900 * @return allocation_method_bitmap 9901 * @note: btstack_type 1 9902 */ 9903 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 9904 return event[11]; 9905 } 9906 /** 9907 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9908 * @param event packet 9909 * @return min_bitpool_value 9910 * @note: btstack_type 1 9911 */ 9912 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 9913 return event[12]; 9914 } 9915 /** 9916 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9917 * @param event packet 9918 * @return max_bitpool_value 9919 * @note: btstack_type 1 9920 */ 9921 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 9922 return event[13]; 9923 } 9924 9925 /** 9926 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9927 * @param event packet 9928 * @return a2dp_cid 9929 * @note: btstack_type 2 9930 */ 9931 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_a2dp_cid(const uint8_t * event){ 9932 return little_endian_read_16(event, 3); 9933 } 9934 /** 9935 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9936 * @param event packet 9937 * @return remote_seid 9938 * @note: btstack_type 1 9939 */ 9940 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 9941 return event[5]; 9942 } 9943 /** 9944 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9945 * @param event packet 9946 * @return media_type 9947 * @note: btstack_type 1 9948 */ 9949 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 9950 return event[6]; 9951 } 9952 /** 9953 * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9954 * @param event packet 9955 * @return layer_bitmap 9956 * @note: btstack_type 1 9957 */ 9958 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 9959 return event[7]; 9960 } 9961 /** 9962 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9963 * @param event packet 9964 * @return crc 9965 * @note: btstack_type 1 9966 */ 9967 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 9968 return event[8]; 9969 } 9970 /** 9971 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9972 * @param event packet 9973 * @return channel_mode_bitmap 9974 * @note: btstack_type 1 9975 */ 9976 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 9977 return event[9]; 9978 } 9979 /** 9980 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9981 * @param event packet 9982 * @return media_payload_format 9983 * @note: btstack_type 1 9984 */ 9985 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 9986 return event[10]; 9987 } 9988 /** 9989 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9990 * @param event packet 9991 * @return sampling_frequency_bitmap 9992 * @note: btstack_type 1 9993 */ 9994 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9995 return event[11]; 9996 } 9997 /** 9998 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9999 * @param event packet 10000 * @return vbr 10001 * @note: btstack_type 1 10002 */ 10003 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 10004 return event[12]; 10005 } 10006 /** 10007 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10008 * @param event packet 10009 * @return bit_rate_index_bitmap 10010 * @note: btstack_type 2 10011 */ 10012 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10013 return little_endian_read_16(event, 13); 10014 } 10015 10016 /** 10017 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10018 * @param event packet 10019 * @return a2dp_cid 10020 * @note: btstack_type 2 10021 */ 10022 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_a2dp_cid(const uint8_t * event){ 10023 return little_endian_read_16(event, 3); 10024 } 10025 /** 10026 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10027 * @param event packet 10028 * @return remote_seid 10029 * @note: btstack_type 1 10030 */ 10031 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 10032 return event[5]; 10033 } 10034 /** 10035 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10036 * @param event packet 10037 * @return media_type 10038 * @note: btstack_type 1 10039 */ 10040 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 10041 return event[6]; 10042 } 10043 /** 10044 * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10045 * @param event packet 10046 * @return object_type_bitmap 10047 * @note: btstack_type 1 10048 */ 10049 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 10050 return event[7]; 10051 } 10052 /** 10053 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10054 * @param event packet 10055 * @return sampling_frequency_bitmap 10056 * @note: btstack_type 2 10057 */ 10058 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10059 return little_endian_read_16(event, 8); 10060 } 10061 /** 10062 * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10063 * @param event packet 10064 * @return channels_bitmap 10065 * @note: btstack_type 1 10066 */ 10067 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 10068 return event[10]; 10069 } 10070 /** 10071 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10072 * @param event packet 10073 * @return bit_rate 10074 * @note: btstack_type 3 10075 */ 10076 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 10077 return little_endian_read_24(event, 11); 10078 } 10079 /** 10080 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10081 * @param event packet 10082 * @return vbr 10083 * @note: btstack_type 1 10084 */ 10085 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 10086 return event[14]; 10087 } 10088 10089 /** 10090 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10091 * @param event packet 10092 * @return a2dp_cid 10093 * @note: btstack_type 2 10094 */ 10095 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_a2dp_cid(const uint8_t * event){ 10096 return little_endian_read_16(event, 3); 10097 } 10098 /** 10099 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10100 * @param event packet 10101 * @return remote_seid 10102 * @note: btstack_type 1 10103 */ 10104 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 10105 return event[5]; 10106 } 10107 /** 10108 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10109 * @param event packet 10110 * @return media_type 10111 * @note: btstack_type 1 10112 */ 10113 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 10114 return event[6]; 10115 } 10116 /** 10117 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10118 * @param event packet 10119 * @return version 10120 * @note: btstack_type 1 10121 */ 10122 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 10123 return event[7]; 10124 } 10125 /** 10126 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10127 * @param event packet 10128 * @return channel_mode_bitmap 10129 * @note: btstack_type 1 10130 */ 10131 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 10132 return event[8]; 10133 } 10134 /** 10135 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10136 * @param event packet 10137 * @return sampling_frequency_bitmap 10138 * @note: btstack_type 1 10139 */ 10140 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10141 return event[9]; 10142 } 10143 /** 10144 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10145 * @param event packet 10146 * @return vbr 10147 * @note: btstack_type 1 10148 */ 10149 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 10150 return event[10]; 10151 } 10152 /** 10153 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10154 * @param event packet 10155 * @return bit_rate_index_bitmap 10156 * @note: btstack_type 3 10157 */ 10158 static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10159 return little_endian_read_24(event, 11); 10160 } 10161 /** 10162 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10163 * @param event packet 10164 * @return maximum_sul 10165 * @note: btstack_type 2 10166 */ 10167 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 10168 return little_endian_read_16(event, 14); 10169 } 10170 10171 /** 10172 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10173 * @param event packet 10174 * @return a2dp_cid 10175 * @note: btstack_type 2 10176 */ 10177 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_a2dp_cid(const uint8_t * event){ 10178 return little_endian_read_16(event, 3); 10179 } 10180 /** 10181 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10182 * @param event packet 10183 * @return remote_seid 10184 * @note: btstack_type 1 10185 */ 10186 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 10187 return event[5]; 10188 } 10189 /** 10190 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10191 * @param event packet 10192 * @return media_type 10193 * @note: btstack_type 1 10194 */ 10195 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 10196 return event[6]; 10197 } 10198 /** 10199 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10200 * @param event packet 10201 * @return media_codec_type 10202 * @note: btstack_type 2 10203 */ 10204 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 10205 return little_endian_read_16(event, 7); 10206 } 10207 /** 10208 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10209 * @param event packet 10210 * @return media_codec_information_len 10211 * @note: btstack_type L 10212 */ 10213 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 10214 return little_endian_read_16(event, 9); 10215 } 10216 /** 10217 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10218 * @param event packet 10219 * @return media_codec_information 10220 * @note: btstack_type V 10221 */ 10222 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 10223 return &event[11]; 10224 } 10225 10226 /** 10227 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10228 * @param event packet 10229 * @return a2dp_cid 10230 * @note: btstack_type 2 10231 */ 10232 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_a2dp_cid(const uint8_t * event){ 10233 return little_endian_read_16(event, 3); 10234 } 10235 /** 10236 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10237 * @param event packet 10238 * @return remote_seid 10239 * @note: btstack_type 1 10240 */ 10241 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 10242 return event[5]; 10243 } 10244 10245 /** 10246 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10247 * @param event packet 10248 * @return a2dp_cid 10249 * @note: btstack_type 2 10250 */ 10251 static inline uint16_t a2dp_subevent_signaling_delay_report_get_a2dp_cid(const uint8_t * event){ 10252 return little_endian_read_16(event, 3); 10253 } 10254 /** 10255 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10256 * @param event packet 10257 * @return local_seid 10258 * @note: btstack_type 1 10259 */ 10260 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 10261 return event[5]; 10262 } 10263 /** 10264 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10265 * @param event packet 10266 * @return delay_100us 10267 * @note: btstack_type 2 10268 */ 10269 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 10270 return little_endian_read_16(event, 6); 10271 } 10272 10273 /** 10274 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10275 * @param event packet 10276 * @return a2dp_cid 10277 * @note: btstack_type 2 10278 */ 10279 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_a2dp_cid(const uint8_t * event){ 10280 return little_endian_read_16(event, 3); 10281 } 10282 /** 10283 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10284 * @param event packet 10285 * @return remote_seid 10286 * @note: btstack_type 1 10287 */ 10288 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 10289 return event[5]; 10290 } 10291 10292 /** 10293 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 10294 * @param event packet 10295 * @return a2dp_cid 10296 * @note: btstack_type 2 10297 */ 10298 static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_a2dp_cid(const uint8_t * event){ 10299 return little_endian_read_16(event, 3); 10300 } 10301 10302 /** 10303 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10304 * @param event packet 10305 * @return avrcp_cid 10306 * @note: btstack_type 2 10307 */ 10308 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 10309 return little_endian_read_16(event, 3); 10310 } 10311 /** 10312 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10313 * @param event packet 10314 * @return command_type 10315 * @note: btstack_type 1 10316 */ 10317 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 10318 return event[5]; 10319 } 10320 /** 10321 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10322 * @param event packet 10323 * @return play_status 10324 * @note: btstack_type 1 10325 */ 10326 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 10327 return event[6]; 10328 } 10329 10330 /** 10331 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10332 * @param event packet 10333 * @return avrcp_cid 10334 * @note: btstack_type 2 10335 */ 10336 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 10337 return little_endian_read_16(event, 3); 10338 } 10339 /** 10340 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10341 * @param event packet 10342 * @return command_type 10343 * @note: btstack_type 1 10344 */ 10345 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 10346 return event[5]; 10347 } 10348 10349 /** 10350 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10351 * @param event packet 10352 * @return avrcp_cid 10353 * @note: btstack_type 2 10354 */ 10355 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 10356 return little_endian_read_16(event, 3); 10357 } 10358 /** 10359 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10360 * @param event packet 10361 * @return command_type 10362 * @note: btstack_type 1 10363 */ 10364 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 10365 return event[5]; 10366 } 10367 10368 /** 10369 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10370 * @param event packet 10371 * @return avrcp_cid 10372 * @note: btstack_type 2 10373 */ 10374 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){ 10375 return little_endian_read_16(event, 3); 10376 } 10377 /** 10378 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10379 * @param event packet 10380 * @return command_type 10381 * @note: btstack_type 1 10382 */ 10383 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 10384 return event[5]; 10385 } 10386 10387 /** 10388 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10389 * @param event packet 10390 * @return avrcp_cid 10391 * @note: btstack_type 2 10392 */ 10393 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 10394 return little_endian_read_16(event, 3); 10395 } 10396 /** 10397 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10398 * @param event packet 10399 * @return command_type 10400 * @note: btstack_type 1 10401 */ 10402 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 10403 return event[5]; 10404 } 10405 /** 10406 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10407 * @param event packet 10408 * @return playback_position 10409 * @note: btstack_type 4 10410 */ 10411 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 10412 return little_endian_read_32(event, 6); 10413 } 10414 10415 /** 10416 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10417 * @param event packet 10418 * @return avrcp_cid 10419 * @note: btstack_type 2 10420 */ 10421 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 10422 return little_endian_read_16(event, 3); 10423 } 10424 /** 10425 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10426 * @param event packet 10427 * @return command_type 10428 * @note: btstack_type 1 10429 */ 10430 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 10431 return event[5]; 10432 } 10433 /** 10434 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10435 * @param event packet 10436 * @return battery_status 10437 * @note: btstack_type 1 10438 */ 10439 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 10440 return event[6]; 10441 } 10442 10443 /** 10444 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10445 * @param event packet 10446 * @return avrcp_cid 10447 * @note: btstack_type 2 10448 */ 10449 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 10450 return little_endian_read_16(event, 3); 10451 } 10452 /** 10453 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10454 * @param event packet 10455 * @return command_type 10456 * @note: btstack_type 1 10457 */ 10458 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 10459 return event[5]; 10460 } 10461 /** 10462 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10463 * @param event packet 10464 * @return system_status 10465 * @note: btstack_type 1 10466 */ 10467 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 10468 return event[6]; 10469 } 10470 10471 /** 10472 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10473 * @param event packet 10474 * @return avrcp_cid 10475 * @note: btstack_type 2 10476 */ 10477 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 10478 return little_endian_read_16(event, 3); 10479 } 10480 /** 10481 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10482 * @param event packet 10483 * @return command_type 10484 * @note: btstack_type 1 10485 */ 10486 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 10487 return event[5]; 10488 } 10489 10490 /** 10491 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10492 * @param event packet 10493 * @return avrcp_cid 10494 * @note: btstack_type 2 10495 */ 10496 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 10497 return little_endian_read_16(event, 3); 10498 } 10499 /** 10500 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10501 * @param event packet 10502 * @return command_type 10503 * @note: btstack_type 1 10504 */ 10505 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 10506 return event[5]; 10507 } 10508 10509 /** 10510 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10511 * @param event packet 10512 * @return avrcp_cid 10513 * @note: btstack_type 2 10514 */ 10515 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 10516 return little_endian_read_16(event, 3); 10517 } 10518 /** 10519 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10520 * @param event packet 10521 * @return command_type 10522 * @note: btstack_type 1 10523 */ 10524 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 10525 return event[5]; 10526 } 10527 /** 10528 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10529 * @param event packet 10530 * @return uid_counter 10531 * @note: btstack_type 2 10532 */ 10533 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 10534 return little_endian_read_16(event, 6); 10535 } 10536 10537 /** 10538 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10539 * @param event packet 10540 * @return avrcp_cid 10541 * @note: btstack_type 2 10542 */ 10543 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 10544 return little_endian_read_16(event, 3); 10545 } 10546 /** 10547 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10548 * @param event packet 10549 * @return command_type 10550 * @note: btstack_type 1 10551 */ 10552 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 10553 return event[5]; 10554 } 10555 /** 10556 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10557 * @param event packet 10558 * @return absolute_volume 10559 * @note: btstack_type 1 10560 */ 10561 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 10562 return event[6]; 10563 } 10564 10565 /** 10566 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10567 * @param event packet 10568 * @return avrcp_cid 10569 * @note: btstack_type 2 10570 */ 10571 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 10572 return little_endian_read_16(event, 3); 10573 } 10574 /** 10575 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10576 * @param event packet 10577 * @return command_type 10578 * @note: btstack_type 1 10579 */ 10580 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 10581 return event[5]; 10582 } 10583 /** 10584 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10585 * @param event packet 10586 * @return absolute_volume 10587 * @note: btstack_type 1 10588 */ 10589 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 10590 return event[6]; 10591 } 10592 10593 /** 10594 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10595 * @param event packet 10596 * @return avrcp_cid 10597 * @note: btstack_type 2 10598 */ 10599 static inline uint16_t avrcp_subevent_notification_state_get_avrcp_cid(const uint8_t * event){ 10600 return little_endian_read_16(event, 3); 10601 } 10602 /** 10603 * @brief Get field status from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10604 * @param event packet 10605 * @return status 10606 * @note: btstack_type 1 10607 */ 10608 static inline uint8_t avrcp_subevent_notification_state_get_status(const uint8_t * event){ 10609 return event[5]; 10610 } 10611 /** 10612 * @brief Get field enabled from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10613 * @param event packet 10614 * @return enabled 10615 * @note: btstack_type 1 10616 */ 10617 static inline uint8_t avrcp_subevent_notification_state_get_enabled(const uint8_t * event){ 10618 return event[6]; 10619 } 10620 /** 10621 * @brief Get field event_id from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10622 * @param event packet 10623 * @return event_id 10624 * @note: btstack_type 1 10625 */ 10626 static inline uint8_t avrcp_subevent_notification_state_get_event_id(const uint8_t * event){ 10627 return event[7]; 10628 } 10629 10630 /** 10631 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10632 * @param event packet 10633 * @return status 10634 * @note: btstack_type 1 10635 */ 10636 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 10637 return event[3]; 10638 } 10639 /** 10640 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10641 * @param event packet 10642 * @return avrcp_cid 10643 * @note: btstack_type 2 10644 */ 10645 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 10646 return little_endian_read_16(event, 4); 10647 } 10648 /** 10649 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10650 * @param event packet 10651 * @param Pointer to storage for bd_addr 10652 * @note: btstack_type B 10653 */ 10654 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10655 reverse_bytes(&event[6], bd_addr, 6); 10656 } 10657 /** 10658 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10659 * @param event packet 10660 * @return con_handle 10661 * @note: btstack_type 2 10662 */ 10663 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 10664 return little_endian_read_16(event, 12); 10665 } 10666 10667 /** 10668 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 10669 * @param event packet 10670 * @return avrcp_cid 10671 * @note: btstack_type 2 10672 */ 10673 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 10674 return little_endian_read_16(event, 3); 10675 } 10676 10677 /** 10678 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10679 * @param event packet 10680 * @return avrcp_cid 10681 * @note: btstack_type 2 10682 */ 10683 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 10684 return little_endian_read_16(event, 3); 10685 } 10686 /** 10687 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10688 * @param event packet 10689 * @return command_type 10690 * @note: btstack_type 1 10691 */ 10692 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 10693 return event[5]; 10694 } 10695 /** 10696 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10697 * @param event packet 10698 * @return repeat_mode 10699 * @note: btstack_type 1 10700 */ 10701 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 10702 return event[6]; 10703 } 10704 /** 10705 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10706 * @param event packet 10707 * @return shuffle_mode 10708 * @note: btstack_type 1 10709 */ 10710 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 10711 return event[7]; 10712 } 10713 10714 /** 10715 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 10716 * @param event packet 10717 * @return avrcp_cid 10718 * @note: btstack_type 2 10719 */ 10720 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 10721 return little_endian_read_16(event, 3); 10722 } 10723 /** 10724 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 10725 * @param event packet 10726 * @return command_type 10727 * @note: btstack_type 1 10728 */ 10729 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 10730 return event[5]; 10731 } 10732 /** 10733 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 10734 * @param event packet 10735 * @return song_length 10736 * @note: btstack_type 4 10737 */ 10738 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 10739 return little_endian_read_32(event, 6); 10740 } 10741 /** 10742 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 10743 * @param event packet 10744 * @return song_position 10745 * @note: btstack_type 4 10746 */ 10747 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 10748 return little_endian_read_32(event, 10); 10749 } 10750 /** 10751 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 10752 * @param event packet 10753 * @return play_status 10754 * @note: btstack_type 1 10755 */ 10756 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 10757 return event[14]; 10758 } 10759 10760 /** 10761 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 10762 * @param event packet 10763 * @return avrcp_cid 10764 * @note: btstack_type 2 10765 */ 10766 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 10767 return little_endian_read_16(event, 3); 10768 } 10769 /** 10770 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 10771 * @param event packet 10772 * @return command_type 10773 * @note: btstack_type 1 10774 */ 10775 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 10776 return event[5]; 10777 } 10778 /** 10779 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 10780 * @param event packet 10781 * @return operation_id 10782 * @note: btstack_type 1 10783 */ 10784 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 10785 return event[6]; 10786 } 10787 10788 /** 10789 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10790 * @param event packet 10791 * @return avrcp_cid 10792 * @note: btstack_type 2 10793 */ 10794 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 10795 return little_endian_read_16(event, 3); 10796 } 10797 /** 10798 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10799 * @param event packet 10800 * @return command_type 10801 * @note: btstack_type 1 10802 */ 10803 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 10804 return event[5]; 10805 } 10806 /** 10807 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10808 * @param event packet 10809 * @return operation_id 10810 * @note: btstack_type 1 10811 */ 10812 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 10813 return event[6]; 10814 } 10815 10816 /** 10817 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 10818 * @param event packet 10819 * @return avrcp_cid 10820 * @note: btstack_type 2 10821 */ 10822 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 10823 return little_endian_read_16(event, 3); 10824 } 10825 /** 10826 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 10827 * @param event packet 10828 * @return command_type 10829 * @note: btstack_type 1 10830 */ 10831 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 10832 return event[5]; 10833 } 10834 10835 /** 10836 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 10837 * @param event packet 10838 * @return avrcp_cid 10839 * @note: btstack_type 2 10840 */ 10841 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 10842 return little_endian_read_16(event, 3); 10843 } 10844 10845 /** 10846 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 10847 * @param event packet 10848 * @return avrcp_cid 10849 * @note: btstack_type 2 10850 */ 10851 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 10852 return little_endian_read_16(event, 3); 10853 } 10854 /** 10855 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 10856 * @param event packet 10857 * @return operation_id 10858 * @note: btstack_type 1 10859 */ 10860 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 10861 return event[5]; 10862 } 10863 /** 10864 * @brief Get field button_pressed from event AVRCP_SUBEVENT_OPERATION 10865 * @param event packet 10866 * @return button_pressed 10867 * @note: btstack_type 1 10868 */ 10869 static inline uint8_t avrcp_subevent_operation_get_button_pressed(const uint8_t * event){ 10870 return event[6]; 10871 } 10872 /** 10873 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 10874 * @param event packet 10875 * @return operands_length 10876 * @note: btstack_type 1 10877 */ 10878 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 10879 return event[7]; 10880 } 10881 /** 10882 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 10883 * @param event packet 10884 * @return operand 10885 * @note: btstack_type 1 10886 */ 10887 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 10888 return event[8]; 10889 } 10890 10891 /** 10892 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 10893 * @param event packet 10894 * @return avrcp_cid 10895 * @note: btstack_type 2 10896 */ 10897 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 10898 return little_endian_read_16(event, 3); 10899 } 10900 /** 10901 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 10902 * @param event packet 10903 * @return command_type 10904 * @note: btstack_type 1 10905 */ 10906 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 10907 return event[5]; 10908 } 10909 /** 10910 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 10911 * @param event packet 10912 * @return track 10913 * @note: btstack_type 1 10914 */ 10915 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 10916 return event[6]; 10917 } 10918 10919 /** 10920 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 10921 * @param event packet 10922 * @return avrcp_cid 10923 * @note: btstack_type 2 10924 */ 10925 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 10926 return little_endian_read_16(event, 3); 10927 } 10928 /** 10929 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 10930 * @param event packet 10931 * @return command_type 10932 * @note: btstack_type 1 10933 */ 10934 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 10935 return event[5]; 10936 } 10937 /** 10938 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 10939 * @param event packet 10940 * @return total_tracks 10941 * @note: btstack_type 1 10942 */ 10943 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 10944 return event[6]; 10945 } 10946 10947 /** 10948 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 10949 * @param event packet 10950 * @return avrcp_cid 10951 * @note: btstack_type 2 10952 */ 10953 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 10954 return little_endian_read_16(event, 3); 10955 } 10956 /** 10957 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 10958 * @param event packet 10959 * @return command_type 10960 * @note: btstack_type 1 10961 */ 10962 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 10963 return event[5]; 10964 } 10965 /** 10966 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 10967 * @param event packet 10968 * @return song_length 10969 * @note: btstack_type 4 10970 */ 10971 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 10972 return little_endian_read_32(event, 6); 10973 } 10974 10975 /** 10976 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10977 * @param event packet 10978 * @return avrcp_cid 10979 * @note: btstack_type 2 10980 */ 10981 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 10982 return little_endian_read_16(event, 3); 10983 } 10984 /** 10985 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10986 * @param event packet 10987 * @return command_type 10988 * @note: btstack_type 1 10989 */ 10990 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 10991 return event[5]; 10992 } 10993 /** 10994 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10995 * @param event packet 10996 * @return value_len 10997 * @note: btstack_type J 10998 */ 10999 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 11000 return event[6]; 11001 } 11002 /** 11003 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11004 * @param event packet 11005 * @return value 11006 * @note: btstack_type V 11007 */ 11008 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 11009 return &event[7]; 11010 } 11011 11012 /** 11013 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11014 * @param event packet 11015 * @return avrcp_cid 11016 * @note: btstack_type 2 11017 */ 11018 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 11019 return little_endian_read_16(event, 3); 11020 } 11021 /** 11022 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11023 * @param event packet 11024 * @return command_type 11025 * @note: btstack_type 1 11026 */ 11027 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 11028 return event[5]; 11029 } 11030 /** 11031 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11032 * @param event packet 11033 * @return value_len 11034 * @note: btstack_type J 11035 */ 11036 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 11037 return event[6]; 11038 } 11039 /** 11040 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11041 * @param event packet 11042 * @return value 11043 * @note: btstack_type V 11044 */ 11045 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 11046 return &event[7]; 11047 } 11048 11049 /** 11050 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11051 * @param event packet 11052 * @return avrcp_cid 11053 * @note: btstack_type 2 11054 */ 11055 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 11056 return little_endian_read_16(event, 3); 11057 } 11058 /** 11059 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11060 * @param event packet 11061 * @return command_type 11062 * @note: btstack_type 1 11063 */ 11064 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 11065 return event[5]; 11066 } 11067 /** 11068 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11069 * @param event packet 11070 * @return value_len 11071 * @note: btstack_type J 11072 */ 11073 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 11074 return event[6]; 11075 } 11076 /** 11077 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11078 * @param event packet 11079 * @return value 11080 * @note: btstack_type V 11081 */ 11082 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 11083 return &event[7]; 11084 } 11085 11086 /** 11087 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11088 * @param event packet 11089 * @return avrcp_cid 11090 * @note: btstack_type 2 11091 */ 11092 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 11093 return little_endian_read_16(event, 3); 11094 } 11095 /** 11096 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11097 * @param event packet 11098 * @return command_type 11099 * @note: btstack_type 1 11100 */ 11101 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 11102 return event[5]; 11103 } 11104 /** 11105 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11106 * @param event packet 11107 * @return value_len 11108 * @note: btstack_type J 11109 */ 11110 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 11111 return event[6]; 11112 } 11113 /** 11114 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11115 * @param event packet 11116 * @return value 11117 * @note: btstack_type V 11118 */ 11119 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 11120 return &event[7]; 11121 } 11122 11123 /** 11124 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11125 * @param event packet 11126 * @return avrcp_cid 11127 * @note: btstack_type 2 11128 */ 11129 static inline uint16_t avrcp_subevent_now_playing_cover_art_info_get_avrcp_cid(const uint8_t * event){ 11130 return little_endian_read_16(event, 3); 11131 } 11132 /** 11133 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11134 * @param event packet 11135 * @return command_type 11136 * @note: btstack_type 1 11137 */ 11138 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_command_type(const uint8_t * event){ 11139 return event[5]; 11140 } 11141 /** 11142 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11143 * @param event packet 11144 * @return value_len 11145 * @note: btstack_type J 11146 */ 11147 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_value_len(const uint8_t * event){ 11148 return event[6]; 11149 } 11150 /** 11151 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11152 * @param event packet 11153 * @return value 11154 * @note: btstack_type V 11155 */ 11156 static inline const uint8_t * avrcp_subevent_now_playing_cover_art_info_get_value(const uint8_t * event){ 11157 return &event[7]; 11158 } 11159 11160 /** 11161 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11162 * @param event packet 11163 * @return avrcp_cid 11164 * @note: btstack_type 2 11165 */ 11166 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 11167 return little_endian_read_16(event, 3); 11168 } 11169 /** 11170 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11171 * @param event packet 11172 * @return command_type 11173 * @note: btstack_type 1 11174 */ 11175 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 11176 return event[5]; 11177 } 11178 /** 11179 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11180 * @param event packet 11181 * @return status 11182 * @note: btstack_type 1 11183 */ 11184 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 11185 return event[6]; 11186 } 11187 11188 /** 11189 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11190 * @param event packet 11191 * @return avrcp_cid 11192 * @note: btstack_type 2 11193 */ 11194 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 11195 return little_endian_read_16(event, 3); 11196 } 11197 /** 11198 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11199 * @param event packet 11200 * @return command_type 11201 * @note: btstack_type 1 11202 */ 11203 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 11204 return event[5]; 11205 } 11206 /** 11207 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11208 * @param event packet 11209 * @return playback_position_ms 11210 * @note: btstack_type 4 11211 */ 11212 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 11213 return little_endian_read_32(event, 6); 11214 } 11215 11216 /** 11217 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11218 * @param event packet 11219 * @return avrcp_cid 11220 * @note: btstack_type 2 11221 */ 11222 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 11223 return little_endian_read_16(event, 3); 11224 } 11225 /** 11226 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11227 * @param event packet 11228 * @return command_type 11229 * @note: btstack_type 1 11230 */ 11231 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 11232 return event[5]; 11233 } 11234 /** 11235 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11236 * @param event packet 11237 * @return status 11238 * @note: btstack_type 1 11239 */ 11240 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 11241 return event[6]; 11242 } 11243 /** 11244 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11245 * @param event packet 11246 * @return event_id 11247 * @note: btstack_type 1 11248 */ 11249 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 11250 return event[7]; 11251 } 11252 11253 /** 11254 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11255 * @param event packet 11256 * @return avrcp_cid 11257 * @note: btstack_type 2 11258 */ 11259 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){ 11260 return little_endian_read_16(event, 3); 11261 } 11262 /** 11263 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11264 * @param event packet 11265 * @return command_type 11266 * @note: btstack_type 1 11267 */ 11268 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 11269 return event[5]; 11270 } 11271 /** 11272 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11273 * @param event packet 11274 * @return status 11275 * @note: btstack_type 1 11276 */ 11277 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 11278 return event[6]; 11279 } 11280 11281 /** 11282 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11283 * @param event packet 11284 * @return avrcp_cid 11285 * @note: btstack_type 2 11286 */ 11287 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 11288 return little_endian_read_16(event, 3); 11289 } 11290 /** 11291 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11292 * @param event packet 11293 * @return command_type 11294 * @note: btstack_type 1 11295 */ 11296 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 11297 return event[5]; 11298 } 11299 /** 11300 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11301 * @param event packet 11302 * @return status 11303 * @note: btstack_type 1 11304 */ 11305 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 11306 return event[6]; 11307 } 11308 /** 11309 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11310 * @param event packet 11311 * @return company_id 11312 * @note: btstack_type 3 11313 */ 11314 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 11315 return little_endian_read_24(event, 7); 11316 } 11317 11318 /** 11319 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11320 * @param event packet 11321 * @return avrcp_cid 11322 * @note: btstack_type 2 11323 */ 11324 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){ 11325 return little_endian_read_16(event, 3); 11326 } 11327 /** 11328 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11329 * @param event packet 11330 * @return command_type 11331 * @note: btstack_type 1 11332 */ 11333 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 11334 return event[5]; 11335 } 11336 /** 11337 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11338 * @param event packet 11339 * @return status 11340 * @note: btstack_type 1 11341 */ 11342 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 11343 return event[6]; 11344 } 11345 11346 /** 11347 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11348 * @param event packet 11349 * @return avrcp_cid 11350 * @note: btstack_type 2 11351 */ 11352 static inline uint16_t avrcp_subevent_custom_command_response_get_avrcp_cid(const uint8_t * event){ 11353 return little_endian_read_16(event, 3); 11354 } 11355 /** 11356 * @brief Get field command_type from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11357 * @param event packet 11358 * @return command_type 11359 * @note: btstack_type 1 11360 */ 11361 static inline uint8_t avrcp_subevent_custom_command_response_get_command_type(const uint8_t * event){ 11362 return event[5]; 11363 } 11364 /** 11365 * @brief Get field pdu_id from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11366 * @param event packet 11367 * @return pdu_id 11368 * @note: btstack_type 1 11369 */ 11370 static inline uint8_t avrcp_subevent_custom_command_response_get_pdu_id(const uint8_t * event){ 11371 return event[6]; 11372 } 11373 /** 11374 * @brief Get field params_len from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11375 * @param event packet 11376 * @return params_len 11377 * @note: btstack_type L 11378 */ 11379 static inline uint16_t avrcp_subevent_custom_command_response_get_params_len(const uint8_t * event){ 11380 return little_endian_read_16(event, 7); 11381 } 11382 /** 11383 * @brief Get field params from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11384 * @param event packet 11385 * @return params 11386 * @note: btstack_type V 11387 */ 11388 static inline const uint8_t * avrcp_subevent_custom_command_response_get_params(const uint8_t * event){ 11389 return &event[9]; 11390 } 11391 11392 /** 11393 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11394 * @param event packet 11395 * @param Pointer to storage for bd_addr 11396 * @note: btstack_type B 11397 */ 11398 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11399 reverse_bytes(&event[3], bd_addr, 6); 11400 } 11401 /** 11402 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11403 * @param event packet 11404 * @return browsing_cid 11405 * @note: btstack_type 2 11406 */ 11407 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 11408 return little_endian_read_16(event, 9); 11409 } 11410 11411 /** 11412 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11413 * @param event packet 11414 * @return status 11415 * @note: btstack_type 1 11416 */ 11417 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 11418 return event[3]; 11419 } 11420 /** 11421 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11422 * @param event packet 11423 * @param Pointer to storage for bd_addr 11424 * @note: btstack_type B 11425 */ 11426 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11427 reverse_bytes(&event[4], bd_addr, 6); 11428 } 11429 /** 11430 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11431 * @param event packet 11432 * @return browsing_cid 11433 * @note: btstack_type 2 11434 */ 11435 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 11436 return little_endian_read_16(event, 10); 11437 } 11438 11439 /** 11440 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 11441 * @param event packet 11442 * @return browsing_cid 11443 * @note: btstack_type 2 11444 */ 11445 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 11446 return little_endian_read_16(event, 3); 11447 } 11448 11449 /** 11450 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 11451 * @param event packet 11452 * @return browsing_cid 11453 * @note: btstack_type 2 11454 */ 11455 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 11456 return little_endian_read_16(event, 3); 11457 } 11458 /** 11459 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 11460 * @param event packet 11461 * @return uid_counter 11462 * @note: btstack_type 2 11463 */ 11464 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 11465 return little_endian_read_16(event, 5); 11466 } 11467 /** 11468 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 11469 * @param event packet 11470 * @return browsing_status 11471 * @note: btstack_type 1 11472 */ 11473 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 11474 return event[7]; 11475 } 11476 /** 11477 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 11478 * @param event packet 11479 * @return bluetooth_status 11480 * @note: btstack_type 1 11481 */ 11482 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 11483 return event[8]; 11484 } 11485 11486 /** 11487 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11488 * @param event packet 11489 * @return browsing_cid 11490 * @note: btstack_type 2 11491 */ 11492 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 11493 return little_endian_read_16(event, 3); 11494 } 11495 /** 11496 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11497 * @param event packet 11498 * @return scope 11499 * @note: btstack_type 1 11500 */ 11501 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 11502 return event[5]; 11503 } 11504 /** 11505 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11506 * @param event packet 11507 * @return attr_bitmap 11508 * @note: btstack_type 4 11509 */ 11510 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 11511 return little_endian_read_32(event, 6); 11512 } 11513 11514 /** 11515 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11516 * @param event packet 11517 * @return browsing_cid 11518 * @note: btstack_type 2 11519 */ 11520 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 11521 return little_endian_read_16(event, 3); 11522 } 11523 /** 11524 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11525 * @param event packet 11526 * @return scope 11527 * @note: btstack_type 1 11528 */ 11529 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 11530 return event[5]; 11531 } 11532 11533 /** 11534 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11535 * @param event packet 11536 * @return browsing_cid 11537 * @note: btstack_type 2 11538 */ 11539 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_browsing_cid(const uint8_t * event){ 11540 return little_endian_read_16(event, 3); 11541 } 11542 /** 11543 * @brief Get field player_id from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11544 * @param event packet 11545 * @return player_id 11546 * @note: btstack_type 2 11547 */ 11548 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_player_id(const uint8_t * event){ 11549 return little_endian_read_16(event, 5); 11550 } 11551 11552 /** 11553 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11554 * @param event packet 11555 * @return status 11556 * @note: btstack_type 1 11557 */ 11558 static inline uint8_t avrcp_subevent_cover_art_connection_established_get_status(const uint8_t * event){ 11559 return event[3]; 11560 } 11561 /** 11562 * @brief Get field bd_addr from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11563 * @param event packet 11564 * @param Pointer to storage for bd_addr 11565 * @note: btstack_type B 11566 */ 11567 static inline void avrcp_subevent_cover_art_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11568 reverse_bytes(&event[4], bd_addr, 6); 11569 } 11570 /** 11571 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11572 * @param event packet 11573 * @return avrcp_cid 11574 * @note: btstack_type 2 11575 */ 11576 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_avrcp_cid(const uint8_t * event){ 11577 return little_endian_read_16(event, 10); 11578 } 11579 /** 11580 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11581 * @param event packet 11582 * @return cover_art_cid 11583 * @note: btstack_type 2 11584 */ 11585 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_cover_art_cid(const uint8_t * event){ 11586 return little_endian_read_16(event, 12); 11587 } 11588 11589 /** 11590 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11591 * @param event packet 11592 * @return cover_art_cid 11593 * @note: btstack_type 2 11594 */ 11595 static inline uint16_t avrcp_subevent_cover_art_operation_complete_get_cover_art_cid(const uint8_t * event){ 11596 return little_endian_read_16(event, 3); 11597 } 11598 /** 11599 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11600 * @param event packet 11601 * @return status 11602 * @note: btstack_type 1 11603 */ 11604 static inline uint8_t avrcp_subevent_cover_art_operation_complete_get_status(const uint8_t * event){ 11605 return event[5]; 11606 } 11607 11608 /** 11609 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_RELEASED 11610 * @param event packet 11611 * @return cover_art_cid 11612 * @note: btstack_type 2 11613 */ 11614 static inline uint16_t avrcp_subevent_cover_art_connection_released_get_cover_art_cid(const uint8_t * event){ 11615 return little_endian_read_16(event, 3); 11616 } 11617 11618 /** 11619 * @brief Get field goep_cid from event GOEP_SUBEVENT_INCOMING_CONNECTION 11620 * @param event packet 11621 * @return goep_cid 11622 * @note: btstack_type 2 11623 */ 11624 static inline uint16_t goep_subevent_incoming_connection_get_goep_cid(const uint8_t * event){ 11625 return little_endian_read_16(event, 3); 11626 } 11627 /** 11628 * @brief Get field address from event GOEP_SUBEVENT_INCOMING_CONNECTION 11629 * @param event packet 11630 * @param Pointer to storage for address 11631 * @note: btstack_type B 11632 */ 11633 static inline void goep_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 11634 reverse_bytes(&event[5], address, 6); 11635 } 11636 /** 11637 * @brief Get field handle from event GOEP_SUBEVENT_INCOMING_CONNECTION 11638 * @param event packet 11639 * @return handle 11640 * @note: btstack_type H 11641 */ 11642 static inline hci_con_handle_t goep_subevent_incoming_connection_get_handle(const uint8_t * event){ 11643 return little_endian_read_16(event, 11); 11644 } 11645 11646 /** 11647 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 11648 * @param event packet 11649 * @return goep_cid 11650 * @note: btstack_type 2 11651 */ 11652 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 11653 return little_endian_read_16(event, 3); 11654 } 11655 /** 11656 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 11657 * @param event packet 11658 * @return status 11659 * @note: btstack_type 1 11660 */ 11661 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 11662 return event[5]; 11663 } 11664 /** 11665 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 11666 * @param event packet 11667 * @param Pointer to storage for bd_addr 11668 * @note: btstack_type B 11669 */ 11670 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11671 reverse_bytes(&event[6], bd_addr, 6); 11672 } 11673 /** 11674 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 11675 * @param event packet 11676 * @return con_handle 11677 * @note: btstack_type H 11678 */ 11679 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 11680 return little_endian_read_16(event, 12); 11681 } 11682 /** 11683 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 11684 * @param event packet 11685 * @return incoming 11686 * @note: btstack_type 1 11687 */ 11688 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 11689 return event[14]; 11690 } 11691 11692 /** 11693 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 11694 * @param event packet 11695 * @return goep_cid 11696 * @note: btstack_type 2 11697 */ 11698 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 11699 return little_endian_read_16(event, 3); 11700 } 11701 11702 /** 11703 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 11704 * @param event packet 11705 * @return goep_cid 11706 * @note: btstack_type 2 11707 */ 11708 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 11709 return little_endian_read_16(event, 3); 11710 } 11711 11712 /** 11713 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 11714 * @param event packet 11715 * @return pbap_cid 11716 * @note: btstack_type 2 11717 */ 11718 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 11719 return little_endian_read_16(event, 3); 11720 } 11721 /** 11722 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 11723 * @param event packet 11724 * @return status 11725 * @note: btstack_type 1 11726 */ 11727 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 11728 return event[5]; 11729 } 11730 /** 11731 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 11732 * @param event packet 11733 * @param Pointer to storage for bd_addr 11734 * @note: btstack_type B 11735 */ 11736 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11737 reverse_bytes(&event[6], bd_addr, 6); 11738 } 11739 /** 11740 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 11741 * @param event packet 11742 * @return con_handle 11743 * @note: btstack_type H 11744 */ 11745 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 11746 return little_endian_read_16(event, 12); 11747 } 11748 /** 11749 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 11750 * @param event packet 11751 * @return incoming 11752 * @note: btstack_type 1 11753 */ 11754 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 11755 return event[14]; 11756 } 11757 11758 /** 11759 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 11760 * @param event packet 11761 * @return goep_cid 11762 * @note: btstack_type 2 11763 */ 11764 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 11765 return little_endian_read_16(event, 3); 11766 } 11767 11768 /** 11769 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 11770 * @param event packet 11771 * @return goep_cid 11772 * @note: btstack_type 2 11773 */ 11774 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 11775 return little_endian_read_16(event, 3); 11776 } 11777 /** 11778 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 11779 * @param event packet 11780 * @return status 11781 * @note: btstack_type 1 11782 */ 11783 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 11784 return event[5]; 11785 } 11786 11787 /** 11788 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11789 * @param event packet 11790 * @return goep_cid 11791 * @note: btstack_type 2 11792 */ 11793 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 11794 return little_endian_read_16(event, 3); 11795 } 11796 /** 11797 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11798 * @param event packet 11799 * @return status 11800 * @note: btstack_type 1 11801 */ 11802 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 11803 return event[5]; 11804 } 11805 /** 11806 * @brief Get field phonebook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11807 * @param event packet 11808 * @return phonebook_size 11809 * @note: btstack_type 2 11810 */ 11811 static inline uint16_t pbap_subevent_phonebook_size_get_phonebook_size(const uint8_t * event){ 11812 return little_endian_read_16(event, 6); 11813 } 11814 11815 /** 11816 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11817 * @param event packet 11818 * @return goep_cid 11819 * @note: btstack_type 2 11820 */ 11821 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 11822 return little_endian_read_16(event, 3); 11823 } 11824 /** 11825 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11826 * @param event packet 11827 * @return user_id_required 11828 * @note: btstack_type 1 11829 */ 11830 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 11831 return event[5]; 11832 } 11833 /** 11834 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11835 * @param event packet 11836 * @return full_access 11837 * @note: btstack_type 1 11838 */ 11839 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 11840 return event[6]; 11841 } 11842 11843 /** 11844 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 11845 * @param event packet 11846 * @return goep_cid 11847 * @note: btstack_type 2 11848 */ 11849 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 11850 return little_endian_read_16(event, 3); 11851 } 11852 /** 11853 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 11854 * @param event packet 11855 * @return name_len 11856 * @note: btstack_type J 11857 */ 11858 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 11859 return event[5]; 11860 } 11861 /** 11862 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 11863 * @param event packet 11864 * @return name 11865 * @note: btstack_type V 11866 */ 11867 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 11868 return &event[6]; 11869 } 11870 /** 11871 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 11872 * @param event packet 11873 * @return handle_len 11874 * @note: btstack_type J 11875 */ 11876 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 11877 return event[6u + event[5]]; 11878 } 11879 /** 11880 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 11881 * @param event packet 11882 * @return handle 11883 * @note: btstack_type V 11884 */ 11885 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 11886 return &event[6u + event[5] + 1u]; 11887 } 11888 11889 /** 11890 * @brief Get field goep_cid from event PBAP_SUBEVENT_RESET_MISSED_CALLS 11891 * @param event packet 11892 * @return goep_cid 11893 * @note: btstack_type 2 11894 */ 11895 static inline uint16_t pbap_subevent_reset_missed_calls_get_goep_cid(const uint8_t * event){ 11896 return little_endian_read_16(event, 3); 11897 } 11898 /** 11899 * @brief Get field phonebook from event PBAP_SUBEVENT_RESET_MISSED_CALLS 11900 * @param event packet 11901 * @return phonebook 11902 * @note: btstack_type 1 11903 */ 11904 static inline uint8_t pbap_subevent_reset_missed_calls_get_phonebook(const uint8_t * event){ 11905 return event[5]; 11906 } 11907 11908 /** 11909 * @brief Get field goep_cid from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11910 * @param event packet 11911 * @return goep_cid 11912 * @note: btstack_type 2 11913 */ 11914 static inline uint16_t pbap_subevent_query_phonebook_size_get_goep_cid(const uint8_t * event){ 11915 return little_endian_read_16(event, 3); 11916 } 11917 /** 11918 * @brief Get field vcard_selector from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11919 * @param event packet 11920 * @return vcard_selector 11921 * @note: btstack_type 4 11922 */ 11923 static inline uint32_t pbap_subevent_query_phonebook_size_get_vcard_selector(const uint8_t * event){ 11924 return little_endian_read_32(event, 5); 11925 } 11926 /** 11927 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11928 * @param event packet 11929 * @return vcard_selector_operator 11930 * @note: btstack_type 1 11931 */ 11932 static inline uint8_t pbap_subevent_query_phonebook_size_get_vcard_selector_operator(const uint8_t * event){ 11933 return event[9]; 11934 } 11935 /** 11936 * @brief Get field phonebook from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11937 * @param event packet 11938 * @return phonebook 11939 * @note: btstack_type 1 11940 */ 11941 static inline uint8_t pbap_subevent_query_phonebook_size_get_phonebook(const uint8_t * event){ 11942 return event[10]; 11943 } 11944 11945 /** 11946 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_PHONEBOOK 11947 * @param event packet 11948 * @return goep_cid 11949 * @note: btstack_type 2 11950 */ 11951 static inline uint16_t pbap_subevent_pull_phonebook_get_goep_cid(const uint8_t * event){ 11952 return little_endian_read_16(event, 3); 11953 } 11954 /** 11955 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_PHONEBOOK 11956 * @param event packet 11957 * @return continuation 11958 * @note: btstack_type 4 11959 */ 11960 static inline uint32_t pbap_subevent_pull_phonebook_get_continuation(const uint8_t * event){ 11961 return little_endian_read_32(event, 5); 11962 } 11963 /** 11964 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 11965 * @param event packet 11966 * @return property_selector 11967 * @note: btstack_type 4 11968 */ 11969 static inline uint32_t pbap_subevent_pull_phonebook_get_property_selector(const uint8_t * event){ 11970 return little_endian_read_32(event, 9); 11971 } 11972 /** 11973 * @brief Get field format from event PBAP_SUBEVENT_PULL_PHONEBOOK 11974 * @param event packet 11975 * @return format 11976 * @note: btstack_type 1 11977 */ 11978 static inline uint8_t pbap_subevent_pull_phonebook_get_format(const uint8_t * event){ 11979 return event[13]; 11980 } 11981 /** 11982 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_PHONEBOOK 11983 * @param event packet 11984 * @return max_list_count 11985 * @note: btstack_type 2 11986 */ 11987 static inline uint16_t pbap_subevent_pull_phonebook_get_max_list_count(const uint8_t * event){ 11988 return little_endian_read_16(event, 14); 11989 } 11990 /** 11991 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_PHONEBOOK 11992 * @param event packet 11993 * @return list_start_offset 11994 * @note: btstack_type 2 11995 */ 11996 static inline uint16_t pbap_subevent_pull_phonebook_get_list_start_offset(const uint8_t * event){ 11997 return little_endian_read_16(event, 16); 11998 } 11999 /** 12000 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12001 * @param event packet 12002 * @return vcard_selector 12003 * @note: btstack_type 4 12004 */ 12005 static inline uint32_t pbap_subevent_pull_phonebook_get_vcard_selector(const uint8_t * event){ 12006 return little_endian_read_32(event, 18); 12007 } 12008 /** 12009 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_PHONEBOOK 12010 * @param event packet 12011 * @return vcard_selector_operator 12012 * @note: btstack_type 1 12013 */ 12014 static inline uint8_t pbap_subevent_pull_phonebook_get_vcard_selector_operator(const uint8_t * event){ 12015 return event[22]; 12016 } 12017 /** 12018 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_PHONEBOOK 12019 * @param event packet 12020 * @return phonebook 12021 * @note: btstack_type 1 12022 */ 12023 static inline uint8_t pbap_subevent_pull_phonebook_get_phonebook(const uint8_t * event){ 12024 return event[23]; 12025 } 12026 12027 /** 12028 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12029 * @param event packet 12030 * @return goep_cid 12031 * @note: btstack_type 2 12032 */ 12033 static inline uint16_t pbap_subevent_pull_vcard_listing_get_goep_cid(const uint8_t * event){ 12034 return little_endian_read_16(event, 3); 12035 } 12036 /** 12037 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12038 * @param event packet 12039 * @return continuation 12040 * @note: btstack_type 4 12041 */ 12042 static inline uint32_t pbap_subevent_pull_vcard_listing_get_continuation(const uint8_t * event){ 12043 return little_endian_read_32(event, 5); 12044 } 12045 /** 12046 * @brief Get field order from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12047 * @param event packet 12048 * @return order 12049 * @note: btstack_type 1 12050 */ 12051 static inline uint8_t pbap_subevent_pull_vcard_listing_get_order(const uint8_t * event){ 12052 return event[9]; 12053 } 12054 /** 12055 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12056 * @param event packet 12057 * @return max_list_count 12058 * @note: btstack_type 2 12059 */ 12060 static inline uint16_t pbap_subevent_pull_vcard_listing_get_max_list_count(const uint8_t * event){ 12061 return little_endian_read_16(event, 10); 12062 } 12063 /** 12064 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12065 * @param event packet 12066 * @return list_start_offset 12067 * @note: btstack_type 2 12068 */ 12069 static inline uint16_t pbap_subevent_pull_vcard_listing_get_list_start_offset(const uint8_t * event){ 12070 return little_endian_read_16(event, 12); 12071 } 12072 /** 12073 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12074 * @param event packet 12075 * @return vcard_selector 12076 * @note: btstack_type 4 12077 */ 12078 static inline uint32_t pbap_subevent_pull_vcard_listing_get_vcard_selector(const uint8_t * event){ 12079 return little_endian_read_32(event, 14); 12080 } 12081 /** 12082 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12083 * @param event packet 12084 * @return vcard_selector_operator 12085 * @note: btstack_type 1 12086 */ 12087 static inline uint8_t pbap_subevent_pull_vcard_listing_get_vcard_selector_operator(const uint8_t * event){ 12088 return event[18]; 12089 } 12090 /** 12091 * @brief Get field search_property from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12092 * @param event packet 12093 * @return search_property 12094 * @note: btstack_type 1 12095 */ 12096 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_property(const uint8_t * event){ 12097 return event[19]; 12098 } 12099 /** 12100 * @brief Get field search_value_len from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12101 * @param event packet 12102 * @return search_value_len 12103 * @note: btstack_type J 12104 */ 12105 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_value_len(const uint8_t * event){ 12106 return event[20]; 12107 } 12108 /** 12109 * @brief Get field search_value from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12110 * @param event packet 12111 * @return search_value 12112 * @note: btstack_type V 12113 */ 12114 static inline const uint8_t * pbap_subevent_pull_vcard_listing_get_search_value(const uint8_t * event){ 12115 return &event[21]; 12116 } 12117 /** 12118 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12119 * @param event packet 12120 * @return phonebook 12121 * @note: btstack_type 1 12122 */ 12123 static inline uint8_t pbap_subevent_pull_vcard_listing_get_phonebook(const uint8_t * event){ 12124 return event[21u + event[20]]; 12125 } 12126 12127 /** 12128 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12129 * @param event packet 12130 * @return goep_cid 12131 * @note: btstack_type 2 12132 */ 12133 static inline uint16_t pbap_subevent_pull_vcard_entry_get_goep_cid(const uint8_t * event){ 12134 return little_endian_read_16(event, 3); 12135 } 12136 /** 12137 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12138 * @param event packet 12139 * @return continuation 12140 * @note: btstack_type 4 12141 */ 12142 static inline uint32_t pbap_subevent_pull_vcard_entry_get_continuation(const uint8_t * event){ 12143 return little_endian_read_32(event, 5); 12144 } 12145 /** 12146 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12147 * @param event packet 12148 * @return property_selector 12149 * @note: btstack_type 4 12150 */ 12151 static inline uint32_t pbap_subevent_pull_vcard_entry_get_property_selector(const uint8_t * event){ 12152 return little_endian_read_32(event, 9); 12153 } 12154 /** 12155 * @brief Get field format from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12156 * @param event packet 12157 * @return format 12158 * @note: btstack_type 1 12159 */ 12160 static inline uint8_t pbap_subevent_pull_vcard_entry_get_format(const uint8_t * event){ 12161 return event[13]; 12162 } 12163 /** 12164 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12165 * @param event packet 12166 * @return phonebook 12167 * @note: btstack_type 1 12168 */ 12169 static inline uint8_t pbap_subevent_pull_vcard_entry_get_phonebook(const uint8_t * event){ 12170 return event[14]; 12171 } 12172 /** 12173 * @brief Get field name from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12174 * @param event packet 12175 * @return name 12176 * @note: btstack_type T 12177 */ 12178 static inline const char * pbap_subevent_pull_vcard_entry_get_name(const uint8_t * event){ 12179 return (const char *) &event[15]; 12180 } 12181 12182 /** 12183 * @brief Get field hid_cid from event HID_SUBEVENT_INCOMING_CONNECTION 12184 * @param event packet 12185 * @return hid_cid 12186 * @note: btstack_type 2 12187 */ 12188 static inline uint16_t hid_subevent_incoming_connection_get_hid_cid(const uint8_t * event){ 12189 return little_endian_read_16(event, 3); 12190 } 12191 /** 12192 * @brief Get field address from event HID_SUBEVENT_INCOMING_CONNECTION 12193 * @param event packet 12194 * @param Pointer to storage for address 12195 * @note: btstack_type B 12196 */ 12197 static inline void hid_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 12198 reverse_bytes(&event[5], address, 6); 12199 } 12200 /** 12201 * @brief Get field handle from event HID_SUBEVENT_INCOMING_CONNECTION 12202 * @param event packet 12203 * @return handle 12204 * @note: btstack_type H 12205 */ 12206 static inline hci_con_handle_t hid_subevent_incoming_connection_get_handle(const uint8_t * event){ 12207 return little_endian_read_16(event, 11); 12208 } 12209 12210 /** 12211 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 12212 * @param event packet 12213 * @return hid_cid 12214 * @note: btstack_type 2 12215 */ 12216 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 12217 return little_endian_read_16(event, 3); 12218 } 12219 /** 12220 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 12221 * @param event packet 12222 * @return status 12223 * @note: btstack_type 1 12224 */ 12225 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 12226 return event[5]; 12227 } 12228 /** 12229 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 12230 * @param event packet 12231 * @param Pointer to storage for bd_addr 12232 * @note: btstack_type B 12233 */ 12234 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12235 reverse_bytes(&event[6], bd_addr, 6); 12236 } 12237 /** 12238 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 12239 * @param event packet 12240 * @return con_handle 12241 * @note: btstack_type H 12242 */ 12243 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12244 return little_endian_read_16(event, 12); 12245 } 12246 /** 12247 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 12248 * @param event packet 12249 * @return incoming 12250 * @note: btstack_type 1 12251 */ 12252 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 12253 return event[14]; 12254 } 12255 12256 /** 12257 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 12258 * @param event packet 12259 * @return hid_cid 12260 * @note: btstack_type 2 12261 */ 12262 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 12263 return little_endian_read_16(event, 3); 12264 } 12265 12266 /** 12267 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 12268 * @param event packet 12269 * @return hid_cid 12270 * @note: btstack_type 2 12271 */ 12272 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 12273 return little_endian_read_16(event, 3); 12274 } 12275 12276 /** 12277 * @brief Get field hid_cid from event HID_SUBEVENT_SUSPEND 12278 * @param event packet 12279 * @return hid_cid 12280 * @note: btstack_type 2 12281 */ 12282 static inline uint16_t hid_subevent_suspend_get_hid_cid(const uint8_t * event){ 12283 return little_endian_read_16(event, 3); 12284 } 12285 12286 /** 12287 * @brief Get field hid_cid from event HID_SUBEVENT_EXIT_SUSPEND 12288 * @param event packet 12289 * @return hid_cid 12290 * @note: btstack_type 2 12291 */ 12292 static inline uint16_t hid_subevent_exit_suspend_get_hid_cid(const uint8_t * event){ 12293 return little_endian_read_16(event, 3); 12294 } 12295 12296 /** 12297 * @brief Get field hid_cid from event HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 12298 * @param event packet 12299 * @return hid_cid 12300 * @note: btstack_type 2 12301 */ 12302 static inline uint16_t hid_subevent_virtual_cable_unplug_get_hid_cid(const uint8_t * event){ 12303 return little_endian_read_16(event, 3); 12304 } 12305 12306 /** 12307 * @brief Get field hid_cid from event HID_SUBEVENT_GET_REPORT_RESPONSE 12308 * @param event packet 12309 * @return hid_cid 12310 * @note: btstack_type 2 12311 */ 12312 static inline uint16_t hid_subevent_get_report_response_get_hid_cid(const uint8_t * event){ 12313 return little_endian_read_16(event, 3); 12314 } 12315 /** 12316 * @brief Get field handshake_status from event HID_SUBEVENT_GET_REPORT_RESPONSE 12317 * @param event packet 12318 * @return handshake_status 12319 * @note: btstack_type 1 12320 */ 12321 static inline uint8_t hid_subevent_get_report_response_get_handshake_status(const uint8_t * event){ 12322 return event[5]; 12323 } 12324 /** 12325 * @brief Get field report_len from event HID_SUBEVENT_GET_REPORT_RESPONSE 12326 * @param event packet 12327 * @return report_len 12328 * @note: btstack_type L 12329 */ 12330 static inline uint16_t hid_subevent_get_report_response_get_report_len(const uint8_t * event){ 12331 return little_endian_read_16(event, 6); 12332 } 12333 /** 12334 * @brief Get field report from event HID_SUBEVENT_GET_REPORT_RESPONSE 12335 * @param event packet 12336 * @return report 12337 * @note: btstack_type V 12338 */ 12339 static inline const uint8_t * hid_subevent_get_report_response_get_report(const uint8_t * event){ 12340 return &event[8]; 12341 } 12342 12343 /** 12344 * @brief Get field hid_cid from event HID_SUBEVENT_SET_REPORT_RESPONSE 12345 * @param event packet 12346 * @return hid_cid 12347 * @note: btstack_type 2 12348 */ 12349 static inline uint16_t hid_subevent_set_report_response_get_hid_cid(const uint8_t * event){ 12350 return little_endian_read_16(event, 3); 12351 } 12352 /** 12353 * @brief Get field handshake_status from event HID_SUBEVENT_SET_REPORT_RESPONSE 12354 * @param event packet 12355 * @return handshake_status 12356 * @note: btstack_type 1 12357 */ 12358 static inline uint8_t hid_subevent_set_report_response_get_handshake_status(const uint8_t * event){ 12359 return event[5]; 12360 } 12361 12362 /** 12363 * @brief Get field hid_cid from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12364 * @param event packet 12365 * @return hid_cid 12366 * @note: btstack_type 2 12367 */ 12368 static inline uint16_t hid_subevent_get_protocol_response_get_hid_cid(const uint8_t * event){ 12369 return little_endian_read_16(event, 3); 12370 } 12371 /** 12372 * @brief Get field handshake_status from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12373 * @param event packet 12374 * @return handshake_status 12375 * @note: btstack_type 1 12376 */ 12377 static inline uint8_t hid_subevent_get_protocol_response_get_handshake_status(const uint8_t * event){ 12378 return event[5]; 12379 } 12380 /** 12381 * @brief Get field protocol_mode from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12382 * @param event packet 12383 * @return protocol_mode 12384 * @note: btstack_type 1 12385 */ 12386 static inline uint8_t hid_subevent_get_protocol_response_get_protocol_mode(const uint8_t * event){ 12387 return event[6]; 12388 } 12389 12390 /** 12391 * @brief Get field hid_cid from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12392 * @param event packet 12393 * @return hid_cid 12394 * @note: btstack_type 2 12395 */ 12396 static inline uint16_t hid_subevent_set_protocol_response_get_hid_cid(const uint8_t * event){ 12397 return little_endian_read_16(event, 3); 12398 } 12399 /** 12400 * @brief Get field handshake_status from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12401 * @param event packet 12402 * @return handshake_status 12403 * @note: btstack_type 1 12404 */ 12405 static inline uint8_t hid_subevent_set_protocol_response_get_handshake_status(const uint8_t * event){ 12406 return event[5]; 12407 } 12408 /** 12409 * @brief Get field protocol_mode from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12410 * @param event packet 12411 * @return protocol_mode 12412 * @note: btstack_type 1 12413 */ 12414 static inline uint8_t hid_subevent_set_protocol_response_get_protocol_mode(const uint8_t * event){ 12415 return event[6]; 12416 } 12417 12418 /** 12419 * @brief Get field hid_cid from event HID_SUBEVENT_REPORT 12420 * @param event packet 12421 * @return hid_cid 12422 * @note: btstack_type 2 12423 */ 12424 static inline uint16_t hid_subevent_report_get_hid_cid(const uint8_t * event){ 12425 return little_endian_read_16(event, 3); 12426 } 12427 /** 12428 * @brief Get field report_len from event HID_SUBEVENT_REPORT 12429 * @param event packet 12430 * @return report_len 12431 * @note: btstack_type L 12432 */ 12433 static inline uint16_t hid_subevent_report_get_report_len(const uint8_t * event){ 12434 return little_endian_read_16(event, 5); 12435 } 12436 /** 12437 * @brief Get field report from event HID_SUBEVENT_REPORT 12438 * @param event packet 12439 * @return report 12440 * @note: btstack_type V 12441 */ 12442 static inline const uint8_t * hid_subevent_report_get_report(const uint8_t * event){ 12443 return &event[7]; 12444 } 12445 12446 /** 12447 * @brief Get field hid_cid from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12448 * @param event packet 12449 * @return hid_cid 12450 * @note: btstack_type 2 12451 */ 12452 static inline uint16_t hid_subevent_descriptor_available_get_hid_cid(const uint8_t * event){ 12453 return little_endian_read_16(event, 3); 12454 } 12455 /** 12456 * @brief Get field status from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12457 * @param event packet 12458 * @return status 12459 * @note: btstack_type 1 12460 */ 12461 static inline uint8_t hid_subevent_descriptor_available_get_status(const uint8_t * event){ 12462 return event[5]; 12463 } 12464 12465 /** 12466 * @brief Get field hid_cid from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12467 * @param event packet 12468 * @return hid_cid 12469 * @note: btstack_type 2 12470 */ 12471 static inline uint16_t hid_subevent_sniff_subrating_params_get_hid_cid(const uint8_t * event){ 12472 return little_endian_read_16(event, 3); 12473 } 12474 /** 12475 * @brief Get field host_max_latency from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12476 * @param event packet 12477 * @return host_max_latency 12478 * @note: btstack_type 2 12479 */ 12480 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_max_latency(const uint8_t * event){ 12481 return little_endian_read_16(event, 5); 12482 } 12483 /** 12484 * @brief Get field host_min_timeout from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12485 * @param event packet 12486 * @return host_min_timeout 12487 * @note: btstack_type 2 12488 */ 12489 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_min_timeout(const uint8_t * event){ 12490 return little_endian_read_16(event, 7); 12491 } 12492 12493 /** 12494 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 12495 * @param event packet 12496 * @return con_handle 12497 * @note: btstack_type 2 12498 */ 12499 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 12500 return little_endian_read_16(event, 3); 12501 } 12502 12503 /** 12504 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 12505 * @param event packet 12506 * @return con_handle 12507 * @note: btstack_type 2 12508 */ 12509 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 12510 return little_endian_read_16(event, 3); 12511 } 12512 /** 12513 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 12514 * @param event packet 12515 * @return protocol_mode 12516 * @note: btstack_type 1 12517 */ 12518 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 12519 return event[5]; 12520 } 12521 12522 /** 12523 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12524 * @param event packet 12525 * @return con_handle 12526 * @note: btstack_type 2 12527 */ 12528 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 12529 return little_endian_read_16(event, 3); 12530 } 12531 /** 12532 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12533 * @param event packet 12534 * @return enable 12535 * @note: btstack_type 1 12536 */ 12537 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 12538 return event[5]; 12539 } 12540 12541 /** 12542 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12543 * @param event packet 12544 * @return con_handle 12545 * @note: btstack_type 2 12546 */ 12547 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 12548 return little_endian_read_16(event, 3); 12549 } 12550 /** 12551 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12552 * @param event packet 12553 * @return enable 12554 * @note: btstack_type 1 12555 */ 12556 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 12557 return event[5]; 12558 } 12559 12560 /** 12561 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12562 * @param event packet 12563 * @return con_handle 12564 * @note: btstack_type 2 12565 */ 12566 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 12567 return little_endian_read_16(event, 3); 12568 } 12569 /** 12570 * @brief Get field report_id from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12571 * @param event packet 12572 * @return report_id 12573 * @note: btstack_type 1 12574 */ 12575 static inline uint8_t hids_subevent_input_report_enable_get_report_id(const uint8_t * event){ 12576 return event[5]; 12577 } 12578 /** 12579 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12580 * @param event packet 12581 * @return enable 12582 * @note: btstack_type 1 12583 */ 12584 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 12585 return event[6]; 12586 } 12587 12588 /** 12589 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12590 * @param event packet 12591 * @return con_handle 12592 * @note: btstack_type 2 12593 */ 12594 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 12595 return little_endian_read_16(event, 3); 12596 } 12597 /** 12598 * @brief Get field report_id from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12599 * @param event packet 12600 * @return report_id 12601 * @note: btstack_type 1 12602 */ 12603 static inline uint8_t hids_subevent_output_report_enable_get_report_id(const uint8_t * event){ 12604 return event[5]; 12605 } 12606 /** 12607 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12608 * @param event packet 12609 * @return enable 12610 * @note: btstack_type 1 12611 */ 12612 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 12613 return event[6]; 12614 } 12615 12616 /** 12617 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12618 * @param event packet 12619 * @return con_handle 12620 * @note: btstack_type 2 12621 */ 12622 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 12623 return little_endian_read_16(event, 3); 12624 } 12625 /** 12626 * @brief Get field report_id from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12627 * @param event packet 12628 * @return report_id 12629 * @note: btstack_type 1 12630 */ 12631 static inline uint8_t hids_subevent_feature_report_enable_get_report_id(const uint8_t * event){ 12632 return event[5]; 12633 } 12634 /** 12635 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12636 * @param event packet 12637 * @return enable 12638 * @note: btstack_type 1 12639 */ 12640 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 12641 return event[6]; 12642 } 12643 12644 /** 12645 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 12646 * @param event packet 12647 * @return con_handle 12648 * @note: btstack_type 2 12649 */ 12650 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 12651 return little_endian_read_16(event, 3); 12652 } 12653 12654 /** 12655 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 12656 * @param event packet 12657 * @return con_handle 12658 * @note: btstack_type 2 12659 */ 12660 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 12661 return little_endian_read_16(event, 3); 12662 } 12663 12664 /** 12665 * @brief Get field con_handle from event HIDS_SUBEVENT_SET_REPORT 12666 * @param event packet 12667 * @return con_handle 12668 * @note: btstack_type 2 12669 */ 12670 static inline uint16_t hids_subevent_set_report_get_con_handle(const uint8_t * event){ 12671 return little_endian_read_16(event, 3); 12672 } 12673 /** 12674 * @brief Get field report_id from event HIDS_SUBEVENT_SET_REPORT 12675 * @param event packet 12676 * @return report_id 12677 * @note: btstack_type 1 12678 */ 12679 static inline uint8_t hids_subevent_set_report_get_report_id(const uint8_t * event){ 12680 return event[5]; 12681 } 12682 /** 12683 * @brief Get field report_type from event HIDS_SUBEVENT_SET_REPORT 12684 * @param event packet 12685 * @return report_type 12686 * @note: btstack_type 1 12687 */ 12688 static inline uint8_t hids_subevent_set_report_get_report_type(const uint8_t * event){ 12689 return event[6]; 12690 } 12691 /** 12692 * @brief Get field report_length from event HIDS_SUBEVENT_SET_REPORT 12693 * @param event packet 12694 * @return report_length 12695 * @note: btstack_type J 12696 */ 12697 static inline uint8_t hids_subevent_set_report_get_report_length(const uint8_t * event){ 12698 return event[7]; 12699 } 12700 /** 12701 * @brief Get field report_data from event HIDS_SUBEVENT_SET_REPORT 12702 * @param event packet 12703 * @return report_data 12704 * @note: btstack_type V 12705 */ 12706 static inline const uint8_t * hids_subevent_set_report_get_report_data(const uint8_t * event){ 12707 return &event[8]; 12708 } 12709 12710 /** 12711 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12712 * @param event packet 12713 * @return con_handle 12714 * @note: btstack_type 2 12715 */ 12716 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 12717 return little_endian_read_16(event, 3); 12718 } 12719 /** 12720 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12721 * @param event packet 12722 * @return measurement_type 12723 * @note: btstack_type 1 12724 */ 12725 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 12726 return event[5]; 12727 } 12728 /** 12729 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12730 * @param event packet 12731 * @return is_enhanced 12732 * @note: btstack_type 1 12733 */ 12734 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 12735 return event[6]; 12736 } 12737 12738 /** 12739 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 12740 * @param event packet 12741 * @return con_handle 12742 * @note: btstack_type 2 12743 */ 12744 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 12745 return little_endian_read_16(event, 3); 12746 } 12747 12748 /** 12749 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 12750 * @param event packet 12751 * @return con_handle 12752 * @note: btstack_type 2 12753 */ 12754 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 12755 return little_endian_read_16(event, 3); 12756 } 12757 12758 /** 12759 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12760 * @param event packet 12761 * @return hids_cid 12762 * @note: btstack_type 2 12763 */ 12764 static inline uint16_t gattservice_subevent_battery_service_connected_get_hids_cid(const uint8_t * event){ 12765 return little_endian_read_16(event, 3); 12766 } 12767 /** 12768 * @brief Get field status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12769 * @param event packet 12770 * @return status 12771 * @note: btstack_type 1 12772 */ 12773 static inline uint8_t gattservice_subevent_battery_service_connected_get_status(const uint8_t * event){ 12774 return event[5]; 12775 } 12776 /** 12777 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12778 * @param event packet 12779 * @return num_instances 12780 * @note: btstack_type 1 12781 */ 12782 static inline uint8_t gattservice_subevent_battery_service_connected_get_num_instances(const uint8_t * event){ 12783 return event[6]; 12784 } 12785 /** 12786 * @brief Get field poll_bitmap from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12787 * @param event packet 12788 * @return poll_bitmap 12789 * @note: btstack_type 1 12790 */ 12791 static inline uint8_t gattservice_subevent_battery_service_connected_get_poll_bitmap(const uint8_t * event){ 12792 return event[7]; 12793 } 12794 12795 /** 12796 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12797 * @param event packet 12798 * @return hids_cid 12799 * @note: btstack_type 2 12800 */ 12801 static inline uint16_t gattservice_subevent_battery_service_level_get_hids_cid(const uint8_t * event){ 12802 return little_endian_read_16(event, 3); 12803 } 12804 /** 12805 * @brief Get field sevice_index from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12806 * @param event packet 12807 * @return sevice_index 12808 * @note: btstack_type 1 12809 */ 12810 static inline uint8_t gattservice_subevent_battery_service_level_get_sevice_index(const uint8_t * event){ 12811 return event[5]; 12812 } 12813 /** 12814 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12815 * @param event packet 12816 * @return att_status 12817 * @note: btstack_type 1 12818 */ 12819 static inline uint8_t gattservice_subevent_battery_service_level_get_att_status(const uint8_t * event){ 12820 return event[6]; 12821 } 12822 /** 12823 * @brief Get field level from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12824 * @param event packet 12825 * @return level 12826 * @note: btstack_type 1 12827 */ 12828 static inline uint8_t gattservice_subevent_battery_service_level_get_level(const uint8_t * event){ 12829 return event[7]; 12830 } 12831 12832 /** 12833 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 12834 * @param event packet 12835 * @return con_handle 12836 * @note: btstack_type H 12837 */ 12838 static inline hci_con_handle_t gattservice_subevent_device_information_done_get_con_handle(const uint8_t * event){ 12839 return little_endian_read_16(event, 3); 12840 } 12841 /** 12842 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 12843 * @param event packet 12844 * @return att_status 12845 * @note: btstack_type 1 12846 */ 12847 static inline uint8_t gattservice_subevent_device_information_done_get_att_status(const uint8_t * event){ 12848 return event[5]; 12849 } 12850 12851 /** 12852 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 12853 * @param event packet 12854 * @return con_handle 12855 * @note: btstack_type H 12856 */ 12857 static inline hci_con_handle_t gattservice_subevent_device_information_manufacturer_name_get_con_handle(const uint8_t * event){ 12858 return little_endian_read_16(event, 3); 12859 } 12860 /** 12861 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 12862 * @param event packet 12863 * @return att_status 12864 * @note: btstack_type 1 12865 */ 12866 static inline uint8_t gattservice_subevent_device_information_manufacturer_name_get_att_status(const uint8_t * event){ 12867 return event[5]; 12868 } 12869 /** 12870 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 12871 * @param event packet 12872 * @return value 12873 * @note: btstack_type T 12874 */ 12875 static inline const char * gattservice_subevent_device_information_manufacturer_name_get_value(const uint8_t * event){ 12876 return (const char *) &event[6]; 12877 } 12878 12879 /** 12880 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 12881 * @param event packet 12882 * @return con_handle 12883 * @note: btstack_type H 12884 */ 12885 static inline hci_con_handle_t gattservice_subevent_device_information_model_number_get_con_handle(const uint8_t * event){ 12886 return little_endian_read_16(event, 3); 12887 } 12888 /** 12889 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 12890 * @param event packet 12891 * @return att_status 12892 * @note: btstack_type 1 12893 */ 12894 static inline uint8_t gattservice_subevent_device_information_model_number_get_att_status(const uint8_t * event){ 12895 return event[5]; 12896 } 12897 /** 12898 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 12899 * @param event packet 12900 * @return value 12901 * @note: btstack_type T 12902 */ 12903 static inline const char * gattservice_subevent_device_information_model_number_get_value(const uint8_t * event){ 12904 return (const char *) &event[6]; 12905 } 12906 12907 /** 12908 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 12909 * @param event packet 12910 * @return con_handle 12911 * @note: btstack_type H 12912 */ 12913 static inline hci_con_handle_t gattservice_subevent_device_information_serial_number_get_con_handle(const uint8_t * event){ 12914 return little_endian_read_16(event, 3); 12915 } 12916 /** 12917 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 12918 * @param event packet 12919 * @return att_status 12920 * @note: btstack_type 1 12921 */ 12922 static inline uint8_t gattservice_subevent_device_information_serial_number_get_att_status(const uint8_t * event){ 12923 return event[5]; 12924 } 12925 /** 12926 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 12927 * @param event packet 12928 * @return value 12929 * @note: btstack_type T 12930 */ 12931 static inline const char * gattservice_subevent_device_information_serial_number_get_value(const uint8_t * event){ 12932 return (const char *) &event[6]; 12933 } 12934 12935 /** 12936 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 12937 * @param event packet 12938 * @return con_handle 12939 * @note: btstack_type H 12940 */ 12941 static inline hci_con_handle_t gattservice_subevent_device_information_hardware_revision_get_con_handle(const uint8_t * event){ 12942 return little_endian_read_16(event, 3); 12943 } 12944 /** 12945 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 12946 * @param event packet 12947 * @return att_status 12948 * @note: btstack_type 1 12949 */ 12950 static inline uint8_t gattservice_subevent_device_information_hardware_revision_get_att_status(const uint8_t * event){ 12951 return event[5]; 12952 } 12953 /** 12954 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 12955 * @param event packet 12956 * @return value 12957 * @note: btstack_type T 12958 */ 12959 static inline const char * gattservice_subevent_device_information_hardware_revision_get_value(const uint8_t * event){ 12960 return (const char *) &event[6]; 12961 } 12962 12963 /** 12964 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 12965 * @param event packet 12966 * @return con_handle 12967 * @note: btstack_type H 12968 */ 12969 static inline hci_con_handle_t gattservice_subevent_device_information_firmware_revision_get_con_handle(const uint8_t * event){ 12970 return little_endian_read_16(event, 3); 12971 } 12972 /** 12973 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 12974 * @param event packet 12975 * @return att_status 12976 * @note: btstack_type 1 12977 */ 12978 static inline uint8_t gattservice_subevent_device_information_firmware_revision_get_att_status(const uint8_t * event){ 12979 return event[5]; 12980 } 12981 /** 12982 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 12983 * @param event packet 12984 * @return value 12985 * @note: btstack_type T 12986 */ 12987 static inline const char * gattservice_subevent_device_information_firmware_revision_get_value(const uint8_t * event){ 12988 return (const char *) &event[6]; 12989 } 12990 12991 /** 12992 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 12993 * @param event packet 12994 * @return con_handle 12995 * @note: btstack_type H 12996 */ 12997 static inline hci_con_handle_t gattservice_subevent_device_information_software_revision_get_con_handle(const uint8_t * event){ 12998 return little_endian_read_16(event, 3); 12999 } 13000 /** 13001 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13002 * @param event packet 13003 * @return att_status 13004 * @note: btstack_type 1 13005 */ 13006 static inline uint8_t gattservice_subevent_device_information_software_revision_get_att_status(const uint8_t * event){ 13007 return event[5]; 13008 } 13009 /** 13010 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13011 * @param event packet 13012 * @return value 13013 * @note: btstack_type T 13014 */ 13015 static inline const char * gattservice_subevent_device_information_software_revision_get_value(const uint8_t * event){ 13016 return (const char *) &event[6]; 13017 } 13018 13019 /** 13020 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13021 * @param event packet 13022 * @return con_handle 13023 * @note: btstack_type H 13024 */ 13025 static inline hci_con_handle_t gattservice_subevent_device_information_system_id_get_con_handle(const uint8_t * event){ 13026 return little_endian_read_16(event, 3); 13027 } 13028 /** 13029 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13030 * @param event packet 13031 * @return att_status 13032 * @note: btstack_type 1 13033 */ 13034 static inline uint8_t gattservice_subevent_device_information_system_id_get_att_status(const uint8_t * event){ 13035 return event[5]; 13036 } 13037 /** 13038 * @brief Get field manufacturer_id_low from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13039 * @param event packet 13040 * @return manufacturer_id_low 13041 * @note: btstack_type 4 13042 */ 13043 static inline uint32_t gattservice_subevent_device_information_system_id_get_manufacturer_id_low(const uint8_t * event){ 13044 return little_endian_read_32(event, 6); 13045 } 13046 /** 13047 * @brief Get field manufacturer_id_high from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13048 * @param event packet 13049 * @return manufacturer_id_high 13050 * @note: btstack_type 1 13051 */ 13052 static inline uint8_t gattservice_subevent_device_information_system_id_get_manufacturer_id_high(const uint8_t * event){ 13053 return event[10]; 13054 } 13055 /** 13056 * @brief Get field organizationally_unique_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13057 * @param event packet 13058 * @return organizationally_unique_id 13059 * @note: btstack_type 3 13060 */ 13061 static inline uint32_t gattservice_subevent_device_information_system_id_get_organizationally_unique_id(const uint8_t * event){ 13062 return little_endian_read_24(event, 11); 13063 } 13064 13065 /** 13066 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13067 * @param event packet 13068 * @return con_handle 13069 * @note: btstack_type H 13070 */ 13071 static inline hci_con_handle_t gattservice_subevent_device_information_ieee_regulatory_certification_get_con_handle(const uint8_t * event){ 13072 return little_endian_read_16(event, 3); 13073 } 13074 /** 13075 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13076 * @param event packet 13077 * @return att_status 13078 * @note: btstack_type 1 13079 */ 13080 static inline uint8_t gattservice_subevent_device_information_ieee_regulatory_certification_get_att_status(const uint8_t * event){ 13081 return event[5]; 13082 } 13083 /** 13084 * @brief Get field value_a from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13085 * @param event packet 13086 * @return value_a 13087 * @note: btstack_type 2 13088 */ 13089 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_a(const uint8_t * event){ 13090 return little_endian_read_16(event, 6); 13091 } 13092 /** 13093 * @brief Get field value_b from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13094 * @param event packet 13095 * @return value_b 13096 * @note: btstack_type 2 13097 */ 13098 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_b(const uint8_t * event){ 13099 return little_endian_read_16(event, 8); 13100 } 13101 13102 /** 13103 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13104 * @param event packet 13105 * @return con_handle 13106 * @note: btstack_type H 13107 */ 13108 static inline hci_con_handle_t gattservice_subevent_device_information_pnp_id_get_con_handle(const uint8_t * event){ 13109 return little_endian_read_16(event, 3); 13110 } 13111 /** 13112 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13113 * @param event packet 13114 * @return att_status 13115 * @note: btstack_type 1 13116 */ 13117 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_att_status(const uint8_t * event){ 13118 return event[5]; 13119 } 13120 /** 13121 * @brief Get field vendor_source_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13122 * @param event packet 13123 * @return vendor_source_id 13124 * @note: btstack_type 1 13125 */ 13126 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_vendor_source_id(const uint8_t * event){ 13127 return event[6]; 13128 } 13129 /** 13130 * @brief Get field vendor_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13131 * @param event packet 13132 * @return vendor_id 13133 * @note: btstack_type 2 13134 */ 13135 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_vendor_id(const uint8_t * event){ 13136 return little_endian_read_16(event, 7); 13137 } 13138 /** 13139 * @brief Get field product_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13140 * @param event packet 13141 * @return product_id 13142 * @note: btstack_type 2 13143 */ 13144 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_id(const uint8_t * event){ 13145 return little_endian_read_16(event, 9); 13146 } 13147 /** 13148 * @brief Get field product_version from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13149 * @param event packet 13150 * @return product_version 13151 * @note: btstack_type 2 13152 */ 13153 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_version(const uint8_t * event){ 13154 return little_endian_read_16(event, 11); 13155 } 13156 13157 /** 13158 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13159 * @param event packet 13160 * @return con_handle 13161 * @note: btstack_type H 13162 */ 13163 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_connected_get_con_handle(const uint8_t * event){ 13164 return little_endian_read_16(event, 3); 13165 } 13166 /** 13167 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13168 * @param event packet 13169 * @return att_status 13170 * @note: btstack_type 1 13171 */ 13172 static inline uint8_t gattservice_subevent_scan_parameters_service_connected_get_att_status(const uint8_t * event){ 13173 return event[5]; 13174 } 13175 13176 /** 13177 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 13178 * @param event packet 13179 * @return con_handle 13180 * @note: btstack_type H 13181 */ 13182 static inline hci_con_handle_t gattservice_subevent_spp_service_connected_get_con_handle(const uint8_t * event){ 13183 return little_endian_read_16(event, 3); 13184 } 13185 13186 /** 13187 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 13188 * @param event packet 13189 * @return con_handle 13190 * @note: btstack_type H 13191 */ 13192 static inline hci_con_handle_t gattservice_subevent_spp_service_disconnected_get_con_handle(const uint8_t * event){ 13193 return little_endian_read_16(event, 3); 13194 } 13195 13196 /** 13197 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13198 * @param event packet 13199 * @return hids_cid 13200 * @note: btstack_type 2 13201 */ 13202 static inline uint16_t gattservice_subevent_hid_service_connected_get_hids_cid(const uint8_t * event){ 13203 return little_endian_read_16(event, 3); 13204 } 13205 /** 13206 * @brief Get field status from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13207 * @param event packet 13208 * @return status 13209 * @note: btstack_type 1 13210 */ 13211 static inline uint8_t gattservice_subevent_hid_service_connected_get_status(const uint8_t * event){ 13212 return event[5]; 13213 } 13214 /** 13215 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13216 * @param event packet 13217 * @return protocol_mode 13218 * @note: btstack_type 1 13219 */ 13220 static inline uint8_t gattservice_subevent_hid_service_connected_get_protocol_mode(const uint8_t * event){ 13221 return event[6]; 13222 } 13223 /** 13224 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13225 * @param event packet 13226 * @return num_instances 13227 * @note: btstack_type 1 13228 */ 13229 static inline uint8_t gattservice_subevent_hid_service_connected_get_num_instances(const uint8_t * event){ 13230 return event[7]; 13231 } 13232 13233 /** 13234 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT 13235 * @param event packet 13236 * @return hids_cid 13237 * @note: btstack_type 2 13238 */ 13239 static inline uint16_t gattservice_subevent_hid_report_get_hids_cid(const uint8_t * event){ 13240 return little_endian_read_16(event, 3); 13241 } 13242 /** 13243 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT 13244 * @param event packet 13245 * @return service_index 13246 * @note: btstack_type 1 13247 */ 13248 static inline uint8_t gattservice_subevent_hid_report_get_service_index(const uint8_t * event){ 13249 return event[5]; 13250 } 13251 /** 13252 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT 13253 * @param event packet 13254 * @return report_id 13255 * @note: btstack_type 1 13256 */ 13257 static inline uint8_t gattservice_subevent_hid_report_get_report_id(const uint8_t * event){ 13258 return event[6]; 13259 } 13260 /** 13261 * @brief Get field report_len from event GATTSERVICE_SUBEVENT_HID_REPORT 13262 * @param event packet 13263 * @return report_len 13264 * @note: btstack_type L 13265 */ 13266 static inline uint16_t gattservice_subevent_hid_report_get_report_len(const uint8_t * event){ 13267 return little_endian_read_16(event, 7); 13268 } 13269 /** 13270 * @brief Get field report from event GATTSERVICE_SUBEVENT_HID_REPORT 13271 * @param event packet 13272 * @return report 13273 * @note: btstack_type V 13274 */ 13275 static inline const uint8_t * gattservice_subevent_hid_report_get_report(const uint8_t * event){ 13276 return &event[9]; 13277 } 13278 13279 /** 13280 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13281 * @param event packet 13282 * @return hids_cid 13283 * @note: btstack_type 2 13284 */ 13285 static inline uint16_t gattservice_subevent_hid_information_get_hids_cid(const uint8_t * event){ 13286 return little_endian_read_16(event, 3); 13287 } 13288 /** 13289 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13290 * @param event packet 13291 * @return service_index 13292 * @note: btstack_type 1 13293 */ 13294 static inline uint8_t gattservice_subevent_hid_information_get_service_index(const uint8_t * event){ 13295 return event[5]; 13296 } 13297 /** 13298 * @brief Get field base_usb_hid_version from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13299 * @param event packet 13300 * @return base_usb_hid_version 13301 * @note: btstack_type 2 13302 */ 13303 static inline uint16_t gattservice_subevent_hid_information_get_base_usb_hid_version(const uint8_t * event){ 13304 return little_endian_read_16(event, 6); 13305 } 13306 /** 13307 * @brief Get field country_code from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13308 * @param event packet 13309 * @return country_code 13310 * @note: btstack_type 1 13311 */ 13312 static inline uint8_t gattservice_subevent_hid_information_get_country_code(const uint8_t * event){ 13313 return event[8]; 13314 } 13315 /** 13316 * @brief Get field remote_wake from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13317 * @param event packet 13318 * @return remote_wake 13319 * @note: btstack_type 1 13320 */ 13321 static inline uint8_t gattservice_subevent_hid_information_get_remote_wake(const uint8_t * event){ 13322 return event[9]; 13323 } 13324 /** 13325 * @brief Get field normally_connectable from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13326 * @param event packet 13327 * @return normally_connectable 13328 * @note: btstack_type 1 13329 */ 13330 static inline uint8_t gattservice_subevent_hid_information_get_normally_connectable(const uint8_t * event){ 13331 return event[10]; 13332 } 13333 13334 /** 13335 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13336 * @param event packet 13337 * @return hids_cid 13338 * @note: btstack_type 2 13339 */ 13340 static inline uint16_t gattservice_subevent_hid_protocol_mode_get_hids_cid(const uint8_t * event){ 13341 return little_endian_read_16(event, 3); 13342 } 13343 /** 13344 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13345 * @param event packet 13346 * @return service_index 13347 * @note: btstack_type 1 13348 */ 13349 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_service_index(const uint8_t * event){ 13350 return event[5]; 13351 } 13352 /** 13353 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13354 * @param event packet 13355 * @return protocol_mode 13356 * @note: btstack_type 1 13357 */ 13358 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_protocol_mode(const uint8_t * event){ 13359 return event[6]; 13360 } 13361 13362 /** 13363 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13364 * @param event packet 13365 * @return hids_cid 13366 * @note: btstack_type 2 13367 */ 13368 static inline uint16_t gattservice_subevent_hid_service_reports_notification_get_hids_cid(const uint8_t * event){ 13369 return little_endian_read_16(event, 3); 13370 } 13371 /** 13372 * @brief Get field configuration from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13373 * @param event packet 13374 * @return configuration 13375 * @note: btstack_type 1 13376 */ 13377 static inline uint8_t gattservice_subevent_hid_service_reports_notification_get_configuration(const uint8_t * event){ 13378 return event[5]; 13379 } 13380 13381 /** 13382 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13383 * @param event packet 13384 * @return hids_cid 13385 * @note: btstack_type 2 13386 */ 13387 static inline uint16_t gattservice_subevent_hid_report_written_get_hids_cid(const uint8_t * event){ 13388 return little_endian_read_16(event, 3); 13389 } 13390 /** 13391 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13392 * @param event packet 13393 * @return service_index 13394 * @note: btstack_type 1 13395 */ 13396 static inline uint8_t gattservice_subevent_hid_report_written_get_service_index(const uint8_t * event){ 13397 return event[5]; 13398 } 13399 /** 13400 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13401 * @param event packet 13402 * @return report_id 13403 * @note: btstack_type 1 13404 */ 13405 static inline uint8_t gattservice_subevent_hid_report_written_get_report_id(const uint8_t * event){ 13406 return event[6]; 13407 } 13408 13409 /** 13410 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13411 * @param event packet 13412 * @return con_handle 13413 * @note: btstack_type H 13414 */ 13415 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_con_handle(const uint8_t * event){ 13416 return little_endian_read_16(event, 3); 13417 } 13418 /** 13419 * @brief Get field max_scan_interval from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13420 * @param event packet 13421 * @return max_scan_interval 13422 * @note: btstack_type 2 13423 */ 13424 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_max_scan_interval(const uint8_t * event){ 13425 return little_endian_read_16(event, 5); 13426 } 13427 /** 13428 * @brief Get field min_scan_window from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13429 * @param event packet 13430 * @return min_scan_window 13431 * @note: btstack_type 2 13432 */ 13433 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_min_scan_window(const uint8_t * event){ 13434 return little_endian_read_16(event, 7); 13435 } 13436 13437 /** 13438 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 13439 * @param event packet 13440 * @return con_handle 13441 * @note: btstack_type H 13442 */ 13443 static inline hci_con_handle_t leaudio_subevent_bass_server_connected_get_con_handle(const uint8_t * event){ 13444 return little_endian_read_16(event, 3); 13445 } 13446 /** 13447 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 13448 * @param event packet 13449 * @return status 13450 * @note: btstack_type 1 13451 */ 13452 static inline uint8_t leaudio_subevent_bass_server_connected_get_status(const uint8_t * event){ 13453 return event[5]; 13454 } 13455 13456 /** 13457 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_DISCONNECTED 13458 * @param event packet 13459 * @return con_handle 13460 * @note: btstack_type H 13461 */ 13462 static inline hci_con_handle_t leaudio_subevent_bass_server_disconnected_get_con_handle(const uint8_t * event){ 13463 return little_endian_read_16(event, 3); 13464 } 13465 13466 /** 13467 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STOPPED 13468 * @param event packet 13469 * @return con_handle 13470 * @note: btstack_type H 13471 */ 13472 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_stopped_get_con_handle(const uint8_t * event){ 13473 return little_endian_read_16(event, 3); 13474 } 13475 13476 /** 13477 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STARTED 13478 * @param event packet 13479 * @return con_handle 13480 * @note: btstack_type H 13481 */ 13482 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_started_get_con_handle(const uint8_t * event){ 13483 return little_endian_read_16(event, 3); 13484 } 13485 13486 /** 13487 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 13488 * @param event packet 13489 * @return con_handle 13490 * @note: btstack_type H 13491 */ 13492 static inline hci_con_handle_t leaudio_subevent_bass_server_broadcast_code_get_con_handle(const uint8_t * event){ 13493 return little_endian_read_16(event, 3); 13494 } 13495 /** 13496 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 13497 * @param event packet 13498 * @return source_id 13499 * @note: btstack_type 1 13500 */ 13501 static inline uint8_t leaudio_subevent_bass_server_broadcast_code_get_source_id(const uint8_t * event){ 13502 return event[5]; 13503 } 13504 /** 13505 * @brief Get field broadcast_code from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 13506 * @param event packet 13507 * @param Pointer to storage for broadcast_code 13508 * @note: btstack_type K 13509 */ 13510 static inline void leaudio_subevent_bass_server_broadcast_code_get_broadcast_code(const uint8_t * event, uint8_t * broadcast_code){ 13511 reverse_bytes(&event[6], broadcast_code, 16); 13512 } 13513 13514 /** 13515 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 13516 * @param event packet 13517 * @return con_handle 13518 * @note: btstack_type H 13519 */ 13520 static inline hci_con_handle_t leaudio_subevent_bass_server_source_added_get_con_handle(const uint8_t * event){ 13521 return little_endian_read_16(event, 3); 13522 } 13523 /** 13524 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 13525 * @param event packet 13526 * @return source_id 13527 * @note: btstack_type 1 13528 */ 13529 static inline uint8_t leaudio_subevent_bass_server_source_added_get_source_id(const uint8_t * event){ 13530 return event[5]; 13531 } 13532 /** 13533 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 13534 * @param event packet 13535 * @return pa_sync 13536 * @note: btstack_type 1 13537 */ 13538 static inline uint8_t leaudio_subevent_bass_server_source_added_get_pa_sync(const uint8_t * event){ 13539 return event[6]; 13540 } 13541 13542 /** 13543 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 13544 * @param event packet 13545 * @return con_handle 13546 * @note: btstack_type H 13547 */ 13548 static inline hci_con_handle_t leaudio_subevent_bass_server_source_modified_get_con_handle(const uint8_t * event){ 13549 return little_endian_read_16(event, 3); 13550 } 13551 /** 13552 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 13553 * @param event packet 13554 * @return source_id 13555 * @note: btstack_type 1 13556 */ 13557 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_source_id(const uint8_t * event){ 13558 return event[5]; 13559 } 13560 /** 13561 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 13562 * @param event packet 13563 * @return pa_sync 13564 * @note: btstack_type 1 13565 */ 13566 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_pa_sync(const uint8_t * event){ 13567 return event[6]; 13568 } 13569 13570 /** 13571 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 13572 * @param event packet 13573 * @return con_handle 13574 * @note: btstack_type H 13575 */ 13576 static inline hci_con_handle_t leaudio_subevent_bass_server_source_deleted_get_con_handle(const uint8_t * event){ 13577 return little_endian_read_16(event, 3); 13578 } 13579 /** 13580 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 13581 * @param event packet 13582 * @return source_id 13583 * @note: btstack_type 1 13584 */ 13585 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_source_id(const uint8_t * event){ 13586 return event[5]; 13587 } 13588 /** 13589 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 13590 * @param event packet 13591 * @return pa_sync 13592 * @note: btstack_type 1 13593 */ 13594 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_pa_sync(const uint8_t * event){ 13595 return event[6]; 13596 } 13597 13598 /** 13599 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 13600 * @param event packet 13601 * @return con_handle 13602 * @note: btstack_type H 13603 */ 13604 static inline hci_con_handle_t leaudio_subevent_bass_client_connected_get_con_handle(const uint8_t * event){ 13605 return little_endian_read_16(event, 3); 13606 } 13607 /** 13608 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 13609 * @param event packet 13610 * @return bass_cid 13611 * @note: btstack_type 2 13612 */ 13613 static inline uint16_t leaudio_subevent_bass_client_connected_get_bass_cid(const uint8_t * event){ 13614 return little_endian_read_16(event, 5); 13615 } 13616 /** 13617 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 13618 * @param event packet 13619 * @return status 13620 * @note: btstack_type 1 13621 */ 13622 static inline uint8_t leaudio_subevent_bass_client_connected_get_status(const uint8_t * event){ 13623 return event[7]; 13624 } 13625 13626 /** 13627 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_DISCONNECTED 13628 * @param event packet 13629 * @return bass_cid 13630 * @note: btstack_type 2 13631 */ 13632 static inline uint16_t leaudio_subevent_bass_client_disconnected_get_bass_cid(const uint8_t * event){ 13633 return little_endian_read_16(event, 3); 13634 } 13635 13636 /** 13637 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13638 * @param event packet 13639 * @return bass_cid 13640 * @note: btstack_type 2 13641 */ 13642 static inline uint16_t leaudio_subevent_bass_client_scan_operation_complete_get_bass_cid(const uint8_t * event){ 13643 return little_endian_read_16(event, 3); 13644 } 13645 /** 13646 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13647 * @param event packet 13648 * @return status 13649 * @note: btstack_type 1 13650 */ 13651 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_status(const uint8_t * event){ 13652 return event[5]; 13653 } 13654 /** 13655 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13656 * @param event packet 13657 * @return opcode 13658 * @note: btstack_type 1 13659 */ 13660 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_opcode(const uint8_t * event){ 13661 return event[6]; 13662 } 13663 13664 /** 13665 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13666 * @param event packet 13667 * @return bass_cid 13668 * @note: btstack_type 2 13669 */ 13670 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_base_get_bass_cid(const uint8_t * event){ 13671 return little_endian_read_16(event, 3); 13672 } 13673 /** 13674 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13675 * @param event packet 13676 * @return source_id 13677 * @note: btstack_type 1 13678 */ 13679 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_id(const uint8_t * event){ 13680 return event[5]; 13681 } 13682 /** 13683 * @brief Get field source_address_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13684 * @param event packet 13685 * @return source_address_type 13686 * @note: btstack_type 1 13687 */ 13688 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_address_type(const uint8_t * event){ 13689 return event[6]; 13690 } 13691 /** 13692 * @brief Get field source_address from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13693 * @param event packet 13694 * @param Pointer to storage for source_address 13695 * @note: btstack_type B 13696 */ 13697 static inline void leaudio_subevent_bass_client_notify_receive_state_base_get_source_address(const uint8_t * event, bd_addr_t source_address){ 13698 reverse_bytes(&event[7], source_address, 6); 13699 } 13700 /** 13701 * @brief Get field source_adv_sid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13702 * @param event packet 13703 * @return source_adv_sid 13704 * @note: btstack_type 1 13705 */ 13706 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_adv_sid(const uint8_t * event){ 13707 return event[13]; 13708 } 13709 /** 13710 * @brief Get field broadcast_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13711 * @param event packet 13712 * @return broadcast_id 13713 * @note: btstack_type 3 13714 */ 13715 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_base_get_broadcast_id(const uint8_t * event){ 13716 return little_endian_read_24(event, 14); 13717 } 13718 /** 13719 * @brief Get field pa_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13720 * @param event packet 13721 * @return pa_sync_state 13722 * @note: btstack_type 1 13723 */ 13724 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_pa_sync_state(const uint8_t * event){ 13725 return event[17]; 13726 } 13727 /** 13728 * @brief Get field big_encryption from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13729 * @param event packet 13730 * @return big_encryption 13731 * @note: btstack_type 1 13732 */ 13733 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_big_encryption(const uint8_t * event){ 13734 return event[18]; 13735 } 13736 /** 13737 * @brief Get field bad_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13738 * @param event packet 13739 * @return bad_code 13740 * @note: btstack_type P 13741 */ 13742 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_base_get_bad_code(const uint8_t * event){ 13743 return (const uint8_t *) &event[19]; 13744 } 13745 /** 13746 * @brief Get field subgroups_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13747 * @param event packet 13748 * @return subgroups_num 13749 * @note: btstack_type 1 13750 */ 13751 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_subgroups_num(const uint8_t * event){ 13752 return event[35]; 13753 } 13754 13755 /** 13756 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13757 * @param event packet 13758 * @return bass_cid 13759 * @note: btstack_type 2 13760 */ 13761 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){ 13762 return little_endian_read_16(event, 3); 13763 } 13764 /** 13765 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13766 * @param event packet 13767 * @return source_id 13768 * @note: btstack_type 1 13769 */ 13770 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_source_id(const uint8_t * event){ 13771 return event[5]; 13772 } 13773 /** 13774 * @brief Get field bis_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13775 * @param event packet 13776 * @return bis_sync_state 13777 * @note: btstack_type 4 13778 */ 13779 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){ 13780 return little_endian_read_32(event, 6); 13781 } 13782 /** 13783 * @brief Get field metadata_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13784 * @param event packet 13785 * @return metadata_mask 13786 * @note: btstack_type 1 13787 */ 13788 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){ 13789 return event[10]; 13790 } 13791 /** 13792 * @brief Get field preferred_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13793 * @param event packet 13794 * @return preferred_audio_contexts_mask 13795 * @note: btstack_type 2 13796 */ 13797 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){ 13798 return little_endian_read_16(event, 11); 13799 } 13800 /** 13801 * @brief Get field streaming_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13802 * @param event packet 13803 * @return streaming_audio_contexts_mask 13804 * @note: btstack_type 2 13805 */ 13806 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){ 13807 return little_endian_read_16(event, 13); 13808 } 13809 /** 13810 * @brief Get field program_info_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13811 * @param event packet 13812 * @return program_info_length 13813 * @note: btstack_type J 13814 */ 13815 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){ 13816 return event[15]; 13817 } 13818 /** 13819 * @brief Get field program_info from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13820 * @param event packet 13821 * @return program_info 13822 * @note: btstack_type V 13823 */ 13824 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info(const uint8_t * event){ 13825 return &event[16]; 13826 } 13827 /** 13828 * @brief Get field language_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13829 * @param event packet 13830 * @return language_code 13831 * @note: btstack_type 3 13832 */ 13833 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_language_code(const uint8_t * event){ 13834 uint8_t offset = 16u + event[15]; 13835 return little_endian_read_24(event, (int)(int8_t) offset); 13836 } 13837 /** 13838 * @brief Get field ccids_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13839 * @param event packet 13840 * @return ccids_num 13841 * @note: btstack_type J 13842 */ 13843 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){ 13844 return event[16u + event[15] + 3u]; 13845 } 13846 /** 13847 * @brief Get field ccids from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13848 * @param event packet 13849 * @return ccids 13850 * @note: btstack_type V 13851 */ 13852 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids(const uint8_t * event){ 13853 return &event[16u + event[15] + 3u + 1u]; 13854 } 13855 /** 13856 * @brief Get field parental_rating from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13857 * @param event packet 13858 * @return parental_rating 13859 * @note: btstack_type 1 13860 */ 13861 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){ 13862 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]]; 13863 } 13864 /** 13865 * @brief Get field program_info_uri_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13866 * @param event packet 13867 * @return program_info_uri_length 13868 * @note: btstack_type J 13869 */ 13870 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){ 13871 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; 13872 } 13873 /** 13874 * @brief Get field program_info_uri from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13875 * @param event packet 13876 * @return program_info_uri 13877 * @note: btstack_type V 13878 */ 13879 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){ 13880 return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u]; 13881 } 13882 /** 13883 * @brief Get field extended_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13884 * @param event packet 13885 * @return extended_metadata_type 13886 * @note: btstack_type 2 13887 */ 13888 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){ 13889 uint8_t offset = 16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; 13890 return little_endian_read_16(event, (int)(int8_t) offset); 13891 } 13892 /** 13893 * @brief Get field extended_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13894 * @param event packet 13895 * @return extended_metadata_value_length 13896 * @note: btstack_type J 13897 */ 13898 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){ 13899 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u]; 13900 } 13901 /** 13902 * @brief Get field extended_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13903 * @param event packet 13904 * @return extended_metadata_value 13905 * @note: btstack_type V 13906 */ 13907 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){ 13908 return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u]; 13909 } 13910 /** 13911 * @brief Get field vendor_specific_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13912 * @param event packet 13913 * @return vendor_specific_metadata_type 13914 * @note: btstack_type 2 13915 */ 13916 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){ 13917 uint8_t offset = 16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u]; 13918 return little_endian_read_16(event, (int)(int8_t) offset); 13919 } 13920 /** 13921 * @brief Get field vendor_specific_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13922 * @param event packet 13923 * @return vendor_specific_metadata_value_length 13924 * @note: btstack_type J 13925 */ 13926 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){ 13927 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u] + 2u]; 13928 } 13929 /** 13930 * @brief Get field vendor_specific_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13931 * @param event packet 13932 * @return vendor_specific_metadata_value 13933 * @note: btstack_type V 13934 */ 13935 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){ 13936 return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u] + 2u + 1u]; 13937 } 13938 13939 /** 13940 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 13941 * @param event packet 13942 * @return bass_cid 13943 * @note: btstack_type 2 13944 */ 13945 static inline uint16_t leaudio_subevent_bass_client_notification_complete_get_bass_cid(const uint8_t * event){ 13946 return little_endian_read_16(event, 3); 13947 } 13948 /** 13949 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 13950 * @param event packet 13951 * @return source_id 13952 * @note: btstack_type 1 13953 */ 13954 static inline uint8_t leaudio_subevent_bass_client_notification_complete_get_source_id(const uint8_t * event){ 13955 return event[5]; 13956 } 13957 13958 /** 13959 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 13960 * @param event packet 13961 * @return bass_cid 13962 * @note: btstack_type 2 13963 */ 13964 static inline uint16_t leaudio_subevent_bass_client_source_operation_complete_get_bass_cid(const uint8_t * event){ 13965 return little_endian_read_16(event, 3); 13966 } 13967 /** 13968 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 13969 * @param event packet 13970 * @return status 13971 * @note: btstack_type 1 13972 */ 13973 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_status(const uint8_t * event){ 13974 return event[5]; 13975 } 13976 /** 13977 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 13978 * @param event packet 13979 * @return opcode 13980 * @note: btstack_type 1 13981 */ 13982 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_opcode(const uint8_t * event){ 13983 return event[6]; 13984 } 13985 /** 13986 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 13987 * @param event packet 13988 * @return source_id 13989 * @note: btstack_type 1 13990 */ 13991 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_source_id(const uint8_t * event){ 13992 return event[7]; 13993 } 13994 13995 13996 /** 13997 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 13998 * @param event packet 13999 * @return status 14000 * @note: btstack_type 1 14001 */ 14002 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 14003 return event[3]; 14004 } 14005 14006 /** 14007 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14008 * @param event packet 14009 * @return status 14010 * @note: btstack_type 1 14011 */ 14012 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 14013 return event[3]; 14014 } 14015 /** 14016 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14017 * @param event packet 14018 * @return pb_transport_cid 14019 * @note: btstack_type 2 14020 */ 14021 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 14022 return little_endian_read_16(event, 4); 14023 } 14024 /** 14025 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14026 * @param event packet 14027 * @return pb_type 14028 * @note: btstack_type 1 14029 */ 14030 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 14031 return event[6]; 14032 } 14033 14034 /** 14035 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14036 * @param event packet 14037 * @return pb_transport_cid 14038 * @note: btstack_type 1 14039 */ 14040 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 14041 return event[3]; 14042 } 14043 /** 14044 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14045 * @param event packet 14046 * @return reason 14047 * @note: btstack_type 2 14048 */ 14049 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 14050 return little_endian_read_16(event, 4); 14051 } 14052 14053 /** 14054 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14055 * @param event packet 14056 * @return pb_transport_cid 14057 * @note: btstack_type 2 14058 */ 14059 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 14060 return little_endian_read_16(event, 3); 14061 } 14062 /** 14063 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14064 * @param event packet 14065 * @return attention_time 14066 * @note: btstack_type 1 14067 */ 14068 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 14069 return event[5]; 14070 } 14071 14072 /** 14073 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 14074 * @param event packet 14075 * @return pb_transport_cid 14076 * @note: btstack_type 2 14077 */ 14078 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14079 return little_endian_read_16(event, 3); 14080 } 14081 14082 /** 14083 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 14084 * @param event packet 14085 * @return pb_transport_cid 14086 * @note: btstack_type 2 14087 */ 14088 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14089 return little_endian_read_16(event, 3); 14090 } 14091 14092 /** 14093 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 14094 * @param event packet 14095 * @return pb_transport_cid 14096 * @note: btstack_type 2 14097 */ 14098 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 14099 return little_endian_read_16(event, 3); 14100 } 14101 14102 /** 14103 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14104 * @param event packet 14105 * @return pb_transport_cid 14106 * @note: btstack_type 2 14107 */ 14108 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14109 return little_endian_read_16(event, 3); 14110 } 14111 /** 14112 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14113 * @param event packet 14114 * @return output_oob 14115 * @note: btstack_type 4 14116 */ 14117 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 14118 return little_endian_read_32(event, 5); 14119 } 14120 14121 /** 14122 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 14123 * @param event packet 14124 * @return pb_transport_cid 14125 * @note: btstack_type 2 14126 */ 14127 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14128 return little_endian_read_16(event, 3); 14129 } 14130 14131 /** 14132 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 14133 * @param event packet 14134 * @return pb_transport_cid 14135 * @note: btstack_type 2 14136 */ 14137 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14138 return little_endian_read_16(event, 3); 14139 } 14140 14141 /** 14142 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 14143 * @param event packet 14144 * @return pb_transport_cid 14145 * @note: btstack_type 2 14146 */ 14147 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14148 return little_endian_read_16(event, 3); 14149 } 14150 14151 /** 14152 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 14153 * @param event packet 14154 * @return pb_transport_cid 14155 * @note: btstack_type 2 14156 */ 14157 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 14158 return little_endian_read_16(event, 3); 14159 } 14160 14161 /** 14162 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 14163 * @param event packet 14164 * @return pb_transport_cid 14165 * @note: btstack_type 2 14166 */ 14167 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 14168 return little_endian_read_16(event, 3); 14169 } 14170 /** 14171 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 14172 * @param event packet 14173 * @return output_oob 14174 * @note: btstack_type 4 14175 */ 14176 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 14177 return little_endian_read_32(event, 5); 14178 } 14179 14180 /** 14181 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 14182 * @param event packet 14183 * @return pb_transport_cid 14184 * @note: btstack_type 2 14185 */ 14186 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 14187 return little_endian_read_16(event, 3); 14188 } 14189 14190 /** 14191 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14192 * @param event packet 14193 * @return pb_transport_cid 14194 * @note: btstack_type 2 14195 */ 14196 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 14197 return little_endian_read_16(event, 3); 14198 } 14199 /** 14200 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14201 * @param event packet 14202 * @return num_elements 14203 * @note: btstack_type 1 14204 */ 14205 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 14206 return event[5]; 14207 } 14208 /** 14209 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14210 * @param event packet 14211 * @return algorithms 14212 * @note: btstack_type 2 14213 */ 14214 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 14215 return little_endian_read_16(event, 6); 14216 } 14217 /** 14218 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14219 * @param event packet 14220 * @return public_key 14221 * @note: btstack_type 1 14222 */ 14223 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 14224 return event[8]; 14225 } 14226 /** 14227 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14228 * @param event packet 14229 * @return static_oob_type 14230 * @note: btstack_type 1 14231 */ 14232 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 14233 return event[9]; 14234 } 14235 /** 14236 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14237 * @param event packet 14238 * @return output_oob_size 14239 * @note: btstack_type 1 14240 */ 14241 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 14242 return event[10]; 14243 } 14244 /** 14245 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14246 * @param event packet 14247 * @return output_oob_action 14248 * @note: btstack_type 2 14249 */ 14250 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 14251 return little_endian_read_16(event, 11); 14252 } 14253 /** 14254 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14255 * @param event packet 14256 * @return input_oob_size 14257 * @note: btstack_type 1 14258 */ 14259 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 14260 return event[13]; 14261 } 14262 /** 14263 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14264 * @param event packet 14265 * @return input_oob_action 14266 * @note: btstack_type 2 14267 */ 14268 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 14269 return little_endian_read_16(event, 14); 14270 } 14271 14272 /** 14273 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 14274 * @param event packet 14275 * @return pb_transport_cid 14276 * @note: btstack_type 2 14277 */ 14278 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 14279 return little_endian_read_16(event, 3); 14280 } 14281 14282 /** 14283 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 14284 * @param event packet 14285 * @return attention_time 14286 * @note: btstack_type 1 14287 */ 14288 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 14289 return event[3]; 14290 } 14291 14292 /** 14293 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 14294 * @param event packet 14295 * @return con_handle 14296 * @note: btstack_type H 14297 */ 14298 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 14299 return little_endian_read_16(event, 3); 14300 } 14301 14302 /** 14303 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 14304 * @param event packet 14305 * @return con_handle 14306 * @note: btstack_type H 14307 */ 14308 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 14309 return little_endian_read_16(event, 3); 14310 } 14311 14312 /** 14313 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 14314 * @param event packet 14315 * @return con_handle 14316 * @note: btstack_type H 14317 */ 14318 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 14319 return little_endian_read_16(event, 3); 14320 } 14321 14322 /** 14323 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 14324 * @param event packet 14325 * @return con_handle 14326 * @note: btstack_type H 14327 */ 14328 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 14329 return little_endian_read_16(event, 3); 14330 } 14331 14332 /** 14333 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14334 * @param event packet 14335 * @return element_index 14336 * @note: btstack_type 1 14337 */ 14338 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 14339 return event[3]; 14340 } 14341 /** 14342 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14343 * @param event packet 14344 * @return model_identifier 14345 * @note: btstack_type 4 14346 */ 14347 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 14348 return little_endian_read_32(event, 4); 14349 } 14350 /** 14351 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14352 * @param event packet 14353 * @return state_identifier 14354 * @note: btstack_type 4 14355 */ 14356 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 14357 return little_endian_read_32(event, 8); 14358 } 14359 /** 14360 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14361 * @param event packet 14362 * @return reason 14363 * @note: btstack_type 1 14364 */ 14365 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 14366 return event[12]; 14367 } 14368 /** 14369 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14370 * @param event packet 14371 * @return value 14372 * @note: btstack_type 1 14373 */ 14374 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 14375 return event[13]; 14376 } 14377 14378 /** 14379 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 14380 * @param event packet 14381 * @return element_index 14382 * @note: btstack_type 1 14383 */ 14384 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 14385 return event[3]; 14386 } 14387 /** 14388 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 14389 * @param event packet 14390 * @return model_identifier 14391 * @note: btstack_type 4 14392 */ 14393 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 14394 return little_endian_read_32(event, 4); 14395 } 14396 /** 14397 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 14398 * @param event packet 14399 * @return state_identifier 14400 * @note: btstack_type 4 14401 */ 14402 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 14403 return little_endian_read_32(event, 8); 14404 } 14405 /** 14406 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 14407 * @param event packet 14408 * @return reason 14409 * @note: btstack_type 1 14410 */ 14411 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 14412 return event[12]; 14413 } 14414 /** 14415 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 14416 * @param event packet 14417 * @return value 14418 * @note: btstack_type 2 14419 */ 14420 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 14421 return little_endian_read_16(event, 13); 14422 } 14423 14424 /** 14425 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 14426 * @param event packet 14427 * @return element_index 14428 * @note: btstack_type 1 14429 */ 14430 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 14431 return event[3]; 14432 } 14433 /** 14434 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 14435 * @param event packet 14436 * @return model_identifier 14437 * @note: btstack_type 4 14438 */ 14439 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 14440 return little_endian_read_32(event, 4); 14441 } 14442 /** 14443 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 14444 * @param event packet 14445 * @return opcode 14446 * @note: btstack_type 4 14447 */ 14448 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 14449 return little_endian_read_32(event, 8); 14450 } 14451 /** 14452 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 14453 * @param event packet 14454 * @return dest 14455 * @note: btstack_type 2 14456 */ 14457 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 14458 return little_endian_read_16(event, 12); 14459 } 14460 14461 /** 14462 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 14463 * @param event packet 14464 * @return dest 14465 * @note: btstack_type 2 14466 */ 14467 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 14468 return little_endian_read_16(event, 3); 14469 } 14470 /** 14471 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 14472 * @param event packet 14473 * @return status 14474 * @note: btstack_type 1 14475 */ 14476 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 14477 return event[5]; 14478 } 14479 /** 14480 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 14481 * @param event packet 14482 * @return present_value 14483 * @note: btstack_type 1 14484 */ 14485 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 14486 return event[6]; 14487 } 14488 /** 14489 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 14490 * @param event packet 14491 * @return target_value 14492 * @note: btstack_type 1 14493 */ 14494 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 14495 return event[7]; 14496 } 14497 /** 14498 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 14499 * @param event packet 14500 * @return remaining_time_ms 14501 * @note: btstack_type 4 14502 */ 14503 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 14504 return little_endian_read_32(event, 8); 14505 } 14506 14507 /** 14508 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 14509 * @param event packet 14510 * @return dest 14511 * @note: btstack_type 2 14512 */ 14513 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 14514 return little_endian_read_16(event, 3); 14515 } 14516 /** 14517 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 14518 * @param event packet 14519 * @return status 14520 * @note: btstack_type 1 14521 */ 14522 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 14523 return event[5]; 14524 } 14525 /** 14526 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 14527 * @param event packet 14528 * @return present_value 14529 * @note: btstack_type 2 14530 */ 14531 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 14532 return little_endian_read_16(event, 6); 14533 } 14534 /** 14535 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 14536 * @param event packet 14537 * @return target_value 14538 * @note: btstack_type 2 14539 */ 14540 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 14541 return little_endian_read_16(event, 8); 14542 } 14543 /** 14544 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 14545 * @param event packet 14546 * @return remaining_time_ms 14547 * @note: btstack_type 4 14548 */ 14549 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 14550 return little_endian_read_32(event, 10); 14551 } 14552 14553 /** 14554 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14555 * @param event packet 14556 * @return dest 14557 * @note: btstack_type 2 14558 */ 14559 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 14560 return little_endian_read_16(event, 3); 14561 } 14562 /** 14563 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14564 * @param event packet 14565 * @return netkey_index 14566 * @note: btstack_type 2 14567 */ 14568 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 14569 return little_endian_read_16(event, 5); 14570 } 14571 /** 14572 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14573 * @param event packet 14574 * @return appkey_index 14575 * @note: btstack_type 2 14576 */ 14577 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 14578 return little_endian_read_16(event, 7); 14579 } 14580 /** 14581 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14582 * @param event packet 14583 * @return company_id 14584 * @note: btstack_type 2 14585 */ 14586 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 14587 return little_endian_read_16(event, 9); 14588 } 14589 /** 14590 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14591 * @param event packet 14592 * @return test_id 14593 * @note: btstack_type 1 14594 */ 14595 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 14596 return event[11]; 14597 } 14598 /** 14599 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14600 * @param event packet 14601 * @return acknowledged 14602 * @note: btstack_type 1 14603 */ 14604 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 14605 return event[12]; 14606 } 14607 14608 /** 14609 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 14610 * @param event packet 14611 * @return element_index 14612 * @note: btstack_type 1 14613 */ 14614 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 14615 return event[3]; 14616 } 14617 14618 /** 14619 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 14620 * @param event packet 14621 * @return dest 14622 * @note: btstack_type 2 14623 */ 14624 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 14625 return little_endian_read_16(event, 3); 14626 } 14627 /** 14628 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 14629 * @param event packet 14630 * @return status 14631 * @note: btstack_type 1 14632 */ 14633 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 14634 return event[5]; 14635 } 14636 /** 14637 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 14638 * @param event packet 14639 * @return transition_time_gdtt 14640 * @note: btstack_type 1 14641 */ 14642 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 14643 return event[6]; 14644 } 14645 14646 /** 14647 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 14648 * @param event packet 14649 * @return dest 14650 * @note: btstack_type 2 14651 */ 14652 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 14653 return little_endian_read_16(event, 3); 14654 } 14655 /** 14656 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 14657 * @param event packet 14658 * @return foundation_status 14659 * @note: btstack_type 1 14660 */ 14661 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 14662 return event[5]; 14663 } 14664 /** 14665 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 14666 * @param event packet 14667 * @return secure_network_beacon_state 14668 * @note: btstack_type 1 14669 */ 14670 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 14671 return event[6]; 14672 } 14673 14674 /** 14675 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 14676 * @param event packet 14677 * @return dest 14678 * @note: btstack_type 2 14679 */ 14680 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 14681 return little_endian_read_16(event, 3); 14682 } 14683 /** 14684 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 14685 * @param event packet 14686 * @return foundation_status 14687 * @note: btstack_type 1 14688 */ 14689 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 14690 return event[5]; 14691 } 14692 /** 14693 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 14694 * @param event packet 14695 * @return default_ttl 14696 * @note: btstack_type 1 14697 */ 14698 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 14699 return event[6]; 14700 } 14701 14702 /** 14703 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 14704 * @param event packet 14705 * @return dest 14706 * @note: btstack_type 2 14707 */ 14708 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 14709 return little_endian_read_16(event, 3); 14710 } 14711 /** 14712 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 14713 * @param event packet 14714 * @return foundation_status 14715 * @note: btstack_type 1 14716 */ 14717 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 14718 return event[5]; 14719 } 14720 /** 14721 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 14722 * @param event packet 14723 * @return gatt_proxy_state 14724 * @note: btstack_type 1 14725 */ 14726 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 14727 return event[6]; 14728 } 14729 14730 /** 14731 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 14732 * @param event packet 14733 * @return dest 14734 * @note: btstack_type 2 14735 */ 14736 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 14737 return little_endian_read_16(event, 3); 14738 } 14739 /** 14740 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 14741 * @param event packet 14742 * @return foundation_status 14743 * @note: btstack_type 1 14744 */ 14745 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 14746 return event[5]; 14747 } 14748 /** 14749 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 14750 * @param event packet 14751 * @return relay 14752 * @note: btstack_type 1 14753 */ 14754 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 14755 return event[6]; 14756 } 14757 /** 14758 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 14759 * @param event packet 14760 * @return retransmit_count 14761 * @note: btstack_type 1 14762 */ 14763 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 14764 return event[7]; 14765 } 14766 /** 14767 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 14768 * @param event packet 14769 * @return retransmit_interval_ms 14770 * @note: btstack_type 1 14771 */ 14772 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 14773 return event[8]; 14774 } 14775 14776 /** 14777 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14778 * @param event packet 14779 * @return dest 14780 * @note: btstack_type 2 14781 */ 14782 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 14783 return little_endian_read_16(event, 3); 14784 } 14785 /** 14786 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14787 * @param event packet 14788 * @return foundation_status 14789 * @note: btstack_type 1 14790 */ 14791 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 14792 return event[5]; 14793 } 14794 /** 14795 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14796 * @param event packet 14797 * @return publish_address 14798 * @note: btstack_type 2 14799 */ 14800 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 14801 return little_endian_read_16(event, 6); 14802 } 14803 /** 14804 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14805 * @param event packet 14806 * @return appkey_index 14807 * @note: btstack_type 2 14808 */ 14809 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 14810 return little_endian_read_16(event, 8); 14811 } 14812 /** 14813 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14814 * @param event packet 14815 * @return credential_flag 14816 * @note: btstack_type 1 14817 */ 14818 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 14819 return event[10]; 14820 } 14821 /** 14822 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14823 * @param event packet 14824 * @return publish_ttl 14825 * @note: btstack_type 1 14826 */ 14827 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 14828 return event[11]; 14829 } 14830 /** 14831 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14832 * @param event packet 14833 * @return publish_period 14834 * @note: btstack_type 1 14835 */ 14836 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 14837 return event[12]; 14838 } 14839 /** 14840 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14841 * @param event packet 14842 * @return publish_retransmit_count 14843 * @note: btstack_type 1 14844 */ 14845 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 14846 return event[13]; 14847 } 14848 /** 14849 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14850 * @param event packet 14851 * @return publish_retransmit_interval_steps 14852 * @note: btstack_type 1 14853 */ 14854 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 14855 return event[14]; 14856 } 14857 /** 14858 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14859 * @param event packet 14860 * @return model_identifier 14861 * @note: btstack_type 4 14862 */ 14863 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 14864 return little_endian_read_32(event, 15); 14865 } 14866 14867 /** 14868 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 14869 * @param event packet 14870 * @return dest 14871 * @note: btstack_type 2 14872 */ 14873 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 14874 return little_endian_read_16(event, 3); 14875 } 14876 /** 14877 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 14878 * @param event packet 14879 * @return foundation_status 14880 * @note: btstack_type 1 14881 */ 14882 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 14883 return event[5]; 14884 } 14885 /** 14886 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 14887 * @param event packet 14888 * @return address 14889 * @note: btstack_type 2 14890 */ 14891 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 14892 return little_endian_read_16(event, 6); 14893 } 14894 /** 14895 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 14896 * @param event packet 14897 * @return model_identifier 14898 * @note: btstack_type 4 14899 */ 14900 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 14901 return little_endian_read_32(event, 8); 14902 } 14903 14904 /** 14905 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14906 * @param event packet 14907 * @return dest 14908 * @note: btstack_type 2 14909 */ 14910 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 14911 return little_endian_read_16(event, 3); 14912 } 14913 /** 14914 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14915 * @param event packet 14916 * @return foundation_status 14917 * @note: btstack_type 1 14918 */ 14919 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 14920 return event[5]; 14921 } 14922 /** 14923 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14924 * @param event packet 14925 * @return model_identifier 14926 * @note: btstack_type 4 14927 */ 14928 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 14929 return little_endian_read_32(event, 6); 14930 } 14931 /** 14932 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14933 * @param event packet 14934 * @return num_subscription_addresses 14935 * @note: btstack_type 1 14936 */ 14937 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 14938 return event[10]; 14939 } 14940 /** 14941 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14942 * @param event packet 14943 * @return subscription_address_pos 14944 * @note: btstack_type 1 14945 */ 14946 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 14947 return event[11]; 14948 } 14949 /** 14950 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14951 * @param event packet 14952 * @return subscription_address_item 14953 * @note: btstack_type 2 14954 */ 14955 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 14956 return little_endian_read_16(event, 12); 14957 } 14958 14959 /** 14960 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 14961 * @param event packet 14962 * @return dest 14963 * @note: btstack_type 2 14964 */ 14965 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 14966 return little_endian_read_16(event, 3); 14967 } 14968 /** 14969 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 14970 * @param event packet 14971 * @return foundation_status 14972 * @note: btstack_type 1 14973 */ 14974 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 14975 return event[5]; 14976 } 14977 14978 /** 14979 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 14980 * @param event packet 14981 * @return dest 14982 * @note: btstack_type 2 14983 */ 14984 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 14985 return little_endian_read_16(event, 3); 14986 } 14987 /** 14988 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 14989 * @param event packet 14990 * @return foundation_status 14991 * @note: btstack_type 1 14992 */ 14993 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 14994 return event[5]; 14995 } 14996 /** 14997 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 14998 * @param event packet 14999 * @return num_netkey_indexes 15000 * @note: btstack_type 1 15001 */ 15002 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 15003 return event[6]; 15004 } 15005 /** 15006 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15007 * @param event packet 15008 * @return netkey_index_pos 15009 * @note: btstack_type 1 15010 */ 15011 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 15012 return event[7]; 15013 } 15014 /** 15015 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15016 * @param event packet 15017 * @return netkey_index_item 15018 * @note: btstack_type 2 15019 */ 15020 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15021 return little_endian_read_16(event, 8); 15022 } 15023 15024 /** 15025 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15026 * @param event packet 15027 * @return dest 15028 * @note: btstack_type 2 15029 */ 15030 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 15031 return little_endian_read_16(event, 3); 15032 } 15033 /** 15034 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15035 * @param event packet 15036 * @return foundation_status 15037 * @note: btstack_type 1 15038 */ 15039 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 15040 return event[5]; 15041 } 15042 /** 15043 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15044 * @param event packet 15045 * @return netkey_index_item 15046 * @note: btstack_type 2 15047 */ 15048 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 15049 return little_endian_read_16(event, 6); 15050 } 15051 /** 15052 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15053 * @param event packet 15054 * @return appkey_index_item 15055 * @note: btstack_type 2 15056 */ 15057 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 15058 return little_endian_read_16(event, 8); 15059 } 15060 15061 /** 15062 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15063 * @param event packet 15064 * @return dest 15065 * @note: btstack_type 2 15066 */ 15067 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 15068 return little_endian_read_16(event, 3); 15069 } 15070 /** 15071 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15072 * @param event packet 15073 * @return foundation_status 15074 * @note: btstack_type 1 15075 */ 15076 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 15077 return event[5]; 15078 } 15079 /** 15080 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15081 * @param event packet 15082 * @return netkey_index 15083 * @note: btstack_type 2 15084 */ 15085 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 15086 return little_endian_read_16(event, 6); 15087 } 15088 /** 15089 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15090 * @param event packet 15091 * @return num_appkey_indexes 15092 * @note: btstack_type 1 15093 */ 15094 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 15095 return event[8]; 15096 } 15097 /** 15098 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15099 * @param event packet 15100 * @return appkey_index_pos 15101 * @note: btstack_type 1 15102 */ 15103 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 15104 return event[9]; 15105 } 15106 /** 15107 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15108 * @param event packet 15109 * @return netkey_index_item 15110 * @note: btstack_type 2 15111 */ 15112 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15113 return little_endian_read_16(event, 10); 15114 } 15115 /** 15116 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15117 * @param event packet 15118 * @return appkey_index_item 15119 * @note: btstack_type 2 15120 */ 15121 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 15122 return little_endian_read_16(event, 12); 15123 } 15124 15125 /** 15126 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15127 * @param event packet 15128 * @return dest 15129 * @note: btstack_type 2 15130 */ 15131 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 15132 return little_endian_read_16(event, 3); 15133 } 15134 /** 15135 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15136 * @param event packet 15137 * @return foundation_status 15138 * @note: btstack_type 1 15139 */ 15140 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 15141 return event[5]; 15142 } 15143 /** 15144 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15145 * @param event packet 15146 * @return netkey_index_item 15147 * @note: btstack_type 2 15148 */ 15149 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 15150 return little_endian_read_16(event, 6); 15151 } 15152 /** 15153 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15154 * @param event packet 15155 * @return identity_status 15156 * @note: btstack_type 1 15157 */ 15158 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 15159 return event[8]; 15160 } 15161 15162 /** 15163 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15164 * @param event packet 15165 * @return dest 15166 * @note: btstack_type 2 15167 */ 15168 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 15169 return little_endian_read_16(event, 3); 15170 } 15171 /** 15172 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15173 * @param event packet 15174 * @return foundation_status 15175 * @note: btstack_type 1 15176 */ 15177 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 15178 return event[5]; 15179 } 15180 /** 15181 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15182 * @param event packet 15183 * @return appkey_index 15184 * @note: btstack_type 2 15185 */ 15186 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 15187 return little_endian_read_16(event, 6); 15188 } 15189 /** 15190 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15191 * @param event packet 15192 * @return model_identifier 15193 * @note: btstack_type 4 15194 */ 15195 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 15196 return little_endian_read_32(event, 8); 15197 } 15198 15199 /** 15200 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15201 * @param event packet 15202 * @return dest 15203 * @note: btstack_type 2 15204 */ 15205 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 15206 return little_endian_read_16(event, 3); 15207 } 15208 /** 15209 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15210 * @param event packet 15211 * @return foundation_status 15212 * @note: btstack_type 1 15213 */ 15214 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 15215 return event[5]; 15216 } 15217 /** 15218 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15219 * @param event packet 15220 * @return model_id 15221 * @note: btstack_type 4 15222 */ 15223 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 15224 return little_endian_read_32(event, 6); 15225 } 15226 /** 15227 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15228 * @param event packet 15229 * @return num_appkey_indexes 15230 * @note: btstack_type 1 15231 */ 15232 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 15233 return event[10]; 15234 } 15235 /** 15236 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15237 * @param event packet 15238 * @return appkey_index_pos 15239 * @note: btstack_type 1 15240 */ 15241 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 15242 return event[11]; 15243 } 15244 /** 15245 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15246 * @param event packet 15247 * @return appkey_index_item 15248 * @note: btstack_type 2 15249 */ 15250 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 15251 return little_endian_read_16(event, 12); 15252 } 15253 15254 /** 15255 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 15256 * @param event packet 15257 * @return dest 15258 * @note: btstack_type 2 15259 */ 15260 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 15261 return little_endian_read_16(event, 3); 15262 } 15263 /** 15264 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 15265 * @param event packet 15266 * @return foundation_status 15267 * @note: btstack_type 1 15268 */ 15269 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 15270 return event[5]; 15271 } 15272 15273 /** 15274 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 15275 * @param event packet 15276 * @return dest 15277 * @note: btstack_type 2 15278 */ 15279 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 15280 return little_endian_read_16(event, 3); 15281 } 15282 /** 15283 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 15284 * @param event packet 15285 * @return foundation_status 15286 * @note: btstack_type 1 15287 */ 15288 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 15289 return event[5]; 15290 } 15291 /** 15292 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 15293 * @param event packet 15294 * @return friend_state 15295 * @note: btstack_type 1 15296 */ 15297 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 15298 return event[6]; 15299 } 15300 15301 /** 15302 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 15303 * @param event packet 15304 * @return dest 15305 * @note: btstack_type 2 15306 */ 15307 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 15308 return little_endian_read_16(event, 3); 15309 } 15310 /** 15311 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 15312 * @param event packet 15313 * @return foundation_status 15314 * @note: btstack_type 1 15315 */ 15316 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 15317 return event[5]; 15318 } 15319 /** 15320 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 15321 * @param event packet 15322 * @return netkey_index 15323 * @note: btstack_type 2 15324 */ 15325 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 15326 return little_endian_read_16(event, 6); 15327 } 15328 /** 15329 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 15330 * @param event packet 15331 * @return phase 15332 * @note: btstack_type 1 15333 */ 15334 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 15335 return event[8]; 15336 } 15337 15338 /** 15339 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15340 * @param event packet 15341 * @return dest 15342 * @note: btstack_type 2 15343 */ 15344 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 15345 return little_endian_read_16(event, 3); 15346 } 15347 /** 15348 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15349 * @param event packet 15350 * @return foundation_status 15351 * @note: btstack_type 1 15352 */ 15353 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 15354 return event[5]; 15355 } 15356 /** 15357 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15358 * @param event packet 15359 * @return heartbeat_destination 15360 * @note: btstack_type 2 15361 */ 15362 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 15363 return little_endian_read_16(event, 6); 15364 } 15365 /** 15366 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15367 * @param event packet 15368 * @return count_S 15369 * @note: btstack_type 2 15370 */ 15371 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 15372 return little_endian_read_16(event, 8); 15373 } 15374 /** 15375 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15376 * @param event packet 15377 * @return period_S 15378 * @note: btstack_type 2 15379 */ 15380 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 15381 return little_endian_read_16(event, 10); 15382 } 15383 /** 15384 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15385 * @param event packet 15386 * @return ttl 15387 * @note: btstack_type 1 15388 */ 15389 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 15390 return event[12]; 15391 } 15392 /** 15393 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15394 * @param event packet 15395 * @return features 15396 * @note: btstack_type 2 15397 */ 15398 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 15399 return little_endian_read_16(event, 13); 15400 } 15401 /** 15402 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15403 * @param event packet 15404 * @return netkey_index 15405 * @note: btstack_type 2 15406 */ 15407 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 15408 return little_endian_read_16(event, 15); 15409 } 15410 15411 /** 15412 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15413 * @param event packet 15414 * @return dest 15415 * @note: btstack_type 2 15416 */ 15417 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 15418 return little_endian_read_16(event, 3); 15419 } 15420 /** 15421 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15422 * @param event packet 15423 * @return foundation_status 15424 * @note: btstack_type 1 15425 */ 15426 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 15427 return event[5]; 15428 } 15429 /** 15430 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15431 * @param event packet 15432 * @return heartbeat_destination 15433 * @note: btstack_type 2 15434 */ 15435 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 15436 return little_endian_read_16(event, 6); 15437 } 15438 /** 15439 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15440 * @param event packet 15441 * @return heartbeat_source 15442 * @note: btstack_type 2 15443 */ 15444 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 15445 return little_endian_read_16(event, 8); 15446 } 15447 /** 15448 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15449 * @param event packet 15450 * @return count_S 15451 * @note: btstack_type 2 15452 */ 15453 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 15454 return little_endian_read_16(event, 10); 15455 } 15456 /** 15457 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15458 * @param event packet 15459 * @return period_S 15460 * @note: btstack_type 2 15461 */ 15462 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 15463 return little_endian_read_16(event, 12); 15464 } 15465 /** 15466 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15467 * @param event packet 15468 * @return min_hops 15469 * @note: btstack_type 1 15470 */ 15471 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 15472 return event[14]; 15473 } 15474 /** 15475 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15476 * @param event packet 15477 * @return max_hops 15478 * @note: btstack_type 1 15479 */ 15480 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 15481 return event[15]; 15482 } 15483 15484 /** 15485 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 15486 * @param event packet 15487 * @return dest 15488 * @note: btstack_type 2 15489 */ 15490 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 15491 return little_endian_read_16(event, 3); 15492 } 15493 /** 15494 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 15495 * @param event packet 15496 * @return foundation_status 15497 * @note: btstack_type 1 15498 */ 15499 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 15500 return event[5]; 15501 } 15502 /** 15503 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 15504 * @param event packet 15505 * @return lpn_address 15506 * @note: btstack_type 2 15507 */ 15508 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 15509 return little_endian_read_16(event, 6); 15510 } 15511 /** 15512 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 15513 * @param event packet 15514 * @return poll_timeout 15515 * @note: btstack_type 3 15516 */ 15517 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 15518 return little_endian_read_24(event, 8); 15519 } 15520 15521 /** 15522 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 15523 * @param event packet 15524 * @return dest 15525 * @note: btstack_type 2 15526 */ 15527 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 15528 return little_endian_read_16(event, 3); 15529 } 15530 /** 15531 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 15532 * @param event packet 15533 * @return foundation_status 15534 * @note: btstack_type 1 15535 */ 15536 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 15537 return event[5]; 15538 } 15539 /** 15540 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 15541 * @param event packet 15542 * @return transmit_count 15543 * @note: btstack_type 1 15544 */ 15545 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 15546 return event[6]; 15547 } 15548 /** 15549 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 15550 * @param event packet 15551 * @return transmit_interval_steps_ms 15552 * @note: btstack_type 2 15553 */ 15554 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 15555 return little_endian_read_16(event, 7); 15556 } 15557 15558 15559 15560 /* API_END */ 15561 15562 #if defined __cplusplus 15563 } 15564 #endif 15565 15566 #endif // BTSTACK_EVENT_H 15567