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 /** 7431 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7432 * @param event packet 7433 * @return acl_handle 7434 * @note: btstack_type H 7435 */ 7436 static inline hci_con_handle_t hfp_subevent_apple_extension_supported_get_acl_handle(const uint8_t * event){ 7437 return little_endian_read_16(event, 3); 7438 } 7439 /** 7440 * @brief Get field supported from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7441 * @param event packet 7442 * @return supported 7443 * @note: btstack_type 1 7444 */ 7445 static inline uint8_t hfp_subevent_apple_extension_supported_get_supported(const uint8_t * event){ 7446 return event[5]; 7447 } 7448 7449 /** 7450 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7451 * @param event packet 7452 * @return acl_handle 7453 * @note: btstack_type H 7454 */ 7455 static inline hci_con_handle_t hfp_subevent_apple_accessory_information_get_acl_handle(const uint8_t * event){ 7456 return little_endian_read_16(event, 3); 7457 } 7458 /** 7459 * @brief Get field vendor_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7460 * @param event packet 7461 * @return vendor_id 7462 * @note: btstack_type 2 7463 */ 7464 static inline uint16_t hfp_subevent_apple_accessory_information_get_vendor_id(const uint8_t * event){ 7465 return little_endian_read_16(event, 5); 7466 } 7467 /** 7468 * @brief Get field product_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7469 * @param event packet 7470 * @return product_id 7471 * @note: btstack_type 2 7472 */ 7473 static inline uint16_t hfp_subevent_apple_accessory_information_get_product_id(const uint8_t * event){ 7474 return little_endian_read_16(event, 7); 7475 } 7476 /** 7477 * @brief Get field features from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7478 * @param event packet 7479 * @return features 7480 * @note: btstack_type 1 7481 */ 7482 static inline uint8_t hfp_subevent_apple_accessory_information_get_features(const uint8_t * event){ 7483 return event[9]; 7484 } 7485 /** 7486 * @brief Get field version_len from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7487 * @param event packet 7488 * @return version_len 7489 * @note: btstack_type J 7490 */ 7491 static inline uint8_t hfp_subevent_apple_accessory_information_get_version_len(const uint8_t * event){ 7492 return event[10]; 7493 } 7494 /** 7495 * @brief Get field version from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7496 * @param event packet 7497 * @return version 7498 * @note: btstack_type V 7499 */ 7500 static inline const uint8_t * hfp_subevent_apple_accessory_information_get_version(const uint8_t * event){ 7501 return &event[11]; 7502 } 7503 7504 /** 7505 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7506 * @param event packet 7507 * @return acl_handle 7508 * @note: btstack_type H 7509 */ 7510 static inline hci_con_handle_t hfp_subevent_apple_battery_level_get_acl_handle(const uint8_t * event){ 7511 return little_endian_read_16(event, 3); 7512 } 7513 /** 7514 * @brief Get field battery_level from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7515 * @param event packet 7516 * @return battery_level 7517 * @note: btstack_type 1 7518 */ 7519 static inline uint8_t hfp_subevent_apple_battery_level_get_battery_level(const uint8_t * event){ 7520 return event[5]; 7521 } 7522 7523 /** 7524 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7525 * @param event packet 7526 * @return acl_handle 7527 * @note: btstack_type H 7528 */ 7529 static inline hci_con_handle_t hfp_subevent_apple_docked_state_get_acl_handle(const uint8_t * event){ 7530 return little_endian_read_16(event, 3); 7531 } 7532 /** 7533 * @brief Get field docket from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7534 * @param event packet 7535 * @return docket 7536 * @note: btstack_type 1 7537 */ 7538 static inline uint8_t hfp_subevent_apple_docked_state_get_docket(const uint8_t * event){ 7539 return event[5]; 7540 } 7541 7542 #ifdef ENABLE_BLE 7543 /** 7544 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 7545 * @param event packet 7546 * @return handle 7547 * @note: btstack_type H 7548 */ 7549 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 7550 return little_endian_read_16(event, 3); 7551 } 7552 #endif 7553 7554 #ifdef ENABLE_BLE 7555 /** 7556 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7557 * @param event packet 7558 * @return handle 7559 * @note: btstack_type H 7560 */ 7561 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 7562 return little_endian_read_16(event, 3); 7563 } 7564 /** 7565 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7566 * @param event packet 7567 * @return attribute_id 7568 * @note: btstack_type 2 7569 */ 7570 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 7571 return little_endian_read_16(event, 5); 7572 } 7573 /** 7574 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7575 * @param event packet 7576 * @return text 7577 * @note: btstack_type T 7578 */ 7579 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 7580 return (const char *) &event[7]; 7581 } 7582 #endif 7583 7584 #ifdef ENABLE_BLE 7585 /** 7586 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 7587 * @param event packet 7588 * @return handle 7589 * @note: btstack_type H 7590 */ 7591 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 7592 return little_endian_read_16(event, 3); 7593 } 7594 #endif 7595 7596 /** 7597 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7598 * @param event packet 7599 * @return avdtp_cid 7600 * @note: btstack_type 2 7601 */ 7602 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 7603 return little_endian_read_16(event, 3); 7604 } 7605 /** 7606 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7607 * @param event packet 7608 * @return local_seid 7609 * @note: btstack_type 1 7610 */ 7611 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 7612 return event[5]; 7613 } 7614 /** 7615 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7616 * @param event packet 7617 * @return is_initiator 7618 * @note: btstack_type 1 7619 */ 7620 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 7621 return event[6]; 7622 } 7623 /** 7624 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7625 * @param event packet 7626 * @return signal_identifier 7627 * @note: btstack_type 1 7628 */ 7629 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 7630 return event[7]; 7631 } 7632 7633 /** 7634 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7635 * @param event packet 7636 * @return avdtp_cid 7637 * @note: btstack_type 2 7638 */ 7639 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 7640 return little_endian_read_16(event, 3); 7641 } 7642 /** 7643 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7644 * @param event packet 7645 * @return local_seid 7646 * @note: btstack_type 1 7647 */ 7648 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 7649 return event[5]; 7650 } 7651 /** 7652 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 7653 * @param event packet 7654 * @return is_initiator 7655 * @note: btstack_type 1 7656 */ 7657 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 7658 return event[6]; 7659 } 7660 /** 7661 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 7662 * @param event packet 7663 * @return signal_identifier 7664 * @note: btstack_type 1 7665 */ 7666 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 7667 return event[7]; 7668 } 7669 7670 /** 7671 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7672 * @param event packet 7673 * @return avdtp_cid 7674 * @note: btstack_type 2 7675 */ 7676 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 7677 return little_endian_read_16(event, 3); 7678 } 7679 /** 7680 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7681 * @param event packet 7682 * @return local_seid 7683 * @note: btstack_type 1 7684 */ 7685 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 7686 return event[5]; 7687 } 7688 /** 7689 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7690 * @param event packet 7691 * @return is_initiator 7692 * @note: btstack_type 1 7693 */ 7694 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 7695 return event[6]; 7696 } 7697 /** 7698 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7699 * @param event packet 7700 * @return signal_identifier 7701 * @note: btstack_type 1 7702 */ 7703 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 7704 return event[7]; 7705 } 7706 7707 /** 7708 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7709 * @param event packet 7710 * @return avdtp_cid 7711 * @note: btstack_type 2 7712 */ 7713 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 7714 return little_endian_read_16(event, 3); 7715 } 7716 /** 7717 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7718 * @param event packet 7719 * @param Pointer to storage for bd_addr 7720 * @note: btstack_type B 7721 */ 7722 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7723 reverse_bytes(&event[5], bd_addr, 6); 7724 } 7725 /** 7726 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7727 * @param event packet 7728 * @return con_handle 7729 * @note: btstack_type 2 7730 */ 7731 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 7732 return little_endian_read_16(event, 11); 7733 } 7734 /** 7735 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7736 * @param event packet 7737 * @return status 7738 * @note: btstack_type 1 7739 */ 7740 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 7741 return event[13]; 7742 } 7743 7744 /** 7745 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 7746 * @param event packet 7747 * @return avdtp_cid 7748 * @note: btstack_type 2 7749 */ 7750 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 7751 return little_endian_read_16(event, 3); 7752 } 7753 7754 /** 7755 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7756 * @param event packet 7757 * @return avdtp_cid 7758 * @note: btstack_type 2 7759 */ 7760 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 7761 return little_endian_read_16(event, 3); 7762 } 7763 /** 7764 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7765 * @param event packet 7766 * @return remote_seid 7767 * @note: btstack_type 1 7768 */ 7769 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 7770 return event[5]; 7771 } 7772 /** 7773 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7774 * @param event packet 7775 * @return in_use 7776 * @note: btstack_type 1 7777 */ 7778 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 7779 return event[6]; 7780 } 7781 /** 7782 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7783 * @param event packet 7784 * @return media_type 7785 * @note: btstack_type 1 7786 */ 7787 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 7788 return event[7]; 7789 } 7790 /** 7791 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7792 * @param event packet 7793 * @return sep_type 7794 * @note: btstack_type 1 7795 */ 7796 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 7797 return event[8]; 7798 } 7799 7800 /** 7801 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7802 * @param event packet 7803 * @return avdtp_cid 7804 * @note: btstack_type 2 7805 */ 7806 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 7807 return little_endian_read_16(event, 3); 7808 } 7809 /** 7810 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7811 * @param event packet 7812 * @return remote_seid 7813 * @note: btstack_type 1 7814 */ 7815 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 7816 return event[5]; 7817 } 7818 /** 7819 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7820 * @param event packet 7821 * @return media_type 7822 * @note: btstack_type 1 7823 */ 7824 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 7825 return event[6]; 7826 } 7827 /** 7828 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7829 * @param event packet 7830 * @return sampling_frequency_bitmap 7831 * @note: btstack_type 1 7832 */ 7833 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7834 return event[7]; 7835 } 7836 /** 7837 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7838 * @param event packet 7839 * @return channel_mode_bitmap 7840 * @note: btstack_type 1 7841 */ 7842 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 7843 return event[8]; 7844 } 7845 /** 7846 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7847 * @param event packet 7848 * @return block_length_bitmap 7849 * @note: btstack_type 1 7850 */ 7851 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 7852 return event[9]; 7853 } 7854 /** 7855 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7856 * @param event packet 7857 * @return subbands_bitmap 7858 * @note: btstack_type 1 7859 */ 7860 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 7861 return event[10]; 7862 } 7863 /** 7864 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7865 * @param event packet 7866 * @return allocation_method_bitmap 7867 * @note: btstack_type 1 7868 */ 7869 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 7870 return event[11]; 7871 } 7872 /** 7873 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7874 * @param event packet 7875 * @return min_bitpool_value 7876 * @note: btstack_type 1 7877 */ 7878 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 7879 return event[12]; 7880 } 7881 /** 7882 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7883 * @param event packet 7884 * @return max_bitpool_value 7885 * @note: btstack_type 1 7886 */ 7887 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 7888 return event[13]; 7889 } 7890 7891 /** 7892 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7893 * @param event packet 7894 * @return avdtp_cid 7895 * @note: btstack_type 2 7896 */ 7897 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ 7898 return little_endian_read_16(event, 3); 7899 } 7900 /** 7901 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7902 * @param event packet 7903 * @return remote_seid 7904 * @note: btstack_type 1 7905 */ 7906 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 7907 return event[5]; 7908 } 7909 /** 7910 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7911 * @param event packet 7912 * @return media_type 7913 * @note: btstack_type 1 7914 */ 7915 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 7916 return event[6]; 7917 } 7918 /** 7919 * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7920 * @param event packet 7921 * @return layer_bitmap 7922 * @note: btstack_type 1 7923 */ 7924 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 7925 return event[7]; 7926 } 7927 /** 7928 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7929 * @param event packet 7930 * @return crc 7931 * @note: btstack_type 1 7932 */ 7933 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 7934 return event[8]; 7935 } 7936 /** 7937 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7938 * @param event packet 7939 * @return channel_mode_bitmap 7940 * @note: btstack_type 1 7941 */ 7942 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 7943 return event[9]; 7944 } 7945 /** 7946 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7947 * @param event packet 7948 * @return media_payload_format 7949 * @note: btstack_type 1 7950 */ 7951 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 7952 return event[10]; 7953 } 7954 /** 7955 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7956 * @param event packet 7957 * @return sampling_frequency_bitmap 7958 * @note: btstack_type 1 7959 */ 7960 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7961 return event[11]; 7962 } 7963 /** 7964 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7965 * @param event packet 7966 * @return vbr 7967 * @note: btstack_type 1 7968 */ 7969 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 7970 return event[12]; 7971 } 7972 /** 7973 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7974 * @param event packet 7975 * @return bit_rate_index_bitmap 7976 * @note: btstack_type 2 7977 */ 7978 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 7979 return little_endian_read_16(event, 13); 7980 } 7981 7982 /** 7983 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7984 * @param event packet 7985 * @return avdtp_cid 7986 * @note: btstack_type 2 7987 */ 7988 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ 7989 return little_endian_read_16(event, 3); 7990 } 7991 /** 7992 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7993 * @param event packet 7994 * @return remote_seid 7995 * @note: btstack_type 1 7996 */ 7997 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 7998 return event[5]; 7999 } 8000 /** 8001 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8002 * @param event packet 8003 * @return media_type 8004 * @note: btstack_type 1 8005 */ 8006 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 8007 return event[6]; 8008 } 8009 /** 8010 * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8011 * @param event packet 8012 * @return object_type_bitmap 8013 * @note: btstack_type 1 8014 */ 8015 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 8016 return event[7]; 8017 } 8018 /** 8019 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8020 * @param event packet 8021 * @return sampling_frequency_bitmap 8022 * @note: btstack_type 2 8023 */ 8024 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8025 return little_endian_read_16(event, 8); 8026 } 8027 /** 8028 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8029 * @param event packet 8030 * @return channels_bitmap 8031 * @note: btstack_type 1 8032 */ 8033 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 8034 return event[10]; 8035 } 8036 /** 8037 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8038 * @param event packet 8039 * @return bit_rate 8040 * @note: btstack_type 3 8041 */ 8042 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 8043 return little_endian_read_24(event, 11); 8044 } 8045 /** 8046 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8047 * @param event packet 8048 * @return vbr 8049 * @note: btstack_type 1 8050 */ 8051 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 8052 return event[14]; 8053 } 8054 8055 /** 8056 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8057 * @param event packet 8058 * @return avdtp_cid 8059 * @note: btstack_type 2 8060 */ 8061 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ 8062 return little_endian_read_16(event, 3); 8063 } 8064 /** 8065 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8066 * @param event packet 8067 * @return remote_seid 8068 * @note: btstack_type 1 8069 */ 8070 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 8071 return event[5]; 8072 } 8073 /** 8074 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8075 * @param event packet 8076 * @return media_type 8077 * @note: btstack_type 1 8078 */ 8079 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 8080 return event[6]; 8081 } 8082 /** 8083 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8084 * @param event packet 8085 * @return version 8086 * @note: btstack_type 1 8087 */ 8088 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 8089 return event[7]; 8090 } 8091 /** 8092 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8093 * @param event packet 8094 * @return channel_mode_bitmap 8095 * @note: btstack_type 1 8096 */ 8097 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 8098 return event[8]; 8099 } 8100 /** 8101 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8102 * @param event packet 8103 * @return sampling_frequency_bitmap 8104 * @note: btstack_type 1 8105 */ 8106 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8107 return event[9]; 8108 } 8109 /** 8110 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8111 * @param event packet 8112 * @return vbr 8113 * @note: btstack_type 1 8114 */ 8115 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 8116 return event[10]; 8117 } 8118 /** 8119 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8120 * @param event packet 8121 * @return bit_rate_index_bitmap 8122 * @note: btstack_type 3 8123 */ 8124 static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8125 return little_endian_read_24(event, 11); 8126 } 8127 /** 8128 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8129 * @param event packet 8130 * @return maximum_sul 8131 * @note: btstack_type 2 8132 */ 8133 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 8134 return little_endian_read_16(event, 14); 8135 } 8136 8137 /** 8138 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8139 * @param event packet 8140 * @return avdtp_cid 8141 * @note: btstack_type 2 8142 */ 8143 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 8144 return little_endian_read_16(event, 3); 8145 } 8146 /** 8147 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8148 * @param event packet 8149 * @return remote_seid 8150 * @note: btstack_type 1 8151 */ 8152 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 8153 return event[5]; 8154 } 8155 /** 8156 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8157 * @param event packet 8158 * @return media_type 8159 * @note: btstack_type 1 8160 */ 8161 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 8162 return event[6]; 8163 } 8164 /** 8165 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8166 * @param event packet 8167 * @return media_codec_type 8168 * @note: btstack_type 2 8169 */ 8170 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 8171 return little_endian_read_16(event, 7); 8172 } 8173 /** 8174 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8175 * @param event packet 8176 * @return media_codec_information_len 8177 * @note: btstack_type L 8178 */ 8179 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 8180 return little_endian_read_16(event, 9); 8181 } 8182 /** 8183 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8184 * @param event packet 8185 * @return media_codec_information 8186 * @note: btstack_type V 8187 */ 8188 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 8189 return &event[11]; 8190 } 8191 8192 /** 8193 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8194 * @param event packet 8195 * @return avdtp_cid 8196 * @note: btstack_type 2 8197 */ 8198 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 8199 return little_endian_read_16(event, 3); 8200 } 8201 /** 8202 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8203 * @param event packet 8204 * @return remote_seid 8205 * @note: btstack_type 1 8206 */ 8207 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 8208 return event[5]; 8209 } 8210 8211 /** 8212 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8213 * @param event packet 8214 * @return avdtp_cid 8215 * @note: btstack_type 2 8216 */ 8217 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8218 return little_endian_read_16(event, 3); 8219 } 8220 /** 8221 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8222 * @param event packet 8223 * @return remote_seid 8224 * @note: btstack_type 1 8225 */ 8226 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 8227 return event[5]; 8228 } 8229 8230 /** 8231 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8232 * @param event packet 8233 * @return avdtp_cid 8234 * @note: btstack_type 2 8235 */ 8236 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 8237 return little_endian_read_16(event, 3); 8238 } 8239 /** 8240 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8241 * @param event packet 8242 * @return remote_seid 8243 * @note: btstack_type 1 8244 */ 8245 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 8246 return event[5]; 8247 } 8248 /** 8249 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8250 * @param event packet 8251 * @return recovery_type 8252 * @note: btstack_type 1 8253 */ 8254 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 8255 return event[6]; 8256 } 8257 /** 8258 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8259 * @param event packet 8260 * @return maximum_recovery_window_size 8261 * @note: btstack_type 1 8262 */ 8263 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 8264 return event[7]; 8265 } 8266 /** 8267 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8268 * @param event packet 8269 * @return maximum_number_media_packets 8270 * @note: btstack_type 1 8271 */ 8272 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 8273 return event[8]; 8274 } 8275 8276 /** 8277 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8278 * @param event packet 8279 * @return avdtp_cid 8280 * @note: btstack_type 2 8281 */ 8282 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 8283 return little_endian_read_16(event, 3); 8284 } 8285 /** 8286 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8287 * @param event packet 8288 * @return remote_seid 8289 * @note: btstack_type 1 8290 */ 8291 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 8292 return event[5]; 8293 } 8294 /** 8295 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8296 * @param event packet 8297 * @return cp_type 8298 * @note: btstack_type 2 8299 */ 8300 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 8301 return little_endian_read_16(event, 6); 8302 } 8303 /** 8304 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8305 * @param event packet 8306 * @return cp_type_value_len 8307 * @note: btstack_type L 8308 */ 8309 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 8310 return little_endian_read_16(event, 8); 8311 } 8312 /** 8313 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8314 * @param event packet 8315 * @return cp_type_value 8316 * @note: btstack_type V 8317 */ 8318 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 8319 return &event[10]; 8320 } 8321 8322 /** 8323 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8324 * @param event packet 8325 * @return avdtp_cid 8326 * @note: btstack_type 2 8327 */ 8328 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 8329 return little_endian_read_16(event, 3); 8330 } 8331 /** 8332 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8333 * @param event packet 8334 * @return remote_seid 8335 * @note: btstack_type 1 8336 */ 8337 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 8338 return event[5]; 8339 } 8340 /** 8341 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8342 * @param event packet 8343 * @return fragmentation 8344 * @note: btstack_type 1 8345 */ 8346 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 8347 return event[6]; 8348 } 8349 /** 8350 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8351 * @param event packet 8352 * @return transport_identifiers_num 8353 * @note: btstack_type 1 8354 */ 8355 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 8356 return event[7]; 8357 } 8358 /** 8359 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8360 * @param event packet 8361 * @return transport_session_identifier_1 8362 * @note: btstack_type 1 8363 */ 8364 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 8365 return event[8]; 8366 } 8367 /** 8368 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8369 * @param event packet 8370 * @return transport_session_identifier_2 8371 * @note: btstack_type 1 8372 */ 8373 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 8374 return event[9]; 8375 } 8376 /** 8377 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8378 * @param event packet 8379 * @return transport_session_identifier_3 8380 * @note: btstack_type 1 8381 */ 8382 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 8383 return event[10]; 8384 } 8385 /** 8386 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8387 * @param event packet 8388 * @return tcid_1 8389 * @note: btstack_type 1 8390 */ 8391 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 8392 return event[11]; 8393 } 8394 /** 8395 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8396 * @param event packet 8397 * @return tcid_2 8398 * @note: btstack_type 1 8399 */ 8400 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 8401 return event[12]; 8402 } 8403 /** 8404 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8405 * @param event packet 8406 * @return tcid_3 8407 * @note: btstack_type 1 8408 */ 8409 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 8410 return event[13]; 8411 } 8412 8413 /** 8414 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8415 * @param event packet 8416 * @return avdtp_cid 8417 * @note: btstack_type 2 8418 */ 8419 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8420 return little_endian_read_16(event, 3); 8421 } 8422 /** 8423 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8424 * @param event packet 8425 * @return remote_seid 8426 * @note: btstack_type 1 8427 */ 8428 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 8429 return event[5]; 8430 } 8431 8432 /** 8433 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8434 * @param event packet 8435 * @return avdtp_cid 8436 * @note: btstack_type 2 8437 */ 8438 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 8439 return little_endian_read_16(event, 3); 8440 } 8441 /** 8442 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8443 * @param event packet 8444 * @return remote_seid 8445 * @note: btstack_type 1 8446 */ 8447 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 8448 return event[5]; 8449 } 8450 /** 8451 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8452 * @param event packet 8453 * @return back_ch 8454 * @note: btstack_type 1 8455 */ 8456 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 8457 return event[6]; 8458 } 8459 /** 8460 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8461 * @param event packet 8462 * @return media 8463 * @note: btstack_type 1 8464 */ 8465 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 8466 return event[7]; 8467 } 8468 /** 8469 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8470 * @param event packet 8471 * @return recovery 8472 * @note: btstack_type 1 8473 */ 8474 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 8475 return event[8]; 8476 } 8477 8478 /** 8479 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8480 * @param event packet 8481 * @return avdtp_cid 8482 * @note: btstack_type 2 8483 */ 8484 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 8485 return little_endian_read_16(event, 3); 8486 } 8487 /** 8488 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8489 * @param event packet 8490 * @return remote_seid 8491 * @note: btstack_type 1 8492 */ 8493 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 8494 return event[5]; 8495 } 8496 8497 /** 8498 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8499 * @param event packet 8500 * @return avdtp_cid 8501 * @note: btstack_type 2 8502 */ 8503 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 8504 return little_endian_read_16(event, 3); 8505 } 8506 /** 8507 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8508 * @param event packet 8509 * @return local_seid 8510 * @note: btstack_type 1 8511 */ 8512 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 8513 return event[5]; 8514 } 8515 /** 8516 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8517 * @param event packet 8518 * @return remote_seid 8519 * @note: btstack_type 1 8520 */ 8521 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 8522 return event[6]; 8523 } 8524 /** 8525 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8526 * @param event packet 8527 * @return reconfigure 8528 * @note: btstack_type 1 8529 */ 8530 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 8531 return event[7]; 8532 } 8533 /** 8534 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8535 * @param event packet 8536 * @return media_type 8537 * @note: btstack_type 1 8538 */ 8539 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 8540 return event[8]; 8541 } 8542 /** 8543 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8544 * @param event packet 8545 * @return sampling_frequency 8546 * @note: btstack_type 2 8547 */ 8548 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 8549 return little_endian_read_16(event, 9); 8550 } 8551 /** 8552 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8553 * @param event packet 8554 * @return channel_mode 8555 * @note: btstack_type 1 8556 */ 8557 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 8558 return event[11]; 8559 } 8560 /** 8561 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8562 * @param event packet 8563 * @return num_channels 8564 * @note: btstack_type 1 8565 */ 8566 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 8567 return event[12]; 8568 } 8569 /** 8570 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8571 * @param event packet 8572 * @return block_length 8573 * @note: btstack_type 1 8574 */ 8575 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 8576 return event[13]; 8577 } 8578 /** 8579 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8580 * @param event packet 8581 * @return subbands 8582 * @note: btstack_type 1 8583 */ 8584 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 8585 return event[14]; 8586 } 8587 /** 8588 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8589 * @param event packet 8590 * @return allocation_method 8591 * @note: btstack_type 1 8592 */ 8593 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 8594 return event[15]; 8595 } 8596 /** 8597 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8598 * @param event packet 8599 * @return min_bitpool_value 8600 * @note: btstack_type 1 8601 */ 8602 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 8603 return event[16]; 8604 } 8605 /** 8606 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8607 * @param event packet 8608 * @return max_bitpool_value 8609 * @note: btstack_type 1 8610 */ 8611 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 8612 return event[17]; 8613 } 8614 8615 /** 8616 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8617 * @param event packet 8618 * @return avdtp_cid 8619 * @note: btstack_type 2 8620 */ 8621 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ 8622 return little_endian_read_16(event, 3); 8623 } 8624 /** 8625 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8626 * @param event packet 8627 * @return local_seid 8628 * @note: btstack_type 1 8629 */ 8630 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 8631 return event[5]; 8632 } 8633 /** 8634 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8635 * @param event packet 8636 * @return remote_seid 8637 * @note: btstack_type 1 8638 */ 8639 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 8640 return event[6]; 8641 } 8642 /** 8643 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8644 * @param event packet 8645 * @return reconfigure 8646 * @note: btstack_type 1 8647 */ 8648 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 8649 return event[7]; 8650 } 8651 /** 8652 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8653 * @param event packet 8654 * @return media_type 8655 * @note: btstack_type 1 8656 */ 8657 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 8658 return event[8]; 8659 } 8660 /** 8661 * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8662 * @param event packet 8663 * @return layer 8664 * @note: btstack_type 1 8665 */ 8666 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 8667 return event[9]; 8668 } 8669 /** 8670 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8671 * @param event packet 8672 * @return crc 8673 * @note: btstack_type 1 8674 */ 8675 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 8676 return event[10]; 8677 } 8678 /** 8679 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8680 * @param event packet 8681 * @return channel_mode 8682 * @note: btstack_type 1 8683 */ 8684 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 8685 return event[11]; 8686 } 8687 /** 8688 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8689 * @param event packet 8690 * @return num_channels 8691 * @note: btstack_type 1 8692 */ 8693 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 8694 return event[12]; 8695 } 8696 /** 8697 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8698 * @param event packet 8699 * @return media_payload_format 8700 * @note: btstack_type 1 8701 */ 8702 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 8703 return event[13]; 8704 } 8705 /** 8706 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8707 * @param event packet 8708 * @return sampling_frequency 8709 * @note: btstack_type 2 8710 */ 8711 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 8712 return little_endian_read_16(event, 14); 8713 } 8714 /** 8715 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8716 * @param event packet 8717 * @return vbr 8718 * @note: btstack_type 1 8719 */ 8720 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 8721 return event[16]; 8722 } 8723 /** 8724 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8725 * @param event packet 8726 * @return bit_rate_index 8727 * @note: btstack_type 1 8728 */ 8729 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 8730 return event[17]; 8731 } 8732 8733 /** 8734 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8735 * @param event packet 8736 * @return avdtp_cid 8737 * @note: btstack_type 2 8738 */ 8739 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ 8740 return little_endian_read_16(event, 3); 8741 } 8742 /** 8743 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8744 * @param event packet 8745 * @return local_seid 8746 * @note: btstack_type 1 8747 */ 8748 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 8749 return event[5]; 8750 } 8751 /** 8752 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8753 * @param event packet 8754 * @return remote_seid 8755 * @note: btstack_type 1 8756 */ 8757 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 8758 return event[6]; 8759 } 8760 /** 8761 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8762 * @param event packet 8763 * @return reconfigure 8764 * @note: btstack_type 1 8765 */ 8766 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 8767 return event[7]; 8768 } 8769 /** 8770 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8771 * @param event packet 8772 * @return media_type 8773 * @note: btstack_type 1 8774 */ 8775 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 8776 return event[8]; 8777 } 8778 /** 8779 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8780 * @param event packet 8781 * @return object_type 8782 * @note: btstack_type 1 8783 */ 8784 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 8785 return event[9]; 8786 } 8787 /** 8788 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8789 * @param event packet 8790 * @return sampling_frequency 8791 * @note: btstack_type 3 8792 */ 8793 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 8794 return little_endian_read_24(event, 10); 8795 } 8796 /** 8797 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8798 * @param event packet 8799 * @return num_channels 8800 * @note: btstack_type 1 8801 */ 8802 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 8803 return event[13]; 8804 } 8805 /** 8806 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8807 * @param event packet 8808 * @return bit_rate 8809 * @note: btstack_type 3 8810 */ 8811 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 8812 return little_endian_read_24(event, 14); 8813 } 8814 /** 8815 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8816 * @param event packet 8817 * @return vbr 8818 * @note: btstack_type 1 8819 */ 8820 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 8821 return event[17]; 8822 } 8823 8824 /** 8825 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8826 * @param event packet 8827 * @return avdtp_cid 8828 * @note: btstack_type 2 8829 */ 8830 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ 8831 return little_endian_read_16(event, 3); 8832 } 8833 /** 8834 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8835 * @param event packet 8836 * @return local_seid 8837 * @note: btstack_type 1 8838 */ 8839 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 8840 return event[5]; 8841 } 8842 /** 8843 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8844 * @param event packet 8845 * @return remote_seid 8846 * @note: btstack_type 1 8847 */ 8848 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 8849 return event[6]; 8850 } 8851 /** 8852 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8853 * @param event packet 8854 * @return reconfigure 8855 * @note: btstack_type 1 8856 */ 8857 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 8858 return event[7]; 8859 } 8860 /** 8861 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8862 * @param event packet 8863 * @return media_type 8864 * @note: btstack_type 1 8865 */ 8866 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 8867 return event[8]; 8868 } 8869 /** 8870 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8871 * @param event packet 8872 * @return version 8873 * @note: btstack_type 1 8874 */ 8875 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 8876 return event[9]; 8877 } 8878 /** 8879 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8880 * @param event packet 8881 * @return channel_mode 8882 * @note: btstack_type 1 8883 */ 8884 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 8885 return event[10]; 8886 } 8887 /** 8888 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8889 * @param event packet 8890 * @return num_channels 8891 * @note: btstack_type 1 8892 */ 8893 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 8894 return event[11]; 8895 } 8896 /** 8897 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8898 * @param event packet 8899 * @return sampling_frequency 8900 * @note: btstack_type 2 8901 */ 8902 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 8903 return little_endian_read_16(event, 12); 8904 } 8905 /** 8906 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8907 * @param event packet 8908 * @return vbr 8909 * @note: btstack_type 1 8910 */ 8911 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 8912 return event[14]; 8913 } 8914 /** 8915 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8916 * @param event packet 8917 * @return bit_rate_index 8918 * @note: btstack_type 1 8919 */ 8920 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 8921 return event[15]; 8922 } 8923 /** 8924 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8925 * @param event packet 8926 * @return maximum_sul 8927 * @note: btstack_type 2 8928 */ 8929 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 8930 return little_endian_read_16(event, 16); 8931 } 8932 8933 /** 8934 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8935 * @param event packet 8936 * @return avdtp_cid 8937 * @note: btstack_type 2 8938 */ 8939 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 8940 return little_endian_read_16(event, 3); 8941 } 8942 /** 8943 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8944 * @param event packet 8945 * @return local_seid 8946 * @note: btstack_type 1 8947 */ 8948 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 8949 return event[5]; 8950 } 8951 /** 8952 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8953 * @param event packet 8954 * @return remote_seid 8955 * @note: btstack_type 1 8956 */ 8957 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 8958 return event[6]; 8959 } 8960 /** 8961 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8962 * @param event packet 8963 * @return reconfigure 8964 * @note: btstack_type 1 8965 */ 8966 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 8967 return event[7]; 8968 } 8969 /** 8970 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8971 * @param event packet 8972 * @return media_type 8973 * @note: btstack_type 1 8974 */ 8975 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 8976 return event[8]; 8977 } 8978 /** 8979 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8980 * @param event packet 8981 * @return media_codec_type 8982 * @note: btstack_type 2 8983 */ 8984 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 8985 return little_endian_read_16(event, 9); 8986 } 8987 /** 8988 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8989 * @param event packet 8990 * @return media_codec_information_len 8991 * @note: btstack_type L 8992 */ 8993 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 8994 return little_endian_read_16(event, 11); 8995 } 8996 /** 8997 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8998 * @param event packet 8999 * @return media_codec_information 9000 * @note: btstack_type V 9001 */ 9002 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9003 return &event[13]; 9004 } 9005 9006 /** 9007 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9008 * @param event packet 9009 * @return avdtp_cid 9010 * @note: btstack_type 2 9011 */ 9012 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 9013 return little_endian_read_16(event, 3); 9014 } 9015 /** 9016 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9017 * @param event packet 9018 * @param Pointer to storage for bd_addr 9019 * @note: btstack_type B 9020 */ 9021 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9022 reverse_bytes(&event[5], bd_addr, 6); 9023 } 9024 /** 9025 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9026 * @param event packet 9027 * @return local_seid 9028 * @note: btstack_type 1 9029 */ 9030 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 9031 return event[11]; 9032 } 9033 /** 9034 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9035 * @param event packet 9036 * @return remote_seid 9037 * @note: btstack_type 1 9038 */ 9039 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 9040 return event[12]; 9041 } 9042 /** 9043 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9044 * @param event packet 9045 * @return status 9046 * @note: btstack_type 1 9047 */ 9048 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 9049 return event[13]; 9050 } 9051 9052 /** 9053 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9054 * @param event packet 9055 * @return avdtp_cid 9056 * @note: btstack_type 2 9057 */ 9058 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 9059 return little_endian_read_16(event, 3); 9060 } 9061 /** 9062 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9063 * @param event packet 9064 * @return local_seid 9065 * @note: btstack_type 1 9066 */ 9067 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 9068 return event[5]; 9069 } 9070 9071 /** 9072 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9073 * @param event packet 9074 * @return avdtp_cid 9075 * @note: btstack_type 2 9076 */ 9077 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 9078 return little_endian_read_16(event, 3); 9079 } 9080 /** 9081 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9082 * @param event packet 9083 * @return local_seid 9084 * @note: btstack_type 1 9085 */ 9086 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9087 return event[5]; 9088 } 9089 /** 9090 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9091 * @param event packet 9092 * @return sequence_number 9093 * @note: btstack_type 2 9094 */ 9095 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 9096 return little_endian_read_16(event, 6); 9097 } 9098 9099 /** 9100 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 9101 * @param event packet 9102 * @return avdtp_cid 9103 * @note: btstack_type 2 9104 */ 9105 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 9106 return little_endian_read_16(event, 3); 9107 } 9108 9109 /** 9110 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9111 * @param event packet 9112 * @return avdtp_cid 9113 * @note: btstack_type 2 9114 */ 9115 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 9116 return little_endian_read_16(event, 3); 9117 } 9118 /** 9119 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9120 * @param event packet 9121 * @return local_seid 9122 * @note: btstack_type 1 9123 */ 9124 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 9125 return event[5]; 9126 } 9127 /** 9128 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9129 * @param event packet 9130 * @return delay_100us 9131 * @note: btstack_type 2 9132 */ 9133 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 9134 return little_endian_read_16(event, 6); 9135 } 9136 9137 /** 9138 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9139 * @param event packet 9140 * @return a2dp_cid 9141 * @note: btstack_type 2 9142 */ 9143 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 9144 return little_endian_read_16(event, 3); 9145 } 9146 /** 9147 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9148 * @param event packet 9149 * @return local_seid 9150 * @note: btstack_type 1 9151 */ 9152 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9153 return event[5]; 9154 } 9155 9156 /** 9157 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9158 * @param event packet 9159 * @return a2dp_cid 9160 * @note: btstack_type 2 9161 */ 9162 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 9163 return little_endian_read_16(event, 3); 9164 } 9165 /** 9166 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9167 * @param event packet 9168 * @return local_seid 9169 * @note: btstack_type 1 9170 */ 9171 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 9172 return event[5]; 9173 } 9174 /** 9175 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9176 * @param event packet 9177 * @return remote_seid 9178 * @note: btstack_type 1 9179 */ 9180 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 9181 return event[6]; 9182 } 9183 /** 9184 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9185 * @param event packet 9186 * @return reconfigure 9187 * @note: btstack_type 1 9188 */ 9189 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 9190 return event[7]; 9191 } 9192 /** 9193 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9194 * @param event packet 9195 * @return media_type 9196 * @note: btstack_type 1 9197 */ 9198 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 9199 return event[8]; 9200 } 9201 /** 9202 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9203 * @param event packet 9204 * @return sampling_frequency 9205 * @note: btstack_type 2 9206 */ 9207 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 9208 return little_endian_read_16(event, 9); 9209 } 9210 /** 9211 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9212 * @param event packet 9213 * @return channel_mode 9214 * @note: btstack_type 1 9215 */ 9216 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 9217 return event[11]; 9218 } 9219 /** 9220 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9221 * @param event packet 9222 * @return num_channels 9223 * @note: btstack_type 1 9224 */ 9225 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 9226 return event[12]; 9227 } 9228 /** 9229 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9230 * @param event packet 9231 * @return block_length 9232 * @note: btstack_type 1 9233 */ 9234 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 9235 return event[13]; 9236 } 9237 /** 9238 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9239 * @param event packet 9240 * @return subbands 9241 * @note: btstack_type 1 9242 */ 9243 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 9244 return event[14]; 9245 } 9246 /** 9247 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9248 * @param event packet 9249 * @return allocation_method 9250 * @note: btstack_type 1 9251 */ 9252 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 9253 return event[15]; 9254 } 9255 /** 9256 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9257 * @param event packet 9258 * @return min_bitpool_value 9259 * @note: btstack_type 1 9260 */ 9261 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 9262 return event[16]; 9263 } 9264 /** 9265 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9266 * @param event packet 9267 * @return max_bitpool_value 9268 * @note: btstack_type 1 9269 */ 9270 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 9271 return event[17]; 9272 } 9273 9274 /** 9275 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9276 * @param event packet 9277 * @return a2dp_cid 9278 * @note: btstack_type 2 9279 */ 9280 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_a2dp_cid(const uint8_t * event){ 9281 return little_endian_read_16(event, 3); 9282 } 9283 /** 9284 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9285 * @param event packet 9286 * @return local_seid 9287 * @note: btstack_type 1 9288 */ 9289 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 9290 return event[5]; 9291 } 9292 /** 9293 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9294 * @param event packet 9295 * @return remote_seid 9296 * @note: btstack_type 1 9297 */ 9298 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 9299 return event[6]; 9300 } 9301 /** 9302 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9303 * @param event packet 9304 * @return reconfigure 9305 * @note: btstack_type 1 9306 */ 9307 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 9308 return event[7]; 9309 } 9310 /** 9311 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9312 * @param event packet 9313 * @return media_type 9314 * @note: btstack_type 1 9315 */ 9316 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 9317 return event[8]; 9318 } 9319 /** 9320 * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9321 * @param event packet 9322 * @return layer 9323 * @note: btstack_type 1 9324 */ 9325 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 9326 return event[9]; 9327 } 9328 /** 9329 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9330 * @param event packet 9331 * @return crc 9332 * @note: btstack_type 1 9333 */ 9334 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 9335 return event[10]; 9336 } 9337 /** 9338 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9339 * @param event packet 9340 * @return channel_mode 9341 * @note: btstack_type 1 9342 */ 9343 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 9344 return event[11]; 9345 } 9346 /** 9347 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9348 * @param event packet 9349 * @return num_channels 9350 * @note: btstack_type 1 9351 */ 9352 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 9353 return event[12]; 9354 } 9355 /** 9356 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9357 * @param event packet 9358 * @return media_payload_format 9359 * @note: btstack_type 1 9360 */ 9361 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 9362 return event[13]; 9363 } 9364 /** 9365 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9366 * @param event packet 9367 * @return sampling_frequency 9368 * @note: btstack_type 2 9369 */ 9370 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 9371 return little_endian_read_16(event, 14); 9372 } 9373 /** 9374 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9375 * @param event packet 9376 * @return vbr 9377 * @note: btstack_type 1 9378 */ 9379 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 9380 return event[16]; 9381 } 9382 /** 9383 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9384 * @param event packet 9385 * @return bit_rate_index 9386 * @note: btstack_type 1 9387 */ 9388 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 9389 return event[17]; 9390 } 9391 9392 /** 9393 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9394 * @param event packet 9395 * @return a2dp_cid 9396 * @note: btstack_type 2 9397 */ 9398 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_a2dp_cid(const uint8_t * event){ 9399 return little_endian_read_16(event, 3); 9400 } 9401 /** 9402 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9403 * @param event packet 9404 * @return local_seid 9405 * @note: btstack_type 1 9406 */ 9407 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 9408 return event[5]; 9409 } 9410 /** 9411 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9412 * @param event packet 9413 * @return remote_seid 9414 * @note: btstack_type 1 9415 */ 9416 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 9417 return event[6]; 9418 } 9419 /** 9420 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9421 * @param event packet 9422 * @return reconfigure 9423 * @note: btstack_type 1 9424 */ 9425 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 9426 return event[7]; 9427 } 9428 /** 9429 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9430 * @param event packet 9431 * @return media_type 9432 * @note: btstack_type 1 9433 */ 9434 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 9435 return event[8]; 9436 } 9437 /** 9438 * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9439 * @param event packet 9440 * @return object_type 9441 * @note: btstack_type 1 9442 */ 9443 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 9444 return event[9]; 9445 } 9446 /** 9447 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9448 * @param event packet 9449 * @return sampling_frequency 9450 * @note: btstack_type 3 9451 */ 9452 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 9453 return little_endian_read_24(event, 10); 9454 } 9455 /** 9456 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9457 * @param event packet 9458 * @return num_channels 9459 * @note: btstack_type 1 9460 */ 9461 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9462 return event[13]; 9463 } 9464 /** 9465 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9466 * @param event packet 9467 * @return bit_rate 9468 * @note: btstack_type 3 9469 */ 9470 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9471 return little_endian_read_24(event, 14); 9472 } 9473 /** 9474 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9475 * @param event packet 9476 * @return vbr 9477 * @note: btstack_type 1 9478 */ 9479 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9480 return event[17]; 9481 } 9482 9483 /** 9484 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9485 * @param event packet 9486 * @return a2dp_cid 9487 * @note: btstack_type 2 9488 */ 9489 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_a2dp_cid(const uint8_t * event){ 9490 return little_endian_read_16(event, 3); 9491 } 9492 /** 9493 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9494 * @param event packet 9495 * @return local_seid 9496 * @note: btstack_type 1 9497 */ 9498 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9499 return event[5]; 9500 } 9501 /** 9502 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9503 * @param event packet 9504 * @return remote_seid 9505 * @note: btstack_type 1 9506 */ 9507 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9508 return event[6]; 9509 } 9510 /** 9511 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9512 * @param event packet 9513 * @return reconfigure 9514 * @note: btstack_type 1 9515 */ 9516 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9517 return event[7]; 9518 } 9519 /** 9520 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9521 * @param event packet 9522 * @return media_type 9523 * @note: btstack_type 1 9524 */ 9525 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9526 return event[8]; 9527 } 9528 /** 9529 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9530 * @param event packet 9531 * @return version 9532 * @note: btstack_type 1 9533 */ 9534 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9535 return event[9]; 9536 } 9537 /** 9538 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9539 * @param event packet 9540 * @return channel_mode 9541 * @note: btstack_type 1 9542 */ 9543 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9544 return event[10]; 9545 } 9546 /** 9547 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9548 * @param event packet 9549 * @return num_channels 9550 * @note: btstack_type 1 9551 */ 9552 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9553 return event[11]; 9554 } 9555 /** 9556 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9557 * @param event packet 9558 * @return sampling_frequency 9559 * @note: btstack_type 2 9560 */ 9561 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9562 return little_endian_read_16(event, 12); 9563 } 9564 /** 9565 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9566 * @param event packet 9567 * @return vbr 9568 * @note: btstack_type 1 9569 */ 9570 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9571 return event[14]; 9572 } 9573 /** 9574 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9575 * @param event packet 9576 * @return bit_rate_index 9577 * @note: btstack_type 1 9578 */ 9579 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9580 return event[15]; 9581 } 9582 /** 9583 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9584 * @param event packet 9585 * @return maximum_sul 9586 * @note: btstack_type 2 9587 */ 9588 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9589 return little_endian_read_16(event, 16); 9590 } 9591 9592 /** 9593 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9594 * @param event packet 9595 * @return a2dp_cid 9596 * @note: btstack_type 2 9597 */ 9598 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 9599 return little_endian_read_16(event, 3); 9600 } 9601 /** 9602 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9603 * @param event packet 9604 * @return local_seid 9605 * @note: btstack_type 1 9606 */ 9607 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9608 return event[5]; 9609 } 9610 /** 9611 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9612 * @param event packet 9613 * @return remote_seid 9614 * @note: btstack_type 1 9615 */ 9616 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9617 return event[6]; 9618 } 9619 /** 9620 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9621 * @param event packet 9622 * @return reconfigure 9623 * @note: btstack_type 1 9624 */ 9625 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9626 return event[7]; 9627 } 9628 /** 9629 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9630 * @param event packet 9631 * @return media_type 9632 * @note: btstack_type 1 9633 */ 9634 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9635 return event[8]; 9636 } 9637 /** 9638 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9639 * @param event packet 9640 * @return media_codec_type 9641 * @note: btstack_type 2 9642 */ 9643 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9644 return little_endian_read_16(event, 9); 9645 } 9646 /** 9647 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9648 * @param event packet 9649 * @return media_codec_information_len 9650 * @note: btstack_type L 9651 */ 9652 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9653 return little_endian_read_16(event, 11); 9654 } 9655 /** 9656 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9657 * @param event packet 9658 * @return media_codec_information 9659 * @note: btstack_type V 9660 */ 9661 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9662 return &event[13]; 9663 } 9664 9665 /** 9666 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9667 * @param event packet 9668 * @return a2dp_cid 9669 * @note: btstack_type 2 9670 */ 9671 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 9672 return little_endian_read_16(event, 3); 9673 } 9674 /** 9675 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9676 * @param event packet 9677 * @param Pointer to storage for bd_addr 9678 * @note: btstack_type B 9679 */ 9680 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9681 reverse_bytes(&event[5], bd_addr, 6); 9682 } 9683 /** 9684 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9685 * @param event packet 9686 * @return local_seid 9687 * @note: btstack_type 1 9688 */ 9689 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 9690 return event[11]; 9691 } 9692 /** 9693 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9694 * @param event packet 9695 * @return remote_seid 9696 * @note: btstack_type 1 9697 */ 9698 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 9699 return event[12]; 9700 } 9701 /** 9702 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9703 * @param event packet 9704 * @return status 9705 * @note: btstack_type 1 9706 */ 9707 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 9708 return event[13]; 9709 } 9710 9711 /** 9712 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9713 * @param event packet 9714 * @return a2dp_cid 9715 * @note: btstack_type 2 9716 */ 9717 static inline uint16_t a2dp_subevent_start_stream_requested_get_a2dp_cid(const uint8_t * event){ 9718 return little_endian_read_16(event, 3); 9719 } 9720 /** 9721 * @brief Get field local_seid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9722 * @param event packet 9723 * @return local_seid 9724 * @note: btstack_type 1 9725 */ 9726 static inline uint8_t a2dp_subevent_start_stream_requested_get_local_seid(const uint8_t * event){ 9727 return event[5]; 9728 } 9729 9730 /** 9731 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 9732 * @param event packet 9733 * @return a2dp_cid 9734 * @note: btstack_type 2 9735 */ 9736 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 9737 return little_endian_read_16(event, 3); 9738 } 9739 /** 9740 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 9741 * @param event packet 9742 * @return local_seid 9743 * @note: btstack_type 1 9744 */ 9745 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 9746 return event[5]; 9747 } 9748 9749 /** 9750 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9751 * @param event packet 9752 * @return a2dp_cid 9753 * @note: btstack_type 2 9754 */ 9755 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 9756 return little_endian_read_16(event, 3); 9757 } 9758 /** 9759 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9760 * @param event packet 9761 * @return local_seid 9762 * @note: btstack_type 1 9763 */ 9764 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 9765 return event[5]; 9766 } 9767 9768 /** 9769 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 9770 * @param event packet 9771 * @return a2dp_cid 9772 * @note: btstack_type 2 9773 */ 9774 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 9775 return little_endian_read_16(event, 3); 9776 } 9777 /** 9778 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 9779 * @param event packet 9780 * @return local_seid 9781 * @note: btstack_type 1 9782 */ 9783 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 9784 return event[5]; 9785 } 9786 9787 /** 9788 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 9789 * @param event packet 9790 * @return a2dp_cid 9791 * @note: btstack_type 2 9792 */ 9793 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 9794 return little_endian_read_16(event, 3); 9795 } 9796 /** 9797 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 9798 * @param event packet 9799 * @return local_seid 9800 * @note: btstack_type 1 9801 */ 9802 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 9803 return event[5]; 9804 } 9805 9806 /** 9807 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9808 * @param event packet 9809 * @return a2dp_cid 9810 * @note: btstack_type 2 9811 */ 9812 static inline uint16_t a2dp_subevent_command_accepted_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_COMMAND_ACCEPTED 9817 * @param event packet 9818 * @return local_seid 9819 * @note: btstack_type 1 9820 */ 9821 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 9822 return event[5]; 9823 } 9824 /** 9825 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9826 * @param event packet 9827 * @return signal_identifier 9828 * @note: btstack_type 1 9829 */ 9830 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 9831 return event[6]; 9832 } 9833 9834 /** 9835 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 9836 * @param event packet 9837 * @return a2dp_cid 9838 * @note: btstack_type 2 9839 */ 9840 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 9841 return little_endian_read_16(event, 3); 9842 } 9843 /** 9844 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 9845 * @param event packet 9846 * @return local_seid 9847 * @note: btstack_type 1 9848 */ 9849 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 9850 return event[5]; 9851 } 9852 /** 9853 * @brief Get field is_initiator from event A2DP_SUBEVENT_COMMAND_REJECTED 9854 * @param event packet 9855 * @return is_initiator 9856 * @note: btstack_type 1 9857 */ 9858 static inline uint8_t a2dp_subevent_command_rejected_get_is_initiator(const uint8_t * event){ 9859 return event[6]; 9860 } 9861 /** 9862 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 9863 * @param event packet 9864 * @return signal_identifier 9865 * @note: btstack_type 1 9866 */ 9867 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 9868 return event[7]; 9869 } 9870 9871 /** 9872 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9873 * @param event packet 9874 * @return a2dp_cid 9875 * @note: btstack_type 2 9876 */ 9877 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 9878 return little_endian_read_16(event, 3); 9879 } 9880 /** 9881 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9882 * @param event packet 9883 * @param Pointer to storage for bd_addr 9884 * @note: btstack_type B 9885 */ 9886 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9887 reverse_bytes(&event[5], bd_addr, 6); 9888 } 9889 /** 9890 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9891 * @param event packet 9892 * @return con_handle 9893 * @note: btstack_type 2 9894 */ 9895 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 9896 return little_endian_read_16(event, 11); 9897 } 9898 /** 9899 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9900 * @param event packet 9901 * @return status 9902 * @note: btstack_type 1 9903 */ 9904 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 9905 return event[13]; 9906 } 9907 9908 /** 9909 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 9910 * @param event packet 9911 * @return a2dp_cid 9912 * @note: btstack_type 2 9913 */ 9914 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 9915 return little_endian_read_16(event, 3); 9916 } 9917 9918 /** 9919 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9920 * @param event packet 9921 * @return a2dp_cid 9922 * @note: btstack_type 2 9923 */ 9924 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 9925 return little_endian_read_16(event, 3); 9926 } 9927 /** 9928 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9929 * @param event packet 9930 * @return local_seid 9931 * @note: btstack_type 1 9932 */ 9933 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 9934 return event[5]; 9935 } 9936 /** 9937 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9938 * @param event packet 9939 * @return status 9940 * @note: btstack_type 1 9941 */ 9942 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 9943 return event[6]; 9944 } 9945 9946 /** 9947 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9948 * @param event packet 9949 * @return a2dp_cid 9950 * @note: btstack_type 2 9951 */ 9952 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_a2dp_cid(const uint8_t * event){ 9953 return little_endian_read_16(event, 3); 9954 } 9955 /** 9956 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9957 * @param event packet 9958 * @return remote_seid 9959 * @note: btstack_type 1 9960 */ 9961 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 9962 return event[5]; 9963 } 9964 /** 9965 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9966 * @param event packet 9967 * @return media_type 9968 * @note: btstack_type 1 9969 */ 9970 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 9971 return event[6]; 9972 } 9973 /** 9974 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9975 * @param event packet 9976 * @return sampling_frequency_bitmap 9977 * @note: btstack_type 1 9978 */ 9979 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9980 return event[7]; 9981 } 9982 /** 9983 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9984 * @param event packet 9985 * @return channel_mode_bitmap 9986 * @note: btstack_type 1 9987 */ 9988 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 9989 return event[8]; 9990 } 9991 /** 9992 * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9993 * @param event packet 9994 * @return block_length_bitmap 9995 * @note: btstack_type 1 9996 */ 9997 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 9998 return event[9]; 9999 } 10000 /** 10001 * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10002 * @param event packet 10003 * @return subbands_bitmap 10004 * @note: btstack_type 1 10005 */ 10006 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 10007 return event[10]; 10008 } 10009 /** 10010 * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10011 * @param event packet 10012 * @return allocation_method_bitmap 10013 * @note: btstack_type 1 10014 */ 10015 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 10016 return event[11]; 10017 } 10018 /** 10019 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10020 * @param event packet 10021 * @return min_bitpool_value 10022 * @note: btstack_type 1 10023 */ 10024 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 10025 return event[12]; 10026 } 10027 /** 10028 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10029 * @param event packet 10030 * @return max_bitpool_value 10031 * @note: btstack_type 1 10032 */ 10033 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 10034 return event[13]; 10035 } 10036 10037 /** 10038 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10039 * @param event packet 10040 * @return a2dp_cid 10041 * @note: btstack_type 2 10042 */ 10043 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_a2dp_cid(const uint8_t * event){ 10044 return little_endian_read_16(event, 3); 10045 } 10046 /** 10047 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10048 * @param event packet 10049 * @return remote_seid 10050 * @note: btstack_type 1 10051 */ 10052 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 10053 return event[5]; 10054 } 10055 /** 10056 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10057 * @param event packet 10058 * @return media_type 10059 * @note: btstack_type 1 10060 */ 10061 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 10062 return event[6]; 10063 } 10064 /** 10065 * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10066 * @param event packet 10067 * @return layer_bitmap 10068 * @note: btstack_type 1 10069 */ 10070 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 10071 return event[7]; 10072 } 10073 /** 10074 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10075 * @param event packet 10076 * @return crc 10077 * @note: btstack_type 1 10078 */ 10079 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 10080 return event[8]; 10081 } 10082 /** 10083 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10084 * @param event packet 10085 * @return channel_mode_bitmap 10086 * @note: btstack_type 1 10087 */ 10088 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 10089 return event[9]; 10090 } 10091 /** 10092 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10093 * @param event packet 10094 * @return media_payload_format 10095 * @note: btstack_type 1 10096 */ 10097 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 10098 return event[10]; 10099 } 10100 /** 10101 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10102 * @param event packet 10103 * @return sampling_frequency_bitmap 10104 * @note: btstack_type 1 10105 */ 10106 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10107 return event[11]; 10108 } 10109 /** 10110 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10111 * @param event packet 10112 * @return vbr 10113 * @note: btstack_type 1 10114 */ 10115 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 10116 return event[12]; 10117 } 10118 /** 10119 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10120 * @param event packet 10121 * @return bit_rate_index_bitmap 10122 * @note: btstack_type 2 10123 */ 10124 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10125 return little_endian_read_16(event, 13); 10126 } 10127 10128 /** 10129 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10130 * @param event packet 10131 * @return a2dp_cid 10132 * @note: btstack_type 2 10133 */ 10134 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_a2dp_cid(const uint8_t * event){ 10135 return little_endian_read_16(event, 3); 10136 } 10137 /** 10138 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10139 * @param event packet 10140 * @return remote_seid 10141 * @note: btstack_type 1 10142 */ 10143 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 10144 return event[5]; 10145 } 10146 /** 10147 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10148 * @param event packet 10149 * @return media_type 10150 * @note: btstack_type 1 10151 */ 10152 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 10153 return event[6]; 10154 } 10155 /** 10156 * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10157 * @param event packet 10158 * @return object_type_bitmap 10159 * @note: btstack_type 1 10160 */ 10161 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 10162 return event[7]; 10163 } 10164 /** 10165 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10166 * @param event packet 10167 * @return sampling_frequency_bitmap 10168 * @note: btstack_type 2 10169 */ 10170 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10171 return little_endian_read_16(event, 8); 10172 } 10173 /** 10174 * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10175 * @param event packet 10176 * @return channels_bitmap 10177 * @note: btstack_type 1 10178 */ 10179 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 10180 return event[10]; 10181 } 10182 /** 10183 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10184 * @param event packet 10185 * @return bit_rate 10186 * @note: btstack_type 3 10187 */ 10188 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 10189 return little_endian_read_24(event, 11); 10190 } 10191 /** 10192 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10193 * @param event packet 10194 * @return vbr 10195 * @note: btstack_type 1 10196 */ 10197 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 10198 return event[14]; 10199 } 10200 10201 /** 10202 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10203 * @param event packet 10204 * @return a2dp_cid 10205 * @note: btstack_type 2 10206 */ 10207 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_a2dp_cid(const uint8_t * event){ 10208 return little_endian_read_16(event, 3); 10209 } 10210 /** 10211 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10212 * @param event packet 10213 * @return remote_seid 10214 * @note: btstack_type 1 10215 */ 10216 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 10217 return event[5]; 10218 } 10219 /** 10220 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10221 * @param event packet 10222 * @return media_type 10223 * @note: btstack_type 1 10224 */ 10225 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 10226 return event[6]; 10227 } 10228 /** 10229 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10230 * @param event packet 10231 * @return version 10232 * @note: btstack_type 1 10233 */ 10234 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 10235 return event[7]; 10236 } 10237 /** 10238 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10239 * @param event packet 10240 * @return channel_mode_bitmap 10241 * @note: btstack_type 1 10242 */ 10243 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 10244 return event[8]; 10245 } 10246 /** 10247 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10248 * @param event packet 10249 * @return sampling_frequency_bitmap 10250 * @note: btstack_type 1 10251 */ 10252 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10253 return event[9]; 10254 } 10255 /** 10256 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10257 * @param event packet 10258 * @return vbr 10259 * @note: btstack_type 1 10260 */ 10261 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 10262 return event[10]; 10263 } 10264 /** 10265 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10266 * @param event packet 10267 * @return bit_rate_index_bitmap 10268 * @note: btstack_type 3 10269 */ 10270 static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10271 return little_endian_read_24(event, 11); 10272 } 10273 /** 10274 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10275 * @param event packet 10276 * @return maximum_sul 10277 * @note: btstack_type 2 10278 */ 10279 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 10280 return little_endian_read_16(event, 14); 10281 } 10282 10283 /** 10284 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10285 * @param event packet 10286 * @return a2dp_cid 10287 * @note: btstack_type 2 10288 */ 10289 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_a2dp_cid(const uint8_t * event){ 10290 return little_endian_read_16(event, 3); 10291 } 10292 /** 10293 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10294 * @param event packet 10295 * @return remote_seid 10296 * @note: btstack_type 1 10297 */ 10298 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 10299 return event[5]; 10300 } 10301 /** 10302 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10303 * @param event packet 10304 * @return media_type 10305 * @note: btstack_type 1 10306 */ 10307 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 10308 return event[6]; 10309 } 10310 /** 10311 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10312 * @param event packet 10313 * @return media_codec_type 10314 * @note: btstack_type 2 10315 */ 10316 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 10317 return little_endian_read_16(event, 7); 10318 } 10319 /** 10320 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10321 * @param event packet 10322 * @return media_codec_information_len 10323 * @note: btstack_type L 10324 */ 10325 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 10326 return little_endian_read_16(event, 9); 10327 } 10328 /** 10329 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10330 * @param event packet 10331 * @return media_codec_information 10332 * @note: btstack_type V 10333 */ 10334 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 10335 return &event[11]; 10336 } 10337 10338 /** 10339 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10340 * @param event packet 10341 * @return a2dp_cid 10342 * @note: btstack_type 2 10343 */ 10344 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_a2dp_cid(const uint8_t * event){ 10345 return little_endian_read_16(event, 3); 10346 } 10347 /** 10348 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10349 * @param event packet 10350 * @return remote_seid 10351 * @note: btstack_type 1 10352 */ 10353 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 10354 return event[5]; 10355 } 10356 10357 /** 10358 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10359 * @param event packet 10360 * @return a2dp_cid 10361 * @note: btstack_type 2 10362 */ 10363 static inline uint16_t a2dp_subevent_signaling_delay_report_get_a2dp_cid(const uint8_t * event){ 10364 return little_endian_read_16(event, 3); 10365 } 10366 /** 10367 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10368 * @param event packet 10369 * @return local_seid 10370 * @note: btstack_type 1 10371 */ 10372 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 10373 return event[5]; 10374 } 10375 /** 10376 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10377 * @param event packet 10378 * @return delay_100us 10379 * @note: btstack_type 2 10380 */ 10381 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 10382 return little_endian_read_16(event, 6); 10383 } 10384 10385 /** 10386 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10387 * @param event packet 10388 * @return a2dp_cid 10389 * @note: btstack_type 2 10390 */ 10391 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_a2dp_cid(const uint8_t * event){ 10392 return little_endian_read_16(event, 3); 10393 } 10394 /** 10395 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10396 * @param event packet 10397 * @return remote_seid 10398 * @note: btstack_type 1 10399 */ 10400 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 10401 return event[5]; 10402 } 10403 10404 /** 10405 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 10406 * @param event packet 10407 * @return a2dp_cid 10408 * @note: btstack_type 2 10409 */ 10410 static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_a2dp_cid(const uint8_t * event){ 10411 return little_endian_read_16(event, 3); 10412 } 10413 10414 /** 10415 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10416 * @param event packet 10417 * @return avrcp_cid 10418 * @note: btstack_type 2 10419 */ 10420 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 10421 return little_endian_read_16(event, 3); 10422 } 10423 /** 10424 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10425 * @param event packet 10426 * @return command_type 10427 * @note: btstack_type 1 10428 */ 10429 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 10430 return event[5]; 10431 } 10432 /** 10433 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10434 * @param event packet 10435 * @return play_status 10436 * @note: btstack_type 1 10437 */ 10438 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 10439 return event[6]; 10440 } 10441 10442 /** 10443 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10444 * @param event packet 10445 * @return avrcp_cid 10446 * @note: btstack_type 2 10447 */ 10448 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 10449 return little_endian_read_16(event, 3); 10450 } 10451 /** 10452 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10453 * @param event packet 10454 * @return command_type 10455 * @note: btstack_type 1 10456 */ 10457 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 10458 return event[5]; 10459 } 10460 10461 /** 10462 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10463 * @param event packet 10464 * @return avrcp_cid 10465 * @note: btstack_type 2 10466 */ 10467 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 10468 return little_endian_read_16(event, 3); 10469 } 10470 /** 10471 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10472 * @param event packet 10473 * @return command_type 10474 * @note: btstack_type 1 10475 */ 10476 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 10477 return event[5]; 10478 } 10479 10480 /** 10481 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10482 * @param event packet 10483 * @return avrcp_cid 10484 * @note: btstack_type 2 10485 */ 10486 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){ 10487 return little_endian_read_16(event, 3); 10488 } 10489 /** 10490 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10491 * @param event packet 10492 * @return command_type 10493 * @note: btstack_type 1 10494 */ 10495 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 10496 return event[5]; 10497 } 10498 10499 /** 10500 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10501 * @param event packet 10502 * @return avrcp_cid 10503 * @note: btstack_type 2 10504 */ 10505 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 10506 return little_endian_read_16(event, 3); 10507 } 10508 /** 10509 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10510 * @param event packet 10511 * @return command_type 10512 * @note: btstack_type 1 10513 */ 10514 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 10515 return event[5]; 10516 } 10517 /** 10518 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10519 * @param event packet 10520 * @return playback_position 10521 * @note: btstack_type 4 10522 */ 10523 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 10524 return little_endian_read_32(event, 6); 10525 } 10526 10527 /** 10528 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10529 * @param event packet 10530 * @return avrcp_cid 10531 * @note: btstack_type 2 10532 */ 10533 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 10534 return little_endian_read_16(event, 3); 10535 } 10536 /** 10537 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10538 * @param event packet 10539 * @return command_type 10540 * @note: btstack_type 1 10541 */ 10542 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 10543 return event[5]; 10544 } 10545 /** 10546 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10547 * @param event packet 10548 * @return battery_status 10549 * @note: btstack_type 1 10550 */ 10551 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 10552 return event[6]; 10553 } 10554 10555 /** 10556 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10557 * @param event packet 10558 * @return avrcp_cid 10559 * @note: btstack_type 2 10560 */ 10561 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 10562 return little_endian_read_16(event, 3); 10563 } 10564 /** 10565 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10566 * @param event packet 10567 * @return command_type 10568 * @note: btstack_type 1 10569 */ 10570 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 10571 return event[5]; 10572 } 10573 /** 10574 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10575 * @param event packet 10576 * @return system_status 10577 * @note: btstack_type 1 10578 */ 10579 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 10580 return event[6]; 10581 } 10582 10583 /** 10584 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10585 * @param event packet 10586 * @return avrcp_cid 10587 * @note: btstack_type 2 10588 */ 10589 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 10590 return little_endian_read_16(event, 3); 10591 } 10592 /** 10593 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10594 * @param event packet 10595 * @return command_type 10596 * @note: btstack_type 1 10597 */ 10598 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 10599 return event[5]; 10600 } 10601 10602 /** 10603 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10604 * @param event packet 10605 * @return avrcp_cid 10606 * @note: btstack_type 2 10607 */ 10608 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 10609 return little_endian_read_16(event, 3); 10610 } 10611 /** 10612 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10613 * @param event packet 10614 * @return command_type 10615 * @note: btstack_type 1 10616 */ 10617 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 10618 return event[5]; 10619 } 10620 10621 /** 10622 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10623 * @param event packet 10624 * @return avrcp_cid 10625 * @note: btstack_type 2 10626 */ 10627 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 10628 return little_endian_read_16(event, 3); 10629 } 10630 /** 10631 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10632 * @param event packet 10633 * @return command_type 10634 * @note: btstack_type 1 10635 */ 10636 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 10637 return event[5]; 10638 } 10639 /** 10640 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10641 * @param event packet 10642 * @return uid_counter 10643 * @note: btstack_type 2 10644 */ 10645 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 10646 return little_endian_read_16(event, 6); 10647 } 10648 10649 /** 10650 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10651 * @param event packet 10652 * @return avrcp_cid 10653 * @note: btstack_type 2 10654 */ 10655 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 10656 return little_endian_read_16(event, 3); 10657 } 10658 /** 10659 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10660 * @param event packet 10661 * @return command_type 10662 * @note: btstack_type 1 10663 */ 10664 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 10665 return event[5]; 10666 } 10667 /** 10668 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10669 * @param event packet 10670 * @return absolute_volume 10671 * @note: btstack_type 1 10672 */ 10673 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 10674 return event[6]; 10675 } 10676 10677 /** 10678 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10679 * @param event packet 10680 * @return avrcp_cid 10681 * @note: btstack_type 2 10682 */ 10683 static inline uint16_t avrcp_subevent_set_absolute_volume_response_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_SET_ABSOLUTE_VOLUME_RESPONSE 10688 * @param event packet 10689 * @return command_type 10690 * @note: btstack_type 1 10691 */ 10692 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 10693 return event[5]; 10694 } 10695 /** 10696 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10697 * @param event packet 10698 * @return absolute_volume 10699 * @note: btstack_type 1 10700 */ 10701 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 10702 return event[6]; 10703 } 10704 10705 /** 10706 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10707 * @param event packet 10708 * @return avrcp_cid 10709 * @note: btstack_type 2 10710 */ 10711 static inline uint16_t avrcp_subevent_notification_state_get_avrcp_cid(const uint8_t * event){ 10712 return little_endian_read_16(event, 3); 10713 } 10714 /** 10715 * @brief Get field status from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10716 * @param event packet 10717 * @return status 10718 * @note: btstack_type 1 10719 */ 10720 static inline uint8_t avrcp_subevent_notification_state_get_status(const uint8_t * event){ 10721 return event[5]; 10722 } 10723 /** 10724 * @brief Get field enabled from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10725 * @param event packet 10726 * @return enabled 10727 * @note: btstack_type 1 10728 */ 10729 static inline uint8_t avrcp_subevent_notification_state_get_enabled(const uint8_t * event){ 10730 return event[6]; 10731 } 10732 /** 10733 * @brief Get field event_id from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10734 * @param event packet 10735 * @return event_id 10736 * @note: btstack_type 1 10737 */ 10738 static inline uint8_t avrcp_subevent_notification_state_get_event_id(const uint8_t * event){ 10739 return event[7]; 10740 } 10741 10742 /** 10743 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10744 * @param event packet 10745 * @return status 10746 * @note: btstack_type 1 10747 */ 10748 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 10749 return event[3]; 10750 } 10751 /** 10752 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10753 * @param event packet 10754 * @return avrcp_cid 10755 * @note: btstack_type 2 10756 */ 10757 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 10758 return little_endian_read_16(event, 4); 10759 } 10760 /** 10761 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10762 * @param event packet 10763 * @param Pointer to storage for bd_addr 10764 * @note: btstack_type B 10765 */ 10766 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10767 reverse_bytes(&event[6], bd_addr, 6); 10768 } 10769 /** 10770 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10771 * @param event packet 10772 * @return con_handle 10773 * @note: btstack_type 2 10774 */ 10775 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 10776 return little_endian_read_16(event, 12); 10777 } 10778 10779 /** 10780 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 10781 * @param event packet 10782 * @return avrcp_cid 10783 * @note: btstack_type 2 10784 */ 10785 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 10786 return little_endian_read_16(event, 3); 10787 } 10788 10789 /** 10790 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10791 * @param event packet 10792 * @return avrcp_cid 10793 * @note: btstack_type 2 10794 */ 10795 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 10796 return little_endian_read_16(event, 3); 10797 } 10798 /** 10799 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10800 * @param event packet 10801 * @return command_type 10802 * @note: btstack_type 1 10803 */ 10804 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 10805 return event[5]; 10806 } 10807 /** 10808 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10809 * @param event packet 10810 * @return repeat_mode 10811 * @note: btstack_type 1 10812 */ 10813 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 10814 return event[6]; 10815 } 10816 /** 10817 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10818 * @param event packet 10819 * @return shuffle_mode 10820 * @note: btstack_type 1 10821 */ 10822 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 10823 return event[7]; 10824 } 10825 10826 /** 10827 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 10828 * @param event packet 10829 * @return avrcp_cid 10830 * @note: btstack_type 2 10831 */ 10832 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 10833 return little_endian_read_16(event, 3); 10834 } 10835 /** 10836 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 10837 * @param event packet 10838 * @return command_type 10839 * @note: btstack_type 1 10840 */ 10841 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 10842 return event[5]; 10843 } 10844 /** 10845 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 10846 * @param event packet 10847 * @return song_length 10848 * @note: btstack_type 4 10849 */ 10850 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 10851 return little_endian_read_32(event, 6); 10852 } 10853 /** 10854 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 10855 * @param event packet 10856 * @return song_position 10857 * @note: btstack_type 4 10858 */ 10859 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 10860 return little_endian_read_32(event, 10); 10861 } 10862 /** 10863 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 10864 * @param event packet 10865 * @return play_status 10866 * @note: btstack_type 1 10867 */ 10868 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 10869 return event[14]; 10870 } 10871 10872 /** 10873 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 10874 * @param event packet 10875 * @return avrcp_cid 10876 * @note: btstack_type 2 10877 */ 10878 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 10879 return little_endian_read_16(event, 3); 10880 } 10881 /** 10882 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 10883 * @param event packet 10884 * @return command_type 10885 * @note: btstack_type 1 10886 */ 10887 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 10888 return event[5]; 10889 } 10890 /** 10891 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 10892 * @param event packet 10893 * @return operation_id 10894 * @note: btstack_type 1 10895 */ 10896 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 10897 return event[6]; 10898 } 10899 10900 /** 10901 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10902 * @param event packet 10903 * @return avrcp_cid 10904 * @note: btstack_type 2 10905 */ 10906 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 10907 return little_endian_read_16(event, 3); 10908 } 10909 /** 10910 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10911 * @param event packet 10912 * @return command_type 10913 * @note: btstack_type 1 10914 */ 10915 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 10916 return event[5]; 10917 } 10918 /** 10919 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10920 * @param event packet 10921 * @return operation_id 10922 * @note: btstack_type 1 10923 */ 10924 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 10925 return event[6]; 10926 } 10927 10928 /** 10929 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 10930 * @param event packet 10931 * @return avrcp_cid 10932 * @note: btstack_type 2 10933 */ 10934 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 10935 return little_endian_read_16(event, 3); 10936 } 10937 /** 10938 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 10939 * @param event packet 10940 * @return command_type 10941 * @note: btstack_type 1 10942 */ 10943 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 10944 return event[5]; 10945 } 10946 10947 /** 10948 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 10949 * @param event packet 10950 * @return avrcp_cid 10951 * @note: btstack_type 2 10952 */ 10953 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 10954 return little_endian_read_16(event, 3); 10955 } 10956 10957 /** 10958 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 10959 * @param event packet 10960 * @return avrcp_cid 10961 * @note: btstack_type 2 10962 */ 10963 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 10964 return little_endian_read_16(event, 3); 10965 } 10966 /** 10967 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 10968 * @param event packet 10969 * @return operation_id 10970 * @note: btstack_type 1 10971 */ 10972 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 10973 return event[5]; 10974 } 10975 /** 10976 * @brief Get field button_pressed from event AVRCP_SUBEVENT_OPERATION 10977 * @param event packet 10978 * @return button_pressed 10979 * @note: btstack_type 1 10980 */ 10981 static inline uint8_t avrcp_subevent_operation_get_button_pressed(const uint8_t * event){ 10982 return event[6]; 10983 } 10984 /** 10985 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 10986 * @param event packet 10987 * @return operands_length 10988 * @note: btstack_type 1 10989 */ 10990 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 10991 return event[7]; 10992 } 10993 /** 10994 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 10995 * @param event packet 10996 * @return operand 10997 * @note: btstack_type 1 10998 */ 10999 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 11000 return event[8]; 11001 } 11002 11003 /** 11004 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11005 * @param event packet 11006 * @return avrcp_cid 11007 * @note: btstack_type 2 11008 */ 11009 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 11010 return little_endian_read_16(event, 3); 11011 } 11012 /** 11013 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11014 * @param event packet 11015 * @return command_type 11016 * @note: btstack_type 1 11017 */ 11018 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 11019 return event[5]; 11020 } 11021 /** 11022 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11023 * @param event packet 11024 * @return track 11025 * @note: btstack_type 1 11026 */ 11027 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 11028 return event[6]; 11029 } 11030 11031 /** 11032 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11033 * @param event packet 11034 * @return avrcp_cid 11035 * @note: btstack_type 2 11036 */ 11037 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 11038 return little_endian_read_16(event, 3); 11039 } 11040 /** 11041 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11042 * @param event packet 11043 * @return command_type 11044 * @note: btstack_type 1 11045 */ 11046 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 11047 return event[5]; 11048 } 11049 /** 11050 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11051 * @param event packet 11052 * @return total_tracks 11053 * @note: btstack_type 1 11054 */ 11055 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 11056 return event[6]; 11057 } 11058 11059 /** 11060 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11061 * @param event packet 11062 * @return avrcp_cid 11063 * @note: btstack_type 2 11064 */ 11065 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 11066 return little_endian_read_16(event, 3); 11067 } 11068 /** 11069 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11070 * @param event packet 11071 * @return command_type 11072 * @note: btstack_type 1 11073 */ 11074 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 11075 return event[5]; 11076 } 11077 /** 11078 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11079 * @param event packet 11080 * @return song_length 11081 * @note: btstack_type 4 11082 */ 11083 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 11084 return little_endian_read_32(event, 6); 11085 } 11086 11087 /** 11088 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11089 * @param event packet 11090 * @return avrcp_cid 11091 * @note: btstack_type 2 11092 */ 11093 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 11094 return little_endian_read_16(event, 3); 11095 } 11096 /** 11097 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11098 * @param event packet 11099 * @return command_type 11100 * @note: btstack_type 1 11101 */ 11102 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 11103 return event[5]; 11104 } 11105 /** 11106 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11107 * @param event packet 11108 * @return value_len 11109 * @note: btstack_type J 11110 */ 11111 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 11112 return event[6]; 11113 } 11114 /** 11115 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11116 * @param event packet 11117 * @return value 11118 * @note: btstack_type V 11119 */ 11120 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 11121 return &event[7]; 11122 } 11123 11124 /** 11125 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11126 * @param event packet 11127 * @return avrcp_cid 11128 * @note: btstack_type 2 11129 */ 11130 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 11131 return little_endian_read_16(event, 3); 11132 } 11133 /** 11134 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11135 * @param event packet 11136 * @return command_type 11137 * @note: btstack_type 1 11138 */ 11139 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 11140 return event[5]; 11141 } 11142 /** 11143 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11144 * @param event packet 11145 * @return value_len 11146 * @note: btstack_type J 11147 */ 11148 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 11149 return event[6]; 11150 } 11151 /** 11152 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11153 * @param event packet 11154 * @return value 11155 * @note: btstack_type V 11156 */ 11157 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 11158 return &event[7]; 11159 } 11160 11161 /** 11162 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11163 * @param event packet 11164 * @return avrcp_cid 11165 * @note: btstack_type 2 11166 */ 11167 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 11168 return little_endian_read_16(event, 3); 11169 } 11170 /** 11171 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11172 * @param event packet 11173 * @return command_type 11174 * @note: btstack_type 1 11175 */ 11176 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 11177 return event[5]; 11178 } 11179 /** 11180 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11181 * @param event packet 11182 * @return value_len 11183 * @note: btstack_type J 11184 */ 11185 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 11186 return event[6]; 11187 } 11188 /** 11189 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11190 * @param event packet 11191 * @return value 11192 * @note: btstack_type V 11193 */ 11194 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 11195 return &event[7]; 11196 } 11197 11198 /** 11199 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11200 * @param event packet 11201 * @return avrcp_cid 11202 * @note: btstack_type 2 11203 */ 11204 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 11205 return little_endian_read_16(event, 3); 11206 } 11207 /** 11208 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11209 * @param event packet 11210 * @return command_type 11211 * @note: btstack_type 1 11212 */ 11213 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 11214 return event[5]; 11215 } 11216 /** 11217 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11218 * @param event packet 11219 * @return value_len 11220 * @note: btstack_type J 11221 */ 11222 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 11223 return event[6]; 11224 } 11225 /** 11226 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11227 * @param event packet 11228 * @return value 11229 * @note: btstack_type V 11230 */ 11231 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 11232 return &event[7]; 11233 } 11234 11235 /** 11236 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11237 * @param event packet 11238 * @return avrcp_cid 11239 * @note: btstack_type 2 11240 */ 11241 static inline uint16_t avrcp_subevent_now_playing_cover_art_info_get_avrcp_cid(const uint8_t * event){ 11242 return little_endian_read_16(event, 3); 11243 } 11244 /** 11245 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11246 * @param event packet 11247 * @return command_type 11248 * @note: btstack_type 1 11249 */ 11250 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_command_type(const uint8_t * event){ 11251 return event[5]; 11252 } 11253 /** 11254 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11255 * @param event packet 11256 * @return value_len 11257 * @note: btstack_type J 11258 */ 11259 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_value_len(const uint8_t * event){ 11260 return event[6]; 11261 } 11262 /** 11263 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11264 * @param event packet 11265 * @return value 11266 * @note: btstack_type V 11267 */ 11268 static inline const uint8_t * avrcp_subevent_now_playing_cover_art_info_get_value(const uint8_t * event){ 11269 return &event[7]; 11270 } 11271 11272 /** 11273 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11274 * @param event packet 11275 * @return avrcp_cid 11276 * @note: btstack_type 2 11277 */ 11278 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 11279 return little_endian_read_16(event, 3); 11280 } 11281 /** 11282 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11283 * @param event packet 11284 * @return command_type 11285 * @note: btstack_type 1 11286 */ 11287 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 11288 return event[5]; 11289 } 11290 /** 11291 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11292 * @param event packet 11293 * @return status 11294 * @note: btstack_type 1 11295 */ 11296 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 11297 return event[6]; 11298 } 11299 11300 /** 11301 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11302 * @param event packet 11303 * @return avrcp_cid 11304 * @note: btstack_type 2 11305 */ 11306 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 11307 return little_endian_read_16(event, 3); 11308 } 11309 /** 11310 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11311 * @param event packet 11312 * @return command_type 11313 * @note: btstack_type 1 11314 */ 11315 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 11316 return event[5]; 11317 } 11318 /** 11319 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11320 * @param event packet 11321 * @return playback_position_ms 11322 * @note: btstack_type 4 11323 */ 11324 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 11325 return little_endian_read_32(event, 6); 11326 } 11327 11328 /** 11329 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11330 * @param event packet 11331 * @return avrcp_cid 11332 * @note: btstack_type 2 11333 */ 11334 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 11335 return little_endian_read_16(event, 3); 11336 } 11337 /** 11338 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11339 * @param event packet 11340 * @return command_type 11341 * @note: btstack_type 1 11342 */ 11343 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 11344 return event[5]; 11345 } 11346 /** 11347 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11348 * @param event packet 11349 * @return status 11350 * @note: btstack_type 1 11351 */ 11352 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 11353 return event[6]; 11354 } 11355 /** 11356 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11357 * @param event packet 11358 * @return event_id 11359 * @note: btstack_type 1 11360 */ 11361 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 11362 return event[7]; 11363 } 11364 11365 /** 11366 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11367 * @param event packet 11368 * @return avrcp_cid 11369 * @note: btstack_type 2 11370 */ 11371 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){ 11372 return little_endian_read_16(event, 3); 11373 } 11374 /** 11375 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11376 * @param event packet 11377 * @return command_type 11378 * @note: btstack_type 1 11379 */ 11380 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 11381 return event[5]; 11382 } 11383 /** 11384 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11385 * @param event packet 11386 * @return status 11387 * @note: btstack_type 1 11388 */ 11389 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 11390 return event[6]; 11391 } 11392 11393 /** 11394 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11395 * @param event packet 11396 * @return avrcp_cid 11397 * @note: btstack_type 2 11398 */ 11399 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 11400 return little_endian_read_16(event, 3); 11401 } 11402 /** 11403 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11404 * @param event packet 11405 * @return command_type 11406 * @note: btstack_type 1 11407 */ 11408 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 11409 return event[5]; 11410 } 11411 /** 11412 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11413 * @param event packet 11414 * @return status 11415 * @note: btstack_type 1 11416 */ 11417 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 11418 return event[6]; 11419 } 11420 /** 11421 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11422 * @param event packet 11423 * @return company_id 11424 * @note: btstack_type 3 11425 */ 11426 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 11427 return little_endian_read_24(event, 7); 11428 } 11429 11430 /** 11431 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11432 * @param event packet 11433 * @return avrcp_cid 11434 * @note: btstack_type 2 11435 */ 11436 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){ 11437 return little_endian_read_16(event, 3); 11438 } 11439 /** 11440 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11441 * @param event packet 11442 * @return command_type 11443 * @note: btstack_type 1 11444 */ 11445 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 11446 return event[5]; 11447 } 11448 /** 11449 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11450 * @param event packet 11451 * @return status 11452 * @note: btstack_type 1 11453 */ 11454 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 11455 return event[6]; 11456 } 11457 11458 /** 11459 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11460 * @param event packet 11461 * @return avrcp_cid 11462 * @note: btstack_type 2 11463 */ 11464 static inline uint16_t avrcp_subevent_custom_command_response_get_avrcp_cid(const uint8_t * event){ 11465 return little_endian_read_16(event, 3); 11466 } 11467 /** 11468 * @brief Get field command_type from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11469 * @param event packet 11470 * @return command_type 11471 * @note: btstack_type 1 11472 */ 11473 static inline uint8_t avrcp_subevent_custom_command_response_get_command_type(const uint8_t * event){ 11474 return event[5]; 11475 } 11476 /** 11477 * @brief Get field pdu_id from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11478 * @param event packet 11479 * @return pdu_id 11480 * @note: btstack_type 1 11481 */ 11482 static inline uint8_t avrcp_subevent_custom_command_response_get_pdu_id(const uint8_t * event){ 11483 return event[6]; 11484 } 11485 /** 11486 * @brief Get field params_len from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11487 * @param event packet 11488 * @return params_len 11489 * @note: btstack_type L 11490 */ 11491 static inline uint16_t avrcp_subevent_custom_command_response_get_params_len(const uint8_t * event){ 11492 return little_endian_read_16(event, 7); 11493 } 11494 /** 11495 * @brief Get field params from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11496 * @param event packet 11497 * @return params 11498 * @note: btstack_type V 11499 */ 11500 static inline const uint8_t * avrcp_subevent_custom_command_response_get_params(const uint8_t * event){ 11501 return &event[9]; 11502 } 11503 11504 /** 11505 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11506 * @param event packet 11507 * @param Pointer to storage for bd_addr 11508 * @note: btstack_type B 11509 */ 11510 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11511 reverse_bytes(&event[3], bd_addr, 6); 11512 } 11513 /** 11514 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11515 * @param event packet 11516 * @return browsing_cid 11517 * @note: btstack_type 2 11518 */ 11519 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 11520 return little_endian_read_16(event, 9); 11521 } 11522 11523 /** 11524 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11525 * @param event packet 11526 * @return status 11527 * @note: btstack_type 1 11528 */ 11529 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 11530 return event[3]; 11531 } 11532 /** 11533 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11534 * @param event packet 11535 * @param Pointer to storage for bd_addr 11536 * @note: btstack_type B 11537 */ 11538 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11539 reverse_bytes(&event[4], bd_addr, 6); 11540 } 11541 /** 11542 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11543 * @param event packet 11544 * @return browsing_cid 11545 * @note: btstack_type 2 11546 */ 11547 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 11548 return little_endian_read_16(event, 10); 11549 } 11550 11551 /** 11552 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 11553 * @param event packet 11554 * @return browsing_cid 11555 * @note: btstack_type 2 11556 */ 11557 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 11558 return little_endian_read_16(event, 3); 11559 } 11560 11561 /** 11562 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 11563 * @param event packet 11564 * @return browsing_cid 11565 * @note: btstack_type 2 11566 */ 11567 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 11568 return little_endian_read_16(event, 3); 11569 } 11570 /** 11571 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 11572 * @param event packet 11573 * @return uid_counter 11574 * @note: btstack_type 2 11575 */ 11576 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 11577 return little_endian_read_16(event, 5); 11578 } 11579 /** 11580 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 11581 * @param event packet 11582 * @return browsing_status 11583 * @note: btstack_type 1 11584 */ 11585 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 11586 return event[7]; 11587 } 11588 /** 11589 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 11590 * @param event packet 11591 * @return bluetooth_status 11592 * @note: btstack_type 1 11593 */ 11594 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 11595 return event[8]; 11596 } 11597 11598 /** 11599 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11600 * @param event packet 11601 * @return browsing_cid 11602 * @note: btstack_type 2 11603 */ 11604 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 11605 return little_endian_read_16(event, 3); 11606 } 11607 /** 11608 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11609 * @param event packet 11610 * @return scope 11611 * @note: btstack_type 1 11612 */ 11613 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 11614 return event[5]; 11615 } 11616 /** 11617 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11618 * @param event packet 11619 * @return attr_bitmap 11620 * @note: btstack_type 4 11621 */ 11622 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 11623 return little_endian_read_32(event, 6); 11624 } 11625 11626 /** 11627 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11628 * @param event packet 11629 * @return browsing_cid 11630 * @note: btstack_type 2 11631 */ 11632 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 11633 return little_endian_read_16(event, 3); 11634 } 11635 /** 11636 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11637 * @param event packet 11638 * @return scope 11639 * @note: btstack_type 1 11640 */ 11641 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 11642 return event[5]; 11643 } 11644 11645 /** 11646 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11647 * @param event packet 11648 * @return browsing_cid 11649 * @note: btstack_type 2 11650 */ 11651 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_browsing_cid(const uint8_t * event){ 11652 return little_endian_read_16(event, 3); 11653 } 11654 /** 11655 * @brief Get field player_id from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11656 * @param event packet 11657 * @return player_id 11658 * @note: btstack_type 2 11659 */ 11660 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_player_id(const uint8_t * event){ 11661 return little_endian_read_16(event, 5); 11662 } 11663 11664 /** 11665 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11666 * @param event packet 11667 * @return status 11668 * @note: btstack_type 1 11669 */ 11670 static inline uint8_t avrcp_subevent_cover_art_connection_established_get_status(const uint8_t * event){ 11671 return event[3]; 11672 } 11673 /** 11674 * @brief Get field bd_addr from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11675 * @param event packet 11676 * @param Pointer to storage for bd_addr 11677 * @note: btstack_type B 11678 */ 11679 static inline void avrcp_subevent_cover_art_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11680 reverse_bytes(&event[4], bd_addr, 6); 11681 } 11682 /** 11683 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11684 * @param event packet 11685 * @return avrcp_cid 11686 * @note: btstack_type 2 11687 */ 11688 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_avrcp_cid(const uint8_t * event){ 11689 return little_endian_read_16(event, 10); 11690 } 11691 /** 11692 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11693 * @param event packet 11694 * @return cover_art_cid 11695 * @note: btstack_type 2 11696 */ 11697 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_cover_art_cid(const uint8_t * event){ 11698 return little_endian_read_16(event, 12); 11699 } 11700 11701 /** 11702 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11703 * @param event packet 11704 * @return cover_art_cid 11705 * @note: btstack_type 2 11706 */ 11707 static inline uint16_t avrcp_subevent_cover_art_operation_complete_get_cover_art_cid(const uint8_t * event){ 11708 return little_endian_read_16(event, 3); 11709 } 11710 /** 11711 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11712 * @param event packet 11713 * @return status 11714 * @note: btstack_type 1 11715 */ 11716 static inline uint8_t avrcp_subevent_cover_art_operation_complete_get_status(const uint8_t * event){ 11717 return event[5]; 11718 } 11719 11720 /** 11721 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_RELEASED 11722 * @param event packet 11723 * @return cover_art_cid 11724 * @note: btstack_type 2 11725 */ 11726 static inline uint16_t avrcp_subevent_cover_art_connection_released_get_cover_art_cid(const uint8_t * event){ 11727 return little_endian_read_16(event, 3); 11728 } 11729 11730 /** 11731 * @brief Get field goep_cid from event GOEP_SUBEVENT_INCOMING_CONNECTION 11732 * @param event packet 11733 * @return goep_cid 11734 * @note: btstack_type 2 11735 */ 11736 static inline uint16_t goep_subevent_incoming_connection_get_goep_cid(const uint8_t * event){ 11737 return little_endian_read_16(event, 3); 11738 } 11739 /** 11740 * @brief Get field address from event GOEP_SUBEVENT_INCOMING_CONNECTION 11741 * @param event packet 11742 * @param Pointer to storage for address 11743 * @note: btstack_type B 11744 */ 11745 static inline void goep_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 11746 reverse_bytes(&event[5], address, 6); 11747 } 11748 /** 11749 * @brief Get field handle from event GOEP_SUBEVENT_INCOMING_CONNECTION 11750 * @param event packet 11751 * @return handle 11752 * @note: btstack_type H 11753 */ 11754 static inline hci_con_handle_t goep_subevent_incoming_connection_get_handle(const uint8_t * event){ 11755 return little_endian_read_16(event, 11); 11756 } 11757 11758 /** 11759 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 11760 * @param event packet 11761 * @return goep_cid 11762 * @note: btstack_type 2 11763 */ 11764 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 11765 return little_endian_read_16(event, 3); 11766 } 11767 /** 11768 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 11769 * @param event packet 11770 * @return status 11771 * @note: btstack_type 1 11772 */ 11773 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 11774 return event[5]; 11775 } 11776 /** 11777 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 11778 * @param event packet 11779 * @param Pointer to storage for bd_addr 11780 * @note: btstack_type B 11781 */ 11782 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11783 reverse_bytes(&event[6], bd_addr, 6); 11784 } 11785 /** 11786 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 11787 * @param event packet 11788 * @return con_handle 11789 * @note: btstack_type H 11790 */ 11791 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 11792 return little_endian_read_16(event, 12); 11793 } 11794 /** 11795 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 11796 * @param event packet 11797 * @return incoming 11798 * @note: btstack_type 1 11799 */ 11800 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 11801 return event[14]; 11802 } 11803 11804 /** 11805 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 11806 * @param event packet 11807 * @return goep_cid 11808 * @note: btstack_type 2 11809 */ 11810 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 11811 return little_endian_read_16(event, 3); 11812 } 11813 11814 /** 11815 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 11816 * @param event packet 11817 * @return goep_cid 11818 * @note: btstack_type 2 11819 */ 11820 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 11821 return little_endian_read_16(event, 3); 11822 } 11823 11824 /** 11825 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 11826 * @param event packet 11827 * @return pbap_cid 11828 * @note: btstack_type 2 11829 */ 11830 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 11831 return little_endian_read_16(event, 3); 11832 } 11833 /** 11834 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 11835 * @param event packet 11836 * @return status 11837 * @note: btstack_type 1 11838 */ 11839 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 11840 return event[5]; 11841 } 11842 /** 11843 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 11844 * @param event packet 11845 * @param Pointer to storage for bd_addr 11846 * @note: btstack_type B 11847 */ 11848 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11849 reverse_bytes(&event[6], bd_addr, 6); 11850 } 11851 /** 11852 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 11853 * @param event packet 11854 * @return con_handle 11855 * @note: btstack_type H 11856 */ 11857 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 11858 return little_endian_read_16(event, 12); 11859 } 11860 /** 11861 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 11862 * @param event packet 11863 * @return incoming 11864 * @note: btstack_type 1 11865 */ 11866 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 11867 return event[14]; 11868 } 11869 11870 /** 11871 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 11872 * @param event packet 11873 * @return goep_cid 11874 * @note: btstack_type 2 11875 */ 11876 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 11877 return little_endian_read_16(event, 3); 11878 } 11879 11880 /** 11881 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 11882 * @param event packet 11883 * @return goep_cid 11884 * @note: btstack_type 2 11885 */ 11886 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 11887 return little_endian_read_16(event, 3); 11888 } 11889 /** 11890 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 11891 * @param event packet 11892 * @return status 11893 * @note: btstack_type 1 11894 */ 11895 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 11896 return event[5]; 11897 } 11898 11899 /** 11900 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11901 * @param event packet 11902 * @return goep_cid 11903 * @note: btstack_type 2 11904 */ 11905 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 11906 return little_endian_read_16(event, 3); 11907 } 11908 /** 11909 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11910 * @param event packet 11911 * @return status 11912 * @note: btstack_type 1 11913 */ 11914 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 11915 return event[5]; 11916 } 11917 /** 11918 * @brief Get field phonebook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11919 * @param event packet 11920 * @return phonebook_size 11921 * @note: btstack_type 2 11922 */ 11923 static inline uint16_t pbap_subevent_phonebook_size_get_phonebook_size(const uint8_t * event){ 11924 return little_endian_read_16(event, 6); 11925 } 11926 11927 /** 11928 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11929 * @param event packet 11930 * @return goep_cid 11931 * @note: btstack_type 2 11932 */ 11933 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 11934 return little_endian_read_16(event, 3); 11935 } 11936 /** 11937 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11938 * @param event packet 11939 * @return user_id_required 11940 * @note: btstack_type 1 11941 */ 11942 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 11943 return event[5]; 11944 } 11945 /** 11946 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11947 * @param event packet 11948 * @return full_access 11949 * @note: btstack_type 1 11950 */ 11951 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 11952 return event[6]; 11953 } 11954 11955 /** 11956 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 11957 * @param event packet 11958 * @return goep_cid 11959 * @note: btstack_type 2 11960 */ 11961 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 11962 return little_endian_read_16(event, 3); 11963 } 11964 /** 11965 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 11966 * @param event packet 11967 * @return name_len 11968 * @note: btstack_type J 11969 */ 11970 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 11971 return event[5]; 11972 } 11973 /** 11974 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 11975 * @param event packet 11976 * @return name 11977 * @note: btstack_type V 11978 */ 11979 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 11980 return &event[6]; 11981 } 11982 /** 11983 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 11984 * @param event packet 11985 * @return handle_len 11986 * @note: btstack_type J 11987 */ 11988 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 11989 return event[6u + event[5]]; 11990 } 11991 /** 11992 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 11993 * @param event packet 11994 * @return handle 11995 * @note: btstack_type V 11996 */ 11997 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 11998 return &event[6u + event[5] + 1u]; 11999 } 12000 12001 /** 12002 * @brief Get field goep_cid from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12003 * @param event packet 12004 * @return goep_cid 12005 * @note: btstack_type 2 12006 */ 12007 static inline uint16_t pbap_subevent_reset_missed_calls_get_goep_cid(const uint8_t * event){ 12008 return little_endian_read_16(event, 3); 12009 } 12010 /** 12011 * @brief Get field phonebook from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12012 * @param event packet 12013 * @return phonebook 12014 * @note: btstack_type 1 12015 */ 12016 static inline uint8_t pbap_subevent_reset_missed_calls_get_phonebook(const uint8_t * event){ 12017 return event[5]; 12018 } 12019 12020 /** 12021 * @brief Get field goep_cid from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12022 * @param event packet 12023 * @return goep_cid 12024 * @note: btstack_type 2 12025 */ 12026 static inline uint16_t pbap_subevent_query_phonebook_size_get_goep_cid(const uint8_t * event){ 12027 return little_endian_read_16(event, 3); 12028 } 12029 /** 12030 * @brief Get field vcard_selector from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12031 * @param event packet 12032 * @return vcard_selector 12033 * @note: btstack_type 4 12034 */ 12035 static inline uint32_t pbap_subevent_query_phonebook_size_get_vcard_selector(const uint8_t * event){ 12036 return little_endian_read_32(event, 5); 12037 } 12038 /** 12039 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12040 * @param event packet 12041 * @return vcard_selector_operator 12042 * @note: btstack_type 1 12043 */ 12044 static inline uint8_t pbap_subevent_query_phonebook_size_get_vcard_selector_operator(const uint8_t * event){ 12045 return event[9]; 12046 } 12047 /** 12048 * @brief Get field phonebook from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12049 * @param event packet 12050 * @return phonebook 12051 * @note: btstack_type 1 12052 */ 12053 static inline uint8_t pbap_subevent_query_phonebook_size_get_phonebook(const uint8_t * event){ 12054 return event[10]; 12055 } 12056 12057 /** 12058 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_PHONEBOOK 12059 * @param event packet 12060 * @return goep_cid 12061 * @note: btstack_type 2 12062 */ 12063 static inline uint16_t pbap_subevent_pull_phonebook_get_goep_cid(const uint8_t * event){ 12064 return little_endian_read_16(event, 3); 12065 } 12066 /** 12067 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_PHONEBOOK 12068 * @param event packet 12069 * @return continuation 12070 * @note: btstack_type 4 12071 */ 12072 static inline uint32_t pbap_subevent_pull_phonebook_get_continuation(const uint8_t * event){ 12073 return little_endian_read_32(event, 5); 12074 } 12075 /** 12076 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12077 * @param event packet 12078 * @return property_selector 12079 * @note: btstack_type 4 12080 */ 12081 static inline uint32_t pbap_subevent_pull_phonebook_get_property_selector(const uint8_t * event){ 12082 return little_endian_read_32(event, 9); 12083 } 12084 /** 12085 * @brief Get field format from event PBAP_SUBEVENT_PULL_PHONEBOOK 12086 * @param event packet 12087 * @return format 12088 * @note: btstack_type 1 12089 */ 12090 static inline uint8_t pbap_subevent_pull_phonebook_get_format(const uint8_t * event){ 12091 return event[13]; 12092 } 12093 /** 12094 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_PHONEBOOK 12095 * @param event packet 12096 * @return max_list_count 12097 * @note: btstack_type 2 12098 */ 12099 static inline uint16_t pbap_subevent_pull_phonebook_get_max_list_count(const uint8_t * event){ 12100 return little_endian_read_16(event, 14); 12101 } 12102 /** 12103 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_PHONEBOOK 12104 * @param event packet 12105 * @return list_start_offset 12106 * @note: btstack_type 2 12107 */ 12108 static inline uint16_t pbap_subevent_pull_phonebook_get_list_start_offset(const uint8_t * event){ 12109 return little_endian_read_16(event, 16); 12110 } 12111 /** 12112 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12113 * @param event packet 12114 * @return vcard_selector 12115 * @note: btstack_type 4 12116 */ 12117 static inline uint32_t pbap_subevent_pull_phonebook_get_vcard_selector(const uint8_t * event){ 12118 return little_endian_read_32(event, 18); 12119 } 12120 /** 12121 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_PHONEBOOK 12122 * @param event packet 12123 * @return vcard_selector_operator 12124 * @note: btstack_type 1 12125 */ 12126 static inline uint8_t pbap_subevent_pull_phonebook_get_vcard_selector_operator(const uint8_t * event){ 12127 return event[22]; 12128 } 12129 /** 12130 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_PHONEBOOK 12131 * @param event packet 12132 * @return phonebook 12133 * @note: btstack_type 1 12134 */ 12135 static inline uint8_t pbap_subevent_pull_phonebook_get_phonebook(const uint8_t * event){ 12136 return event[23]; 12137 } 12138 12139 /** 12140 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12141 * @param event packet 12142 * @return goep_cid 12143 * @note: btstack_type 2 12144 */ 12145 static inline uint16_t pbap_subevent_pull_vcard_listing_get_goep_cid(const uint8_t * event){ 12146 return little_endian_read_16(event, 3); 12147 } 12148 /** 12149 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12150 * @param event packet 12151 * @return continuation 12152 * @note: btstack_type 4 12153 */ 12154 static inline uint32_t pbap_subevent_pull_vcard_listing_get_continuation(const uint8_t * event){ 12155 return little_endian_read_32(event, 5); 12156 } 12157 /** 12158 * @brief Get field order from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12159 * @param event packet 12160 * @return order 12161 * @note: btstack_type 1 12162 */ 12163 static inline uint8_t pbap_subevent_pull_vcard_listing_get_order(const uint8_t * event){ 12164 return event[9]; 12165 } 12166 /** 12167 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12168 * @param event packet 12169 * @return max_list_count 12170 * @note: btstack_type 2 12171 */ 12172 static inline uint16_t pbap_subevent_pull_vcard_listing_get_max_list_count(const uint8_t * event){ 12173 return little_endian_read_16(event, 10); 12174 } 12175 /** 12176 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12177 * @param event packet 12178 * @return list_start_offset 12179 * @note: btstack_type 2 12180 */ 12181 static inline uint16_t pbap_subevent_pull_vcard_listing_get_list_start_offset(const uint8_t * event){ 12182 return little_endian_read_16(event, 12); 12183 } 12184 /** 12185 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12186 * @param event packet 12187 * @return vcard_selector 12188 * @note: btstack_type 4 12189 */ 12190 static inline uint32_t pbap_subevent_pull_vcard_listing_get_vcard_selector(const uint8_t * event){ 12191 return little_endian_read_32(event, 14); 12192 } 12193 /** 12194 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12195 * @param event packet 12196 * @return vcard_selector_operator 12197 * @note: btstack_type 1 12198 */ 12199 static inline uint8_t pbap_subevent_pull_vcard_listing_get_vcard_selector_operator(const uint8_t * event){ 12200 return event[18]; 12201 } 12202 /** 12203 * @brief Get field search_property from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12204 * @param event packet 12205 * @return search_property 12206 * @note: btstack_type 1 12207 */ 12208 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_property(const uint8_t * event){ 12209 return event[19]; 12210 } 12211 /** 12212 * @brief Get field search_value_len from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12213 * @param event packet 12214 * @return search_value_len 12215 * @note: btstack_type J 12216 */ 12217 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_value_len(const uint8_t * event){ 12218 return event[20]; 12219 } 12220 /** 12221 * @brief Get field search_value from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12222 * @param event packet 12223 * @return search_value 12224 * @note: btstack_type V 12225 */ 12226 static inline const uint8_t * pbap_subevent_pull_vcard_listing_get_search_value(const uint8_t * event){ 12227 return &event[21]; 12228 } 12229 /** 12230 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12231 * @param event packet 12232 * @return phonebook 12233 * @note: btstack_type 1 12234 */ 12235 static inline uint8_t pbap_subevent_pull_vcard_listing_get_phonebook(const uint8_t * event){ 12236 return event[21u + event[20]]; 12237 } 12238 12239 /** 12240 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12241 * @param event packet 12242 * @return goep_cid 12243 * @note: btstack_type 2 12244 */ 12245 static inline uint16_t pbap_subevent_pull_vcard_entry_get_goep_cid(const uint8_t * event){ 12246 return little_endian_read_16(event, 3); 12247 } 12248 /** 12249 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12250 * @param event packet 12251 * @return continuation 12252 * @note: btstack_type 4 12253 */ 12254 static inline uint32_t pbap_subevent_pull_vcard_entry_get_continuation(const uint8_t * event){ 12255 return little_endian_read_32(event, 5); 12256 } 12257 /** 12258 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12259 * @param event packet 12260 * @return property_selector 12261 * @note: btstack_type 4 12262 */ 12263 static inline uint32_t pbap_subevent_pull_vcard_entry_get_property_selector(const uint8_t * event){ 12264 return little_endian_read_32(event, 9); 12265 } 12266 /** 12267 * @brief Get field format from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12268 * @param event packet 12269 * @return format 12270 * @note: btstack_type 1 12271 */ 12272 static inline uint8_t pbap_subevent_pull_vcard_entry_get_format(const uint8_t * event){ 12273 return event[13]; 12274 } 12275 /** 12276 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12277 * @param event packet 12278 * @return phonebook 12279 * @note: btstack_type 1 12280 */ 12281 static inline uint8_t pbap_subevent_pull_vcard_entry_get_phonebook(const uint8_t * event){ 12282 return event[14]; 12283 } 12284 /** 12285 * @brief Get field name from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12286 * @param event packet 12287 * @return name 12288 * @note: btstack_type T 12289 */ 12290 static inline const char * pbap_subevent_pull_vcard_entry_get_name(const uint8_t * event){ 12291 return (const char *) &event[15]; 12292 } 12293 12294 /** 12295 * @brief Get field hid_cid from event HID_SUBEVENT_INCOMING_CONNECTION 12296 * @param event packet 12297 * @return hid_cid 12298 * @note: btstack_type 2 12299 */ 12300 static inline uint16_t hid_subevent_incoming_connection_get_hid_cid(const uint8_t * event){ 12301 return little_endian_read_16(event, 3); 12302 } 12303 /** 12304 * @brief Get field address from event HID_SUBEVENT_INCOMING_CONNECTION 12305 * @param event packet 12306 * @param Pointer to storage for address 12307 * @note: btstack_type B 12308 */ 12309 static inline void hid_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 12310 reverse_bytes(&event[5], address, 6); 12311 } 12312 /** 12313 * @brief Get field handle from event HID_SUBEVENT_INCOMING_CONNECTION 12314 * @param event packet 12315 * @return handle 12316 * @note: btstack_type H 12317 */ 12318 static inline hci_con_handle_t hid_subevent_incoming_connection_get_handle(const uint8_t * event){ 12319 return little_endian_read_16(event, 11); 12320 } 12321 12322 /** 12323 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 12324 * @param event packet 12325 * @return hid_cid 12326 * @note: btstack_type 2 12327 */ 12328 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 12329 return little_endian_read_16(event, 3); 12330 } 12331 /** 12332 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 12333 * @param event packet 12334 * @return status 12335 * @note: btstack_type 1 12336 */ 12337 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 12338 return event[5]; 12339 } 12340 /** 12341 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 12342 * @param event packet 12343 * @param Pointer to storage for bd_addr 12344 * @note: btstack_type B 12345 */ 12346 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12347 reverse_bytes(&event[6], bd_addr, 6); 12348 } 12349 /** 12350 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 12351 * @param event packet 12352 * @return con_handle 12353 * @note: btstack_type H 12354 */ 12355 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12356 return little_endian_read_16(event, 12); 12357 } 12358 /** 12359 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 12360 * @param event packet 12361 * @return incoming 12362 * @note: btstack_type 1 12363 */ 12364 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 12365 return event[14]; 12366 } 12367 12368 /** 12369 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 12370 * @param event packet 12371 * @return hid_cid 12372 * @note: btstack_type 2 12373 */ 12374 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 12375 return little_endian_read_16(event, 3); 12376 } 12377 12378 /** 12379 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 12380 * @param event packet 12381 * @return hid_cid 12382 * @note: btstack_type 2 12383 */ 12384 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 12385 return little_endian_read_16(event, 3); 12386 } 12387 12388 /** 12389 * @brief Get field hid_cid from event HID_SUBEVENT_SUSPEND 12390 * @param event packet 12391 * @return hid_cid 12392 * @note: btstack_type 2 12393 */ 12394 static inline uint16_t hid_subevent_suspend_get_hid_cid(const uint8_t * event){ 12395 return little_endian_read_16(event, 3); 12396 } 12397 12398 /** 12399 * @brief Get field hid_cid from event HID_SUBEVENT_EXIT_SUSPEND 12400 * @param event packet 12401 * @return hid_cid 12402 * @note: btstack_type 2 12403 */ 12404 static inline uint16_t hid_subevent_exit_suspend_get_hid_cid(const uint8_t * event){ 12405 return little_endian_read_16(event, 3); 12406 } 12407 12408 /** 12409 * @brief Get field hid_cid from event HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 12410 * @param event packet 12411 * @return hid_cid 12412 * @note: btstack_type 2 12413 */ 12414 static inline uint16_t hid_subevent_virtual_cable_unplug_get_hid_cid(const uint8_t * event){ 12415 return little_endian_read_16(event, 3); 12416 } 12417 12418 /** 12419 * @brief Get field hid_cid from event HID_SUBEVENT_GET_REPORT_RESPONSE 12420 * @param event packet 12421 * @return hid_cid 12422 * @note: btstack_type 2 12423 */ 12424 static inline uint16_t hid_subevent_get_report_response_get_hid_cid(const uint8_t * event){ 12425 return little_endian_read_16(event, 3); 12426 } 12427 /** 12428 * @brief Get field handshake_status from event HID_SUBEVENT_GET_REPORT_RESPONSE 12429 * @param event packet 12430 * @return handshake_status 12431 * @note: btstack_type 1 12432 */ 12433 static inline uint8_t hid_subevent_get_report_response_get_handshake_status(const uint8_t * event){ 12434 return event[5]; 12435 } 12436 /** 12437 * @brief Get field report_len from event HID_SUBEVENT_GET_REPORT_RESPONSE 12438 * @param event packet 12439 * @return report_len 12440 * @note: btstack_type L 12441 */ 12442 static inline uint16_t hid_subevent_get_report_response_get_report_len(const uint8_t * event){ 12443 return little_endian_read_16(event, 6); 12444 } 12445 /** 12446 * @brief Get field report from event HID_SUBEVENT_GET_REPORT_RESPONSE 12447 * @param event packet 12448 * @return report 12449 * @note: btstack_type V 12450 */ 12451 static inline const uint8_t * hid_subevent_get_report_response_get_report(const uint8_t * event){ 12452 return &event[8]; 12453 } 12454 12455 /** 12456 * @brief Get field hid_cid from event HID_SUBEVENT_SET_REPORT_RESPONSE 12457 * @param event packet 12458 * @return hid_cid 12459 * @note: btstack_type 2 12460 */ 12461 static inline uint16_t hid_subevent_set_report_response_get_hid_cid(const uint8_t * event){ 12462 return little_endian_read_16(event, 3); 12463 } 12464 /** 12465 * @brief Get field handshake_status from event HID_SUBEVENT_SET_REPORT_RESPONSE 12466 * @param event packet 12467 * @return handshake_status 12468 * @note: btstack_type 1 12469 */ 12470 static inline uint8_t hid_subevent_set_report_response_get_handshake_status(const uint8_t * event){ 12471 return event[5]; 12472 } 12473 12474 /** 12475 * @brief Get field hid_cid from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12476 * @param event packet 12477 * @return hid_cid 12478 * @note: btstack_type 2 12479 */ 12480 static inline uint16_t hid_subevent_get_protocol_response_get_hid_cid(const uint8_t * event){ 12481 return little_endian_read_16(event, 3); 12482 } 12483 /** 12484 * @brief Get field handshake_status from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12485 * @param event packet 12486 * @return handshake_status 12487 * @note: btstack_type 1 12488 */ 12489 static inline uint8_t hid_subevent_get_protocol_response_get_handshake_status(const uint8_t * event){ 12490 return event[5]; 12491 } 12492 /** 12493 * @brief Get field protocol_mode from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12494 * @param event packet 12495 * @return protocol_mode 12496 * @note: btstack_type 1 12497 */ 12498 static inline uint8_t hid_subevent_get_protocol_response_get_protocol_mode(const uint8_t * event){ 12499 return event[6]; 12500 } 12501 12502 /** 12503 * @brief Get field hid_cid from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12504 * @param event packet 12505 * @return hid_cid 12506 * @note: btstack_type 2 12507 */ 12508 static inline uint16_t hid_subevent_set_protocol_response_get_hid_cid(const uint8_t * event){ 12509 return little_endian_read_16(event, 3); 12510 } 12511 /** 12512 * @brief Get field handshake_status from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12513 * @param event packet 12514 * @return handshake_status 12515 * @note: btstack_type 1 12516 */ 12517 static inline uint8_t hid_subevent_set_protocol_response_get_handshake_status(const uint8_t * event){ 12518 return event[5]; 12519 } 12520 /** 12521 * @brief Get field protocol_mode from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12522 * @param event packet 12523 * @return protocol_mode 12524 * @note: btstack_type 1 12525 */ 12526 static inline uint8_t hid_subevent_set_protocol_response_get_protocol_mode(const uint8_t * event){ 12527 return event[6]; 12528 } 12529 12530 /** 12531 * @brief Get field hid_cid from event HID_SUBEVENT_REPORT 12532 * @param event packet 12533 * @return hid_cid 12534 * @note: btstack_type 2 12535 */ 12536 static inline uint16_t hid_subevent_report_get_hid_cid(const uint8_t * event){ 12537 return little_endian_read_16(event, 3); 12538 } 12539 /** 12540 * @brief Get field report_len from event HID_SUBEVENT_REPORT 12541 * @param event packet 12542 * @return report_len 12543 * @note: btstack_type L 12544 */ 12545 static inline uint16_t hid_subevent_report_get_report_len(const uint8_t * event){ 12546 return little_endian_read_16(event, 5); 12547 } 12548 /** 12549 * @brief Get field report from event HID_SUBEVENT_REPORT 12550 * @param event packet 12551 * @return report 12552 * @note: btstack_type V 12553 */ 12554 static inline const uint8_t * hid_subevent_report_get_report(const uint8_t * event){ 12555 return &event[7]; 12556 } 12557 12558 /** 12559 * @brief Get field hid_cid from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12560 * @param event packet 12561 * @return hid_cid 12562 * @note: btstack_type 2 12563 */ 12564 static inline uint16_t hid_subevent_descriptor_available_get_hid_cid(const uint8_t * event){ 12565 return little_endian_read_16(event, 3); 12566 } 12567 /** 12568 * @brief Get field status from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12569 * @param event packet 12570 * @return status 12571 * @note: btstack_type 1 12572 */ 12573 static inline uint8_t hid_subevent_descriptor_available_get_status(const uint8_t * event){ 12574 return event[5]; 12575 } 12576 12577 /** 12578 * @brief Get field hid_cid from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12579 * @param event packet 12580 * @return hid_cid 12581 * @note: btstack_type 2 12582 */ 12583 static inline uint16_t hid_subevent_sniff_subrating_params_get_hid_cid(const uint8_t * event){ 12584 return little_endian_read_16(event, 3); 12585 } 12586 /** 12587 * @brief Get field host_max_latency from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12588 * @param event packet 12589 * @return host_max_latency 12590 * @note: btstack_type 2 12591 */ 12592 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_max_latency(const uint8_t * event){ 12593 return little_endian_read_16(event, 5); 12594 } 12595 /** 12596 * @brief Get field host_min_timeout from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12597 * @param event packet 12598 * @return host_min_timeout 12599 * @note: btstack_type 2 12600 */ 12601 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_min_timeout(const uint8_t * event){ 12602 return little_endian_read_16(event, 7); 12603 } 12604 12605 /** 12606 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 12607 * @param event packet 12608 * @return con_handle 12609 * @note: btstack_type 2 12610 */ 12611 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 12612 return little_endian_read_16(event, 3); 12613 } 12614 12615 /** 12616 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 12617 * @param event packet 12618 * @return con_handle 12619 * @note: btstack_type 2 12620 */ 12621 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 12622 return little_endian_read_16(event, 3); 12623 } 12624 /** 12625 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 12626 * @param event packet 12627 * @return protocol_mode 12628 * @note: btstack_type 1 12629 */ 12630 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 12631 return event[5]; 12632 } 12633 12634 /** 12635 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12636 * @param event packet 12637 * @return con_handle 12638 * @note: btstack_type 2 12639 */ 12640 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 12641 return little_endian_read_16(event, 3); 12642 } 12643 /** 12644 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12645 * @param event packet 12646 * @return enable 12647 * @note: btstack_type 1 12648 */ 12649 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 12650 return event[5]; 12651 } 12652 12653 /** 12654 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12655 * @param event packet 12656 * @return con_handle 12657 * @note: btstack_type 2 12658 */ 12659 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 12660 return little_endian_read_16(event, 3); 12661 } 12662 /** 12663 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12664 * @param event packet 12665 * @return enable 12666 * @note: btstack_type 1 12667 */ 12668 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 12669 return event[5]; 12670 } 12671 12672 /** 12673 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12674 * @param event packet 12675 * @return con_handle 12676 * @note: btstack_type 2 12677 */ 12678 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 12679 return little_endian_read_16(event, 3); 12680 } 12681 /** 12682 * @brief Get field report_id from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12683 * @param event packet 12684 * @return report_id 12685 * @note: btstack_type 1 12686 */ 12687 static inline uint8_t hids_subevent_input_report_enable_get_report_id(const uint8_t * event){ 12688 return event[5]; 12689 } 12690 /** 12691 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12692 * @param event packet 12693 * @return enable 12694 * @note: btstack_type 1 12695 */ 12696 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 12697 return event[6]; 12698 } 12699 12700 /** 12701 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12702 * @param event packet 12703 * @return con_handle 12704 * @note: btstack_type 2 12705 */ 12706 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 12707 return little_endian_read_16(event, 3); 12708 } 12709 /** 12710 * @brief Get field report_id from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12711 * @param event packet 12712 * @return report_id 12713 * @note: btstack_type 1 12714 */ 12715 static inline uint8_t hids_subevent_output_report_enable_get_report_id(const uint8_t * event){ 12716 return event[5]; 12717 } 12718 /** 12719 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12720 * @param event packet 12721 * @return enable 12722 * @note: btstack_type 1 12723 */ 12724 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 12725 return event[6]; 12726 } 12727 12728 /** 12729 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12730 * @param event packet 12731 * @return con_handle 12732 * @note: btstack_type 2 12733 */ 12734 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 12735 return little_endian_read_16(event, 3); 12736 } 12737 /** 12738 * @brief Get field report_id from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12739 * @param event packet 12740 * @return report_id 12741 * @note: btstack_type 1 12742 */ 12743 static inline uint8_t hids_subevent_feature_report_enable_get_report_id(const uint8_t * event){ 12744 return event[5]; 12745 } 12746 /** 12747 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12748 * @param event packet 12749 * @return enable 12750 * @note: btstack_type 1 12751 */ 12752 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 12753 return event[6]; 12754 } 12755 12756 /** 12757 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 12758 * @param event packet 12759 * @return con_handle 12760 * @note: btstack_type 2 12761 */ 12762 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 12763 return little_endian_read_16(event, 3); 12764 } 12765 12766 /** 12767 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 12768 * @param event packet 12769 * @return con_handle 12770 * @note: btstack_type 2 12771 */ 12772 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 12773 return little_endian_read_16(event, 3); 12774 } 12775 12776 /** 12777 * @brief Get field con_handle from event HIDS_SUBEVENT_SET_REPORT 12778 * @param event packet 12779 * @return con_handle 12780 * @note: btstack_type 2 12781 */ 12782 static inline uint16_t hids_subevent_set_report_get_con_handle(const uint8_t * event){ 12783 return little_endian_read_16(event, 3); 12784 } 12785 /** 12786 * @brief Get field report_id from event HIDS_SUBEVENT_SET_REPORT 12787 * @param event packet 12788 * @return report_id 12789 * @note: btstack_type 1 12790 */ 12791 static inline uint8_t hids_subevent_set_report_get_report_id(const uint8_t * event){ 12792 return event[5]; 12793 } 12794 /** 12795 * @brief Get field report_type from event HIDS_SUBEVENT_SET_REPORT 12796 * @param event packet 12797 * @return report_type 12798 * @note: btstack_type 1 12799 */ 12800 static inline uint8_t hids_subevent_set_report_get_report_type(const uint8_t * event){ 12801 return event[6]; 12802 } 12803 /** 12804 * @brief Get field report_length from event HIDS_SUBEVENT_SET_REPORT 12805 * @param event packet 12806 * @return report_length 12807 * @note: btstack_type J 12808 */ 12809 static inline uint8_t hids_subevent_set_report_get_report_length(const uint8_t * event){ 12810 return event[7]; 12811 } 12812 /** 12813 * @brief Get field report_data from event HIDS_SUBEVENT_SET_REPORT 12814 * @param event packet 12815 * @return report_data 12816 * @note: btstack_type V 12817 */ 12818 static inline const uint8_t * hids_subevent_set_report_get_report_data(const uint8_t * event){ 12819 return &event[8]; 12820 } 12821 12822 /** 12823 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12824 * @param event packet 12825 * @return con_handle 12826 * @note: btstack_type 2 12827 */ 12828 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 12829 return little_endian_read_16(event, 3); 12830 } 12831 /** 12832 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12833 * @param event packet 12834 * @return measurement_type 12835 * @note: btstack_type 1 12836 */ 12837 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 12838 return event[5]; 12839 } 12840 /** 12841 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12842 * @param event packet 12843 * @return is_enhanced 12844 * @note: btstack_type 1 12845 */ 12846 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 12847 return event[6]; 12848 } 12849 12850 /** 12851 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 12852 * @param event packet 12853 * @return con_handle 12854 * @note: btstack_type 2 12855 */ 12856 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 12857 return little_endian_read_16(event, 3); 12858 } 12859 12860 /** 12861 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 12862 * @param event packet 12863 * @return con_handle 12864 * @note: btstack_type 2 12865 */ 12866 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 12867 return little_endian_read_16(event, 3); 12868 } 12869 12870 /** 12871 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12872 * @param event packet 12873 * @return hids_cid 12874 * @note: btstack_type 2 12875 */ 12876 static inline uint16_t gattservice_subevent_battery_service_connected_get_hids_cid(const uint8_t * event){ 12877 return little_endian_read_16(event, 3); 12878 } 12879 /** 12880 * @brief Get field status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12881 * @param event packet 12882 * @return status 12883 * @note: btstack_type 1 12884 */ 12885 static inline uint8_t gattservice_subevent_battery_service_connected_get_status(const uint8_t * event){ 12886 return event[5]; 12887 } 12888 /** 12889 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12890 * @param event packet 12891 * @return num_instances 12892 * @note: btstack_type 1 12893 */ 12894 static inline uint8_t gattservice_subevent_battery_service_connected_get_num_instances(const uint8_t * event){ 12895 return event[6]; 12896 } 12897 /** 12898 * @brief Get field poll_bitmap from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12899 * @param event packet 12900 * @return poll_bitmap 12901 * @note: btstack_type 1 12902 */ 12903 static inline uint8_t gattservice_subevent_battery_service_connected_get_poll_bitmap(const uint8_t * event){ 12904 return event[7]; 12905 } 12906 12907 /** 12908 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12909 * @param event packet 12910 * @return hids_cid 12911 * @note: btstack_type 2 12912 */ 12913 static inline uint16_t gattservice_subevent_battery_service_level_get_hids_cid(const uint8_t * event){ 12914 return little_endian_read_16(event, 3); 12915 } 12916 /** 12917 * @brief Get field sevice_index from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12918 * @param event packet 12919 * @return sevice_index 12920 * @note: btstack_type 1 12921 */ 12922 static inline uint8_t gattservice_subevent_battery_service_level_get_sevice_index(const uint8_t * event){ 12923 return event[5]; 12924 } 12925 /** 12926 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12927 * @param event packet 12928 * @return att_status 12929 * @note: btstack_type 1 12930 */ 12931 static inline uint8_t gattservice_subevent_battery_service_level_get_att_status(const uint8_t * event){ 12932 return event[6]; 12933 } 12934 /** 12935 * @brief Get field level from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12936 * @param event packet 12937 * @return level 12938 * @note: btstack_type 1 12939 */ 12940 static inline uint8_t gattservice_subevent_battery_service_level_get_level(const uint8_t * event){ 12941 return event[7]; 12942 } 12943 12944 /** 12945 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 12946 * @param event packet 12947 * @return con_handle 12948 * @note: btstack_type H 12949 */ 12950 static inline hci_con_handle_t gattservice_subevent_device_information_done_get_con_handle(const uint8_t * event){ 12951 return little_endian_read_16(event, 3); 12952 } 12953 /** 12954 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 12955 * @param event packet 12956 * @return att_status 12957 * @note: btstack_type 1 12958 */ 12959 static inline uint8_t gattservice_subevent_device_information_done_get_att_status(const uint8_t * event){ 12960 return event[5]; 12961 } 12962 12963 /** 12964 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 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_manufacturer_name_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_MANUFACTURER_NAME 12974 * @param event packet 12975 * @return att_status 12976 * @note: btstack_type 1 12977 */ 12978 static inline uint8_t gattservice_subevent_device_information_manufacturer_name_get_att_status(const uint8_t * event){ 12979 return event[5]; 12980 } 12981 /** 12982 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 12983 * @param event packet 12984 * @return value 12985 * @note: btstack_type T 12986 */ 12987 static inline const char * gattservice_subevent_device_information_manufacturer_name_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_MODEL_NUMBER 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_model_number_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_MODEL_NUMBER 13002 * @param event packet 13003 * @return att_status 13004 * @note: btstack_type 1 13005 */ 13006 static inline uint8_t gattservice_subevent_device_information_model_number_get_att_status(const uint8_t * event){ 13007 return event[5]; 13008 } 13009 /** 13010 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13011 * @param event packet 13012 * @return value 13013 * @note: btstack_type T 13014 */ 13015 static inline const char * gattservice_subevent_device_information_model_number_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_SERIAL_NUMBER 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_serial_number_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_SERIAL_NUMBER 13030 * @param event packet 13031 * @return att_status 13032 * @note: btstack_type 1 13033 */ 13034 static inline uint8_t gattservice_subevent_device_information_serial_number_get_att_status(const uint8_t * event){ 13035 return event[5]; 13036 } 13037 /** 13038 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13039 * @param event packet 13040 * @return value 13041 * @note: btstack_type T 13042 */ 13043 static inline const char * gattservice_subevent_device_information_serial_number_get_value(const uint8_t * event){ 13044 return (const char *) &event[6]; 13045 } 13046 13047 /** 13048 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13049 * @param event packet 13050 * @return con_handle 13051 * @note: btstack_type H 13052 */ 13053 static inline hci_con_handle_t gattservice_subevent_device_information_hardware_revision_get_con_handle(const uint8_t * event){ 13054 return little_endian_read_16(event, 3); 13055 } 13056 /** 13057 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13058 * @param event packet 13059 * @return att_status 13060 * @note: btstack_type 1 13061 */ 13062 static inline uint8_t gattservice_subevent_device_information_hardware_revision_get_att_status(const uint8_t * event){ 13063 return event[5]; 13064 } 13065 /** 13066 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13067 * @param event packet 13068 * @return value 13069 * @note: btstack_type T 13070 */ 13071 static inline const char * gattservice_subevent_device_information_hardware_revision_get_value(const uint8_t * event){ 13072 return (const char *) &event[6]; 13073 } 13074 13075 /** 13076 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13077 * @param event packet 13078 * @return con_handle 13079 * @note: btstack_type H 13080 */ 13081 static inline hci_con_handle_t gattservice_subevent_device_information_firmware_revision_get_con_handle(const uint8_t * event){ 13082 return little_endian_read_16(event, 3); 13083 } 13084 /** 13085 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13086 * @param event packet 13087 * @return att_status 13088 * @note: btstack_type 1 13089 */ 13090 static inline uint8_t gattservice_subevent_device_information_firmware_revision_get_att_status(const uint8_t * event){ 13091 return event[5]; 13092 } 13093 /** 13094 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13095 * @param event packet 13096 * @return value 13097 * @note: btstack_type T 13098 */ 13099 static inline const char * gattservice_subevent_device_information_firmware_revision_get_value(const uint8_t * event){ 13100 return (const char *) &event[6]; 13101 } 13102 13103 /** 13104 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13105 * @param event packet 13106 * @return con_handle 13107 * @note: btstack_type H 13108 */ 13109 static inline hci_con_handle_t gattservice_subevent_device_information_software_revision_get_con_handle(const uint8_t * event){ 13110 return little_endian_read_16(event, 3); 13111 } 13112 /** 13113 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13114 * @param event packet 13115 * @return att_status 13116 * @note: btstack_type 1 13117 */ 13118 static inline uint8_t gattservice_subevent_device_information_software_revision_get_att_status(const uint8_t * event){ 13119 return event[5]; 13120 } 13121 /** 13122 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13123 * @param event packet 13124 * @return value 13125 * @note: btstack_type T 13126 */ 13127 static inline const char * gattservice_subevent_device_information_software_revision_get_value(const uint8_t * event){ 13128 return (const char *) &event[6]; 13129 } 13130 13131 /** 13132 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13133 * @param event packet 13134 * @return con_handle 13135 * @note: btstack_type H 13136 */ 13137 static inline hci_con_handle_t gattservice_subevent_device_information_system_id_get_con_handle(const uint8_t * event){ 13138 return little_endian_read_16(event, 3); 13139 } 13140 /** 13141 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13142 * @param event packet 13143 * @return att_status 13144 * @note: btstack_type 1 13145 */ 13146 static inline uint8_t gattservice_subevent_device_information_system_id_get_att_status(const uint8_t * event){ 13147 return event[5]; 13148 } 13149 /** 13150 * @brief Get field manufacturer_id_low from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13151 * @param event packet 13152 * @return manufacturer_id_low 13153 * @note: btstack_type 4 13154 */ 13155 static inline uint32_t gattservice_subevent_device_information_system_id_get_manufacturer_id_low(const uint8_t * event){ 13156 return little_endian_read_32(event, 6); 13157 } 13158 /** 13159 * @brief Get field manufacturer_id_high from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13160 * @param event packet 13161 * @return manufacturer_id_high 13162 * @note: btstack_type 1 13163 */ 13164 static inline uint8_t gattservice_subevent_device_information_system_id_get_manufacturer_id_high(const uint8_t * event){ 13165 return event[10]; 13166 } 13167 /** 13168 * @brief Get field organizationally_unique_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13169 * @param event packet 13170 * @return organizationally_unique_id 13171 * @note: btstack_type 3 13172 */ 13173 static inline uint32_t gattservice_subevent_device_information_system_id_get_organizationally_unique_id(const uint8_t * event){ 13174 return little_endian_read_24(event, 11); 13175 } 13176 13177 /** 13178 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13179 * @param event packet 13180 * @return con_handle 13181 * @note: btstack_type H 13182 */ 13183 static inline hci_con_handle_t gattservice_subevent_device_information_ieee_regulatory_certification_get_con_handle(const uint8_t * event){ 13184 return little_endian_read_16(event, 3); 13185 } 13186 /** 13187 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13188 * @param event packet 13189 * @return att_status 13190 * @note: btstack_type 1 13191 */ 13192 static inline uint8_t gattservice_subevent_device_information_ieee_regulatory_certification_get_att_status(const uint8_t * event){ 13193 return event[5]; 13194 } 13195 /** 13196 * @brief Get field value_a from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13197 * @param event packet 13198 * @return value_a 13199 * @note: btstack_type 2 13200 */ 13201 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_a(const uint8_t * event){ 13202 return little_endian_read_16(event, 6); 13203 } 13204 /** 13205 * @brief Get field value_b from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13206 * @param event packet 13207 * @return value_b 13208 * @note: btstack_type 2 13209 */ 13210 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_b(const uint8_t * event){ 13211 return little_endian_read_16(event, 8); 13212 } 13213 13214 /** 13215 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13216 * @param event packet 13217 * @return con_handle 13218 * @note: btstack_type H 13219 */ 13220 static inline hci_con_handle_t gattservice_subevent_device_information_pnp_id_get_con_handle(const uint8_t * event){ 13221 return little_endian_read_16(event, 3); 13222 } 13223 /** 13224 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13225 * @param event packet 13226 * @return att_status 13227 * @note: btstack_type 1 13228 */ 13229 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_att_status(const uint8_t * event){ 13230 return event[5]; 13231 } 13232 /** 13233 * @brief Get field vendor_source_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13234 * @param event packet 13235 * @return vendor_source_id 13236 * @note: btstack_type 1 13237 */ 13238 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_vendor_source_id(const uint8_t * event){ 13239 return event[6]; 13240 } 13241 /** 13242 * @brief Get field vendor_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13243 * @param event packet 13244 * @return vendor_id 13245 * @note: btstack_type 2 13246 */ 13247 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_vendor_id(const uint8_t * event){ 13248 return little_endian_read_16(event, 7); 13249 } 13250 /** 13251 * @brief Get field product_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13252 * @param event packet 13253 * @return product_id 13254 * @note: btstack_type 2 13255 */ 13256 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_id(const uint8_t * event){ 13257 return little_endian_read_16(event, 9); 13258 } 13259 /** 13260 * @brief Get field product_version from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13261 * @param event packet 13262 * @return product_version 13263 * @note: btstack_type 2 13264 */ 13265 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_version(const uint8_t * event){ 13266 return little_endian_read_16(event, 11); 13267 } 13268 13269 /** 13270 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13271 * @param event packet 13272 * @return con_handle 13273 * @note: btstack_type H 13274 */ 13275 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_connected_get_con_handle(const uint8_t * event){ 13276 return little_endian_read_16(event, 3); 13277 } 13278 /** 13279 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13280 * @param event packet 13281 * @return att_status 13282 * @note: btstack_type 1 13283 */ 13284 static inline uint8_t gattservice_subevent_scan_parameters_service_connected_get_att_status(const uint8_t * event){ 13285 return event[5]; 13286 } 13287 13288 /** 13289 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_DISCONNECTED 13290 * @param event packet 13291 * @return con_handle 13292 * @note: btstack_type H 13293 */ 13294 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_disconnected_get_con_handle(const uint8_t * event){ 13295 return little_endian_read_16(event, 3); 13296 } 13297 13298 /** 13299 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 13300 * @param event packet 13301 * @return con_handle 13302 * @note: btstack_type H 13303 */ 13304 static inline hci_con_handle_t gattservice_subevent_spp_service_connected_get_con_handle(const uint8_t * event){ 13305 return little_endian_read_16(event, 3); 13306 } 13307 13308 /** 13309 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 13310 * @param event packet 13311 * @return con_handle 13312 * @note: btstack_type H 13313 */ 13314 static inline hci_con_handle_t gattservice_subevent_spp_service_disconnected_get_con_handle(const uint8_t * event){ 13315 return little_endian_read_16(event, 3); 13316 } 13317 13318 /** 13319 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13320 * @param event packet 13321 * @return hids_cid 13322 * @note: btstack_type 2 13323 */ 13324 static inline uint16_t gattservice_subevent_hid_service_connected_get_hids_cid(const uint8_t * event){ 13325 return little_endian_read_16(event, 3); 13326 } 13327 /** 13328 * @brief Get field status from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13329 * @param event packet 13330 * @return status 13331 * @note: btstack_type 1 13332 */ 13333 static inline uint8_t gattservice_subevent_hid_service_connected_get_status(const uint8_t * event){ 13334 return event[5]; 13335 } 13336 /** 13337 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13338 * @param event packet 13339 * @return protocol_mode 13340 * @note: btstack_type 1 13341 */ 13342 static inline uint8_t gattservice_subevent_hid_service_connected_get_protocol_mode(const uint8_t * event){ 13343 return event[6]; 13344 } 13345 /** 13346 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13347 * @param event packet 13348 * @return num_instances 13349 * @note: btstack_type 1 13350 */ 13351 static inline uint8_t gattservice_subevent_hid_service_connected_get_num_instances(const uint8_t * event){ 13352 return event[7]; 13353 } 13354 13355 /** 13356 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_DISCONNECTED 13357 * @param event packet 13358 * @return hids_cid 13359 * @note: btstack_type 2 13360 */ 13361 static inline uint16_t gattservice_subevent_hid_service_disconnected_get_hids_cid(const uint8_t * event){ 13362 return little_endian_read_16(event, 3); 13363 } 13364 13365 /** 13366 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT 13367 * @param event packet 13368 * @return hids_cid 13369 * @note: btstack_type 2 13370 */ 13371 static inline uint16_t gattservice_subevent_hid_report_get_hids_cid(const uint8_t * event){ 13372 return little_endian_read_16(event, 3); 13373 } 13374 /** 13375 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT 13376 * @param event packet 13377 * @return service_index 13378 * @note: btstack_type 1 13379 */ 13380 static inline uint8_t gattservice_subevent_hid_report_get_service_index(const uint8_t * event){ 13381 return event[5]; 13382 } 13383 /** 13384 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT 13385 * @param event packet 13386 * @return report_id 13387 * @note: btstack_type 1 13388 */ 13389 static inline uint8_t gattservice_subevent_hid_report_get_report_id(const uint8_t * event){ 13390 return event[6]; 13391 } 13392 /** 13393 * @brief Get field report_len from event GATTSERVICE_SUBEVENT_HID_REPORT 13394 * @param event packet 13395 * @return report_len 13396 * @note: btstack_type L 13397 */ 13398 static inline uint16_t gattservice_subevent_hid_report_get_report_len(const uint8_t * event){ 13399 return little_endian_read_16(event, 7); 13400 } 13401 /** 13402 * @brief Get field report from event GATTSERVICE_SUBEVENT_HID_REPORT 13403 * @param event packet 13404 * @return report 13405 * @note: btstack_type V 13406 */ 13407 static inline const uint8_t * gattservice_subevent_hid_report_get_report(const uint8_t * event){ 13408 return &event[9]; 13409 } 13410 13411 /** 13412 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13413 * @param event packet 13414 * @return hids_cid 13415 * @note: btstack_type 2 13416 */ 13417 static inline uint16_t gattservice_subevent_hid_information_get_hids_cid(const uint8_t * event){ 13418 return little_endian_read_16(event, 3); 13419 } 13420 /** 13421 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13422 * @param event packet 13423 * @return service_index 13424 * @note: btstack_type 1 13425 */ 13426 static inline uint8_t gattservice_subevent_hid_information_get_service_index(const uint8_t * event){ 13427 return event[5]; 13428 } 13429 /** 13430 * @brief Get field base_usb_hid_version from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13431 * @param event packet 13432 * @return base_usb_hid_version 13433 * @note: btstack_type 2 13434 */ 13435 static inline uint16_t gattservice_subevent_hid_information_get_base_usb_hid_version(const uint8_t * event){ 13436 return little_endian_read_16(event, 6); 13437 } 13438 /** 13439 * @brief Get field country_code from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13440 * @param event packet 13441 * @return country_code 13442 * @note: btstack_type 1 13443 */ 13444 static inline uint8_t gattservice_subevent_hid_information_get_country_code(const uint8_t * event){ 13445 return event[8]; 13446 } 13447 /** 13448 * @brief Get field remote_wake from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13449 * @param event packet 13450 * @return remote_wake 13451 * @note: btstack_type 1 13452 */ 13453 static inline uint8_t gattservice_subevent_hid_information_get_remote_wake(const uint8_t * event){ 13454 return event[9]; 13455 } 13456 /** 13457 * @brief Get field normally_connectable from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13458 * @param event packet 13459 * @return normally_connectable 13460 * @note: btstack_type 1 13461 */ 13462 static inline uint8_t gattservice_subevent_hid_information_get_normally_connectable(const uint8_t * event){ 13463 return event[10]; 13464 } 13465 13466 /** 13467 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13468 * @param event packet 13469 * @return hids_cid 13470 * @note: btstack_type 2 13471 */ 13472 static inline uint16_t gattservice_subevent_hid_protocol_mode_get_hids_cid(const uint8_t * event){ 13473 return little_endian_read_16(event, 3); 13474 } 13475 /** 13476 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13477 * @param event packet 13478 * @return service_index 13479 * @note: btstack_type 1 13480 */ 13481 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_service_index(const uint8_t * event){ 13482 return event[5]; 13483 } 13484 /** 13485 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13486 * @param event packet 13487 * @return protocol_mode 13488 * @note: btstack_type 1 13489 */ 13490 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_protocol_mode(const uint8_t * event){ 13491 return event[6]; 13492 } 13493 13494 /** 13495 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13496 * @param event packet 13497 * @return hids_cid 13498 * @note: btstack_type 2 13499 */ 13500 static inline uint16_t gattservice_subevent_hid_service_reports_notification_get_hids_cid(const uint8_t * event){ 13501 return little_endian_read_16(event, 3); 13502 } 13503 /** 13504 * @brief Get field configuration from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13505 * @param event packet 13506 * @return configuration 13507 * @note: btstack_type 1 13508 */ 13509 static inline uint8_t gattservice_subevent_hid_service_reports_notification_get_configuration(const uint8_t * event){ 13510 return event[5]; 13511 } 13512 13513 /** 13514 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13515 * @param event packet 13516 * @return hids_cid 13517 * @note: btstack_type 2 13518 */ 13519 static inline uint16_t gattservice_subevent_hid_report_written_get_hids_cid(const uint8_t * event){ 13520 return little_endian_read_16(event, 3); 13521 } 13522 /** 13523 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13524 * @param event packet 13525 * @return service_index 13526 * @note: btstack_type 1 13527 */ 13528 static inline uint8_t gattservice_subevent_hid_report_written_get_service_index(const uint8_t * event){ 13529 return event[5]; 13530 } 13531 /** 13532 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13533 * @param event packet 13534 * @return report_id 13535 * @note: btstack_type 1 13536 */ 13537 static inline uint8_t gattservice_subevent_hid_report_written_get_report_id(const uint8_t * event){ 13538 return event[6]; 13539 } 13540 13541 /** 13542 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13543 * @param event packet 13544 * @return con_handle 13545 * @note: btstack_type H 13546 */ 13547 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_con_handle(const uint8_t * event){ 13548 return little_endian_read_16(event, 3); 13549 } 13550 /** 13551 * @brief Get field max_scan_interval from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13552 * @param event packet 13553 * @return max_scan_interval 13554 * @note: btstack_type 2 13555 */ 13556 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_max_scan_interval(const uint8_t * event){ 13557 return little_endian_read_16(event, 5); 13558 } 13559 /** 13560 * @brief Get field min_scan_window from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13561 * @param event packet 13562 * @return min_scan_window 13563 * @note: btstack_type 2 13564 */ 13565 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_min_scan_window(const uint8_t * event){ 13566 return little_endian_read_16(event, 7); 13567 } 13568 13569 /** 13570 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 13571 * @param event packet 13572 * @return con_handle 13573 * @note: btstack_type H 13574 */ 13575 static inline hci_con_handle_t leaudio_subevent_bass_server_connected_get_con_handle(const uint8_t * event){ 13576 return little_endian_read_16(event, 3); 13577 } 13578 /** 13579 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 13580 * @param event packet 13581 * @return status 13582 * @note: btstack_type 1 13583 */ 13584 static inline uint8_t leaudio_subevent_bass_server_connected_get_status(const uint8_t * event){ 13585 return event[5]; 13586 } 13587 13588 /** 13589 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_DISCONNECTED 13590 * @param event packet 13591 * @return con_handle 13592 * @note: btstack_type H 13593 */ 13594 static inline hci_con_handle_t leaudio_subevent_bass_server_disconnected_get_con_handle(const uint8_t * event){ 13595 return little_endian_read_16(event, 3); 13596 } 13597 13598 /** 13599 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STOPPED 13600 * @param event packet 13601 * @return con_handle 13602 * @note: btstack_type H 13603 */ 13604 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_stopped_get_con_handle(const uint8_t * event){ 13605 return little_endian_read_16(event, 3); 13606 } 13607 13608 /** 13609 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STARTED 13610 * @param event packet 13611 * @return con_handle 13612 * @note: btstack_type H 13613 */ 13614 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_started_get_con_handle(const uint8_t * event){ 13615 return little_endian_read_16(event, 3); 13616 } 13617 13618 /** 13619 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 13620 * @param event packet 13621 * @return con_handle 13622 * @note: btstack_type H 13623 */ 13624 static inline hci_con_handle_t leaudio_subevent_bass_server_broadcast_code_get_con_handle(const uint8_t * event){ 13625 return little_endian_read_16(event, 3); 13626 } 13627 /** 13628 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 13629 * @param event packet 13630 * @return source_id 13631 * @note: btstack_type 1 13632 */ 13633 static inline uint8_t leaudio_subevent_bass_server_broadcast_code_get_source_id(const uint8_t * event){ 13634 return event[5]; 13635 } 13636 /** 13637 * @brief Get field broadcast_code from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 13638 * @param event packet 13639 * @param Pointer to storage for broadcast_code 13640 * @note: btstack_type K 13641 */ 13642 static inline void leaudio_subevent_bass_server_broadcast_code_get_broadcast_code(const uint8_t * event, uint8_t * broadcast_code){ 13643 reverse_bytes(&event[6], broadcast_code, 16); 13644 } 13645 13646 /** 13647 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 13648 * @param event packet 13649 * @return con_handle 13650 * @note: btstack_type H 13651 */ 13652 static inline hci_con_handle_t leaudio_subevent_bass_server_source_added_get_con_handle(const uint8_t * event){ 13653 return little_endian_read_16(event, 3); 13654 } 13655 /** 13656 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 13657 * @param event packet 13658 * @return source_id 13659 * @note: btstack_type 1 13660 */ 13661 static inline uint8_t leaudio_subevent_bass_server_source_added_get_source_id(const uint8_t * event){ 13662 return event[5]; 13663 } 13664 /** 13665 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 13666 * @param event packet 13667 * @return pa_sync 13668 * @note: btstack_type 1 13669 */ 13670 static inline uint8_t leaudio_subevent_bass_server_source_added_get_pa_sync(const uint8_t * event){ 13671 return event[6]; 13672 } 13673 13674 /** 13675 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 13676 * @param event packet 13677 * @return con_handle 13678 * @note: btstack_type H 13679 */ 13680 static inline hci_con_handle_t leaudio_subevent_bass_server_source_modified_get_con_handle(const uint8_t * event){ 13681 return little_endian_read_16(event, 3); 13682 } 13683 /** 13684 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 13685 * @param event packet 13686 * @return source_id 13687 * @note: btstack_type 1 13688 */ 13689 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_source_id(const uint8_t * event){ 13690 return event[5]; 13691 } 13692 /** 13693 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 13694 * @param event packet 13695 * @return pa_sync 13696 * @note: btstack_type 1 13697 */ 13698 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_pa_sync(const uint8_t * event){ 13699 return event[6]; 13700 } 13701 13702 /** 13703 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 13704 * @param event packet 13705 * @return con_handle 13706 * @note: btstack_type H 13707 */ 13708 static inline hci_con_handle_t leaudio_subevent_bass_server_source_deleted_get_con_handle(const uint8_t * event){ 13709 return little_endian_read_16(event, 3); 13710 } 13711 /** 13712 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 13713 * @param event packet 13714 * @return source_id 13715 * @note: btstack_type 1 13716 */ 13717 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_source_id(const uint8_t * event){ 13718 return event[5]; 13719 } 13720 /** 13721 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 13722 * @param event packet 13723 * @return pa_sync 13724 * @note: btstack_type 1 13725 */ 13726 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_pa_sync(const uint8_t * event){ 13727 return event[6]; 13728 } 13729 13730 /** 13731 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 13732 * @param event packet 13733 * @return con_handle 13734 * @note: btstack_type H 13735 */ 13736 static inline hci_con_handle_t leaudio_subevent_bass_client_connected_get_con_handle(const uint8_t * event){ 13737 return little_endian_read_16(event, 3); 13738 } 13739 /** 13740 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 13741 * @param event packet 13742 * @return bass_cid 13743 * @note: btstack_type 2 13744 */ 13745 static inline uint16_t leaudio_subevent_bass_client_connected_get_bass_cid(const uint8_t * event){ 13746 return little_endian_read_16(event, 5); 13747 } 13748 /** 13749 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 13750 * @param event packet 13751 * @return status 13752 * @note: btstack_type 1 13753 */ 13754 static inline uint8_t leaudio_subevent_bass_client_connected_get_status(const uint8_t * event){ 13755 return event[7]; 13756 } 13757 13758 /** 13759 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_DISCONNECTED 13760 * @param event packet 13761 * @return bass_cid 13762 * @note: btstack_type 2 13763 */ 13764 static inline uint16_t leaudio_subevent_bass_client_disconnected_get_bass_cid(const uint8_t * event){ 13765 return little_endian_read_16(event, 3); 13766 } 13767 13768 /** 13769 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13770 * @param event packet 13771 * @return bass_cid 13772 * @note: btstack_type 2 13773 */ 13774 static inline uint16_t leaudio_subevent_bass_client_scan_operation_complete_get_bass_cid(const uint8_t * event){ 13775 return little_endian_read_16(event, 3); 13776 } 13777 /** 13778 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13779 * @param event packet 13780 * @return status 13781 * @note: btstack_type 1 13782 */ 13783 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_status(const uint8_t * event){ 13784 return event[5]; 13785 } 13786 /** 13787 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13788 * @param event packet 13789 * @return opcode 13790 * @note: btstack_type 1 13791 */ 13792 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_opcode(const uint8_t * event){ 13793 return event[6]; 13794 } 13795 13796 /** 13797 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13798 * @param event packet 13799 * @return bass_cid 13800 * @note: btstack_type 2 13801 */ 13802 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_base_get_bass_cid(const uint8_t * event){ 13803 return little_endian_read_16(event, 3); 13804 } 13805 /** 13806 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13807 * @param event packet 13808 * @return source_id 13809 * @note: btstack_type 1 13810 */ 13811 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_id(const uint8_t * event){ 13812 return event[5]; 13813 } 13814 /** 13815 * @brief Get field source_address_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13816 * @param event packet 13817 * @return source_address_type 13818 * @note: btstack_type 1 13819 */ 13820 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_address_type(const uint8_t * event){ 13821 return event[6]; 13822 } 13823 /** 13824 * @brief Get field source_address from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13825 * @param event packet 13826 * @param Pointer to storage for source_address 13827 * @note: btstack_type B 13828 */ 13829 static inline void leaudio_subevent_bass_client_notify_receive_state_base_get_source_address(const uint8_t * event, bd_addr_t source_address){ 13830 reverse_bytes(&event[7], source_address, 6); 13831 } 13832 /** 13833 * @brief Get field source_adv_sid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13834 * @param event packet 13835 * @return source_adv_sid 13836 * @note: btstack_type 1 13837 */ 13838 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_adv_sid(const uint8_t * event){ 13839 return event[13]; 13840 } 13841 /** 13842 * @brief Get field broadcast_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13843 * @param event packet 13844 * @return broadcast_id 13845 * @note: btstack_type 3 13846 */ 13847 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_base_get_broadcast_id(const uint8_t * event){ 13848 return little_endian_read_24(event, 14); 13849 } 13850 /** 13851 * @brief Get field pa_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13852 * @param event packet 13853 * @return pa_sync_state 13854 * @note: btstack_type 1 13855 */ 13856 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_pa_sync_state(const uint8_t * event){ 13857 return event[17]; 13858 } 13859 /** 13860 * @brief Get field big_encryption from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13861 * @param event packet 13862 * @return big_encryption 13863 * @note: btstack_type 1 13864 */ 13865 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_big_encryption(const uint8_t * event){ 13866 return event[18]; 13867 } 13868 /** 13869 * @brief Get field bad_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13870 * @param event packet 13871 * @return bad_code 13872 * @note: btstack_type P 13873 */ 13874 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_base_get_bad_code(const uint8_t * event){ 13875 return (const uint8_t *) &event[19]; 13876 } 13877 /** 13878 * @brief Get field subgroups_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 13879 * @param event packet 13880 * @return subgroups_num 13881 * @note: btstack_type 1 13882 */ 13883 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_subgroups_num(const uint8_t * event){ 13884 return event[35]; 13885 } 13886 13887 /** 13888 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13889 * @param event packet 13890 * @return bass_cid 13891 * @note: btstack_type 2 13892 */ 13893 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){ 13894 return little_endian_read_16(event, 3); 13895 } 13896 /** 13897 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13898 * @param event packet 13899 * @return source_id 13900 * @note: btstack_type 1 13901 */ 13902 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_source_id(const uint8_t * event){ 13903 return event[5]; 13904 } 13905 /** 13906 * @brief Get field bis_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13907 * @param event packet 13908 * @return bis_sync_state 13909 * @note: btstack_type 4 13910 */ 13911 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){ 13912 return little_endian_read_32(event, 6); 13913 } 13914 /** 13915 * @brief Get field metadata_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13916 * @param event packet 13917 * @return metadata_mask 13918 * @note: btstack_type 1 13919 */ 13920 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){ 13921 return event[10]; 13922 } 13923 /** 13924 * @brief Get field preferred_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13925 * @param event packet 13926 * @return preferred_audio_contexts_mask 13927 * @note: btstack_type 2 13928 */ 13929 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){ 13930 return little_endian_read_16(event, 11); 13931 } 13932 /** 13933 * @brief Get field streaming_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13934 * @param event packet 13935 * @return streaming_audio_contexts_mask 13936 * @note: btstack_type 2 13937 */ 13938 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){ 13939 return little_endian_read_16(event, 13); 13940 } 13941 /** 13942 * @brief Get field program_info_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13943 * @param event packet 13944 * @return program_info_length 13945 * @note: btstack_type J 13946 */ 13947 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){ 13948 return event[15]; 13949 } 13950 /** 13951 * @brief Get field program_info from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13952 * @param event packet 13953 * @return program_info 13954 * @note: btstack_type V 13955 */ 13956 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info(const uint8_t * event){ 13957 return &event[16]; 13958 } 13959 /** 13960 * @brief Get field language_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13961 * @param event packet 13962 * @return language_code 13963 * @note: btstack_type 3 13964 */ 13965 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_language_code(const uint8_t * event){ 13966 uint8_t offset = 16u + event[15]; 13967 return little_endian_read_24(event, (int)(int8_t) offset); 13968 } 13969 /** 13970 * @brief Get field ccids_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13971 * @param event packet 13972 * @return ccids_num 13973 * @note: btstack_type J 13974 */ 13975 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){ 13976 return event[16u + event[15] + 3u]; 13977 } 13978 /** 13979 * @brief Get field ccids from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13980 * @param event packet 13981 * @return ccids 13982 * @note: btstack_type V 13983 */ 13984 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids(const uint8_t * event){ 13985 return &event[16u + event[15] + 3u + 1u]; 13986 } 13987 /** 13988 * @brief Get field parental_rating from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13989 * @param event packet 13990 * @return parental_rating 13991 * @note: btstack_type 1 13992 */ 13993 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){ 13994 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]]; 13995 } 13996 /** 13997 * @brief Get field program_info_uri_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13998 * @param event packet 13999 * @return program_info_uri_length 14000 * @note: btstack_type J 14001 */ 14002 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){ 14003 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; 14004 } 14005 /** 14006 * @brief Get field program_info_uri from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14007 * @param event packet 14008 * @return program_info_uri 14009 * @note: btstack_type V 14010 */ 14011 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){ 14012 return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u]; 14013 } 14014 /** 14015 * @brief Get field extended_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14016 * @param event packet 14017 * @return extended_metadata_type 14018 * @note: btstack_type 2 14019 */ 14020 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){ 14021 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]; 14022 return little_endian_read_16(event, (int)(int8_t) offset); 14023 } 14024 /** 14025 * @brief Get field extended_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14026 * @param event packet 14027 * @return extended_metadata_value_length 14028 * @note: btstack_type J 14029 */ 14030 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){ 14031 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]; 14032 } 14033 /** 14034 * @brief Get field extended_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14035 * @param event packet 14036 * @return extended_metadata_value 14037 * @note: btstack_type V 14038 */ 14039 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){ 14040 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]; 14041 } 14042 /** 14043 * @brief Get field vendor_specific_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14044 * @param event packet 14045 * @return vendor_specific_metadata_type 14046 * @note: btstack_type 2 14047 */ 14048 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){ 14049 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]; 14050 return little_endian_read_16(event, (int)(int8_t) offset); 14051 } 14052 /** 14053 * @brief Get field vendor_specific_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14054 * @param event packet 14055 * @return vendor_specific_metadata_value_length 14056 * @note: btstack_type J 14057 */ 14058 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){ 14059 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]; 14060 } 14061 /** 14062 * @brief Get field vendor_specific_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14063 * @param event packet 14064 * @return vendor_specific_metadata_value 14065 * @note: btstack_type V 14066 */ 14067 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){ 14068 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]; 14069 } 14070 14071 /** 14072 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14073 * @param event packet 14074 * @return bass_cid 14075 * @note: btstack_type 2 14076 */ 14077 static inline uint16_t leaudio_subevent_bass_client_notification_complete_get_bass_cid(const uint8_t * event){ 14078 return little_endian_read_16(event, 3); 14079 } 14080 /** 14081 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14082 * @param event packet 14083 * @return source_id 14084 * @note: btstack_type 1 14085 */ 14086 static inline uint8_t leaudio_subevent_bass_client_notification_complete_get_source_id(const uint8_t * event){ 14087 return event[5]; 14088 } 14089 14090 /** 14091 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14092 * @param event packet 14093 * @return bass_cid 14094 * @note: btstack_type 2 14095 */ 14096 static inline uint16_t leaudio_subevent_bass_client_source_operation_complete_get_bass_cid(const uint8_t * event){ 14097 return little_endian_read_16(event, 3); 14098 } 14099 /** 14100 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14101 * @param event packet 14102 * @return status 14103 * @note: btstack_type 1 14104 */ 14105 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_status(const uint8_t * event){ 14106 return event[5]; 14107 } 14108 /** 14109 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14110 * @param event packet 14111 * @return opcode 14112 * @note: btstack_type 1 14113 */ 14114 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_opcode(const uint8_t * event){ 14115 return event[6]; 14116 } 14117 /** 14118 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14119 * @param event packet 14120 * @return source_id 14121 * @note: btstack_type 1 14122 */ 14123 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_source_id(const uint8_t * event){ 14124 return event[7]; 14125 } 14126 14127 14128 /** 14129 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 14130 * @param event packet 14131 * @return status 14132 * @note: btstack_type 1 14133 */ 14134 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 14135 return event[3]; 14136 } 14137 14138 /** 14139 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14140 * @param event packet 14141 * @return status 14142 * @note: btstack_type 1 14143 */ 14144 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 14145 return event[3]; 14146 } 14147 /** 14148 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14149 * @param event packet 14150 * @return pb_transport_cid 14151 * @note: btstack_type 2 14152 */ 14153 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 14154 return little_endian_read_16(event, 4); 14155 } 14156 /** 14157 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14158 * @param event packet 14159 * @return pb_type 14160 * @note: btstack_type 1 14161 */ 14162 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 14163 return event[6]; 14164 } 14165 14166 /** 14167 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14168 * @param event packet 14169 * @return pb_transport_cid 14170 * @note: btstack_type 1 14171 */ 14172 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 14173 return event[3]; 14174 } 14175 /** 14176 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14177 * @param event packet 14178 * @return reason 14179 * @note: btstack_type 2 14180 */ 14181 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 14182 return little_endian_read_16(event, 4); 14183 } 14184 14185 /** 14186 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14187 * @param event packet 14188 * @return pb_transport_cid 14189 * @note: btstack_type 2 14190 */ 14191 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 14192 return little_endian_read_16(event, 3); 14193 } 14194 /** 14195 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14196 * @param event packet 14197 * @return attention_time 14198 * @note: btstack_type 1 14199 */ 14200 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 14201 return event[5]; 14202 } 14203 14204 /** 14205 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 14206 * @param event packet 14207 * @return pb_transport_cid 14208 * @note: btstack_type 2 14209 */ 14210 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14211 return little_endian_read_16(event, 3); 14212 } 14213 14214 /** 14215 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 14216 * @param event packet 14217 * @return pb_transport_cid 14218 * @note: btstack_type 2 14219 */ 14220 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14221 return little_endian_read_16(event, 3); 14222 } 14223 14224 /** 14225 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 14226 * @param event packet 14227 * @return pb_transport_cid 14228 * @note: btstack_type 2 14229 */ 14230 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 14231 return little_endian_read_16(event, 3); 14232 } 14233 14234 /** 14235 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14236 * @param event packet 14237 * @return pb_transport_cid 14238 * @note: btstack_type 2 14239 */ 14240 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14241 return little_endian_read_16(event, 3); 14242 } 14243 /** 14244 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14245 * @param event packet 14246 * @return output_oob 14247 * @note: btstack_type 4 14248 */ 14249 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 14250 return little_endian_read_32(event, 5); 14251 } 14252 14253 /** 14254 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 14255 * @param event packet 14256 * @return pb_transport_cid 14257 * @note: btstack_type 2 14258 */ 14259 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14260 return little_endian_read_16(event, 3); 14261 } 14262 14263 /** 14264 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 14265 * @param event packet 14266 * @return pb_transport_cid 14267 * @note: btstack_type 2 14268 */ 14269 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14270 return little_endian_read_16(event, 3); 14271 } 14272 14273 /** 14274 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 14275 * @param event packet 14276 * @return pb_transport_cid 14277 * @note: btstack_type 2 14278 */ 14279 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14280 return little_endian_read_16(event, 3); 14281 } 14282 14283 /** 14284 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 14285 * @param event packet 14286 * @return pb_transport_cid 14287 * @note: btstack_type 2 14288 */ 14289 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 14290 return little_endian_read_16(event, 3); 14291 } 14292 14293 /** 14294 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 14295 * @param event packet 14296 * @return pb_transport_cid 14297 * @note: btstack_type 2 14298 */ 14299 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 14300 return little_endian_read_16(event, 3); 14301 } 14302 /** 14303 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 14304 * @param event packet 14305 * @return output_oob 14306 * @note: btstack_type 4 14307 */ 14308 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 14309 return little_endian_read_32(event, 5); 14310 } 14311 14312 /** 14313 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 14314 * @param event packet 14315 * @return pb_transport_cid 14316 * @note: btstack_type 2 14317 */ 14318 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 14319 return little_endian_read_16(event, 3); 14320 } 14321 14322 /** 14323 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14324 * @param event packet 14325 * @return pb_transport_cid 14326 * @note: btstack_type 2 14327 */ 14328 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 14329 return little_endian_read_16(event, 3); 14330 } 14331 /** 14332 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14333 * @param event packet 14334 * @return num_elements 14335 * @note: btstack_type 1 14336 */ 14337 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 14338 return event[5]; 14339 } 14340 /** 14341 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14342 * @param event packet 14343 * @return algorithms 14344 * @note: btstack_type 2 14345 */ 14346 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 14347 return little_endian_read_16(event, 6); 14348 } 14349 /** 14350 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14351 * @param event packet 14352 * @return public_key 14353 * @note: btstack_type 1 14354 */ 14355 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 14356 return event[8]; 14357 } 14358 /** 14359 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14360 * @param event packet 14361 * @return static_oob_type 14362 * @note: btstack_type 1 14363 */ 14364 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 14365 return event[9]; 14366 } 14367 /** 14368 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14369 * @param event packet 14370 * @return output_oob_size 14371 * @note: btstack_type 1 14372 */ 14373 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 14374 return event[10]; 14375 } 14376 /** 14377 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14378 * @param event packet 14379 * @return output_oob_action 14380 * @note: btstack_type 2 14381 */ 14382 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 14383 return little_endian_read_16(event, 11); 14384 } 14385 /** 14386 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14387 * @param event packet 14388 * @return input_oob_size 14389 * @note: btstack_type 1 14390 */ 14391 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 14392 return event[13]; 14393 } 14394 /** 14395 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14396 * @param event packet 14397 * @return input_oob_action 14398 * @note: btstack_type 2 14399 */ 14400 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 14401 return little_endian_read_16(event, 14); 14402 } 14403 14404 /** 14405 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 14406 * @param event packet 14407 * @return pb_transport_cid 14408 * @note: btstack_type 2 14409 */ 14410 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 14411 return little_endian_read_16(event, 3); 14412 } 14413 14414 /** 14415 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 14416 * @param event packet 14417 * @return attention_time 14418 * @note: btstack_type 1 14419 */ 14420 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 14421 return event[3]; 14422 } 14423 14424 /** 14425 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 14426 * @param event packet 14427 * @return con_handle 14428 * @note: btstack_type H 14429 */ 14430 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 14431 return little_endian_read_16(event, 3); 14432 } 14433 14434 /** 14435 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 14436 * @param event packet 14437 * @return con_handle 14438 * @note: btstack_type H 14439 */ 14440 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 14441 return little_endian_read_16(event, 3); 14442 } 14443 14444 /** 14445 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 14446 * @param event packet 14447 * @return con_handle 14448 * @note: btstack_type H 14449 */ 14450 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 14451 return little_endian_read_16(event, 3); 14452 } 14453 14454 /** 14455 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 14456 * @param event packet 14457 * @return con_handle 14458 * @note: btstack_type H 14459 */ 14460 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 14461 return little_endian_read_16(event, 3); 14462 } 14463 14464 /** 14465 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14466 * @param event packet 14467 * @return element_index 14468 * @note: btstack_type 1 14469 */ 14470 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 14471 return event[3]; 14472 } 14473 /** 14474 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14475 * @param event packet 14476 * @return model_identifier 14477 * @note: btstack_type 4 14478 */ 14479 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 14480 return little_endian_read_32(event, 4); 14481 } 14482 /** 14483 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14484 * @param event packet 14485 * @return state_identifier 14486 * @note: btstack_type 4 14487 */ 14488 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 14489 return little_endian_read_32(event, 8); 14490 } 14491 /** 14492 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14493 * @param event packet 14494 * @return reason 14495 * @note: btstack_type 1 14496 */ 14497 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 14498 return event[12]; 14499 } 14500 /** 14501 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14502 * @param event packet 14503 * @return value 14504 * @note: btstack_type 1 14505 */ 14506 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 14507 return event[13]; 14508 } 14509 14510 /** 14511 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 14512 * @param event packet 14513 * @return element_index 14514 * @note: btstack_type 1 14515 */ 14516 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 14517 return event[3]; 14518 } 14519 /** 14520 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 14521 * @param event packet 14522 * @return model_identifier 14523 * @note: btstack_type 4 14524 */ 14525 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 14526 return little_endian_read_32(event, 4); 14527 } 14528 /** 14529 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 14530 * @param event packet 14531 * @return state_identifier 14532 * @note: btstack_type 4 14533 */ 14534 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 14535 return little_endian_read_32(event, 8); 14536 } 14537 /** 14538 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 14539 * @param event packet 14540 * @return reason 14541 * @note: btstack_type 1 14542 */ 14543 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 14544 return event[12]; 14545 } 14546 /** 14547 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 14548 * @param event packet 14549 * @return value 14550 * @note: btstack_type 2 14551 */ 14552 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 14553 return little_endian_read_16(event, 13); 14554 } 14555 14556 /** 14557 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 14558 * @param event packet 14559 * @return element_index 14560 * @note: btstack_type 1 14561 */ 14562 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 14563 return event[3]; 14564 } 14565 /** 14566 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 14567 * @param event packet 14568 * @return model_identifier 14569 * @note: btstack_type 4 14570 */ 14571 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 14572 return little_endian_read_32(event, 4); 14573 } 14574 /** 14575 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 14576 * @param event packet 14577 * @return opcode 14578 * @note: btstack_type 4 14579 */ 14580 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 14581 return little_endian_read_32(event, 8); 14582 } 14583 /** 14584 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 14585 * @param event packet 14586 * @return dest 14587 * @note: btstack_type 2 14588 */ 14589 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 14590 return little_endian_read_16(event, 12); 14591 } 14592 14593 /** 14594 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 14595 * @param event packet 14596 * @return dest 14597 * @note: btstack_type 2 14598 */ 14599 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 14600 return little_endian_read_16(event, 3); 14601 } 14602 /** 14603 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 14604 * @param event packet 14605 * @return status 14606 * @note: btstack_type 1 14607 */ 14608 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 14609 return event[5]; 14610 } 14611 /** 14612 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 14613 * @param event packet 14614 * @return present_value 14615 * @note: btstack_type 1 14616 */ 14617 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 14618 return event[6]; 14619 } 14620 /** 14621 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 14622 * @param event packet 14623 * @return target_value 14624 * @note: btstack_type 1 14625 */ 14626 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 14627 return event[7]; 14628 } 14629 /** 14630 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 14631 * @param event packet 14632 * @return remaining_time_ms 14633 * @note: btstack_type 4 14634 */ 14635 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 14636 return little_endian_read_32(event, 8); 14637 } 14638 14639 /** 14640 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 14641 * @param event packet 14642 * @return dest 14643 * @note: btstack_type 2 14644 */ 14645 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 14646 return little_endian_read_16(event, 3); 14647 } 14648 /** 14649 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 14650 * @param event packet 14651 * @return status 14652 * @note: btstack_type 1 14653 */ 14654 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 14655 return event[5]; 14656 } 14657 /** 14658 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 14659 * @param event packet 14660 * @return present_value 14661 * @note: btstack_type 2 14662 */ 14663 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 14664 return little_endian_read_16(event, 6); 14665 } 14666 /** 14667 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 14668 * @param event packet 14669 * @return target_value 14670 * @note: btstack_type 2 14671 */ 14672 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 14673 return little_endian_read_16(event, 8); 14674 } 14675 /** 14676 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 14677 * @param event packet 14678 * @return remaining_time_ms 14679 * @note: btstack_type 4 14680 */ 14681 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 14682 return little_endian_read_32(event, 10); 14683 } 14684 14685 /** 14686 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14687 * @param event packet 14688 * @return dest 14689 * @note: btstack_type 2 14690 */ 14691 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 14692 return little_endian_read_16(event, 3); 14693 } 14694 /** 14695 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14696 * @param event packet 14697 * @return netkey_index 14698 * @note: btstack_type 2 14699 */ 14700 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 14701 return little_endian_read_16(event, 5); 14702 } 14703 /** 14704 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14705 * @param event packet 14706 * @return appkey_index 14707 * @note: btstack_type 2 14708 */ 14709 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 14710 return little_endian_read_16(event, 7); 14711 } 14712 /** 14713 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14714 * @param event packet 14715 * @return company_id 14716 * @note: btstack_type 2 14717 */ 14718 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 14719 return little_endian_read_16(event, 9); 14720 } 14721 /** 14722 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14723 * @param event packet 14724 * @return test_id 14725 * @note: btstack_type 1 14726 */ 14727 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 14728 return event[11]; 14729 } 14730 /** 14731 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14732 * @param event packet 14733 * @return acknowledged 14734 * @note: btstack_type 1 14735 */ 14736 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 14737 return event[12]; 14738 } 14739 14740 /** 14741 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 14742 * @param event packet 14743 * @return element_index 14744 * @note: btstack_type 1 14745 */ 14746 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 14747 return event[3]; 14748 } 14749 14750 /** 14751 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 14752 * @param event packet 14753 * @return dest 14754 * @note: btstack_type 2 14755 */ 14756 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 14757 return little_endian_read_16(event, 3); 14758 } 14759 /** 14760 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 14761 * @param event packet 14762 * @return status 14763 * @note: btstack_type 1 14764 */ 14765 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 14766 return event[5]; 14767 } 14768 /** 14769 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 14770 * @param event packet 14771 * @return transition_time_gdtt 14772 * @note: btstack_type 1 14773 */ 14774 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 14775 return event[6]; 14776 } 14777 14778 /** 14779 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 14780 * @param event packet 14781 * @return dest 14782 * @note: btstack_type 2 14783 */ 14784 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 14785 return little_endian_read_16(event, 3); 14786 } 14787 /** 14788 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 14789 * @param event packet 14790 * @return foundation_status 14791 * @note: btstack_type 1 14792 */ 14793 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 14794 return event[5]; 14795 } 14796 /** 14797 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 14798 * @param event packet 14799 * @return secure_network_beacon_state 14800 * @note: btstack_type 1 14801 */ 14802 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 14803 return event[6]; 14804 } 14805 14806 /** 14807 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 14808 * @param event packet 14809 * @return dest 14810 * @note: btstack_type 2 14811 */ 14812 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 14813 return little_endian_read_16(event, 3); 14814 } 14815 /** 14816 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 14817 * @param event packet 14818 * @return foundation_status 14819 * @note: btstack_type 1 14820 */ 14821 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 14822 return event[5]; 14823 } 14824 /** 14825 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 14826 * @param event packet 14827 * @return default_ttl 14828 * @note: btstack_type 1 14829 */ 14830 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 14831 return event[6]; 14832 } 14833 14834 /** 14835 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 14836 * @param event packet 14837 * @return dest 14838 * @note: btstack_type 2 14839 */ 14840 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 14841 return little_endian_read_16(event, 3); 14842 } 14843 /** 14844 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 14845 * @param event packet 14846 * @return foundation_status 14847 * @note: btstack_type 1 14848 */ 14849 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 14850 return event[5]; 14851 } 14852 /** 14853 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 14854 * @param event packet 14855 * @return gatt_proxy_state 14856 * @note: btstack_type 1 14857 */ 14858 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 14859 return event[6]; 14860 } 14861 14862 /** 14863 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 14864 * @param event packet 14865 * @return dest 14866 * @note: btstack_type 2 14867 */ 14868 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 14869 return little_endian_read_16(event, 3); 14870 } 14871 /** 14872 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 14873 * @param event packet 14874 * @return foundation_status 14875 * @note: btstack_type 1 14876 */ 14877 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 14878 return event[5]; 14879 } 14880 /** 14881 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 14882 * @param event packet 14883 * @return relay 14884 * @note: btstack_type 1 14885 */ 14886 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 14887 return event[6]; 14888 } 14889 /** 14890 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 14891 * @param event packet 14892 * @return retransmit_count 14893 * @note: btstack_type 1 14894 */ 14895 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 14896 return event[7]; 14897 } 14898 /** 14899 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 14900 * @param event packet 14901 * @return retransmit_interval_ms 14902 * @note: btstack_type 1 14903 */ 14904 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 14905 return event[8]; 14906 } 14907 14908 /** 14909 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14910 * @param event packet 14911 * @return dest 14912 * @note: btstack_type 2 14913 */ 14914 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 14915 return little_endian_read_16(event, 3); 14916 } 14917 /** 14918 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14919 * @param event packet 14920 * @return foundation_status 14921 * @note: btstack_type 1 14922 */ 14923 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 14924 return event[5]; 14925 } 14926 /** 14927 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14928 * @param event packet 14929 * @return publish_address 14930 * @note: btstack_type 2 14931 */ 14932 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 14933 return little_endian_read_16(event, 6); 14934 } 14935 /** 14936 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14937 * @param event packet 14938 * @return appkey_index 14939 * @note: btstack_type 2 14940 */ 14941 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 14942 return little_endian_read_16(event, 8); 14943 } 14944 /** 14945 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14946 * @param event packet 14947 * @return credential_flag 14948 * @note: btstack_type 1 14949 */ 14950 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 14951 return event[10]; 14952 } 14953 /** 14954 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14955 * @param event packet 14956 * @return publish_ttl 14957 * @note: btstack_type 1 14958 */ 14959 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 14960 return event[11]; 14961 } 14962 /** 14963 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14964 * @param event packet 14965 * @return publish_period 14966 * @note: btstack_type 1 14967 */ 14968 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 14969 return event[12]; 14970 } 14971 /** 14972 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14973 * @param event packet 14974 * @return publish_retransmit_count 14975 * @note: btstack_type 1 14976 */ 14977 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 14978 return event[13]; 14979 } 14980 /** 14981 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14982 * @param event packet 14983 * @return publish_retransmit_interval_steps 14984 * @note: btstack_type 1 14985 */ 14986 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 14987 return event[14]; 14988 } 14989 /** 14990 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14991 * @param event packet 14992 * @return model_identifier 14993 * @note: btstack_type 4 14994 */ 14995 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 14996 return little_endian_read_32(event, 15); 14997 } 14998 14999 /** 15000 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15001 * @param event packet 15002 * @return dest 15003 * @note: btstack_type 2 15004 */ 15005 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 15006 return little_endian_read_16(event, 3); 15007 } 15008 /** 15009 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15010 * @param event packet 15011 * @return foundation_status 15012 * @note: btstack_type 1 15013 */ 15014 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 15015 return event[5]; 15016 } 15017 /** 15018 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15019 * @param event packet 15020 * @return address 15021 * @note: btstack_type 2 15022 */ 15023 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 15024 return little_endian_read_16(event, 6); 15025 } 15026 /** 15027 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15028 * @param event packet 15029 * @return model_identifier 15030 * @note: btstack_type 4 15031 */ 15032 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 15033 return little_endian_read_32(event, 8); 15034 } 15035 15036 /** 15037 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15038 * @param event packet 15039 * @return dest 15040 * @note: btstack_type 2 15041 */ 15042 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 15043 return little_endian_read_16(event, 3); 15044 } 15045 /** 15046 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15047 * @param event packet 15048 * @return foundation_status 15049 * @note: btstack_type 1 15050 */ 15051 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 15052 return event[5]; 15053 } 15054 /** 15055 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15056 * @param event packet 15057 * @return model_identifier 15058 * @note: btstack_type 4 15059 */ 15060 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 15061 return little_endian_read_32(event, 6); 15062 } 15063 /** 15064 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15065 * @param event packet 15066 * @return num_subscription_addresses 15067 * @note: btstack_type 1 15068 */ 15069 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 15070 return event[10]; 15071 } 15072 /** 15073 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15074 * @param event packet 15075 * @return subscription_address_pos 15076 * @note: btstack_type 1 15077 */ 15078 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 15079 return event[11]; 15080 } 15081 /** 15082 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15083 * @param event packet 15084 * @return subscription_address_item 15085 * @note: btstack_type 2 15086 */ 15087 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 15088 return little_endian_read_16(event, 12); 15089 } 15090 15091 /** 15092 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 15093 * @param event packet 15094 * @return dest 15095 * @note: btstack_type 2 15096 */ 15097 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 15098 return little_endian_read_16(event, 3); 15099 } 15100 /** 15101 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 15102 * @param event packet 15103 * @return foundation_status 15104 * @note: btstack_type 1 15105 */ 15106 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 15107 return event[5]; 15108 } 15109 15110 /** 15111 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15112 * @param event packet 15113 * @return dest 15114 * @note: btstack_type 2 15115 */ 15116 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 15117 return little_endian_read_16(event, 3); 15118 } 15119 /** 15120 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15121 * @param event packet 15122 * @return foundation_status 15123 * @note: btstack_type 1 15124 */ 15125 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 15126 return event[5]; 15127 } 15128 /** 15129 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15130 * @param event packet 15131 * @return num_netkey_indexes 15132 * @note: btstack_type 1 15133 */ 15134 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 15135 return event[6]; 15136 } 15137 /** 15138 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15139 * @param event packet 15140 * @return netkey_index_pos 15141 * @note: btstack_type 1 15142 */ 15143 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 15144 return event[7]; 15145 } 15146 /** 15147 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15148 * @param event packet 15149 * @return netkey_index_item 15150 * @note: btstack_type 2 15151 */ 15152 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15153 return little_endian_read_16(event, 8); 15154 } 15155 15156 /** 15157 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15158 * @param event packet 15159 * @return dest 15160 * @note: btstack_type 2 15161 */ 15162 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 15163 return little_endian_read_16(event, 3); 15164 } 15165 /** 15166 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15167 * @param event packet 15168 * @return foundation_status 15169 * @note: btstack_type 1 15170 */ 15171 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 15172 return event[5]; 15173 } 15174 /** 15175 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15176 * @param event packet 15177 * @return netkey_index_item 15178 * @note: btstack_type 2 15179 */ 15180 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 15181 return little_endian_read_16(event, 6); 15182 } 15183 /** 15184 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15185 * @param event packet 15186 * @return appkey_index_item 15187 * @note: btstack_type 2 15188 */ 15189 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 15190 return little_endian_read_16(event, 8); 15191 } 15192 15193 /** 15194 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15195 * @param event packet 15196 * @return dest 15197 * @note: btstack_type 2 15198 */ 15199 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 15200 return little_endian_read_16(event, 3); 15201 } 15202 /** 15203 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15204 * @param event packet 15205 * @return foundation_status 15206 * @note: btstack_type 1 15207 */ 15208 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 15209 return event[5]; 15210 } 15211 /** 15212 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15213 * @param event packet 15214 * @return netkey_index 15215 * @note: btstack_type 2 15216 */ 15217 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 15218 return little_endian_read_16(event, 6); 15219 } 15220 /** 15221 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15222 * @param event packet 15223 * @return num_appkey_indexes 15224 * @note: btstack_type 1 15225 */ 15226 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 15227 return event[8]; 15228 } 15229 /** 15230 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15231 * @param event packet 15232 * @return appkey_index_pos 15233 * @note: btstack_type 1 15234 */ 15235 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 15236 return event[9]; 15237 } 15238 /** 15239 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15240 * @param event packet 15241 * @return netkey_index_item 15242 * @note: btstack_type 2 15243 */ 15244 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15245 return little_endian_read_16(event, 10); 15246 } 15247 /** 15248 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15249 * @param event packet 15250 * @return appkey_index_item 15251 * @note: btstack_type 2 15252 */ 15253 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 15254 return little_endian_read_16(event, 12); 15255 } 15256 15257 /** 15258 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15259 * @param event packet 15260 * @return dest 15261 * @note: btstack_type 2 15262 */ 15263 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 15264 return little_endian_read_16(event, 3); 15265 } 15266 /** 15267 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15268 * @param event packet 15269 * @return foundation_status 15270 * @note: btstack_type 1 15271 */ 15272 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 15273 return event[5]; 15274 } 15275 /** 15276 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15277 * @param event packet 15278 * @return netkey_index_item 15279 * @note: btstack_type 2 15280 */ 15281 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 15282 return little_endian_read_16(event, 6); 15283 } 15284 /** 15285 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15286 * @param event packet 15287 * @return identity_status 15288 * @note: btstack_type 1 15289 */ 15290 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 15291 return event[8]; 15292 } 15293 15294 /** 15295 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15296 * @param event packet 15297 * @return dest 15298 * @note: btstack_type 2 15299 */ 15300 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 15301 return little_endian_read_16(event, 3); 15302 } 15303 /** 15304 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15305 * @param event packet 15306 * @return foundation_status 15307 * @note: btstack_type 1 15308 */ 15309 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 15310 return event[5]; 15311 } 15312 /** 15313 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15314 * @param event packet 15315 * @return appkey_index 15316 * @note: btstack_type 2 15317 */ 15318 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 15319 return little_endian_read_16(event, 6); 15320 } 15321 /** 15322 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15323 * @param event packet 15324 * @return model_identifier 15325 * @note: btstack_type 4 15326 */ 15327 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 15328 return little_endian_read_32(event, 8); 15329 } 15330 15331 /** 15332 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15333 * @param event packet 15334 * @return dest 15335 * @note: btstack_type 2 15336 */ 15337 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 15338 return little_endian_read_16(event, 3); 15339 } 15340 /** 15341 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15342 * @param event packet 15343 * @return foundation_status 15344 * @note: btstack_type 1 15345 */ 15346 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 15347 return event[5]; 15348 } 15349 /** 15350 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15351 * @param event packet 15352 * @return model_id 15353 * @note: btstack_type 4 15354 */ 15355 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 15356 return little_endian_read_32(event, 6); 15357 } 15358 /** 15359 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15360 * @param event packet 15361 * @return num_appkey_indexes 15362 * @note: btstack_type 1 15363 */ 15364 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 15365 return event[10]; 15366 } 15367 /** 15368 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15369 * @param event packet 15370 * @return appkey_index_pos 15371 * @note: btstack_type 1 15372 */ 15373 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 15374 return event[11]; 15375 } 15376 /** 15377 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15378 * @param event packet 15379 * @return appkey_index_item 15380 * @note: btstack_type 2 15381 */ 15382 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 15383 return little_endian_read_16(event, 12); 15384 } 15385 15386 /** 15387 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 15388 * @param event packet 15389 * @return dest 15390 * @note: btstack_type 2 15391 */ 15392 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 15393 return little_endian_read_16(event, 3); 15394 } 15395 /** 15396 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 15397 * @param event packet 15398 * @return foundation_status 15399 * @note: btstack_type 1 15400 */ 15401 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 15402 return event[5]; 15403 } 15404 15405 /** 15406 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 15407 * @param event packet 15408 * @return dest 15409 * @note: btstack_type 2 15410 */ 15411 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 15412 return little_endian_read_16(event, 3); 15413 } 15414 /** 15415 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 15416 * @param event packet 15417 * @return foundation_status 15418 * @note: btstack_type 1 15419 */ 15420 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 15421 return event[5]; 15422 } 15423 /** 15424 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 15425 * @param event packet 15426 * @return friend_state 15427 * @note: btstack_type 1 15428 */ 15429 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 15430 return event[6]; 15431 } 15432 15433 /** 15434 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 15435 * @param event packet 15436 * @return dest 15437 * @note: btstack_type 2 15438 */ 15439 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 15440 return little_endian_read_16(event, 3); 15441 } 15442 /** 15443 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 15444 * @param event packet 15445 * @return foundation_status 15446 * @note: btstack_type 1 15447 */ 15448 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 15449 return event[5]; 15450 } 15451 /** 15452 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 15453 * @param event packet 15454 * @return netkey_index 15455 * @note: btstack_type 2 15456 */ 15457 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 15458 return little_endian_read_16(event, 6); 15459 } 15460 /** 15461 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 15462 * @param event packet 15463 * @return phase 15464 * @note: btstack_type 1 15465 */ 15466 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 15467 return event[8]; 15468 } 15469 15470 /** 15471 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15472 * @param event packet 15473 * @return dest 15474 * @note: btstack_type 2 15475 */ 15476 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 15477 return little_endian_read_16(event, 3); 15478 } 15479 /** 15480 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15481 * @param event packet 15482 * @return foundation_status 15483 * @note: btstack_type 1 15484 */ 15485 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 15486 return event[5]; 15487 } 15488 /** 15489 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15490 * @param event packet 15491 * @return heartbeat_destination 15492 * @note: btstack_type 2 15493 */ 15494 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 15495 return little_endian_read_16(event, 6); 15496 } 15497 /** 15498 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15499 * @param event packet 15500 * @return count_S 15501 * @note: btstack_type 2 15502 */ 15503 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 15504 return little_endian_read_16(event, 8); 15505 } 15506 /** 15507 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15508 * @param event packet 15509 * @return period_S 15510 * @note: btstack_type 2 15511 */ 15512 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 15513 return little_endian_read_16(event, 10); 15514 } 15515 /** 15516 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15517 * @param event packet 15518 * @return ttl 15519 * @note: btstack_type 1 15520 */ 15521 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 15522 return event[12]; 15523 } 15524 /** 15525 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15526 * @param event packet 15527 * @return features 15528 * @note: btstack_type 2 15529 */ 15530 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 15531 return little_endian_read_16(event, 13); 15532 } 15533 /** 15534 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15535 * @param event packet 15536 * @return netkey_index 15537 * @note: btstack_type 2 15538 */ 15539 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 15540 return little_endian_read_16(event, 15); 15541 } 15542 15543 /** 15544 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15545 * @param event packet 15546 * @return dest 15547 * @note: btstack_type 2 15548 */ 15549 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 15550 return little_endian_read_16(event, 3); 15551 } 15552 /** 15553 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15554 * @param event packet 15555 * @return foundation_status 15556 * @note: btstack_type 1 15557 */ 15558 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 15559 return event[5]; 15560 } 15561 /** 15562 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15563 * @param event packet 15564 * @return heartbeat_destination 15565 * @note: btstack_type 2 15566 */ 15567 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 15568 return little_endian_read_16(event, 6); 15569 } 15570 /** 15571 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15572 * @param event packet 15573 * @return heartbeat_source 15574 * @note: btstack_type 2 15575 */ 15576 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 15577 return little_endian_read_16(event, 8); 15578 } 15579 /** 15580 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15581 * @param event packet 15582 * @return count_S 15583 * @note: btstack_type 2 15584 */ 15585 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 15586 return little_endian_read_16(event, 10); 15587 } 15588 /** 15589 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15590 * @param event packet 15591 * @return period_S 15592 * @note: btstack_type 2 15593 */ 15594 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 15595 return little_endian_read_16(event, 12); 15596 } 15597 /** 15598 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15599 * @param event packet 15600 * @return min_hops 15601 * @note: btstack_type 1 15602 */ 15603 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 15604 return event[14]; 15605 } 15606 /** 15607 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15608 * @param event packet 15609 * @return max_hops 15610 * @note: btstack_type 1 15611 */ 15612 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 15613 return event[15]; 15614 } 15615 15616 /** 15617 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 15618 * @param event packet 15619 * @return dest 15620 * @note: btstack_type 2 15621 */ 15622 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 15623 return little_endian_read_16(event, 3); 15624 } 15625 /** 15626 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 15627 * @param event packet 15628 * @return foundation_status 15629 * @note: btstack_type 1 15630 */ 15631 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 15632 return event[5]; 15633 } 15634 /** 15635 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 15636 * @param event packet 15637 * @return lpn_address 15638 * @note: btstack_type 2 15639 */ 15640 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 15641 return little_endian_read_16(event, 6); 15642 } 15643 /** 15644 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 15645 * @param event packet 15646 * @return poll_timeout 15647 * @note: btstack_type 3 15648 */ 15649 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 15650 return little_endian_read_24(event, 8); 15651 } 15652 15653 /** 15654 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 15655 * @param event packet 15656 * @return dest 15657 * @note: btstack_type 2 15658 */ 15659 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 15660 return little_endian_read_16(event, 3); 15661 } 15662 /** 15663 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 15664 * @param event packet 15665 * @return foundation_status 15666 * @note: btstack_type 1 15667 */ 15668 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 15669 return event[5]; 15670 } 15671 /** 15672 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 15673 * @param event packet 15674 * @return transmit_count 15675 * @note: btstack_type 1 15676 */ 15677 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 15678 return event[6]; 15679 } 15680 /** 15681 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 15682 * @param event packet 15683 * @return transmit_interval_steps_ms 15684 * @note: btstack_type 2 15685 */ 15686 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 15687 return little_endian_read_16(event, 7); 15688 } 15689 15690 15691 15692 /* API_END */ 15693 15694 #if defined __cplusplus 15695 } 15696 #endif 15697 15698 #endif // BTSTACK_EVENT_H 15699