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 typedef uint8_t* btstack_event_iterator_t; 72 73 /*** 74 * @brief Get subevent code for a2dp event 75 * @param event packet 76 * @return subevent_code 77 */ 78 static inline uint8_t hci_event_a2dp_meta_get_subevent_code(const uint8_t * event){ 79 return event[2]; 80 } 81 /*** 82 * @brief Get subevent code for ancs event 83 * @param event packet 84 * @return subevent_code 85 */ 86 static inline uint8_t hci_event_ancs_meta_get_subevent_code(const uint8_t * event){ 87 return event[2]; 88 } 89 /*** 90 * @brief Get subevent code for avdtp event 91 * @param event packet 92 * @return subevent_code 93 */ 94 static inline uint8_t hci_event_avdtp_meta_get_subevent_code(const uint8_t * event){ 95 return event[2]; 96 } 97 /*** 98 * @brief Get subevent code for avrcp event 99 * @param event packet 100 * @return subevent_code 101 */ 102 static inline uint8_t hci_event_avrcp_meta_get_subevent_code(const uint8_t * event){ 103 return event[2]; 104 } 105 /*** 106 * @brief Get subevent code for gap event 107 * @param event packet 108 * @return subevent_code 109 */ 110 static inline uint8_t hci_event_gap_meta_get_subevent_code(const uint8_t * event){ 111 return event[2]; 112 } 113 /*** 114 * @brief Get subevent code for gattservice event 115 * @param event packet 116 * @return subevent_code 117 */ 118 static inline uint8_t hci_event_gattservice_meta_get_subevent_code(const uint8_t * event){ 119 return event[2]; 120 } 121 /*** 122 * @brief Get subevent code for goep event 123 * @param event packet 124 * @return subevent_code 125 */ 126 static inline uint8_t hci_event_goep_meta_get_subevent_code(const uint8_t * event){ 127 return event[2]; 128 } 129 /*** 130 * @brief Get subevent code for hfp event 131 * @param event packet 132 * @return subevent_code 133 */ 134 static inline uint8_t hci_event_hfp_meta_get_subevent_code(const uint8_t * event){ 135 return event[2]; 136 } 137 /*** 138 * @brief Get subevent code for hid event 139 * @param event packet 140 * @return subevent_code 141 */ 142 static inline uint8_t hci_event_hid_meta_get_subevent_code(const uint8_t * event){ 143 return event[2]; 144 } 145 /*** 146 * @brief Get subevent code for hids event 147 * @param event packet 148 * @return subevent_code 149 */ 150 static inline uint8_t hci_event_hids_meta_get_subevent_code(const uint8_t * event){ 151 return event[2]; 152 } 153 /*** 154 * @brief Get subevent code for hsp event 155 * @param event packet 156 * @return subevent_code 157 */ 158 static inline uint8_t hci_event_hsp_meta_get_subevent_code(const uint8_t * event){ 159 return event[2]; 160 } 161 /*** 162 * @brief Get subevent code for le event 163 * @param event packet 164 * @return subevent_code 165 */ 166 static inline uint8_t hci_event_le_meta_get_subevent_code(const uint8_t * event){ 167 return event[2]; 168 } 169 /*** 170 * @brief Get subevent code for leaudio event 171 * @param event packet 172 * @return subevent_code 173 */ 174 static inline uint8_t hci_event_leaudio_meta_get_subevent_code(const uint8_t * event){ 175 return event[2]; 176 } 177 /*** 178 * @brief Get subevent code for map event 179 * @param event packet 180 * @return subevent_code 181 */ 182 static inline uint8_t hci_event_map_meta_get_subevent_code(const uint8_t * event){ 183 return event[2]; 184 } 185 /*** 186 * @brief Get subevent code for mesh event 187 * @param event packet 188 * @return subevent_code 189 */ 190 static inline uint8_t hci_event_mesh_meta_get_subevent_code(const uint8_t * event){ 191 return event[2]; 192 } 193 /*** 194 * @brief Get subevent code for pbap event 195 * @param event packet 196 * @return subevent_code 197 */ 198 static inline uint8_t hci_event_pbap_meta_get_subevent_code(const uint8_t * event){ 199 return event[2]; 200 } 201 /*** 202 * @brief Get subevent code for opp event 203 * @param event packet 204 * @return subevent_code 205 */ 206 static inline uint8_t hci_event_opp_meta_get_subevent_code(const uint8_t * event){ 207 return event[2]; 208 } 209 /** 210 * @brief Get field status from event HCI_EVENT_INQUIRY_COMPLETE 211 * @param event packet 212 * @return status 213 * @note: btstack_type 1 214 */ 215 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){ 216 return event[2]; 217 } 218 219 /** 220 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT 221 * @param event packet 222 * @return num_responses 223 * @note: btstack_type 1 224 */ 225 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){ 226 return event[2]; 227 } 228 /** 229 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT 230 * @param event packet 231 * @param Pointer to storage for bd_addr 232 * @note: btstack_type B 233 */ 234 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 235 reverse_bytes(&event[3], bd_addr, 6); 236 } 237 /** 238 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT 239 * @param event packet 240 * @return page_scan_repetition_mode 241 * @note: btstack_type 1 242 */ 243 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 244 return event[9]; 245 } 246 /** 247 * @brief Get field reserved1 from event HCI_EVENT_INQUIRY_RESULT 248 * @param event packet 249 * @return reserved1 250 * @note: btstack_type 1 251 */ 252 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){ 253 return event[10]; 254 } 255 /** 256 * @brief Get field reserved2 from event HCI_EVENT_INQUIRY_RESULT 257 * @param event packet 258 * @return reserved2 259 * @note: btstack_type 1 260 */ 261 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){ 262 return event[11]; 263 } 264 /** 265 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT 266 * @param event packet 267 * @return class_of_device 268 * @note: btstack_type 3 269 */ 270 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){ 271 return little_endian_read_24(event, 12); 272 } 273 /** 274 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT 275 * @param event packet 276 * @return clock_offset 277 * @note: btstack_type 2 278 */ 279 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){ 280 return little_endian_read_16(event, 15); 281 } 282 283 /** 284 * @brief Get field status from event HCI_EVENT_CONNECTION_COMPLETE 285 * @param event packet 286 * @return status 287 * @note: btstack_type 1 288 */ 289 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){ 290 return event[2]; 291 } 292 /** 293 * @brief Get field connection_handle from event HCI_EVENT_CONNECTION_COMPLETE 294 * @param event packet 295 * @return connection_handle 296 * @note: btstack_type 2 297 */ 298 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){ 299 return little_endian_read_16(event, 3); 300 } 301 /** 302 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_COMPLETE 303 * @param event packet 304 * @param Pointer to storage for bd_addr 305 * @note: btstack_type B 306 */ 307 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 308 reverse_bytes(&event[5], bd_addr, 6); 309 } 310 /** 311 * @brief Get field link_type from event HCI_EVENT_CONNECTION_COMPLETE 312 * @param event packet 313 * @return link_type 314 * @note: btstack_type 1 315 */ 316 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){ 317 return event[11]; 318 } 319 /** 320 * @brief Get field encryption_enabled from event HCI_EVENT_CONNECTION_COMPLETE 321 * @param event packet 322 * @return encryption_enabled 323 * @note: btstack_type 1 324 */ 325 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){ 326 return event[12]; 327 } 328 329 /** 330 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_REQUEST 331 * @param event packet 332 * @param Pointer to storage for bd_addr 333 * @note: btstack_type B 334 */ 335 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 336 reverse_bytes(&event[2], bd_addr, 6); 337 } 338 /** 339 * @brief Get field class_of_device from event HCI_EVENT_CONNECTION_REQUEST 340 * @param event packet 341 * @return class_of_device 342 * @note: btstack_type 3 343 */ 344 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){ 345 return little_endian_read_24(event, 8); 346 } 347 /** 348 * @brief Get field link_type from event HCI_EVENT_CONNECTION_REQUEST 349 * @param event packet 350 * @return link_type 351 * @note: btstack_type 1 352 */ 353 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){ 354 return event[11]; 355 } 356 357 /** 358 * @brief Get field status from event HCI_EVENT_DISCONNECTION_COMPLETE 359 * @param event packet 360 * @return status 361 * @note: btstack_type 1 362 */ 363 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){ 364 return event[2]; 365 } 366 /** 367 * @brief Get field connection_handle from event HCI_EVENT_DISCONNECTION_COMPLETE 368 * @param event packet 369 * @return connection_handle 370 * @note: btstack_type 2 371 */ 372 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){ 373 return little_endian_read_16(event, 3); 374 } 375 /** 376 * @brief Get field reason from event HCI_EVENT_DISCONNECTION_COMPLETE 377 * @param event packet 378 * @return reason 379 * @note: btstack_type 1 380 */ 381 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){ 382 return event[5]; 383 } 384 385 /** 386 * @brief Get field status from event HCI_EVENT_AUTHENTICATION_COMPLETE 387 * @param event packet 388 * @return status 389 * @note: btstack_type 1 390 */ 391 static inline uint8_t hci_event_authentication_complete_get_status(const uint8_t * event){ 392 return event[2]; 393 } 394 /** 395 * @brief Get field connection_handle from event HCI_EVENT_AUTHENTICATION_COMPLETE 396 * @param event packet 397 * @return connection_handle 398 * @note: btstack_type 2 399 */ 400 static inline uint16_t hci_event_authentication_complete_get_connection_handle(const uint8_t * event){ 401 return little_endian_read_16(event, 3); 402 } 403 404 /** 405 * @brief Get field status from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 406 * @param event packet 407 * @return status 408 * @note: btstack_type 1 409 */ 410 static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){ 411 return event[2]; 412 } 413 /** 414 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 415 * @param event packet 416 * @param Pointer to storage for bd_addr 417 * @note: btstack_type B 418 */ 419 static inline void hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 420 reverse_bytes(&event[3], bd_addr, 6); 421 } 422 /** 423 * @brief Get field remote_name from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 424 * @param event packet 425 * @return remote_name 426 * @note: btstack_type N 427 */ 428 static inline const char * hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){ 429 return (const char *) &event[9]; 430 } 431 432 /** 433 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE 434 * @param event packet 435 * @return status 436 * @note: btstack_type 1 437 */ 438 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){ 439 return event[2]; 440 } 441 /** 442 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE 443 * @param event packet 444 * @return connection_handle 445 * @note: btstack_type 2 446 */ 447 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){ 448 return little_endian_read_16(event, 3); 449 } 450 /** 451 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE 452 * @param event packet 453 * @return encryption_enabled 454 * @note: btstack_type 1 455 */ 456 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){ 457 return event[5]; 458 } 459 460 /** 461 * @brief Get field status from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 462 * @param event packet 463 * @return status 464 * @note: btstack_type 1 465 */ 466 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){ 467 return event[2]; 468 } 469 /** 470 * @brief Get field connection_handle from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 471 * @param event packet 472 * @return connection_handle 473 * @note: btstack_type 2 474 */ 475 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){ 476 return little_endian_read_16(event, 3); 477 } 478 479 /** 480 * @brief Get field status from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 481 * @param event packet 482 * @return status 483 * @note: btstack_type 1 484 */ 485 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){ 486 return event[2]; 487 } 488 /** 489 * @brief Get field connection_handle from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 490 * @param event packet 491 * @return connection_handle 492 * @note: btstack_type 2 493 */ 494 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){ 495 return little_endian_read_16(event, 3); 496 } 497 /** 498 * @brief Get field key_flag from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 499 * @param event packet 500 * @return key_flag 501 * @note: btstack_type 1 502 */ 503 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){ 504 return event[5]; 505 } 506 507 /** 508 * @brief Get field status from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 509 * @param event packet 510 * @return status 511 * @note: btstack_type 1 512 */ 513 static inline uint8_t hci_event_read_remote_version_information_complete_get_status(const uint8_t * event){ 514 return event[2]; 515 } 516 /** 517 * @brief Get field connection_handle from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 518 * @param event packet 519 * @return connection_handle 520 * @note: btstack_type 2 521 */ 522 static inline uint16_t hci_event_read_remote_version_information_complete_get_connection_handle(const uint8_t * event){ 523 return little_endian_read_16(event, 3); 524 } 525 /** 526 * @brief Get field version from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 527 * @param event packet 528 * @return version 529 * @note: btstack_type 1 530 */ 531 static inline uint8_t hci_event_read_remote_version_information_complete_get_version(const uint8_t * event){ 532 return event[5]; 533 } 534 /** 535 * @brief Get field manufacturer_name from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 536 * @param event packet 537 * @return manufacturer_name 538 * @note: btstack_type 2 539 */ 540 static inline uint16_t hci_event_read_remote_version_information_complete_get_manufacturer_name(const uint8_t * event){ 541 return little_endian_read_16(event, 6); 542 } 543 /** 544 * @brief Get field subversion from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 545 * @param event packet 546 * @return subversion 547 * @note: btstack_type 2 548 */ 549 static inline uint16_t hci_event_read_remote_version_information_complete_get_subversion(const uint8_t * event){ 550 return little_endian_read_16(event, 8); 551 } 552 553 /** 554 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_COMPLETE 555 * @param event packet 556 * @return num_hci_command_packets 557 * @note: btstack_type 1 558 */ 559 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){ 560 return event[2]; 561 } 562 /** 563 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_COMPLETE 564 * @param event packet 565 * @return command_opcode 566 * @note: btstack_type 2 567 */ 568 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){ 569 return little_endian_read_16(event, 3); 570 } 571 /** 572 * @brief Get field return_parameters from event HCI_EVENT_COMMAND_COMPLETE 573 * @param event packet 574 * @return return_parameters 575 * @note: btstack_type R 576 */ 577 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){ 578 return &event[5]; 579 } 580 581 /** 582 * @brief Get field status from event HCI_EVENT_COMMAND_STATUS 583 * @param event packet 584 * @return status 585 * @note: btstack_type 1 586 */ 587 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){ 588 return event[2]; 589 } 590 /** 591 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_STATUS 592 * @param event packet 593 * @return num_hci_command_packets 594 * @note: btstack_type 1 595 */ 596 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){ 597 return event[3]; 598 } 599 /** 600 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_STATUS 601 * @param event packet 602 * @return command_opcode 603 * @note: btstack_type 2 604 */ 605 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){ 606 return little_endian_read_16(event, 4); 607 } 608 609 /** 610 * @brief Get field hardware_code from event HCI_EVENT_HARDWARE_ERROR 611 * @param event packet 612 * @return hardware_code 613 * @note: btstack_type 1 614 */ 615 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){ 616 return event[2]; 617 } 618 619 /** 620 * @brief Get field handle from event HCI_EVENT_FLUSH_OCCURRED 621 * @param event packet 622 * @return handle 623 * @note: btstack_type H 624 */ 625 static inline hci_con_handle_t hci_event_flush_occurred_get_handle(const uint8_t * event){ 626 return little_endian_read_16(event, 2); 627 } 628 629 /** 630 * @brief Get field status from event HCI_EVENT_ROLE_CHANGE 631 * @param event packet 632 * @return status 633 * @note: btstack_type 1 634 */ 635 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){ 636 return event[2]; 637 } 638 /** 639 * @brief Get field bd_addr from event HCI_EVENT_ROLE_CHANGE 640 * @param event packet 641 * @param Pointer to storage for bd_addr 642 * @note: btstack_type B 643 */ 644 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 645 reverse_bytes(&event[3], bd_addr, 6); 646 } 647 /** 648 * @brief Get field role from event HCI_EVENT_ROLE_CHANGE 649 * @param event packet 650 * @return role 651 * @note: btstack_type 1 652 */ 653 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){ 654 return event[9]; 655 } 656 657 /** 658 * @brief Get field status from event HCI_EVENT_MODE_CHANGE 659 * @param event packet 660 * @return status 661 * @note: btstack_type 1 662 */ 663 static inline uint8_t hci_event_mode_change_get_status(const uint8_t * event){ 664 return event[2]; 665 } 666 /** 667 * @brief Get field handle from event HCI_EVENT_MODE_CHANGE 668 * @param event packet 669 * @return handle 670 * @note: btstack_type H 671 */ 672 static inline hci_con_handle_t hci_event_mode_change_get_handle(const uint8_t * event){ 673 return little_endian_read_16(event, 3); 674 } 675 /** 676 * @brief Get field mode from event HCI_EVENT_MODE_CHANGE 677 * @param event packet 678 * @return mode 679 * @note: btstack_type 1 680 */ 681 static inline uint8_t hci_event_mode_change_get_mode(const uint8_t * event){ 682 return event[5]; 683 } 684 /** 685 * @brief Get field interval from event HCI_EVENT_MODE_CHANGE 686 * @param event packet 687 * @return interval 688 * @note: btstack_type 2 689 */ 690 static inline uint16_t hci_event_mode_change_get_interval(const uint8_t * event){ 691 return little_endian_read_16(event, 6); 692 } 693 694 /** 695 * @brief Get field bd_addr from event HCI_EVENT_PIN_CODE_REQUEST 696 * @param event packet 697 * @param Pointer to storage for bd_addr 698 * @note: btstack_type B 699 */ 700 static inline void hci_event_pin_code_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 701 reverse_bytes(&event[2], bd_addr, 6); 702 } 703 704 /** 705 * @brief Get field bd_addr from event HCI_EVENT_LINK_KEY_REQUEST 706 * @param event packet 707 * @param Pointer to storage for bd_addr 708 * @note: btstack_type B 709 */ 710 static inline void hci_event_link_key_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 711 reverse_bytes(&event[2], bd_addr, 6); 712 } 713 714 /** 715 * @brief Get field link_type from event HCI_EVENT_DATA_BUFFER_OVERFLOW 716 * @param event packet 717 * @return link_type 718 * @note: btstack_type 1 719 */ 720 static inline uint8_t hci_event_data_buffer_overflow_get_link_type(const uint8_t * event){ 721 return event[2]; 722 } 723 724 /** 725 * @brief Get field handle from event HCI_EVENT_MAX_SLOTS_CHANGED 726 * @param event packet 727 * @return handle 728 * @note: btstack_type H 729 */ 730 static inline hci_con_handle_t hci_event_max_slots_changed_get_handle(const uint8_t * event){ 731 return little_endian_read_16(event, 2); 732 } 733 /** 734 * @brief Get field lmp_max_slots from event HCI_EVENT_MAX_SLOTS_CHANGED 735 * @param event packet 736 * @return lmp_max_slots 737 * @note: btstack_type 1 738 */ 739 static inline uint8_t hci_event_max_slots_changed_get_lmp_max_slots(const uint8_t * event){ 740 return event[4]; 741 } 742 743 /** 744 * @brief Get field status from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 745 * @param event packet 746 * @return status 747 * @note: btstack_type 1 748 */ 749 static inline uint8_t hci_event_read_clock_offset_complete_get_status(const uint8_t * event){ 750 return event[2]; 751 } 752 /** 753 * @brief Get field handle from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 754 * @param event packet 755 * @return handle 756 * @note: btstack_type H 757 */ 758 static inline hci_con_handle_t hci_event_read_clock_offset_complete_get_handle(const uint8_t * event){ 759 return little_endian_read_16(event, 3); 760 } 761 /** 762 * @brief Get field clock_offset from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 763 * @param event packet 764 * @return clock_offset 765 * @note: btstack_type 2 766 */ 767 static inline uint16_t hci_event_read_clock_offset_complete_get_clock_offset(const uint8_t * event){ 768 return little_endian_read_16(event, 5); 769 } 770 771 /** 772 * @brief Get field status from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 773 * @param event packet 774 * @return status 775 * @note: btstack_type 1 776 */ 777 static inline uint8_t hci_event_connection_packet_type_changed_get_status(const uint8_t * event){ 778 return event[2]; 779 } 780 /** 781 * @brief Get field handle from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 782 * @param event packet 783 * @return handle 784 * @note: btstack_type H 785 */ 786 static inline hci_con_handle_t hci_event_connection_packet_type_changed_get_handle(const uint8_t * event){ 787 return little_endian_read_16(event, 3); 788 } 789 /** 790 * @brief Get field packet_types from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 791 * @param event packet 792 * @return packet_types 793 * @note: btstack_type 2 794 */ 795 static inline uint16_t hci_event_connection_packet_type_changed_get_packet_types(const uint8_t * event){ 796 return little_endian_read_16(event, 5); 797 } 798 799 /** 800 * @brief Get field handle from event HCI_EVENT_QOS_VIOLATION 801 * @param event packet 802 * @return handle 803 * @note: btstack_type H 804 */ 805 static inline hci_con_handle_t hci_event_qos_violation_get_handle(const uint8_t * event){ 806 return little_endian_read_16(event, 2); 807 } 808 809 /** 810 * @brief Get field handle from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 811 * @param event packet 812 * @return handle 813 * @note: btstack_type H 814 */ 815 static inline hci_con_handle_t hci_event_page_scan_repetition_mode_change_get_handle(const uint8_t * event){ 816 return little_endian_read_16(event, 2); 817 } 818 /** 819 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 820 * @param event packet 821 * @return page_scan_repetition_mode 822 * @note: btstack_type 1 823 */ 824 static inline uint8_t hci_event_page_scan_repetition_mode_change_get_page_scan_repetition_mode(const uint8_t * event){ 825 return event[4]; 826 } 827 828 /** 829 * @brief Get field status from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 830 * @param event packet 831 * @return status 832 * @note: btstack_type 1 833 */ 834 static inline uint8_t hci_event_flow_specification_complete_get_status(const uint8_t * event){ 835 return event[2]; 836 } 837 /** 838 * @brief Get field handle from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 839 * @param event packet 840 * @return handle 841 * @note: btstack_type H 842 */ 843 static inline hci_con_handle_t hci_event_flow_specification_complete_get_handle(const uint8_t * event){ 844 return little_endian_read_16(event, 3); 845 } 846 /** 847 * @brief Get field unused from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 848 * @param event packet 849 * @return unused 850 * @note: btstack_type 1 851 */ 852 static inline uint8_t hci_event_flow_specification_complete_get_unused(const uint8_t * event){ 853 return event[5]; 854 } 855 /** 856 * @brief Get field flow_direction from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 857 * @param event packet 858 * @return flow_direction 859 * @note: btstack_type 1 860 */ 861 static inline uint8_t hci_event_flow_specification_complete_get_flow_direction(const uint8_t * event){ 862 return event[6]; 863 } 864 /** 865 * @brief Get field service_type from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 866 * @param event packet 867 * @return service_type 868 * @note: btstack_type 1 869 */ 870 static inline uint8_t hci_event_flow_specification_complete_get_service_type(const uint8_t * event){ 871 return event[7]; 872 } 873 /** 874 * @brief Get field token_rate from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 875 * @param event packet 876 * @return token_rate 877 * @note: btstack_type 4 878 */ 879 static inline uint32_t hci_event_flow_specification_complete_get_token_rate(const uint8_t * event){ 880 return little_endian_read_32(event, 8); 881 } 882 /** 883 * @brief Get field token_bucket_size from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 884 * @param event packet 885 * @return token_bucket_size 886 * @note: btstack_type 4 887 */ 888 static inline uint32_t hci_event_flow_specification_complete_get_token_bucket_size(const uint8_t * event){ 889 return little_endian_read_32(event, 12); 890 } 891 /** 892 * @brief Get field peak_bandwidth from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 893 * @param event packet 894 * @return peak_bandwidth 895 * @note: btstack_type 4 896 */ 897 static inline uint32_t hci_event_flow_specification_complete_get_peak_bandwidth(const uint8_t * event){ 898 return little_endian_read_32(event, 16); 899 } 900 /** 901 * @brief Get field access_latency from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 902 * @param event packet 903 * @return access_latency 904 * @note: btstack_type 4 905 */ 906 static inline uint32_t hci_event_flow_specification_complete_get_access_latency(const uint8_t * event){ 907 return little_endian_read_32(event, 20); 908 } 909 910 /** 911 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 912 * @param event packet 913 * @return num_responses 914 * @note: btstack_type 1 915 */ 916 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){ 917 return event[2]; 918 } 919 /** 920 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 921 * @param event packet 922 * @param Pointer to storage for bd_addr 923 * @note: btstack_type B 924 */ 925 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 926 reverse_bytes(&event[3], bd_addr, 6); 927 } 928 /** 929 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 930 * @param event packet 931 * @return page_scan_repetition_mode 932 * @note: btstack_type 1 933 */ 934 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){ 935 return event[9]; 936 } 937 /** 938 * @brief Get field reserved from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 939 * @param event packet 940 * @return reserved 941 * @note: btstack_type 1 942 */ 943 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){ 944 return event[10]; 945 } 946 /** 947 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 948 * @param event packet 949 * @return class_of_device 950 * @note: btstack_type 3 951 */ 952 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){ 953 return little_endian_read_24(event, 11); 954 } 955 /** 956 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 957 * @param event packet 958 * @return clock_offset 959 * @note: btstack_type 2 960 */ 961 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){ 962 return little_endian_read_16(event, 14); 963 } 964 /** 965 * @brief Get field rssi from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 966 * @param event packet 967 * @return rssi 968 * @note: btstack_type 1 969 */ 970 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){ 971 return event[16]; 972 } 973 974 /** 975 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 976 * @param event packet 977 * @return status 978 * @note: btstack_type 1 979 */ 980 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){ 981 return event[2]; 982 } 983 /** 984 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 985 * @param event packet 986 * @return handle 987 * @note: btstack_type H 988 */ 989 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){ 990 return little_endian_read_16(event, 3); 991 } 992 /** 993 * @brief Get field bd_addr from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 994 * @param event packet 995 * @param Pointer to storage for bd_addr 996 * @note: btstack_type B 997 */ 998 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 999 reverse_bytes(&event[5], bd_addr, 6); 1000 } 1001 /** 1002 * @brief Get field link_type from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1003 * @param event packet 1004 * @return link_type 1005 * @note: btstack_type 1 1006 */ 1007 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){ 1008 return event[11]; 1009 } 1010 /** 1011 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1012 * @param event packet 1013 * @return transmission_interval 1014 * @note: btstack_type 1 1015 */ 1016 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){ 1017 return event[12]; 1018 } 1019 /** 1020 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1021 * @param event packet 1022 * @return retransmission_interval 1023 * @note: btstack_type 1 1024 */ 1025 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){ 1026 return event[13]; 1027 } 1028 /** 1029 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1030 * @param event packet 1031 * @return rx_packet_length 1032 * @note: btstack_type 2 1033 */ 1034 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){ 1035 return little_endian_read_16(event, 14); 1036 } 1037 /** 1038 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1039 * @param event packet 1040 * @return tx_packet_length 1041 * @note: btstack_type 2 1042 */ 1043 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){ 1044 return little_endian_read_16(event, 16); 1045 } 1046 /** 1047 * @brief Get field air_mode from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1048 * @param event packet 1049 * @return air_mode 1050 * @note: btstack_type 1 1051 */ 1052 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){ 1053 return event[18]; 1054 } 1055 1056 /** 1057 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1058 * @param event packet 1059 * @return status 1060 * @note: btstack_type 1 1061 */ 1062 static inline uint8_t hci_event_synchronous_connection_changed_get_status(const uint8_t * event){ 1063 return event[2]; 1064 } 1065 /** 1066 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1067 * @param event packet 1068 * @return handle 1069 * @note: btstack_type H 1070 */ 1071 static inline hci_con_handle_t hci_event_synchronous_connection_changed_get_handle(const uint8_t * event){ 1072 return little_endian_read_16(event, 3); 1073 } 1074 /** 1075 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1076 * @param event packet 1077 * @return transmission_interval 1078 * @note: btstack_type 1 1079 */ 1080 static inline uint8_t hci_event_synchronous_connection_changed_get_transmission_interval(const uint8_t * event){ 1081 return event[5]; 1082 } 1083 /** 1084 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1085 * @param event packet 1086 * @return retransmission_interval 1087 * @note: btstack_type 1 1088 */ 1089 static inline uint8_t hci_event_synchronous_connection_changed_get_retransmission_interval(const uint8_t * event){ 1090 return event[6]; 1091 } 1092 /** 1093 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1094 * @param event packet 1095 * @return rx_packet_length 1096 * @note: btstack_type 2 1097 */ 1098 static inline uint16_t hci_event_synchronous_connection_changed_get_rx_packet_length(const uint8_t * event){ 1099 return little_endian_read_16(event, 7); 1100 } 1101 /** 1102 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1103 * @param event packet 1104 * @return tx_packet_length 1105 * @note: btstack_type 2 1106 */ 1107 static inline uint16_t hci_event_synchronous_connection_changed_get_tx_packet_length(const uint8_t * event){ 1108 return little_endian_read_16(event, 9); 1109 } 1110 1111 /** 1112 * @brief Get field status from event HCI_EVENT_SNIFF_SUBRATING 1113 * @param event packet 1114 * @return status 1115 * @note: btstack_type 1 1116 */ 1117 static inline uint8_t hci_event_sniff_subrating_get_status(const uint8_t * event){ 1118 return event[2]; 1119 } 1120 /** 1121 * @brief Get field handle from event HCI_EVENT_SNIFF_SUBRATING 1122 * @param event packet 1123 * @return handle 1124 * @note: btstack_type H 1125 */ 1126 static inline hci_con_handle_t hci_event_sniff_subrating_get_handle(const uint8_t * event){ 1127 return little_endian_read_16(event, 3); 1128 } 1129 /** 1130 * @brief Get field max_tx_latency from event HCI_EVENT_SNIFF_SUBRATING 1131 * @param event packet 1132 * @return max_tx_latency 1133 * @note: btstack_type 2 1134 */ 1135 static inline uint16_t hci_event_sniff_subrating_get_max_tx_latency(const uint8_t * event){ 1136 return little_endian_read_16(event, 5); 1137 } 1138 /** 1139 * @brief Get field max_rx_latency from event HCI_EVENT_SNIFF_SUBRATING 1140 * @param event packet 1141 * @return max_rx_latency 1142 * @note: btstack_type 2 1143 */ 1144 static inline uint16_t hci_event_sniff_subrating_get_max_rx_latency(const uint8_t * event){ 1145 return little_endian_read_16(event, 7); 1146 } 1147 /** 1148 * @brief Get field min_remote_timeout from event HCI_EVENT_SNIFF_SUBRATING 1149 * @param event packet 1150 * @return min_remote_timeout 1151 * @note: btstack_type 2 1152 */ 1153 static inline uint16_t hci_event_sniff_subrating_get_min_remote_timeout(const uint8_t * event){ 1154 return little_endian_read_16(event, 9); 1155 } 1156 /** 1157 * @brief Get field min_local_timeout from event HCI_EVENT_SNIFF_SUBRATING 1158 * @param event packet 1159 * @return min_local_timeout 1160 * @note: btstack_type 2 1161 */ 1162 static inline uint16_t hci_event_sniff_subrating_get_min_local_timeout(const uint8_t * event){ 1163 return little_endian_read_16(event, 11); 1164 } 1165 1166 /** 1167 * @brief Get field num_responses from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1168 * @param event packet 1169 * @return num_responses 1170 * @note: btstack_type 1 1171 */ 1172 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){ 1173 return event[2]; 1174 } 1175 /** 1176 * @brief Get field bd_addr from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1177 * @param event packet 1178 * @param Pointer to storage for bd_addr 1179 * @note: btstack_type B 1180 */ 1181 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1182 reverse_bytes(&event[3], bd_addr, 6); 1183 } 1184 /** 1185 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1186 * @param event packet 1187 * @return page_scan_repetition_mode 1188 * @note: btstack_type 1 1189 */ 1190 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){ 1191 return event[9]; 1192 } 1193 /** 1194 * @brief Get field reserved from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1195 * @param event packet 1196 * @return reserved 1197 * @note: btstack_type 1 1198 */ 1199 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){ 1200 return event[10]; 1201 } 1202 /** 1203 * @brief Get field class_of_device from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1204 * @param event packet 1205 * @return class_of_device 1206 * @note: btstack_type 3 1207 */ 1208 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){ 1209 return little_endian_read_24(event, 11); 1210 } 1211 /** 1212 * @brief Get field clock_offset from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1213 * @param event packet 1214 * @return clock_offset 1215 * @note: btstack_type 2 1216 */ 1217 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){ 1218 return little_endian_read_16(event, 14); 1219 } 1220 /** 1221 * @brief Get field rssi from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1222 * @param event packet 1223 * @return rssi 1224 * @note: btstack_type 1 1225 */ 1226 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){ 1227 return event[16]; 1228 } 1229 1230 /** 1231 * @brief Get field status from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1232 * @param event packet 1233 * @return status 1234 * @note: btstack_type 1 1235 */ 1236 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){ 1237 return event[2]; 1238 } 1239 /** 1240 * @brief Get field handle from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1241 * @param event packet 1242 * @return handle 1243 * @note: btstack_type H 1244 */ 1245 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){ 1246 return little_endian_read_16(event, 3); 1247 } 1248 1249 /** 1250 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_REQUEST 1251 * @param event packet 1252 * @param Pointer to storage for bd_addr 1253 * @note: btstack_type B 1254 */ 1255 static inline void hci_event_io_capability_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1256 reverse_bytes(&event[2], bd_addr, 6); 1257 } 1258 1259 /** 1260 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1261 * @param event packet 1262 * @param Pointer to storage for bd_addr 1263 * @note: btstack_type B 1264 */ 1265 static inline void hci_event_io_capability_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1266 reverse_bytes(&event[2], bd_addr, 6); 1267 } 1268 /** 1269 * @brief Get field io_capability from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1270 * @param event packet 1271 * @return io_capability 1272 * @note: btstack_type 1 1273 */ 1274 static inline uint8_t hci_event_io_capability_response_get_io_capability(const uint8_t * event){ 1275 return event[8]; 1276 } 1277 /** 1278 * @brief Get field oob_data_present from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1279 * @param event packet 1280 * @return oob_data_present 1281 * @note: btstack_type 1 1282 */ 1283 static inline uint8_t hci_event_io_capability_response_get_oob_data_present(const uint8_t * event){ 1284 return event[9]; 1285 } 1286 /** 1287 * @brief Get field authentication_requirements from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1288 * @param event packet 1289 * @return authentication_requirements 1290 * @note: btstack_type 1 1291 */ 1292 static inline uint8_t hci_event_io_capability_response_get_authentication_requirements(const uint8_t * event){ 1293 return event[10]; 1294 } 1295 1296 /** 1297 * @brief Get field bd_addr from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1298 * @param event packet 1299 * @param Pointer to storage for bd_addr 1300 * @note: btstack_type B 1301 */ 1302 static inline void hci_event_user_confirmation_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1303 reverse_bytes(&event[2], bd_addr, 6); 1304 } 1305 /** 1306 * @brief Get field numeric_value from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1307 * @param event packet 1308 * @return numeric_value 1309 * @note: btstack_type 4 1310 */ 1311 static inline uint32_t hci_event_user_confirmation_request_get_numeric_value(const uint8_t * event){ 1312 return little_endian_read_32(event, 8); 1313 } 1314 1315 /** 1316 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_REQUEST 1317 * @param event packet 1318 * @param Pointer to storage for bd_addr 1319 * @note: btstack_type B 1320 */ 1321 static inline void hci_event_user_passkey_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1322 reverse_bytes(&event[2], bd_addr, 6); 1323 } 1324 1325 /** 1326 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_OOB_DATA_REQUEST 1327 * @param event packet 1328 * @param Pointer to storage for bd_addr 1329 * @note: btstack_type B 1330 */ 1331 static inline void hci_event_remote_oob_data_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1332 reverse_bytes(&event[2], bd_addr, 6); 1333 } 1334 1335 /** 1336 * @brief Get field status from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1337 * @param event packet 1338 * @return status 1339 * @note: btstack_type 1 1340 */ 1341 static inline uint8_t hci_event_simple_pairing_complete_get_status(const uint8_t * event){ 1342 return event[2]; 1343 } 1344 /** 1345 * @brief Get field bd_addr from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1346 * @param event packet 1347 * @param Pointer to storage for bd_addr 1348 * @note: btstack_type B 1349 */ 1350 static inline void hci_event_simple_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1351 reverse_bytes(&event[3], bd_addr, 6); 1352 } 1353 1354 /** 1355 * @brief Get field handle from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1356 * @param event packet 1357 * @return handle 1358 * @note: btstack_type H 1359 */ 1360 static inline hci_con_handle_t hci_event_link_supervision_timeout_changed_get_handle(const uint8_t * event){ 1361 return little_endian_read_16(event, 2); 1362 } 1363 /** 1364 * @brief Get field link_supervision_timeout from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1365 * @param event packet 1366 * @return link_supervision_timeout 1367 * @note: btstack_type 2 1368 */ 1369 static inline uint16_t hci_event_link_supervision_timeout_changed_get_link_supervision_timeout(const uint8_t * event){ 1370 return little_endian_read_16(event, 4); 1371 } 1372 1373 /** 1374 * @brief Get field handle from event HCI_EVENT_ENHANCED_FLUSH_COMPLETE 1375 * @param event packet 1376 * @return handle 1377 * @note: btstack_type H 1378 */ 1379 static inline hci_con_handle_t hci_event_enhanced_flush_complete_get_handle(const uint8_t * event){ 1380 return little_endian_read_16(event, 2); 1381 } 1382 1383 /** 1384 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1385 * @param event packet 1386 * @param Pointer to storage for bd_addr 1387 * @note: btstack_type B 1388 */ 1389 static inline void hci_event_user_passkey_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1390 reverse_bytes(&event[2], bd_addr, 6); 1391 } 1392 /** 1393 * @brief Get field numeric_value from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1394 * @param event packet 1395 * @return numeric_value 1396 * @note: btstack_type 4 1397 */ 1398 static inline uint32_t hci_event_user_passkey_notification_get_numeric_value(const uint8_t * event){ 1399 return little_endian_read_32(event, 8); 1400 } 1401 1402 /** 1403 * @brief Get field bd_addr from event HCI_EVENT_KEYPRESS_NOTIFICATION 1404 * @param event packet 1405 * @param Pointer to storage for bd_addr 1406 * @note: btstack_type B 1407 */ 1408 static inline void hci_event_keypress_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1409 reverse_bytes(&event[2], bd_addr, 6); 1410 } 1411 /** 1412 * @brief Get field notification_type from event HCI_EVENT_KEYPRESS_NOTIFICATION 1413 * @param event packet 1414 * @return notification_type 1415 * @note: btstack_type 1 1416 */ 1417 static inline uint8_t hci_event_keypress_notification_get_notification_type(const uint8_t * event){ 1418 return event[8]; 1419 } 1420 1421 /** 1422 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1423 * @param event packet 1424 * @return status 1425 * @note: btstack_type 1 1426 */ 1427 static inline uint8_t hci_event_encryption_change_v2_get_status(const uint8_t * event){ 1428 return event[2]; 1429 } 1430 /** 1431 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1432 * @param event packet 1433 * @return connection_handle 1434 * @note: btstack_type 2 1435 */ 1436 static inline uint16_t hci_event_encryption_change_v2_get_connection_handle(const uint8_t * event){ 1437 return little_endian_read_16(event, 3); 1438 } 1439 /** 1440 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1441 * @param event packet 1442 * @return encryption_enabled 1443 * @note: btstack_type 1 1444 */ 1445 static inline uint8_t hci_event_encryption_change_v2_get_encryption_enabled(const uint8_t * event){ 1446 return event[5]; 1447 } 1448 /** 1449 * @brief Get field encryption_key_size from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1450 * @param event packet 1451 * @return encryption_key_size 1452 * @note: btstack_type 1 1453 */ 1454 static inline uint8_t hci_event_encryption_change_v2_get_encryption_key_size(const uint8_t * event){ 1455 return event[6]; 1456 } 1457 1458 /** 1459 * @brief Get field state from event BTSTACK_EVENT_STATE 1460 * @param event packet 1461 * @return state 1462 * @note: btstack_type 1 1463 */ 1464 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){ 1465 return event[2]; 1466 } 1467 1468 /** 1469 * @brief Get field number_connections from event BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 1470 * @param event packet 1471 * @return number_connections 1472 * @note: btstack_type 1 1473 */ 1474 static inline uint8_t btstack_event_nr_connections_changed_get_number_connections(const uint8_t * event){ 1475 return event[2]; 1476 } 1477 1478 1479 /** 1480 * @brief Get field discoverable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1481 * @param event packet 1482 * @return discoverable 1483 * @note: btstack_type 1 1484 */ 1485 static inline uint8_t btstack_event_scan_mode_changed_get_discoverable(const uint8_t * event){ 1486 return event[2]; 1487 } 1488 /** 1489 * @brief Get field connectable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1490 * @param event packet 1491 * @return connectable 1492 * @note: btstack_type 1 1493 */ 1494 static inline uint8_t btstack_event_scan_mode_changed_get_connectable(const uint8_t * event){ 1495 return event[3]; 1496 } 1497 1498 /** 1499 * @brief Get field major from event DAEMON_EVENT_VERSION 1500 * @param event packet 1501 * @return major 1502 * @note: btstack_type 1 1503 */ 1504 static inline uint8_t daemon_event_version_get_major(const uint8_t * event){ 1505 return event[2]; 1506 } 1507 /** 1508 * @brief Get field minor from event DAEMON_EVENT_VERSION 1509 * @param event packet 1510 * @return minor 1511 * @note: btstack_type 1 1512 */ 1513 static inline uint8_t daemon_event_version_get_minor(const uint8_t * event){ 1514 return event[3]; 1515 } 1516 /** 1517 * @brief Get field revision from event DAEMON_EVENT_VERSION 1518 * @param event packet 1519 * @return revision 1520 * @note: btstack_type 2 1521 */ 1522 static inline uint16_t daemon_event_version_get_revision(const uint8_t * event){ 1523 return little_endian_read_16(event, 4); 1524 } 1525 1526 /** 1527 * @brief Get field system_bluetooth_enabled from event DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED 1528 * @param event packet 1529 * @return system_bluetooth_enabled 1530 * @note: btstack_type 1 1531 */ 1532 static inline uint8_t daemon_event_system_bluetooth_enabled_get_system_bluetooth_enabled(const uint8_t * event){ 1533 return event[2]; 1534 } 1535 1536 /** 1537 * @brief Get field status from event DAEMON_EVENT_REMOTE_NAME_CACHED 1538 * @param event packet 1539 * @return status 1540 * @note: btstack_type 1 1541 */ 1542 static inline uint8_t daemon_event_remote_name_cached_get_status(const uint8_t * event){ 1543 return event[2]; 1544 } 1545 /** 1546 * @brief Get field address from event DAEMON_EVENT_REMOTE_NAME_CACHED 1547 * @param event packet 1548 * @param Pointer to storage for address 1549 * @note: btstack_type B 1550 */ 1551 static inline void daemon_event_remote_name_cached_get_address(const uint8_t * event, bd_addr_t address){ 1552 reverse_bytes(&event[3], address, 6); 1553 } 1554 /** 1555 * @brief Get field name from event DAEMON_EVENT_REMOTE_NAME_CACHED 1556 * @param event packet 1557 * @return name 1558 * @note: btstack_type T 1559 */ 1560 static inline const char * daemon_event_remote_name_cached_get_name(const uint8_t * event){ 1561 return (const char *) &event[9]; 1562 } 1563 1564 /** 1565 * @brief Get field status from event DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 1566 * @param event packet 1567 * @return status 1568 * @note: btstack_type 1 1569 */ 1570 static inline uint8_t daemon_event_l2cap_service_registered_get_status(const uint8_t * event){ 1571 return event[2]; 1572 } 1573 /** 1574 * @brief Get field psm from event DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 1575 * @param event packet 1576 * @return psm 1577 * @note: btstack_type 2 1578 */ 1579 static inline uint16_t daemon_event_l2cap_service_registered_get_psm(const uint8_t * event){ 1580 return little_endian_read_16(event, 3); 1581 } 1582 1583 /** 1584 * @brief Get field status from event DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 1585 * @param event packet 1586 * @return status 1587 * @note: btstack_type 1 1588 */ 1589 static inline uint8_t daemon_event_rfcomm_service_registered_get_status(const uint8_t * event){ 1590 return event[2]; 1591 } 1592 /** 1593 * @brief Get field channel_id from event DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 1594 * @param event packet 1595 * @return channel_id 1596 * @note: btstack_type 1 1597 */ 1598 static inline uint8_t daemon_event_rfcomm_service_registered_get_channel_id(const uint8_t * event){ 1599 return event[3]; 1600 } 1601 1602 /** 1603 * @brief Get field status from event DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 1604 * @param event packet 1605 * @return status 1606 * @note: btstack_type 1 1607 */ 1608 static inline uint8_t daemon_event_rfcomm_persistent_channel_get_status(const uint8_t * event){ 1609 return event[2]; 1610 } 1611 /** 1612 * @brief Get field server_channel_id from event DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 1613 * @param event packet 1614 * @return server_channel_id 1615 * @note: btstack_type 1 1616 */ 1617 static inline uint8_t daemon_event_rfcomm_persistent_channel_get_server_channel_id(const uint8_t * event){ 1618 return event[3]; 1619 } 1620 1621 /** 1622 * @brief Get field status from event DAEMON_EVENT_SDP_SERVICE_REGISTERED 1623 * @param event packet 1624 * @return status 1625 * @note: btstack_type 1 1626 */ 1627 static inline uint8_t daemon_event_sdp_service_registered_get_status(const uint8_t * event){ 1628 return event[2]; 1629 } 1630 /** 1631 * @brief Get field service_record_handle from event DAEMON_EVENT_SDP_SERVICE_REGISTERED 1632 * @param event packet 1633 * @return service_record_handle 1634 * @note: btstack_type 4 1635 */ 1636 static inline uint32_t daemon_event_sdp_service_registered_get_service_record_handle(const uint8_t * event){ 1637 return little_endian_read_32(event, 3); 1638 } 1639 1640 /** 1641 * @brief Get field active from event HCI_EVENT_TRANSPORT_SLEEP_MODE 1642 * @param event packet 1643 * @return active 1644 * @note: btstack_type 1 1645 */ 1646 static inline uint8_t hci_event_transport_sleep_mode_get_active(const uint8_t * event){ 1647 return event[2]; 1648 } 1649 1650 /** 1651 * @brief Get field vendor_id from event HCI_EVENT_TRANSPORT_USB_INFO 1652 * @param event packet 1653 * @return vendor_id 1654 * @note: btstack_type 2 1655 */ 1656 static inline uint16_t hci_event_transport_usb_info_get_vendor_id(const uint8_t * event){ 1657 return little_endian_read_16(event, 2); 1658 } 1659 /** 1660 * @brief Get field product_id from event HCI_EVENT_TRANSPORT_USB_INFO 1661 * @param event packet 1662 * @return product_id 1663 * @note: btstack_type 2 1664 */ 1665 static inline uint16_t hci_event_transport_usb_info_get_product_id(const uint8_t * event){ 1666 return little_endian_read_16(event, 4); 1667 } 1668 /** 1669 * @brief Get field path_len from event HCI_EVENT_TRANSPORT_USB_INFO 1670 * @param event packet 1671 * @return path_len 1672 * @note: btstack_type J 1673 */ 1674 static inline uint8_t hci_event_transport_usb_info_get_path_len(const uint8_t * event){ 1675 return event[6]; 1676 } 1677 /** 1678 * @brief Get field path from event HCI_EVENT_TRANSPORT_USB_INFO 1679 * @param event packet 1680 * @return path 1681 * @note: btstack_type V 1682 */ 1683 static inline const uint8_t * hci_event_transport_usb_info_get_path(const uint8_t * event){ 1684 return &event[7]; 1685 } 1686 1687 /** 1688 * @brief Get field big_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1689 * @param event packet 1690 * @return big_handle 1691 * @note: btstack_type 1 1692 */ 1693 static inline uint8_t hci_event_bis_can_send_now_get_big_handle(const uint8_t * event){ 1694 return event[2]; 1695 } 1696 /** 1697 * @brief Get field bis_index from event HCI_EVENT_BIS_CAN_SEND_NOW 1698 * @param event packet 1699 * @return bis_index 1700 * @note: btstack_type 1 1701 */ 1702 static inline uint8_t hci_event_bis_can_send_now_get_bis_index(const uint8_t * event){ 1703 return event[3]; 1704 } 1705 /** 1706 * @brief Get field con_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1707 * @param event packet 1708 * @return con_handle 1709 * @note: btstack_type H 1710 */ 1711 static inline hci_con_handle_t hci_event_bis_can_send_now_get_con_handle(const uint8_t * event){ 1712 return little_endian_read_16(event, 4); 1713 } 1714 1715 /** 1716 * @brief Get field cis_con_handle from event HCI_EVENT_CIS_CAN_SEND_NOW 1717 * @param event packet 1718 * @return cis_con_handle 1719 * @note: btstack_type H 1720 */ 1721 static inline hci_con_handle_t hci_event_cis_can_send_now_get_cis_con_handle(const uint8_t * event){ 1722 return little_endian_read_16(event, 2); 1723 } 1724 1725 1726 /** 1727 * @brief Get field status from event L2CAP_EVENT_CHANNEL_OPENED 1728 * @param event packet 1729 * @return status 1730 * @note: btstack_type 1 1731 */ 1732 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){ 1733 return event[2]; 1734 } 1735 /** 1736 * @brief Get field address from event L2CAP_EVENT_CHANNEL_OPENED 1737 * @param event packet 1738 * @param Pointer to storage for address 1739 * @note: btstack_type B 1740 */ 1741 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1742 reverse_bytes(&event[3], address, 6); 1743 } 1744 /** 1745 * @brief Get field handle from event L2CAP_EVENT_CHANNEL_OPENED 1746 * @param event packet 1747 * @return handle 1748 * @note: btstack_type H 1749 */ 1750 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){ 1751 return little_endian_read_16(event, 9); 1752 } 1753 /** 1754 * @brief Get field psm from event L2CAP_EVENT_CHANNEL_OPENED 1755 * @param event packet 1756 * @return psm 1757 * @note: btstack_type 2 1758 */ 1759 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){ 1760 return little_endian_read_16(event, 11); 1761 } 1762 /** 1763 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_OPENED 1764 * @param event packet 1765 * @return local_cid 1766 * @note: btstack_type 2 1767 */ 1768 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){ 1769 return little_endian_read_16(event, 13); 1770 } 1771 /** 1772 * @brief Get field remote_cid from event L2CAP_EVENT_CHANNEL_OPENED 1773 * @param event packet 1774 * @return remote_cid 1775 * @note: btstack_type 2 1776 */ 1777 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){ 1778 return little_endian_read_16(event, 15); 1779 } 1780 /** 1781 * @brief Get field local_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1782 * @param event packet 1783 * @return local_mtu 1784 * @note: btstack_type 2 1785 */ 1786 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){ 1787 return little_endian_read_16(event, 17); 1788 } 1789 /** 1790 * @brief Get field remote_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1791 * @param event packet 1792 * @return remote_mtu 1793 * @note: btstack_type 2 1794 */ 1795 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){ 1796 return little_endian_read_16(event, 19); 1797 } 1798 /** 1799 * @brief Get field flush_timeout from event L2CAP_EVENT_CHANNEL_OPENED 1800 * @param event packet 1801 * @return flush_timeout 1802 * @note: btstack_type 2 1803 */ 1804 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){ 1805 return little_endian_read_16(event, 21); 1806 } 1807 /** 1808 * @brief Get field incoming from event L2CAP_EVENT_CHANNEL_OPENED 1809 * @param event packet 1810 * @return incoming 1811 * @note: btstack_type 1 1812 */ 1813 static inline uint8_t l2cap_event_channel_opened_get_incoming(const uint8_t * event){ 1814 return event[23]; 1815 } 1816 /** 1817 * @brief Get field mode from event L2CAP_EVENT_CHANNEL_OPENED 1818 * @param event packet 1819 * @return mode 1820 * @note: btstack_type 1 1821 */ 1822 static inline uint8_t l2cap_event_channel_opened_get_mode(const uint8_t * event){ 1823 return event[24]; 1824 } 1825 /** 1826 * @brief Get field fcs from event L2CAP_EVENT_CHANNEL_OPENED 1827 * @param event packet 1828 * @return fcs 1829 * @note: btstack_type 1 1830 */ 1831 static inline uint8_t l2cap_event_channel_opened_get_fcs(const uint8_t * event){ 1832 return event[25]; 1833 } 1834 1835 /** 1836 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_CLOSED 1837 * @param event packet 1838 * @return local_cid 1839 * @note: btstack_type 2 1840 */ 1841 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){ 1842 return little_endian_read_16(event, 2); 1843 } 1844 1845 /** 1846 * @brief Get field address from event L2CAP_EVENT_INCOMING_CONNECTION 1847 * @param event packet 1848 * @param Pointer to storage for address 1849 * @note: btstack_type B 1850 */ 1851 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1852 reverse_bytes(&event[2], address, 6); 1853 } 1854 /** 1855 * @brief Get field handle from event L2CAP_EVENT_INCOMING_CONNECTION 1856 * @param event packet 1857 * @return handle 1858 * @note: btstack_type H 1859 */ 1860 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){ 1861 return little_endian_read_16(event, 8); 1862 } 1863 /** 1864 * @brief Get field psm from event L2CAP_EVENT_INCOMING_CONNECTION 1865 * @param event packet 1866 * @return psm 1867 * @note: btstack_type 2 1868 */ 1869 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){ 1870 return little_endian_read_16(event, 10); 1871 } 1872 /** 1873 * @brief Get field local_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1874 * @param event packet 1875 * @return local_cid 1876 * @note: btstack_type 2 1877 */ 1878 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){ 1879 return little_endian_read_16(event, 12); 1880 } 1881 /** 1882 * @brief Get field remote_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1883 * @param event packet 1884 * @return remote_cid 1885 * @note: btstack_type 2 1886 */ 1887 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){ 1888 return little_endian_read_16(event, 14); 1889 } 1890 1891 /** 1892 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1893 * @param event packet 1894 * @return handle 1895 * @note: btstack_type H 1896 */ 1897 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){ 1898 return little_endian_read_16(event, 2); 1899 } 1900 /** 1901 * @brief Get field interval_min from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1902 * @param event packet 1903 * @return interval_min 1904 * @note: btstack_type 2 1905 */ 1906 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){ 1907 return little_endian_read_16(event, 4); 1908 } 1909 /** 1910 * @brief Get field interval_max from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1911 * @param event packet 1912 * @return interval_max 1913 * @note: btstack_type 2 1914 */ 1915 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){ 1916 return little_endian_read_16(event, 6); 1917 } 1918 /** 1919 * @brief Get field latency from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1920 * @param event packet 1921 * @return latency 1922 * @note: btstack_type 2 1923 */ 1924 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latency(const uint8_t * event){ 1925 return little_endian_read_16(event, 8); 1926 } 1927 /** 1928 * @brief Get field timeout_multiplier from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1929 * @param event packet 1930 * @return timeout_multiplier 1931 * @note: btstack_type 2 1932 */ 1933 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){ 1934 return little_endian_read_16(event, 10); 1935 } 1936 1937 /** 1938 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1939 * @param event packet 1940 * @return handle 1941 * @note: btstack_type H 1942 */ 1943 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){ 1944 return little_endian_read_16(event, 2); 1945 } 1946 /** 1947 * @brief Get field result from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1948 * @param event packet 1949 * @return result 1950 * @note: btstack_type 2 1951 */ 1952 static inline uint16_t l2cap_event_connection_parameter_update_response_get_result(const uint8_t * event){ 1953 return little_endian_read_16(event, 4); 1954 } 1955 1956 /** 1957 * @brief Get field con_handle from event L2CAP_EVENT_INFORMATION_RESPONSE 1958 * @param event packet 1959 * @return con_handle 1960 * @note: btstack_type H 1961 */ 1962 static inline hci_con_handle_t l2cap_event_information_response_get_con_handle(const uint8_t * event){ 1963 return little_endian_read_16(event, 2); 1964 } 1965 /** 1966 * @brief Get field extended_feature_mask from event L2CAP_EVENT_INFORMATION_RESPONSE 1967 * @param event packet 1968 * @return extended_feature_mask 1969 * @note: btstack_type 2 1970 */ 1971 static inline uint16_t l2cap_event_information_response_get_extended_feature_mask(const uint8_t * event){ 1972 return little_endian_read_16(event, 4); 1973 } 1974 /** 1975 * @brief Get field fixed_channels_supported from event L2CAP_EVENT_INFORMATION_RESPONSE 1976 * @param event packet 1977 * @return fixed_channels_supported 1978 * @note: btstack_type 2 1979 */ 1980 static inline uint16_t l2cap_event_information_response_get_fixed_channels_supported(const uint8_t * event){ 1981 return little_endian_read_16(event, 6); 1982 } 1983 1984 /** 1985 * @brief Get field local_cid from event L2CAP_EVENT_CAN_SEND_NOW 1986 * @param event packet 1987 * @return local_cid 1988 * @note: btstack_type 2 1989 */ 1990 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){ 1991 return little_endian_read_16(event, 2); 1992 } 1993 1994 /** 1995 * @brief Get field local_cid from event L2CAP_EVENT_PACKET_SENT 1996 * @param event packet 1997 * @return local_cid 1998 * @note: btstack_type 2 1999 */ 2000 static inline uint16_t l2cap_event_packet_sent_get_local_cid(const uint8_t * event){ 2001 return little_endian_read_16(event, 2); 2002 } 2003 2004 /** 2005 * @brief Get field local_cid from event L2CAP_EVENT_ERTM_BUFFER_RELEASED 2006 * @param event packet 2007 * @return local_cid 2008 * @note: btstack_type 2 2009 */ 2010 static inline uint16_t l2cap_event_ertm_buffer_released_get_local_cid(const uint8_t * event){ 2011 return little_endian_read_16(event, 2); 2012 } 2013 2014 /** 2015 * @brief Get field address_type from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2016 * @param event packet 2017 * @return address_type 2018 * @note: btstack_type 1 2019 */ 2020 static inline uint8_t l2cap_event_cbm_incoming_connection_get_address_type(const uint8_t * event){ 2021 return event[2]; 2022 } 2023 /** 2024 * @brief Get field address from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2025 * @param event packet 2026 * @param Pointer to storage for address 2027 * @note: btstack_type B 2028 */ 2029 static inline void l2cap_event_cbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 2030 reverse_bytes(&event[3], address, 6); 2031 } 2032 /** 2033 * @brief Get field handle from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2034 * @param event packet 2035 * @return handle 2036 * @note: btstack_type H 2037 */ 2038 static inline hci_con_handle_t l2cap_event_cbm_incoming_connection_get_handle(const uint8_t * event){ 2039 return little_endian_read_16(event, 9); 2040 } 2041 /** 2042 * @brief Get field psm from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2043 * @param event packet 2044 * @return psm 2045 * @note: btstack_type 2 2046 */ 2047 static inline uint16_t l2cap_event_cbm_incoming_connection_get_psm(const uint8_t * event){ 2048 return little_endian_read_16(event, 11); 2049 } 2050 /** 2051 * @brief Get field local_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2052 * @param event packet 2053 * @return local_cid 2054 * @note: btstack_type 2 2055 */ 2056 static inline uint16_t l2cap_event_cbm_incoming_connection_get_local_cid(const uint8_t * event){ 2057 return little_endian_read_16(event, 13); 2058 } 2059 /** 2060 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2061 * @param event packet 2062 * @return remote_cid 2063 * @note: btstack_type 2 2064 */ 2065 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_cid(const uint8_t * event){ 2066 return little_endian_read_16(event, 15); 2067 } 2068 /** 2069 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2070 * @param event packet 2071 * @return remote_mtu 2072 * @note: btstack_type 2 2073 */ 2074 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_mtu(const uint8_t * event){ 2075 return little_endian_read_16(event, 17); 2076 } 2077 2078 /** 2079 * @brief Get field status from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2080 * @param event packet 2081 * @return status 2082 * @note: btstack_type 1 2083 */ 2084 static inline uint8_t l2cap_event_cbm_channel_opened_get_status(const uint8_t * event){ 2085 return event[2]; 2086 } 2087 /** 2088 * @brief Get field address_type from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2089 * @param event packet 2090 * @return address_type 2091 * @note: btstack_type 1 2092 */ 2093 static inline uint8_t l2cap_event_cbm_channel_opened_get_address_type(const uint8_t * event){ 2094 return event[3]; 2095 } 2096 /** 2097 * @brief Get field address from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2098 * @param event packet 2099 * @param Pointer to storage for address 2100 * @note: btstack_type B 2101 */ 2102 static inline void l2cap_event_cbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 2103 reverse_bytes(&event[4], address, 6); 2104 } 2105 /** 2106 * @brief Get field handle from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2107 * @param event packet 2108 * @return handle 2109 * @note: btstack_type H 2110 */ 2111 static inline hci_con_handle_t l2cap_event_cbm_channel_opened_get_handle(const uint8_t * event){ 2112 return little_endian_read_16(event, 10); 2113 } 2114 /** 2115 * @brief Get field incoming from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2116 * @param event packet 2117 * @return incoming 2118 * @note: btstack_type 1 2119 */ 2120 static inline uint8_t l2cap_event_cbm_channel_opened_get_incoming(const uint8_t * event){ 2121 return event[12]; 2122 } 2123 /** 2124 * @brief Get field psm from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2125 * @param event packet 2126 * @return psm 2127 * @note: btstack_type 2 2128 */ 2129 static inline uint16_t l2cap_event_cbm_channel_opened_get_psm(const uint8_t * event){ 2130 return little_endian_read_16(event, 13); 2131 } 2132 /** 2133 * @brief Get field local_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2134 * @param event packet 2135 * @return local_cid 2136 * @note: btstack_type 2 2137 */ 2138 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_cid(const uint8_t * event){ 2139 return little_endian_read_16(event, 15); 2140 } 2141 /** 2142 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2143 * @param event packet 2144 * @return remote_cid 2145 * @note: btstack_type 2 2146 */ 2147 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_cid(const uint8_t * event){ 2148 return little_endian_read_16(event, 17); 2149 } 2150 /** 2151 * @brief Get field local_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2152 * @param event packet 2153 * @return local_mtu 2154 * @note: btstack_type 2 2155 */ 2156 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_mtu(const uint8_t * event){ 2157 return little_endian_read_16(event, 19); 2158 } 2159 /** 2160 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2161 * @param event packet 2162 * @return remote_mtu 2163 * @note: btstack_type 2 2164 */ 2165 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2166 return little_endian_read_16(event, 21); 2167 } 2168 2169 2170 /** 2171 * @brief Get field address_type from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2172 * @param event packet 2173 * @return address_type 2174 * @note: btstack_type 1 2175 */ 2176 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_address_type(const uint8_t * event){ 2177 return event[2]; 2178 } 2179 /** 2180 * @brief Get field address from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2181 * @param event packet 2182 * @param Pointer to storage for address 2183 * @note: btstack_type B 2184 */ 2185 static inline void l2cap_event_ecbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 2186 reverse_bytes(&event[3], address, 6); 2187 } 2188 /** 2189 * @brief Get field handle from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2190 * @param event packet 2191 * @return handle 2192 * @note: btstack_type H 2193 */ 2194 static inline hci_con_handle_t l2cap_event_ecbm_incoming_connection_get_handle(const uint8_t * event){ 2195 return little_endian_read_16(event, 9); 2196 } 2197 /** 2198 * @brief Get field psm from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2199 * @param event packet 2200 * @return psm 2201 * @note: btstack_type 2 2202 */ 2203 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_psm(const uint8_t * event){ 2204 return little_endian_read_16(event, 11); 2205 } 2206 /** 2207 * @brief Get field num_channels from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2208 * @param event packet 2209 * @return num_channels 2210 * @note: btstack_type 1 2211 */ 2212 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_num_channels(const uint8_t * event){ 2213 return event[13]; 2214 } 2215 /** 2216 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2217 * @param event packet 2218 * @return local_cid 2219 * @note: btstack_type 2 2220 */ 2221 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_local_cid(const uint8_t * event){ 2222 return little_endian_read_16(event, 14); 2223 } 2224 2225 /** 2226 * @brief Get field status from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2227 * @param event packet 2228 * @return status 2229 * @note: btstack_type 1 2230 */ 2231 static inline uint8_t l2cap_event_ecbm_channel_opened_get_status(const uint8_t * event){ 2232 return event[2]; 2233 } 2234 /** 2235 * @brief Get field address_type from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2236 * @param event packet 2237 * @return address_type 2238 * @note: btstack_type 1 2239 */ 2240 static inline uint8_t l2cap_event_ecbm_channel_opened_get_address_type(const uint8_t * event){ 2241 return event[3]; 2242 } 2243 /** 2244 * @brief Get field address from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2245 * @param event packet 2246 * @param Pointer to storage for address 2247 * @note: btstack_type B 2248 */ 2249 static inline void l2cap_event_ecbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 2250 reverse_bytes(&event[4], address, 6); 2251 } 2252 /** 2253 * @brief Get field handle from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2254 * @param event packet 2255 * @return handle 2256 * @note: btstack_type H 2257 */ 2258 static inline hci_con_handle_t l2cap_event_ecbm_channel_opened_get_handle(const uint8_t * event){ 2259 return little_endian_read_16(event, 10); 2260 } 2261 /** 2262 * @brief Get field incoming from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2263 * @param event packet 2264 * @return incoming 2265 * @note: btstack_type 1 2266 */ 2267 static inline uint8_t l2cap_event_ecbm_channel_opened_get_incoming(const uint8_t * event){ 2268 return event[12]; 2269 } 2270 /** 2271 * @brief Get field psm from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2272 * @param event packet 2273 * @return psm 2274 * @note: btstack_type 2 2275 */ 2276 static inline uint16_t l2cap_event_ecbm_channel_opened_get_psm(const uint8_t * event){ 2277 return little_endian_read_16(event, 13); 2278 } 2279 /** 2280 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2281 * @param event packet 2282 * @return local_cid 2283 * @note: btstack_type 2 2284 */ 2285 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_cid(const uint8_t * event){ 2286 return little_endian_read_16(event, 15); 2287 } 2288 /** 2289 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2290 * @param event packet 2291 * @return remote_cid 2292 * @note: btstack_type 2 2293 */ 2294 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_cid(const uint8_t * event){ 2295 return little_endian_read_16(event, 17); 2296 } 2297 /** 2298 * @brief Get field local_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2299 * @param event packet 2300 * @return local_mtu 2301 * @note: btstack_type 2 2302 */ 2303 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_mtu(const uint8_t * event){ 2304 return little_endian_read_16(event, 19); 2305 } 2306 /** 2307 * @brief Get field remote_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2308 * @param event packet 2309 * @return remote_mtu 2310 * @note: btstack_type 2 2311 */ 2312 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2313 return little_endian_read_16(event, 21); 2314 } 2315 2316 /** 2317 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_RECONFIGURED 2318 * @param event packet 2319 * @return remote_cid 2320 * @note: btstack_type 2 2321 */ 2322 static inline uint16_t l2cap_event_ecbm_reconfigured_get_remote_cid(const uint8_t * event){ 2323 return little_endian_read_16(event, 2); 2324 } 2325 /** 2326 * @brief Get field mtu from event L2CAP_EVENT_ECBM_RECONFIGURED 2327 * @param event packet 2328 * @return mtu 2329 * @note: btstack_type 2 2330 */ 2331 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mtu(const uint8_t * event){ 2332 return little_endian_read_16(event, 4); 2333 } 2334 /** 2335 * @brief Get field mps from event L2CAP_EVENT_ECBM_RECONFIGURED 2336 * @param event packet 2337 * @return mps 2338 * @note: btstack_type 2 2339 */ 2340 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mps(const uint8_t * event){ 2341 return little_endian_read_16(event, 6); 2342 } 2343 2344 /** 2345 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2346 * @param event packet 2347 * @return local_cid 2348 * @note: btstack_type 2 2349 */ 2350 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_local_cid(const uint8_t * event){ 2351 return little_endian_read_16(event, 2); 2352 } 2353 /** 2354 * @brief Get field reconfigure_result from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2355 * @param event packet 2356 * @return reconfigure_result 2357 * @note: btstack_type 2 2358 */ 2359 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_reconfigure_result(const uint8_t * event){ 2360 return little_endian_read_16(event, 4); 2361 } 2362 2363 /** 2364 * @brief Get field status from event RFCOMM_EVENT_CHANNEL_OPENED 2365 * @param event packet 2366 * @return status 2367 * @note: btstack_type 1 2368 */ 2369 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){ 2370 return event[2]; 2371 } 2372 /** 2373 * @brief Get field bd_addr from event RFCOMM_EVENT_CHANNEL_OPENED 2374 * @param event packet 2375 * @param Pointer to storage for bd_addr 2376 * @note: btstack_type B 2377 */ 2378 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2379 reverse_bytes(&event[3], bd_addr, 6); 2380 } 2381 /** 2382 * @brief Get field con_handle from event RFCOMM_EVENT_CHANNEL_OPENED 2383 * @param event packet 2384 * @return con_handle 2385 * @note: btstack_type 2 2386 */ 2387 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){ 2388 return little_endian_read_16(event, 9); 2389 } 2390 /** 2391 * @brief Get field server_channel from event RFCOMM_EVENT_CHANNEL_OPENED 2392 * @param event packet 2393 * @return server_channel 2394 * @note: btstack_type 1 2395 */ 2396 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){ 2397 return event[11]; 2398 } 2399 /** 2400 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_OPENED 2401 * @param event packet 2402 * @return rfcomm_cid 2403 * @note: btstack_type 2 2404 */ 2405 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){ 2406 return little_endian_read_16(event, 12); 2407 } 2408 /** 2409 * @brief Get field max_frame_size from event RFCOMM_EVENT_CHANNEL_OPENED 2410 * @param event packet 2411 * @return max_frame_size 2412 * @note: btstack_type 2 2413 */ 2414 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){ 2415 return little_endian_read_16(event, 14); 2416 } 2417 /** 2418 * @brief Get field incoming from event RFCOMM_EVENT_CHANNEL_OPENED 2419 * @param event packet 2420 * @return incoming 2421 * @note: btstack_type 1 2422 */ 2423 static inline uint8_t rfcomm_event_channel_opened_get_incoming(const uint8_t * event){ 2424 return event[16]; 2425 } 2426 2427 /** 2428 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_CLOSED 2429 * @param event packet 2430 * @return rfcomm_cid 2431 * @note: btstack_type 2 2432 */ 2433 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){ 2434 return little_endian_read_16(event, 2); 2435 } 2436 2437 /** 2438 * @brief Get field bd_addr from event RFCOMM_EVENT_INCOMING_CONNECTION 2439 * @param event packet 2440 * @param Pointer to storage for bd_addr 2441 * @note: btstack_type B 2442 */ 2443 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2444 reverse_bytes(&event[2], bd_addr, 6); 2445 } 2446 /** 2447 * @brief Get field server_channel from event RFCOMM_EVENT_INCOMING_CONNECTION 2448 * @param event packet 2449 * @return server_channel 2450 * @note: btstack_type 1 2451 */ 2452 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){ 2453 return event[8]; 2454 } 2455 /** 2456 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_INCOMING_CONNECTION 2457 * @param event packet 2458 * @return rfcomm_cid 2459 * @note: btstack_type 2 2460 */ 2461 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){ 2462 return little_endian_read_16(event, 9); 2463 } 2464 /** 2465 * @brief Get field con_handle from event RFCOMM_EVENT_INCOMING_CONNECTION 2466 * @param event packet 2467 * @return con_handle 2468 * @note: btstack_type H 2469 */ 2470 static inline hci_con_handle_t rfcomm_event_incoming_connection_get_con_handle(const uint8_t * event){ 2471 return little_endian_read_16(event, 11); 2472 } 2473 2474 /** 2475 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2476 * @param event packet 2477 * @return rfcomm_cid 2478 * @note: btstack_type 2 2479 */ 2480 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){ 2481 return little_endian_read_16(event, 2); 2482 } 2483 /** 2484 * @brief Get field line_status from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2485 * @param event packet 2486 * @return line_status 2487 * @note: btstack_type 1 2488 */ 2489 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){ 2490 return event[4]; 2491 } 2492 2493 /** 2494 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2495 * @param event packet 2496 * @return rfcomm_cid 2497 * @note: btstack_type 2 2498 */ 2499 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){ 2500 return little_endian_read_16(event, 2); 2501 } 2502 /** 2503 * @brief Get field modem_status from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2504 * @param event packet 2505 * @return modem_status 2506 * @note: btstack_type 1 2507 */ 2508 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){ 2509 return event[4]; 2510 } 2511 2512 /** 2513 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CAN_SEND_NOW 2514 * @param event packet 2515 * @return rfcomm_cid 2516 * @note: btstack_type 2 2517 */ 2518 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){ 2519 return little_endian_read_16(event, 2); 2520 } 2521 2522 /** 2523 * @brief Get field status from event SDP_EVENT_QUERY_COMPLETE 2524 * @param event packet 2525 * @return status 2526 * @note: btstack_type 1 2527 */ 2528 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){ 2529 return event[2]; 2530 } 2531 2532 /** 2533 * @brief Get field rfcomm_channel from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2534 * @param event packet 2535 * @return rfcomm_channel 2536 * @note: btstack_type 1 2537 */ 2538 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){ 2539 return event[2]; 2540 } 2541 /** 2542 * @brief Get field name from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2543 * @param event packet 2544 * @return name 2545 * @note: btstack_type T 2546 */ 2547 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){ 2548 return (const char *) &event[3]; 2549 } 2550 2551 /** 2552 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2553 * @param event packet 2554 * @return record_id 2555 * @note: btstack_type 2 2556 */ 2557 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){ 2558 return little_endian_read_16(event, 2); 2559 } 2560 /** 2561 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2562 * @param event packet 2563 * @return attribute_id 2564 * @note: btstack_type 2 2565 */ 2566 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){ 2567 return little_endian_read_16(event, 4); 2568 } 2569 /** 2570 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2571 * @param event packet 2572 * @return attribute_length 2573 * @note: btstack_type 2 2574 */ 2575 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){ 2576 return little_endian_read_16(event, 6); 2577 } 2578 /** 2579 * @brief Get field data_offset from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2580 * @param event packet 2581 * @return data_offset 2582 * @note: btstack_type 2 2583 */ 2584 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){ 2585 return little_endian_read_16(event, 8); 2586 } 2587 /** 2588 * @brief Get field data from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2589 * @param event packet 2590 * @return data 2591 * @note: btstack_type 1 2592 */ 2593 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){ 2594 return event[10]; 2595 } 2596 2597 /** 2598 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2599 * @param event packet 2600 * @return record_id 2601 * @note: btstack_type 2 2602 */ 2603 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){ 2604 return little_endian_read_16(event, 2); 2605 } 2606 /** 2607 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2608 * @param event packet 2609 * @return attribute_id 2610 * @note: btstack_type 2 2611 */ 2612 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){ 2613 return little_endian_read_16(event, 4); 2614 } 2615 /** 2616 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2617 * @param event packet 2618 * @return attribute_length 2619 * @note: btstack_type L 2620 */ 2621 static inline uint16_t sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){ 2622 return little_endian_read_16(event, 6); 2623 } 2624 /** 2625 * @brief Get field attribute_value from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2626 * @param event packet 2627 * @return attribute_value 2628 * @note: btstack_type V 2629 */ 2630 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){ 2631 return &event[8]; 2632 } 2633 2634 /** 2635 * @brief Get field total_count from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2636 * @param event packet 2637 * @return total_count 2638 * @note: btstack_type 2 2639 */ 2640 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){ 2641 return little_endian_read_16(event, 2); 2642 } 2643 /** 2644 * @brief Get field record_index from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2645 * @param event packet 2646 * @return record_index 2647 * @note: btstack_type 2 2648 */ 2649 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){ 2650 return little_endian_read_16(event, 4); 2651 } 2652 /** 2653 * @brief Get field record_handle from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2654 * @param event packet 2655 * @return record_handle 2656 * @note: btstack_type 4 2657 */ 2658 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){ 2659 return little_endian_read_32(event, 6); 2660 } 2661 2662 #ifdef ENABLE_BLE 2663 /** 2664 * @brief Get field handle from event GATT_EVENT_QUERY_COMPLETE 2665 * @param event packet 2666 * @return handle 2667 * @note: btstack_type H 2668 */ 2669 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){ 2670 return little_endian_read_16(event, 2); 2671 } 2672 /** 2673 * @brief Get field service_id from event GATT_EVENT_QUERY_COMPLETE 2674 * @param event packet 2675 * @return service_id 2676 * @note: btstack_type 2 2677 */ 2678 static inline uint16_t gatt_event_query_complete_get_service_id(const uint8_t * event){ 2679 return little_endian_read_16(event, 4); 2680 } 2681 /** 2682 * @brief Get field connection_id from event GATT_EVENT_QUERY_COMPLETE 2683 * @param event packet 2684 * @return connection_id 2685 * @note: btstack_type 2 2686 */ 2687 static inline uint16_t gatt_event_query_complete_get_connection_id(const uint8_t * event){ 2688 return little_endian_read_16(event, 6); 2689 } 2690 /** 2691 * @brief Get field att_status from event GATT_EVENT_QUERY_COMPLETE 2692 * @param event packet 2693 * @return att_status 2694 * @note: btstack_type 1 2695 */ 2696 static inline uint8_t gatt_event_query_complete_get_att_status(const uint8_t * event){ 2697 return event[8]; 2698 } 2699 #endif 2700 2701 #ifdef ENABLE_BLE 2702 /** 2703 * @brief Get field handle from event GATT_EVENT_SERVICE_QUERY_RESULT 2704 * @param event packet 2705 * @return handle 2706 * @note: btstack_type H 2707 */ 2708 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){ 2709 return little_endian_read_16(event, 2); 2710 } 2711 /** 2712 * @brief Get field service_id from event GATT_EVENT_SERVICE_QUERY_RESULT 2713 * @param event packet 2714 * @return service_id 2715 * @note: btstack_type 2 2716 */ 2717 static inline uint16_t gatt_event_service_query_result_get_service_id(const uint8_t * event){ 2718 return little_endian_read_16(event, 4); 2719 } 2720 /** 2721 * @brief Get field connection_id from event GATT_EVENT_SERVICE_QUERY_RESULT 2722 * @param event packet 2723 * @return connection_id 2724 * @note: btstack_type 2 2725 */ 2726 static inline uint16_t gatt_event_service_query_result_get_connection_id(const uint8_t * event){ 2727 return little_endian_read_16(event, 6); 2728 } 2729 /** 2730 * @brief Get field service from event GATT_EVENT_SERVICE_QUERY_RESULT 2731 * @param event packet 2732 * @param Pointer to storage for service 2733 * @note: btstack_type X 2734 */ 2735 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2736 gatt_client_deserialize_service(event, 8, service); 2737 } 2738 #endif 2739 2740 #ifdef ENABLE_BLE 2741 /** 2742 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2743 * @param event packet 2744 * @return handle 2745 * @note: btstack_type H 2746 */ 2747 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){ 2748 return little_endian_read_16(event, 2); 2749 } 2750 /** 2751 * @brief Get field service_id from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2752 * @param event packet 2753 * @return service_id 2754 * @note: btstack_type 2 2755 */ 2756 static inline uint16_t gatt_event_characteristic_query_result_get_service_id(const uint8_t * event){ 2757 return little_endian_read_16(event, 4); 2758 } 2759 /** 2760 * @brief Get field connection_id from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2761 * @param event packet 2762 * @return connection_id 2763 * @note: btstack_type 2 2764 */ 2765 static inline uint16_t gatt_event_characteristic_query_result_get_connection_id(const uint8_t * event){ 2766 return little_endian_read_16(event, 6); 2767 } 2768 /** 2769 * @brief Get field characteristic from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2770 * @param event packet 2771 * @param Pointer to storage for characteristic 2772 * @note: btstack_type Y 2773 */ 2774 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){ 2775 gatt_client_deserialize_characteristic(event, 8, characteristic); 2776 } 2777 #endif 2778 2779 #ifdef ENABLE_BLE 2780 /** 2781 * @brief Get field handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2782 * @param event packet 2783 * @return handle 2784 * @note: btstack_type H 2785 */ 2786 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){ 2787 return little_endian_read_16(event, 2); 2788 } 2789 /** 2790 * @brief Get field service_id from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2791 * @param event packet 2792 * @return service_id 2793 * @note: btstack_type 2 2794 */ 2795 static inline uint16_t gatt_event_included_service_query_result_get_service_id(const uint8_t * event){ 2796 return little_endian_read_16(event, 4); 2797 } 2798 /** 2799 * @brief Get field connection_id from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2800 * @param event packet 2801 * @return connection_id 2802 * @note: btstack_type 2 2803 */ 2804 static inline uint16_t gatt_event_included_service_query_result_get_connection_id(const uint8_t * event){ 2805 return little_endian_read_16(event, 6); 2806 } 2807 /** 2808 * @brief Get field include_handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2809 * @param event packet 2810 * @return include_handle 2811 * @note: btstack_type 2 2812 */ 2813 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){ 2814 return little_endian_read_16(event, 8); 2815 } 2816 /** 2817 * @brief Get field service from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2818 * @param event packet 2819 * @param Pointer to storage for service 2820 * @note: btstack_type X 2821 */ 2822 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2823 gatt_client_deserialize_service(event, 10, service); 2824 } 2825 #endif 2826 2827 #ifdef ENABLE_BLE 2828 /** 2829 * @brief Get field handle from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2830 * @param event packet 2831 * @return handle 2832 * @note: btstack_type H 2833 */ 2834 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){ 2835 return little_endian_read_16(event, 2); 2836 } 2837 /** 2838 * @brief Get field service_id from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2839 * @param event packet 2840 * @return service_id 2841 * @note: btstack_type 2 2842 */ 2843 static inline uint16_t gatt_event_all_characteristic_descriptors_query_result_get_service_id(const uint8_t * event){ 2844 return little_endian_read_16(event, 4); 2845 } 2846 /** 2847 * @brief Get field connection_id from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2848 * @param event packet 2849 * @return connection_id 2850 * @note: btstack_type 2 2851 */ 2852 static inline uint16_t gatt_event_all_characteristic_descriptors_query_result_get_connection_id(const uint8_t * event){ 2853 return little_endian_read_16(event, 6); 2854 } 2855 /** 2856 * @brief Get field characteristic_descriptor from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2857 * @param event packet 2858 * @param Pointer to storage for characteristic_descriptor 2859 * @note: btstack_type Z 2860 */ 2861 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){ 2862 gatt_client_deserialize_characteristic_descriptor(event, 8, characteristic_descriptor); 2863 } 2864 #endif 2865 2866 #ifdef ENABLE_BLE 2867 /** 2868 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2869 * @param event packet 2870 * @return handle 2871 * @note: btstack_type H 2872 */ 2873 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){ 2874 return little_endian_read_16(event, 2); 2875 } 2876 /** 2877 * @brief Get field value_handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2878 * @param event packet 2879 * @return value_handle 2880 * @note: btstack_type 2 2881 */ 2882 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2883 return little_endian_read_16(event, 4); 2884 } 2885 /** 2886 * @brief Get field value_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2887 * @param event packet 2888 * @return value_length 2889 * @note: btstack_type L 2890 */ 2891 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2892 return little_endian_read_16(event, 6); 2893 } 2894 /** 2895 * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2896 * @param event packet 2897 * @return value 2898 * @note: btstack_type V 2899 */ 2900 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){ 2901 return &event[8]; 2902 } 2903 #endif 2904 2905 #ifdef ENABLE_BLE 2906 /** 2907 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2908 * @param event packet 2909 * @return handle 2910 * @note: btstack_type H 2911 */ 2912 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){ 2913 return little_endian_read_16(event, 2); 2914 } 2915 /** 2916 * @brief Get field service_id from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2917 * @param event packet 2918 * @return service_id 2919 * @note: btstack_type 2 2920 */ 2921 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_service_id(const uint8_t * event){ 2922 return little_endian_read_16(event, 4); 2923 } 2924 /** 2925 * @brief Get field connection_id from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2926 * @param event packet 2927 * @return connection_id 2928 * @note: btstack_type 2 2929 */ 2930 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_connection_id(const uint8_t * event){ 2931 return little_endian_read_16(event, 6); 2932 } 2933 /** 2934 * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2935 * @param event packet 2936 * @return value_handle 2937 * @note: btstack_type 2 2938 */ 2939 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2940 return little_endian_read_16(event, 8); 2941 } 2942 /** 2943 * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2944 * @param event packet 2945 * @return value_offset 2946 * @note: btstack_type 2 2947 */ 2948 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){ 2949 return little_endian_read_16(event, 10); 2950 } 2951 /** 2952 * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2953 * @param event packet 2954 * @return value_length 2955 * @note: btstack_type L 2956 */ 2957 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2958 return little_endian_read_16(event, 12); 2959 } 2960 /** 2961 * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2962 * @param event packet 2963 * @return value 2964 * @note: btstack_type V 2965 */ 2966 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){ 2967 return &event[14]; 2968 } 2969 #endif 2970 2971 #ifdef ENABLE_BLE 2972 /** 2973 * @brief Get field handle from event GATT_EVENT_NOTIFICATION 2974 * @param event packet 2975 * @return handle 2976 * @note: btstack_type H 2977 */ 2978 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){ 2979 return little_endian_read_16(event, 2); 2980 } 2981 /** 2982 * @brief Get field value_handle from event GATT_EVENT_NOTIFICATION 2983 * @param event packet 2984 * @return value_handle 2985 * @note: btstack_type 2 2986 */ 2987 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){ 2988 return little_endian_read_16(event, 4); 2989 } 2990 /** 2991 * @brief Get field value_length from event GATT_EVENT_NOTIFICATION 2992 * @param event packet 2993 * @return value_length 2994 * @note: btstack_type L 2995 */ 2996 static inline uint16_t gatt_event_notification_get_value_length(const uint8_t * event){ 2997 return little_endian_read_16(event, 6); 2998 } 2999 /** 3000 * @brief Get field value from event GATT_EVENT_NOTIFICATION 3001 * @param event packet 3002 * @return value 3003 * @note: btstack_type V 3004 */ 3005 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){ 3006 return &event[8]; 3007 } 3008 #endif 3009 3010 #ifdef ENABLE_BLE 3011 /** 3012 * @brief Get field handle from event GATT_EVENT_INDICATION 3013 * @param event packet 3014 * @return handle 3015 * @note: btstack_type H 3016 */ 3017 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){ 3018 return little_endian_read_16(event, 2); 3019 } 3020 /** 3021 * @brief Get field value_handle from event GATT_EVENT_INDICATION 3022 * @param event packet 3023 * @return value_handle 3024 * @note: btstack_type 2 3025 */ 3026 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){ 3027 return little_endian_read_16(event, 4); 3028 } 3029 /** 3030 * @brief Get field value_length from event GATT_EVENT_INDICATION 3031 * @param event packet 3032 * @return value_length 3033 * @note: btstack_type L 3034 */ 3035 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){ 3036 return little_endian_read_16(event, 6); 3037 } 3038 /** 3039 * @brief Get field value from event GATT_EVENT_INDICATION 3040 * @param event packet 3041 * @return value 3042 * @note: btstack_type V 3043 */ 3044 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){ 3045 return &event[8]; 3046 } 3047 #endif 3048 3049 #ifdef ENABLE_BLE 3050 /** 3051 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3052 * @param event packet 3053 * @return handle 3054 * @note: btstack_type H 3055 */ 3056 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 3057 return little_endian_read_16(event, 2); 3058 } 3059 /** 3060 * @brief Get field descriptor_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3061 * @param event packet 3062 * @return descriptor_handle 3063 * @note: btstack_type 2 3064 */ 3065 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 3066 return little_endian_read_16(event, 4); 3067 } 3068 /** 3069 * @brief Get field descriptor_length from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3070 * @param event packet 3071 * @return descriptor_length 3072 * @note: btstack_type L 3073 */ 3074 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 3075 return little_endian_read_16(event, 6); 3076 } 3077 /** 3078 * @brief Get field descriptor from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3079 * @param event packet 3080 * @return descriptor 3081 * @note: btstack_type V 3082 */ 3083 static inline const uint8_t * gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 3084 return &event[8]; 3085 } 3086 #endif 3087 3088 #ifdef ENABLE_BLE 3089 /** 3090 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3091 * @param event packet 3092 * @return handle 3093 * @note: btstack_type H 3094 */ 3095 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 3096 return little_endian_read_16(event, 2); 3097 } 3098 /** 3099 * @brief Get field service_id from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3100 * @param event packet 3101 * @return service_id 3102 * @note: btstack_type 2 3103 */ 3104 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_service_id(const uint8_t * event){ 3105 return little_endian_read_16(event, 4); 3106 } 3107 /** 3108 * @brief Get field connection_id from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3109 * @param event packet 3110 * @return connection_id 3111 * @note: btstack_type 2 3112 */ 3113 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_connection_id(const uint8_t * event){ 3114 return little_endian_read_16(event, 6); 3115 } 3116 /** 3117 * @brief Get field descriptor_handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3118 * @param event packet 3119 * @return descriptor_handle 3120 * @note: btstack_type 2 3121 */ 3122 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 3123 return little_endian_read_16(event, 8); 3124 } 3125 /** 3126 * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3127 * @param event packet 3128 * @return descriptor_offset 3129 * @note: btstack_type 2 3130 */ 3131 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){ 3132 return little_endian_read_16(event, 10); 3133 } 3134 /** 3135 * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3136 * @param event packet 3137 * @return descriptor_length 3138 * @note: btstack_type L 3139 */ 3140 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 3141 return little_endian_read_16(event, 12); 3142 } 3143 /** 3144 * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3145 * @param event packet 3146 * @return descriptor 3147 * @note: btstack_type V 3148 */ 3149 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 3150 return &event[14]; 3151 } 3152 #endif 3153 3154 #ifdef ENABLE_BLE 3155 /** 3156 * @brief Get field handle from event GATT_EVENT_MTU 3157 * @param event packet 3158 * @return handle 3159 * @note: btstack_type H 3160 */ 3161 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){ 3162 return little_endian_read_16(event, 2); 3163 } 3164 /** 3165 * @brief Get field MTU from event GATT_EVENT_MTU 3166 * @param event packet 3167 * @return MTU 3168 * @note: btstack_type 2 3169 */ 3170 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){ 3171 return little_endian_read_16(event, 4); 3172 } 3173 #endif 3174 3175 #ifdef ENABLE_BLE 3176 /** 3177 * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 3178 * @param event packet 3179 * @return handle 3180 * @note: btstack_type H 3181 */ 3182 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){ 3183 return little_endian_read_16(event, 2); 3184 } 3185 #endif 3186 3187 #ifdef ENABLE_BLE 3188 /** 3189 * @brief Get field status from event GATT_EVENT_CONNECTED 3190 * @param event packet 3191 * @return status 3192 * @note: btstack_type 1 3193 */ 3194 static inline uint8_t gatt_event_connected_get_status(const uint8_t * event){ 3195 return event[2]; 3196 } 3197 /** 3198 * @brief Get field address_type from event GATT_EVENT_CONNECTED 3199 * @param event packet 3200 * @return address_type 3201 * @note: btstack_type 1 3202 */ 3203 static inline uint8_t gatt_event_connected_get_address_type(const uint8_t * event){ 3204 return event[3]; 3205 } 3206 /** 3207 * @brief Get field address from event GATT_EVENT_CONNECTED 3208 * @param event packet 3209 * @param Pointer to storage for address 3210 * @note: btstack_type B 3211 */ 3212 static inline void gatt_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 3213 reverse_bytes(&event[4], address, 6); 3214 } 3215 /** 3216 * @brief Get field handle from event GATT_EVENT_CONNECTED 3217 * @param event packet 3218 * @return handle 3219 * @note: btstack_type H 3220 */ 3221 static inline hci_con_handle_t gatt_event_connected_get_handle(const uint8_t * event){ 3222 return little_endian_read_16(event, 10); 3223 } 3224 #endif 3225 3226 #ifdef ENABLE_BLE 3227 /** 3228 * @brief Get field handle from event GATT_EVENT_DISCONNECTED 3229 * @param event packet 3230 * @return handle 3231 * @note: btstack_type H 3232 */ 3233 static inline hci_con_handle_t gatt_event_disconnected_get_handle(const uint8_t * event){ 3234 return little_endian_read_16(event, 2); 3235 } 3236 #endif 3237 3238 #ifdef ENABLE_BLE 3239 /** 3240 * @brief Get field handle from event GATT_EVENT_SERVICE_CHANGED 3241 * @param event packet 3242 * @return handle 3243 * @note: btstack_type H 3244 */ 3245 static inline hci_con_handle_t gatt_event_service_changed_get_handle(const uint8_t * event){ 3246 return little_endian_read_16(event, 2); 3247 } 3248 /** 3249 * @brief Get field attribute_handle_start from event GATT_EVENT_SERVICE_CHANGED 3250 * @param event packet 3251 * @return attribute_handle_start 3252 * @note: btstack_type 2 3253 */ 3254 static inline uint16_t gatt_event_service_changed_get_attribute_handle_start(const uint8_t * event){ 3255 return little_endian_read_16(event, 4); 3256 } 3257 /** 3258 * @brief Get field attribute_handle_end from event GATT_EVENT_SERVICE_CHANGED 3259 * @param event packet 3260 * @return attribute_handle_end 3261 * @note: btstack_type 2 3262 */ 3263 static inline uint16_t gatt_event_service_changed_get_attribute_handle_end(const uint8_t * event){ 3264 return little_endian_read_16(event, 6); 3265 } 3266 #endif 3267 3268 /** 3269 * @brief Get field address_type from event ATT_EVENT_CONNECTED 3270 * @param event packet 3271 * @return address_type 3272 * @note: btstack_type 1 3273 */ 3274 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){ 3275 return event[2]; 3276 } 3277 /** 3278 * @brief Get field address from event ATT_EVENT_CONNECTED 3279 * @param event packet 3280 * @param Pointer to storage for address 3281 * @note: btstack_type B 3282 */ 3283 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 3284 reverse_bytes(&event[3], address, 6); 3285 } 3286 /** 3287 * @brief Get field handle from event ATT_EVENT_CONNECTED 3288 * @param event packet 3289 * @return handle 3290 * @note: btstack_type H 3291 */ 3292 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){ 3293 return little_endian_read_16(event, 9); 3294 } 3295 3296 /** 3297 * @brief Get field handle from event ATT_EVENT_DISCONNECTED 3298 * @param event packet 3299 * @return handle 3300 * @note: btstack_type H 3301 */ 3302 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){ 3303 return little_endian_read_16(event, 2); 3304 } 3305 3306 /** 3307 * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 3308 * @param event packet 3309 * @return handle 3310 * @note: btstack_type H 3311 */ 3312 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){ 3313 return little_endian_read_16(event, 2); 3314 } 3315 /** 3316 * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 3317 * @param event packet 3318 * @return MTU 3319 * @note: btstack_type 2 3320 */ 3321 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){ 3322 return little_endian_read_16(event, 4); 3323 } 3324 3325 /** 3326 * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3327 * @param event packet 3328 * @return status 3329 * @note: btstack_type 1 3330 */ 3331 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){ 3332 return event[2]; 3333 } 3334 /** 3335 * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3336 * @param event packet 3337 * @return conn_handle 3338 * @note: btstack_type H 3339 */ 3340 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){ 3341 return little_endian_read_16(event, 3); 3342 } 3343 /** 3344 * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3345 * @param event packet 3346 * @return attribute_handle 3347 * @note: btstack_type 2 3348 */ 3349 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){ 3350 return little_endian_read_16(event, 5); 3351 } 3352 3353 3354 /** 3355 * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED 3356 * @param event packet 3357 * @return status 3358 * @note: btstack_type 1 3359 */ 3360 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){ 3361 return event[2]; 3362 } 3363 /** 3364 * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED 3365 * @param event packet 3366 * @return service_uuid 3367 * @note: btstack_type 2 3368 */ 3369 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){ 3370 return little_endian_read_16(event, 3); 3371 } 3372 3373 /** 3374 * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED 3375 * @param event packet 3376 * @return status 3377 * @note: btstack_type 1 3378 */ 3379 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){ 3380 return event[2]; 3381 } 3382 /** 3383 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED 3384 * @param event packet 3385 * @return bnep_cid 3386 * @note: btstack_type 2 3387 */ 3388 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){ 3389 return little_endian_read_16(event, 3); 3390 } 3391 /** 3392 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED 3393 * @param event packet 3394 * @return source_uuid 3395 * @note: btstack_type 2 3396 */ 3397 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){ 3398 return little_endian_read_16(event, 5); 3399 } 3400 /** 3401 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED 3402 * @param event packet 3403 * @return destination_uuid 3404 * @note: btstack_type 2 3405 */ 3406 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){ 3407 return little_endian_read_16(event, 7); 3408 } 3409 /** 3410 * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED 3411 * @param event packet 3412 * @return mtu 3413 * @note: btstack_type 2 3414 */ 3415 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){ 3416 return little_endian_read_16(event, 9); 3417 } 3418 /** 3419 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED 3420 * @param event packet 3421 * @param Pointer to storage for remote_address 3422 * @note: btstack_type B 3423 */ 3424 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3425 reverse_bytes(&event[11], remote_address, 6); 3426 } 3427 /** 3428 * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED 3429 * @param event packet 3430 * @return con_handle 3431 * @note: btstack_type H 3432 */ 3433 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){ 3434 return little_endian_read_16(event, 17); 3435 } 3436 3437 /** 3438 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED 3439 * @param event packet 3440 * @return bnep_cid 3441 * @note: btstack_type 2 3442 */ 3443 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){ 3444 return little_endian_read_16(event, 2); 3445 } 3446 /** 3447 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3448 * @param event packet 3449 * @return source_uuid 3450 * @note: btstack_type 2 3451 */ 3452 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){ 3453 return little_endian_read_16(event, 4); 3454 } 3455 /** 3456 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3457 * @param event packet 3458 * @return destination_uuid 3459 * @note: btstack_type 2 3460 */ 3461 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){ 3462 return little_endian_read_16(event, 6); 3463 } 3464 /** 3465 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED 3466 * @param event packet 3467 * @param Pointer to storage for remote_address 3468 * @note: btstack_type B 3469 */ 3470 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3471 reverse_bytes(&event[8], remote_address, 6); 3472 } 3473 3474 /** 3475 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT 3476 * @param event packet 3477 * @return bnep_cid 3478 * @note: btstack_type 2 3479 */ 3480 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){ 3481 return little_endian_read_16(event, 2); 3482 } 3483 /** 3484 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3485 * @param event packet 3486 * @return source_uuid 3487 * @note: btstack_type 2 3488 */ 3489 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){ 3490 return little_endian_read_16(event, 4); 3491 } 3492 /** 3493 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3494 * @param event packet 3495 * @return destination_uuid 3496 * @note: btstack_type 2 3497 */ 3498 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){ 3499 return little_endian_read_16(event, 6); 3500 } 3501 /** 3502 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT 3503 * @param event packet 3504 * @param Pointer to storage for remote_address 3505 * @note: btstack_type B 3506 */ 3507 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3508 reverse_bytes(&event[8], remote_address, 6); 3509 } 3510 /** 3511 * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT 3512 * @param event packet 3513 * @return channel_state 3514 * @note: btstack_type 1 3515 */ 3516 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){ 3517 return event[14]; 3518 } 3519 3520 /** 3521 * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW 3522 * @param event packet 3523 * @return bnep_cid 3524 * @note: btstack_type 2 3525 */ 3526 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){ 3527 return little_endian_read_16(event, 2); 3528 } 3529 /** 3530 * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW 3531 * @param event packet 3532 * @return source_uuid 3533 * @note: btstack_type 2 3534 */ 3535 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){ 3536 return little_endian_read_16(event, 4); 3537 } 3538 /** 3539 * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW 3540 * @param event packet 3541 * @return destination_uuid 3542 * @note: btstack_type 2 3543 */ 3544 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){ 3545 return little_endian_read_16(event, 6); 3546 } 3547 /** 3548 * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW 3549 * @param event packet 3550 * @param Pointer to storage for remote_address 3551 * @note: btstack_type B 3552 */ 3553 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3554 reverse_bytes(&event[8], remote_address, 6); 3555 } 3556 3557 #ifdef ENABLE_BLE 3558 /** 3559 * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST 3560 * @param event packet 3561 * @return handle 3562 * @note: btstack_type H 3563 */ 3564 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ 3565 return little_endian_read_16(event, 2); 3566 } 3567 /** 3568 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST 3569 * @param event packet 3570 * @return addr_type 3571 * @note: btstack_type 1 3572 */ 3573 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ 3574 return event[4]; 3575 } 3576 /** 3577 * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST 3578 * @param event packet 3579 * @param Pointer to storage for address 3580 * @note: btstack_type B 3581 */ 3582 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ 3583 reverse_bytes(&event[5], address, 6); 3584 } 3585 /** 3586 * @brief Get field secure_connection from event SM_EVENT_JUST_WORKS_REQUEST 3587 * @param event packet 3588 * @return secure_connection 3589 * @note: btstack_type 1 3590 */ 3591 static inline uint8_t sm_event_just_works_request_get_secure_connection(const uint8_t * event){ 3592 return event[11]; 3593 } 3594 #endif 3595 3596 #ifdef ENABLE_BLE 3597 /** 3598 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3599 * @param event packet 3600 * @return handle 3601 * @note: btstack_type H 3602 */ 3603 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ 3604 return little_endian_read_16(event, 2); 3605 } 3606 /** 3607 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3608 * @param event packet 3609 * @return addr_type 3610 * @note: btstack_type 1 3611 */ 3612 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ 3613 return event[4]; 3614 } 3615 /** 3616 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3617 * @param event packet 3618 * @param Pointer to storage for address 3619 * @note: btstack_type B 3620 */ 3621 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ 3622 reverse_bytes(&event[5], address, 6); 3623 } 3624 /** 3625 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3626 * @param event packet 3627 * @return secure_connection 3628 * @note: btstack_type 1 3629 */ 3630 static inline uint8_t sm_event_passkey_display_number_get_secure_connection(const uint8_t * event){ 3631 return event[11]; 3632 } 3633 /** 3634 * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3635 * @param event packet 3636 * @return passkey 3637 * @note: btstack_type 4 3638 */ 3639 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ 3640 return little_endian_read_32(event, 12); 3641 } 3642 #endif 3643 3644 #ifdef ENABLE_BLE 3645 /** 3646 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3647 * @param event packet 3648 * @return handle 3649 * @note: btstack_type H 3650 */ 3651 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ 3652 return little_endian_read_16(event, 2); 3653 } 3654 /** 3655 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3656 * @param event packet 3657 * @return addr_type 3658 * @note: btstack_type 1 3659 */ 3660 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ 3661 return event[4]; 3662 } 3663 /** 3664 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3665 * @param event packet 3666 * @param Pointer to storage for address 3667 * @note: btstack_type B 3668 */ 3669 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ 3670 reverse_bytes(&event[5], address, 6); 3671 } 3672 #endif 3673 3674 #ifdef ENABLE_BLE 3675 /** 3676 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER 3677 * @param event packet 3678 * @return handle 3679 * @note: btstack_type H 3680 */ 3681 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ 3682 return little_endian_read_16(event, 2); 3683 } 3684 /** 3685 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER 3686 * @param event packet 3687 * @return addr_type 3688 * @note: btstack_type 1 3689 */ 3690 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ 3691 return event[4]; 3692 } 3693 /** 3694 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER 3695 * @param event packet 3696 * @param Pointer to storage for address 3697 * @note: btstack_type B 3698 */ 3699 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ 3700 reverse_bytes(&event[5], address, 6); 3701 } 3702 /** 3703 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_INPUT_NUMBER 3704 * @param event packet 3705 * @return secure_connection 3706 * @note: btstack_type 1 3707 */ 3708 static inline uint8_t sm_event_passkey_input_number_get_secure_connection(const uint8_t * event){ 3709 return event[11]; 3710 } 3711 #endif 3712 3713 #ifdef ENABLE_BLE 3714 /** 3715 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3716 * @param event packet 3717 * @return handle 3718 * @note: btstack_type H 3719 */ 3720 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){ 3721 return little_endian_read_16(event, 2); 3722 } 3723 /** 3724 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3725 * @param event packet 3726 * @return addr_type 3727 * @note: btstack_type 1 3728 */ 3729 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){ 3730 return event[4]; 3731 } 3732 /** 3733 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3734 * @param event packet 3735 * @param Pointer to storage for address 3736 * @note: btstack_type B 3737 */ 3738 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){ 3739 reverse_bytes(&event[5], address, 6); 3740 } 3741 /** 3742 * @brief Get field secure_connection from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3743 * @param event packet 3744 * @return secure_connection 3745 * @note: btstack_type 1 3746 */ 3747 static inline uint8_t sm_event_numeric_comparison_request_get_secure_connection(const uint8_t * event){ 3748 return event[11]; 3749 } 3750 /** 3751 * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3752 * @param event packet 3753 * @return passkey 3754 * @note: btstack_type 4 3755 */ 3756 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){ 3757 return little_endian_read_32(event, 12); 3758 } 3759 #endif 3760 3761 #ifdef ENABLE_BLE 3762 /** 3763 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3764 * @param event packet 3765 * @return handle 3766 * @note: btstack_type H 3767 */ 3768 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ 3769 return little_endian_read_16(event, 2); 3770 } 3771 /** 3772 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3773 * @param event packet 3774 * @return addr_type 3775 * @note: btstack_type 1 3776 */ 3777 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ 3778 return event[4]; 3779 } 3780 /** 3781 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3782 * @param event packet 3783 * @param Pointer to storage for address 3784 * @note: btstack_type B 3785 */ 3786 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ 3787 reverse_bytes(&event[5], address, 6); 3788 } 3789 #endif 3790 3791 #ifdef ENABLE_BLE 3792 /** 3793 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3794 * @param event packet 3795 * @return handle 3796 * @note: btstack_type H 3797 */ 3798 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ 3799 return little_endian_read_16(event, 2); 3800 } 3801 /** 3802 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3803 * @param event packet 3804 * @return addr_type 3805 * @note: btstack_type 1 3806 */ 3807 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ 3808 return event[4]; 3809 } 3810 /** 3811 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3812 * @param event packet 3813 * @param Pointer to storage for address 3814 * @note: btstack_type B 3815 */ 3816 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ 3817 reverse_bytes(&event[5], address, 6); 3818 } 3819 #endif 3820 3821 #ifdef ENABLE_BLE 3822 /** 3823 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3824 * @param event packet 3825 * @return handle 3826 * @note: btstack_type H 3827 */ 3828 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ 3829 return little_endian_read_16(event, 2); 3830 } 3831 /** 3832 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3833 * @param event packet 3834 * @return addr_type 3835 * @note: btstack_type 1 3836 */ 3837 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ 3838 return event[4]; 3839 } 3840 /** 3841 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3842 * @param event packet 3843 * @param Pointer to storage for address 3844 * @note: btstack_type B 3845 */ 3846 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ 3847 reverse_bytes(&event[5], address, 6); 3848 } 3849 /** 3850 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3851 * @param event packet 3852 * @return identity_addr_type 3853 * @note: btstack_type 1 3854 */ 3855 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){ 3856 return event[11]; 3857 } 3858 /** 3859 * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3860 * @param event packet 3861 * @param Pointer to storage for identity_address 3862 * @note: btstack_type B 3863 */ 3864 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3865 reverse_bytes(&event[12], identity_address, 6); 3866 } 3867 /** 3868 * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3869 * @param event packet 3870 * @return index 3871 * @note: btstack_type 2 3872 */ 3873 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){ 3874 return little_endian_read_16(event, 18); 3875 } 3876 #endif 3877 3878 #ifdef ENABLE_BLE 3879 /** 3880 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST 3881 * @param event packet 3882 * @return handle 3883 * @note: btstack_type H 3884 */ 3885 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){ 3886 return little_endian_read_16(event, 2); 3887 } 3888 /** 3889 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST 3890 * @param event packet 3891 * @return addr_type 3892 * @note: btstack_type 1 3893 */ 3894 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ 3895 return event[4]; 3896 } 3897 /** 3898 * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST 3899 * @param event packet 3900 * @param Pointer to storage for address 3901 * @note: btstack_type B 3902 */ 3903 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ 3904 reverse_bytes(&event[5], address, 6); 3905 } 3906 #endif 3907 3908 #ifdef ENABLE_BLE 3909 /** 3910 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT 3911 * @param event packet 3912 * @return handle 3913 * @note: btstack_type H 3914 */ 3915 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ 3916 return little_endian_read_16(event, 2); 3917 } 3918 /** 3919 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT 3920 * @param event packet 3921 * @return addr_type 3922 * @note: btstack_type 1 3923 */ 3924 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ 3925 return event[4]; 3926 } 3927 /** 3928 * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT 3929 * @param event packet 3930 * @param Pointer to storage for address 3931 * @note: btstack_type B 3932 */ 3933 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ 3934 reverse_bytes(&event[5], address, 6); 3935 } 3936 /** 3937 * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT 3938 * @param event packet 3939 * @return authorization_result 3940 * @note: btstack_type 1 3941 */ 3942 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ 3943 return event[11]; 3944 } 3945 #endif 3946 3947 #ifdef ENABLE_BLE 3948 /** 3949 * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION 3950 * @param event packet 3951 * @return handle 3952 * @note: btstack_type H 3953 */ 3954 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){ 3955 return little_endian_read_16(event, 2); 3956 } 3957 /** 3958 * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION 3959 * @param event packet 3960 * @return action 3961 * @note: btstack_type 1 3962 */ 3963 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){ 3964 return event[4]; 3965 } 3966 #endif 3967 3968 #ifdef ENABLE_BLE 3969 /** 3970 * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED 3971 * @param event packet 3972 * @return handle 3973 * @note: btstack_type H 3974 */ 3975 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){ 3976 return little_endian_read_16(event, 2); 3977 } 3978 /** 3979 * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED 3980 * @param event packet 3981 * @return addr_type 3982 * @note: btstack_type 1 3983 */ 3984 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){ 3985 return event[4]; 3986 } 3987 /** 3988 * @brief Get field address from event SM_EVENT_IDENTITY_CREATED 3989 * @param event packet 3990 * @param Pointer to storage for address 3991 * @note: btstack_type B 3992 */ 3993 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){ 3994 reverse_bytes(&event[5], address, 6); 3995 } 3996 /** 3997 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED 3998 * @param event packet 3999 * @return identity_addr_type 4000 * @note: btstack_type 1 4001 */ 4002 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){ 4003 return event[11]; 4004 } 4005 /** 4006 * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED 4007 * @param event packet 4008 * @param Pointer to storage for identity_address 4009 * @note: btstack_type B 4010 */ 4011 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 4012 reverse_bytes(&event[12], identity_address, 6); 4013 } 4014 /** 4015 * @brief Get field index from event SM_EVENT_IDENTITY_CREATED 4016 * @param event packet 4017 * @return index 4018 * @note: btstack_type 2 4019 */ 4020 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){ 4021 return little_endian_read_16(event, 18); 4022 } 4023 #endif 4024 4025 #ifdef ENABLE_BLE 4026 /** 4027 * @brief Get field handle from event SM_EVENT_PAIRING_STARTED 4028 * @param event packet 4029 * @return handle 4030 * @note: btstack_type H 4031 */ 4032 static inline hci_con_handle_t sm_event_pairing_started_get_handle(const uint8_t * event){ 4033 return little_endian_read_16(event, 2); 4034 } 4035 /** 4036 * @brief Get field addr_type from event SM_EVENT_PAIRING_STARTED 4037 * @param event packet 4038 * @return addr_type 4039 * @note: btstack_type 1 4040 */ 4041 static inline uint8_t sm_event_pairing_started_get_addr_type(const uint8_t * event){ 4042 return event[4]; 4043 } 4044 /** 4045 * @brief Get field address from event SM_EVENT_PAIRING_STARTED 4046 * @param event packet 4047 * @param Pointer to storage for address 4048 * @note: btstack_type B 4049 */ 4050 static inline void sm_event_pairing_started_get_address(const uint8_t * event, bd_addr_t address){ 4051 reverse_bytes(&event[5], address, 6); 4052 } 4053 #endif 4054 4055 #ifdef ENABLE_BLE 4056 /** 4057 * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE 4058 * @param event packet 4059 * @return handle 4060 * @note: btstack_type H 4061 */ 4062 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){ 4063 return little_endian_read_16(event, 2); 4064 } 4065 /** 4066 * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE 4067 * @param event packet 4068 * @return addr_type 4069 * @note: btstack_type 1 4070 */ 4071 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){ 4072 return event[4]; 4073 } 4074 /** 4075 * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE 4076 * @param event packet 4077 * @param Pointer to storage for address 4078 * @note: btstack_type B 4079 */ 4080 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){ 4081 reverse_bytes(&event[5], address, 6); 4082 } 4083 /** 4084 * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE 4085 * @param event packet 4086 * @return status 4087 * @note: btstack_type 1 4088 */ 4089 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){ 4090 return event[11]; 4091 } 4092 /** 4093 * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE 4094 * @param event packet 4095 * @return reason 4096 * @note: btstack_type 1 4097 */ 4098 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){ 4099 return event[12]; 4100 } 4101 #endif 4102 4103 #ifdef ENABLE_BLE 4104 /** 4105 * @brief Get field handle from event SM_EVENT_REENCRYPTION_STARTED 4106 * @param event packet 4107 * @return handle 4108 * @note: btstack_type H 4109 */ 4110 static inline hci_con_handle_t sm_event_reencryption_started_get_handle(const uint8_t * event){ 4111 return little_endian_read_16(event, 2); 4112 } 4113 /** 4114 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_STARTED 4115 * @param event packet 4116 * @return addr_type 4117 * @note: btstack_type 1 4118 */ 4119 static inline uint8_t sm_event_reencryption_started_get_addr_type(const uint8_t * event){ 4120 return event[4]; 4121 } 4122 /** 4123 * @brief Get field address from event SM_EVENT_REENCRYPTION_STARTED 4124 * @param event packet 4125 * @param Pointer to storage for address 4126 * @note: btstack_type B 4127 */ 4128 static inline void sm_event_reencryption_started_get_address(const uint8_t * event, bd_addr_t address){ 4129 reverse_bytes(&event[5], address, 6); 4130 } 4131 #endif 4132 4133 #ifdef ENABLE_BLE 4134 /** 4135 * @brief Get field handle from event SM_EVENT_REENCRYPTION_COMPLETE 4136 * @param event packet 4137 * @return handle 4138 * @note: btstack_type H 4139 */ 4140 static inline hci_con_handle_t sm_event_reencryption_complete_get_handle(const uint8_t * event){ 4141 return little_endian_read_16(event, 2); 4142 } 4143 /** 4144 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_COMPLETE 4145 * @param event packet 4146 * @return addr_type 4147 * @note: btstack_type 1 4148 */ 4149 static inline uint8_t sm_event_reencryption_complete_get_addr_type(const uint8_t * event){ 4150 return event[4]; 4151 } 4152 /** 4153 * @brief Get field address from event SM_EVENT_REENCRYPTION_COMPLETE 4154 * @param event packet 4155 * @param Pointer to storage for address 4156 * @note: btstack_type B 4157 */ 4158 static inline void sm_event_reencryption_complete_get_address(const uint8_t * event, bd_addr_t address){ 4159 reverse_bytes(&event[5], address, 6); 4160 } 4161 /** 4162 * @brief Get field status from event SM_EVENT_REENCRYPTION_COMPLETE 4163 * @param event packet 4164 * @return status 4165 * @note: btstack_type 1 4166 */ 4167 static inline uint8_t sm_event_reencryption_complete_get_status(const uint8_t * event){ 4168 return event[11]; 4169 } 4170 #endif 4171 4172 /** 4173 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 4174 * @param event packet 4175 * @return handle 4176 * @note: btstack_type H 4177 */ 4178 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 4179 return little_endian_read_16(event, 2); 4180 } 4181 /** 4182 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 4183 * @param event packet 4184 * @return security_level 4185 * @note: btstack_type 1 4186 */ 4187 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 4188 return event[4]; 4189 } 4190 4191 /** 4192 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 4193 * @param event packet 4194 * @return status 4195 * @note: btstack_type 1 4196 */ 4197 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 4198 return event[2]; 4199 } 4200 /** 4201 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 4202 * @param event packet 4203 * @param Pointer to storage for address 4204 * @note: btstack_type B 4205 */ 4206 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 4207 reverse_bytes(&event[3], address, 6); 4208 } 4209 4210 /** 4211 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 4212 * @param event packet 4213 * @return advertising_event_type 4214 * @note: btstack_type 1 4215 */ 4216 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 4217 return event[2]; 4218 } 4219 /** 4220 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 4221 * @param event packet 4222 * @return address_type 4223 * @note: btstack_type 1 4224 */ 4225 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 4226 return event[3]; 4227 } 4228 /** 4229 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 4230 * @param event packet 4231 * @param Pointer to storage for address 4232 * @note: btstack_type B 4233 */ 4234 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 4235 reverse_bytes(&event[4], address, 6); 4236 } 4237 /** 4238 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 4239 * @param event packet 4240 * @return rssi 4241 * @note: btstack_type 1 4242 */ 4243 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 4244 return event[10]; 4245 } 4246 /** 4247 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 4248 * @param event packet 4249 * @return data_length 4250 * @note: btstack_type J 4251 */ 4252 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 4253 return event[11]; 4254 } 4255 /** 4256 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 4257 * @param event packet 4258 * @return data 4259 * @note: btstack_type V 4260 */ 4261 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 4262 return &event[12]; 4263 } 4264 4265 /** 4266 * @brief Get field advertising_event_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4267 * @param event packet 4268 * @return advertising_event_type 4269 * @note: btstack_type 2 4270 */ 4271 static inline uint16_t gap_event_extended_advertising_report_get_advertising_event_type(const uint8_t * event){ 4272 return little_endian_read_16(event, 2); 4273 } 4274 /** 4275 * @brief Get field address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4276 * @param event packet 4277 * @return address_type 4278 * @note: btstack_type 1 4279 */ 4280 static inline uint8_t gap_event_extended_advertising_report_get_address_type(const uint8_t * event){ 4281 return event[4]; 4282 } 4283 /** 4284 * @brief Get field address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4285 * @param event packet 4286 * @param Pointer to storage for address 4287 * @note: btstack_type B 4288 */ 4289 static inline void gap_event_extended_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 4290 reverse_bytes(&event[5], address, 6); 4291 } 4292 /** 4293 * @brief Get field primary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4294 * @param event packet 4295 * @return primary_phy 4296 * @note: btstack_type 1 4297 */ 4298 static inline uint8_t gap_event_extended_advertising_report_get_primary_phy(const uint8_t * event){ 4299 return event[11]; 4300 } 4301 /** 4302 * @brief Get field secondary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4303 * @param event packet 4304 * @return secondary_phy 4305 * @note: btstack_type 1 4306 */ 4307 static inline uint8_t gap_event_extended_advertising_report_get_secondary_phy(const uint8_t * event){ 4308 return event[12]; 4309 } 4310 /** 4311 * @brief Get field advertising_sid from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4312 * @param event packet 4313 * @return advertising_sid 4314 * @note: btstack_type 1 4315 */ 4316 static inline uint8_t gap_event_extended_advertising_report_get_advertising_sid(const uint8_t * event){ 4317 return event[13]; 4318 } 4319 /** 4320 * @brief Get field tx_power from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4321 * @param event packet 4322 * @return tx_power 4323 * @note: btstack_type 1 4324 */ 4325 static inline uint8_t gap_event_extended_advertising_report_get_tx_power(const uint8_t * event){ 4326 return event[14]; 4327 } 4328 /** 4329 * @brief Get field rssi from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4330 * @param event packet 4331 * @return rssi 4332 * @note: btstack_type 1 4333 */ 4334 static inline uint8_t gap_event_extended_advertising_report_get_rssi(const uint8_t * event){ 4335 return event[15]; 4336 } 4337 /** 4338 * @brief Get field periodic_advertising_interval from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4339 * @param event packet 4340 * @return periodic_advertising_interval 4341 * @note: btstack_type 2 4342 */ 4343 static inline uint16_t gap_event_extended_advertising_report_get_periodic_advertising_interval(const uint8_t * event){ 4344 return little_endian_read_16(event, 16); 4345 } 4346 /** 4347 * @brief Get field direct_address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4348 * @param event packet 4349 * @return direct_address_type 4350 * @note: btstack_type 1 4351 */ 4352 static inline uint8_t gap_event_extended_advertising_report_get_direct_address_type(const uint8_t * event){ 4353 return event[18]; 4354 } 4355 /** 4356 * @brief Get field direct_address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4357 * @param event packet 4358 * @param Pointer to storage for direct_address 4359 * @note: btstack_type B 4360 */ 4361 static inline void gap_event_extended_advertising_report_get_direct_address(const uint8_t * event, bd_addr_t direct_address){ 4362 reverse_bytes(&event[19], direct_address, 6); 4363 } 4364 /** 4365 * @brief Get field data_length from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4366 * @param event packet 4367 * @return data_length 4368 * @note: btstack_type J 4369 */ 4370 static inline uint8_t gap_event_extended_advertising_report_get_data_length(const uint8_t * event){ 4371 return event[25]; 4372 } 4373 /** 4374 * @brief Get field data from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4375 * @param event packet 4376 * @return data 4377 * @note: btstack_type V 4378 */ 4379 static inline const uint8_t * gap_event_extended_advertising_report_get_data(const uint8_t * event){ 4380 return &event[26]; 4381 } 4382 4383 /** 4384 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 4385 * @param event packet 4386 * @param Pointer to storage for bd_addr 4387 * @note: btstack_type B 4388 */ 4389 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4390 reverse_bytes(&event[2], bd_addr, 6); 4391 } 4392 /** 4393 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 4394 * @param event packet 4395 * @return page_scan_repetition_mode 4396 * @note: btstack_type 1 4397 */ 4398 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 4399 return event[8]; 4400 } 4401 /** 4402 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 4403 * @param event packet 4404 * @return class_of_device 4405 * @note: btstack_type 3 4406 */ 4407 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 4408 return little_endian_read_24(event, 9); 4409 } 4410 /** 4411 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 4412 * @param event packet 4413 * @return clock_offset 4414 * @note: btstack_type 2 4415 */ 4416 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 4417 return little_endian_read_16(event, 12); 4418 } 4419 /** 4420 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 4421 * @param event packet 4422 * @return rssi_available 4423 * @note: btstack_type 1 4424 */ 4425 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 4426 return event[14]; 4427 } 4428 /** 4429 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 4430 * @param event packet 4431 * @return rssi 4432 * @note: btstack_type 1 4433 */ 4434 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 4435 return event[15]; 4436 } 4437 /** 4438 * @brief Get field device_id_available from event GAP_EVENT_INQUIRY_RESULT 4439 * @param event packet 4440 * @return device_id_available 4441 * @note: btstack_type 1 4442 */ 4443 static inline uint8_t gap_event_inquiry_result_get_device_id_available(const uint8_t * event){ 4444 return event[16]; 4445 } 4446 /** 4447 * @brief Get field device_id_vendor_id_source from event GAP_EVENT_INQUIRY_RESULT 4448 * @param event packet 4449 * @return device_id_vendor_id_source 4450 * @note: btstack_type 2 4451 */ 4452 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id_source(const uint8_t * event){ 4453 return little_endian_read_16(event, 17); 4454 } 4455 /** 4456 * @brief Get field device_id_vendor_id from event GAP_EVENT_INQUIRY_RESULT 4457 * @param event packet 4458 * @return device_id_vendor_id 4459 * @note: btstack_type 2 4460 */ 4461 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id(const uint8_t * event){ 4462 return little_endian_read_16(event, 19); 4463 } 4464 /** 4465 * @brief Get field device_id_product_id from event GAP_EVENT_INQUIRY_RESULT 4466 * @param event packet 4467 * @return device_id_product_id 4468 * @note: btstack_type 2 4469 */ 4470 static inline uint16_t gap_event_inquiry_result_get_device_id_product_id(const uint8_t * event){ 4471 return little_endian_read_16(event, 21); 4472 } 4473 /** 4474 * @brief Get field device_id_version from event GAP_EVENT_INQUIRY_RESULT 4475 * @param event packet 4476 * @return device_id_version 4477 * @note: btstack_type 2 4478 */ 4479 static inline uint16_t gap_event_inquiry_result_get_device_id_version(const uint8_t * event){ 4480 return little_endian_read_16(event, 23); 4481 } 4482 /** 4483 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 4484 * @param event packet 4485 * @return name_available 4486 * @note: btstack_type 1 4487 */ 4488 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 4489 return event[25]; 4490 } 4491 /** 4492 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 4493 * @param event packet 4494 * @return name_len 4495 * @note: btstack_type J 4496 */ 4497 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 4498 return event[26]; 4499 } 4500 /** 4501 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 4502 * @param event packet 4503 * @return name 4504 * @note: btstack_type V 4505 */ 4506 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 4507 return &event[27]; 4508 } 4509 4510 /** 4511 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 4512 * @param event packet 4513 * @return status 4514 * @note: btstack_type 1 4515 */ 4516 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 4517 return event[2]; 4518 } 4519 4520 /** 4521 * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT 4522 * @param event packet 4523 * @return con_handle 4524 * @note: btstack_type H 4525 */ 4526 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){ 4527 return little_endian_read_16(event, 2); 4528 } 4529 /** 4530 * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT 4531 * @param event packet 4532 * @return rssi 4533 * @note: btstack_type 1 4534 */ 4535 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){ 4536 return event[4]; 4537 } 4538 4539 /** 4540 * @brief Get field oob_data_present from event GAP_EVENT_LOCAL_OOB_DATA 4541 * @param event packet 4542 * @return oob_data_present 4543 * @note: btstack_type 1 4544 */ 4545 static inline uint8_t gap_event_local_oob_data_get_oob_data_present(const uint8_t * event){ 4546 return event[2]; 4547 } 4548 /** 4549 * @brief Get field c_192 from event GAP_EVENT_LOCAL_OOB_DATA 4550 * @param event packet 4551 * @param Pointer to storage for c_192 4552 * @note: btstack_type K 4553 */ 4554 static inline void gap_event_local_oob_data_get_c_192(const uint8_t * event, uint8_t * c_192){ 4555 reverse_bytes(&event[3], c_192, 16); 4556 } 4557 /** 4558 * @brief Get field r_192 from event GAP_EVENT_LOCAL_OOB_DATA 4559 * @param event packet 4560 * @param Pointer to storage for r_192 4561 * @note: btstack_type K 4562 */ 4563 static inline void gap_event_local_oob_data_get_r_192(const uint8_t * event, uint8_t * r_192){ 4564 reverse_bytes(&event[19], r_192, 16); 4565 } 4566 /** 4567 * @brief Get field c_256 from event GAP_EVENT_LOCAL_OOB_DATA 4568 * @param event packet 4569 * @param Pointer to storage for c_256 4570 * @note: btstack_type K 4571 */ 4572 static inline void gap_event_local_oob_data_get_c_256(const uint8_t * event, uint8_t * c_256){ 4573 reverse_bytes(&event[35], c_256, 16); 4574 } 4575 /** 4576 * @brief Get field r_256 from event GAP_EVENT_LOCAL_OOB_DATA 4577 * @param event packet 4578 * @param Pointer to storage for r_256 4579 * @note: btstack_type K 4580 */ 4581 static inline void gap_event_local_oob_data_get_r_256(const uint8_t * event, uint8_t * r_256){ 4582 reverse_bytes(&event[51], r_256, 16); 4583 } 4584 4585 /** 4586 * @brief Get field con_handle from event GAP_EVENT_PAIRING_STARTED 4587 * @param event packet 4588 * @return con_handle 4589 * @note: btstack_type H 4590 */ 4591 static inline hci_con_handle_t gap_event_pairing_started_get_con_handle(const uint8_t * event){ 4592 return little_endian_read_16(event, 2); 4593 } 4594 /** 4595 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_STARTED 4596 * @param event packet 4597 * @param Pointer to storage for bd_addr 4598 * @note: btstack_type B 4599 */ 4600 static inline void gap_event_pairing_started_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4601 reverse_bytes(&event[4], bd_addr, 6); 4602 } 4603 /** 4604 * @brief Get field ssp from event GAP_EVENT_PAIRING_STARTED 4605 * @param event packet 4606 * @return ssp 4607 * @note: btstack_type 1 4608 */ 4609 static inline uint8_t gap_event_pairing_started_get_ssp(const uint8_t * event){ 4610 return event[10]; 4611 } 4612 /** 4613 * @brief Get field initiator from event GAP_EVENT_PAIRING_STARTED 4614 * @param event packet 4615 * @return initiator 4616 * @note: btstack_type 1 4617 */ 4618 static inline uint8_t gap_event_pairing_started_get_initiator(const uint8_t * event){ 4619 return event[11]; 4620 } 4621 4622 /** 4623 * @brief Get field con_handle from event GAP_EVENT_PAIRING_COMPLETE 4624 * @param event packet 4625 * @return con_handle 4626 * @note: btstack_type H 4627 */ 4628 static inline hci_con_handle_t gap_event_pairing_complete_get_con_handle(const uint8_t * event){ 4629 return little_endian_read_16(event, 2); 4630 } 4631 /** 4632 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_COMPLETE 4633 * @param event packet 4634 * @param Pointer to storage for bd_addr 4635 * @note: btstack_type B 4636 */ 4637 static inline void gap_event_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4638 reverse_bytes(&event[4], bd_addr, 6); 4639 } 4640 /** 4641 * @brief Get field status from event GAP_EVENT_PAIRING_COMPLETE 4642 * @param event packet 4643 * @return status 4644 * @note: btstack_type 1 4645 */ 4646 static inline uint8_t gap_event_pairing_complete_get_status(const uint8_t * event){ 4647 return event[10]; 4648 } 4649 4650 /** 4651 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4652 * @param event packet 4653 * @return status 4654 * @note: btstack_type 1 4655 */ 4656 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 4657 return event[3]; 4658 } 4659 /** 4660 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4661 * @param event packet 4662 * @return connection_handle 4663 * @note: btstack_type H 4664 */ 4665 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 4666 return little_endian_read_16(event, 4); 4667 } 4668 /** 4669 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4670 * @param event packet 4671 * @return role 4672 * @note: btstack_type 1 4673 */ 4674 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 4675 return event[6]; 4676 } 4677 /** 4678 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4679 * @param event packet 4680 * @return peer_address_type 4681 * @note: btstack_type 1 4682 */ 4683 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 4684 return event[7]; 4685 } 4686 /** 4687 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4688 * @param event packet 4689 * @param Pointer to storage for peer_address 4690 * @note: btstack_type B 4691 */ 4692 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 4693 reverse_bytes(&event[8], peer_address, 6); 4694 } 4695 /** 4696 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4697 * @param event packet 4698 * @return conn_interval 4699 * @note: btstack_type 2 4700 */ 4701 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 4702 return little_endian_read_16(event, 14); 4703 } 4704 /** 4705 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4706 * @param event packet 4707 * @return conn_latency 4708 * @note: btstack_type 2 4709 */ 4710 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 4711 return little_endian_read_16(event, 16); 4712 } 4713 /** 4714 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4715 * @param event packet 4716 * @return supervision_timeout 4717 * @note: btstack_type 2 4718 */ 4719 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 4720 return little_endian_read_16(event, 18); 4721 } 4722 /** 4723 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4724 * @param event packet 4725 * @return master_clock_accuracy 4726 * @note: btstack_type 1 4727 */ 4728 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 4729 return event[20]; 4730 } 4731 4732 /** 4733 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4734 * @param event packet 4735 * @return status 4736 * @note: btstack_type 1 4737 */ 4738 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 4739 return event[3]; 4740 } 4741 /** 4742 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4743 * @param event packet 4744 * @return connection_handle 4745 * @note: btstack_type H 4746 */ 4747 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 4748 return little_endian_read_16(event, 4); 4749 } 4750 /** 4751 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4752 * @param event packet 4753 * @return conn_interval 4754 * @note: btstack_type 2 4755 */ 4756 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 4757 return little_endian_read_16(event, 6); 4758 } 4759 /** 4760 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4761 * @param event packet 4762 * @return conn_latency 4763 * @note: btstack_type 2 4764 */ 4765 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 4766 return little_endian_read_16(event, 8); 4767 } 4768 /** 4769 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4770 * @param event packet 4771 * @return supervision_timeout 4772 * @note: btstack_type 2 4773 */ 4774 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 4775 return little_endian_read_16(event, 10); 4776 } 4777 4778 /** 4779 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4780 * @param event packet 4781 * @return connection_handle 4782 * @note: btstack_type H 4783 */ 4784 static inline hci_con_handle_t hci_subevent_le_read_remote_features_complete_get_connection_handle(const uint8_t * event){ 4785 return little_endian_read_16(event, 3); 4786 } 4787 /** 4788 * @brief Get field le_features from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4789 * @param event packet 4790 * @return le_features 4791 * @note: btstack_type D 4792 */ 4793 static inline const uint8_t * hci_subevent_le_read_remote_features_complete_get_le_features(const uint8_t * event){ 4794 return (const uint8_t *) &event[5]; 4795 } 4796 4797 /** 4798 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4799 * @param event packet 4800 * @return connection_handle 4801 * @note: btstack_type H 4802 */ 4803 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 4804 return little_endian_read_16(event, 3); 4805 } 4806 /** 4807 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4808 * @param event packet 4809 * @return random_number 4810 * @note: btstack_type D 4811 */ 4812 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 4813 return (const uint8_t *) &event[5]; 4814 } 4815 /** 4816 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4817 * @param event packet 4818 * @return encryption_diversifier 4819 * @note: btstack_type 2 4820 */ 4821 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 4822 return little_endian_read_16(event, 13); 4823 } 4824 4825 /** 4826 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4827 * @param event packet 4828 * @return connection_handle 4829 * @note: btstack_type H 4830 */ 4831 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 4832 return little_endian_read_16(event, 3); 4833 } 4834 /** 4835 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4836 * @param event packet 4837 * @return interval_min 4838 * @note: btstack_type 2 4839 */ 4840 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 4841 return little_endian_read_16(event, 5); 4842 } 4843 /** 4844 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4845 * @param event packet 4846 * @return interval_max 4847 * @note: btstack_type 2 4848 */ 4849 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 4850 return little_endian_read_16(event, 7); 4851 } 4852 /** 4853 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4854 * @param event packet 4855 * @return latency 4856 * @note: btstack_type 2 4857 */ 4858 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 4859 return little_endian_read_16(event, 9); 4860 } 4861 /** 4862 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4863 * @param event packet 4864 * @return timeout 4865 * @note: btstack_type 2 4866 */ 4867 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 4868 return little_endian_read_16(event, 11); 4869 } 4870 4871 /** 4872 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4873 * @param event packet 4874 * @return connection_handle 4875 * @note: btstack_type H 4876 */ 4877 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 4878 return little_endian_read_16(event, 3); 4879 } 4880 /** 4881 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4882 * @param event packet 4883 * @return max_tx_octets 4884 * @note: btstack_type 2 4885 */ 4886 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 4887 return little_endian_read_16(event, 5); 4888 } 4889 /** 4890 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4891 * @param event packet 4892 * @return max_tx_time 4893 * @note: btstack_type 2 4894 */ 4895 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 4896 return little_endian_read_16(event, 7); 4897 } 4898 /** 4899 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4900 * @param event packet 4901 * @return max_rx_octets 4902 * @note: btstack_type 2 4903 */ 4904 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 4905 return little_endian_read_16(event, 9); 4906 } 4907 /** 4908 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4909 * @param event packet 4910 * @return max_rx_time 4911 * @note: btstack_type 2 4912 */ 4913 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 4914 return little_endian_read_16(event, 11); 4915 } 4916 4917 /** 4918 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4919 * @param event packet 4920 * @return status 4921 * @note: btstack_type 1 4922 */ 4923 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 4924 return event[3]; 4925 } 4926 /** 4927 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4928 * @param event packet 4929 * @param Pointer to storage for dhkey_x 4930 * @note: btstack_type Q 4931 */ 4932 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 4933 reverse_bytes(&event[4], dhkey_x, 32); 4934 } 4935 /** 4936 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4937 * @param event packet 4938 * @param Pointer to storage for dhkey_y 4939 * @note: btstack_type Q 4940 */ 4941 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 4942 reverse_bytes(&event[36], dhkey_y, 32); 4943 } 4944 4945 /** 4946 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4947 * @param event packet 4948 * @return status 4949 * @note: btstack_type 1 4950 */ 4951 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 4952 return event[3]; 4953 } 4954 /** 4955 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4956 * @param event packet 4957 * @param Pointer to storage for dhkey 4958 * @note: btstack_type Q 4959 */ 4960 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 4961 reverse_bytes(&event[4], dhkey, 32); 4962 } 4963 4964 /** 4965 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4966 * @param event packet 4967 * @return status 4968 * @note: btstack_type 1 4969 */ 4970 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_status(const uint8_t * event){ 4971 return event[3]; 4972 } 4973 /** 4974 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4975 * @param event packet 4976 * @return connection_handle 4977 * @note: btstack_type H 4978 */ 4979 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v1_get_connection_handle(const uint8_t * event){ 4980 return little_endian_read_16(event, 4); 4981 } 4982 /** 4983 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4984 * @param event packet 4985 * @return role 4986 * @note: btstack_type 1 4987 */ 4988 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_role(const uint8_t * event){ 4989 return event[6]; 4990 } 4991 /** 4992 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4993 * @param event packet 4994 * @return peer_address_type 4995 * @note: btstack_type 1 4996 */ 4997 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_peer_address_type(const uint8_t * event){ 4998 return event[7]; 4999 } 5000 /** 5001 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5002 * @param event packet 5003 * @param Pointer to storage for peer_addresss 5004 * @note: btstack_type B 5005 */ 5006 static inline void hci_subevent_le_enhanced_connection_complete_v1_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 5007 reverse_bytes(&event[8], peer_addresss, 6); 5008 } 5009 /** 5010 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5011 * @param event packet 5012 * @param Pointer to storage for local_resolvable_private_address 5013 * @note: btstack_type B 5014 */ 5015 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){ 5016 reverse_bytes(&event[14], local_resolvable_private_address, 6); 5017 } 5018 /** 5019 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5020 * @param event packet 5021 * @param Pointer to storage for peer_resolvable_private_address 5022 * @note: btstack_type B 5023 */ 5024 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){ 5025 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 5026 } 5027 /** 5028 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5029 * @param event packet 5030 * @return conn_interval 5031 * @note: btstack_type 2 5032 */ 5033 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_interval(const uint8_t * event){ 5034 return little_endian_read_16(event, 26); 5035 } 5036 /** 5037 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5038 * @param event packet 5039 * @return conn_latency 5040 * @note: btstack_type 2 5041 */ 5042 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_latency(const uint8_t * event){ 5043 return little_endian_read_16(event, 28); 5044 } 5045 /** 5046 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5047 * @param event packet 5048 * @return supervision_timeout 5049 * @note: btstack_type 2 5050 */ 5051 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_supervision_timeout(const uint8_t * event){ 5052 return little_endian_read_16(event, 30); 5053 } 5054 /** 5055 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5056 * @param event packet 5057 * @return master_clock_accuracy 5058 * @note: btstack_type 1 5059 */ 5060 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_master_clock_accuracy(const uint8_t * event){ 5061 return event[32]; 5062 } 5063 5064 /** 5065 * @brief Get field status from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 5066 * @param event packet 5067 * @return status 5068 * @note: btstack_type 1 5069 */ 5070 static inline uint8_t hci_subevent_le_phy_update_complete_get_status(const uint8_t * event){ 5071 return event[3]; 5072 } 5073 /** 5074 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 5075 * @param event packet 5076 * @return connection_handle 5077 * @note: btstack_type H 5078 */ 5079 static inline hci_con_handle_t hci_subevent_le_phy_update_complete_get_connection_handle(const uint8_t * event){ 5080 return little_endian_read_16(event, 4); 5081 } 5082 /** 5083 * @brief Get field tx_phy from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 5084 * @param event packet 5085 * @return tx_phy 5086 * @note: btstack_type 1 5087 */ 5088 static inline uint8_t hci_subevent_le_phy_update_complete_get_tx_phy(const uint8_t * event){ 5089 return event[6]; 5090 } 5091 5092 /** 5093 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5094 * @param event packet 5095 * @return status 5096 * @note: btstack_type 1 5097 */ 5098 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_status(const uint8_t * event){ 5099 return event[3]; 5100 } 5101 /** 5102 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5103 * @param event packet 5104 * @return sync_handle 5105 * @note: btstack_type H 5106 */ 5107 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_establishment_get_sync_handle(const uint8_t * event){ 5108 return little_endian_read_16(event, 4); 5109 } 5110 /** 5111 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5112 * @param event packet 5113 * @return advertising_sid 5114 * @note: btstack_type 1 5115 */ 5116 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertising_sid(const uint8_t * event){ 5117 return event[6]; 5118 } 5119 /** 5120 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5121 * @param event packet 5122 * @return advertiser_address_type 5123 * @note: btstack_type 1 5124 */ 5125 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address_type(const uint8_t * event){ 5126 return event[7]; 5127 } 5128 /** 5129 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5130 * @param event packet 5131 * @param Pointer to storage for advertiser_address 5132 * @note: btstack_type B 5133 */ 5134 static inline void hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5135 reverse_bytes(&event[8], advertiser_address, 6); 5136 } 5137 /** 5138 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5139 * @param event packet 5140 * @return advertiser_phy 5141 * @note: btstack_type 1 5142 */ 5143 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_phy(const uint8_t * event){ 5144 return event[14]; 5145 } 5146 /** 5147 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5148 * @param event packet 5149 * @return periodic_advertising_interval 5150 * @note: btstack_type 2 5151 */ 5152 static inline uint16_t hci_subevent_le_periodic_advertising_sync_establishment_get_periodic_advertising_interval(const uint8_t * event){ 5153 return little_endian_read_16(event, 15); 5154 } 5155 /** 5156 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5157 * @param event packet 5158 * @return advertiser_clock_accuracy 5159 * @note: btstack_type 1 5160 */ 5161 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_clock_accuracy(const uint8_t * event){ 5162 return event[17]; 5163 } 5164 5165 /** 5166 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5167 * @param event packet 5168 * @return sync_handle 5169 * @note: btstack_type H 5170 */ 5171 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_report_get_sync_handle(const uint8_t * event){ 5172 return little_endian_read_16(event, 3); 5173 } 5174 /** 5175 * @brief Get field tx_power from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5176 * @param event packet 5177 * @return tx_power 5178 * @note: btstack_type 1 5179 */ 5180 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_tx_power(const uint8_t * event){ 5181 return event[5]; 5182 } 5183 /** 5184 * @brief Get field rssi from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5185 * @param event packet 5186 * @return rssi 5187 * @note: btstack_type 1 5188 */ 5189 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_rssi(const uint8_t * event){ 5190 return event[6]; 5191 } 5192 /** 5193 * @brief Get field cte_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5194 * @param event packet 5195 * @return cte_type 5196 * @note: btstack_type 1 5197 */ 5198 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_cte_type(const uint8_t * event){ 5199 return event[7]; 5200 } 5201 /** 5202 * @brief Get field data_status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5203 * @param event packet 5204 * @return data_status 5205 * @note: btstack_type 1 5206 */ 5207 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_status(const uint8_t * event){ 5208 return event[8]; 5209 } 5210 /** 5211 * @brief Get field data_length from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5212 * @param event packet 5213 * @return data_length 5214 * @note: btstack_type J 5215 */ 5216 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_length(const uint8_t * event){ 5217 return event[9]; 5218 } 5219 /** 5220 * @brief Get field data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5221 * @param event packet 5222 * @return data 5223 * @note: btstack_type V 5224 */ 5225 static inline const uint8_t * hci_subevent_le_periodic_advertising_report_get_data(const uint8_t * event){ 5226 return &event[10]; 5227 } 5228 5229 /** 5230 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_LOST 5231 * @param event packet 5232 * @return sync_handle 5233 * @note: btstack_type H 5234 */ 5235 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_lost_get_sync_handle(const uint8_t * event){ 5236 return little_endian_read_16(event, 3); 5237 } 5238 5239 5240 /** 5241 * @brief Get field status from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5242 * @param event packet 5243 * @return status 5244 * @note: btstack_type 1 5245 */ 5246 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_status(const uint8_t * event){ 5247 return event[3]; 5248 } 5249 /** 5250 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5251 * @param event packet 5252 * @return advertising_handle 5253 * @note: btstack_type 1 5254 */ 5255 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_advertising_handle(const uint8_t * event){ 5256 return event[4]; 5257 } 5258 /** 5259 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5260 * @param event packet 5261 * @return connection_handle 5262 * @note: btstack_type H 5263 */ 5264 static inline hci_con_handle_t hci_subevent_le_advertising_set_terminated_get_connection_handle(const uint8_t * event){ 5265 return little_endian_read_16(event, 5); 5266 } 5267 /** 5268 * @brief Get field num_completed_exteneded_advertising_events from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5269 * @param event packet 5270 * @return num_completed_exteneded_advertising_events 5271 * @note: btstack_type 1 5272 */ 5273 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_num_completed_exteneded_advertising_events(const uint8_t * event){ 5274 return event[7]; 5275 } 5276 5277 /** 5278 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5279 * @param event packet 5280 * @return advertising_handle 5281 * @note: btstack_type 1 5282 */ 5283 static inline uint8_t hci_subevent_le_scan_request_received_get_advertising_handle(const uint8_t * event){ 5284 return event[3]; 5285 } 5286 /** 5287 * @brief Get field scanner_address_type from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5288 * @param event packet 5289 * @return scanner_address_type 5290 * @note: btstack_type 1 5291 */ 5292 static inline uint8_t hci_subevent_le_scan_request_received_get_scanner_address_type(const uint8_t * event){ 5293 return event[4]; 5294 } 5295 /** 5296 * @brief Get field scanner_address from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5297 * @param event packet 5298 * @param Pointer to storage for scanner_address 5299 * @note: btstack_type B 5300 */ 5301 static inline void hci_subevent_le_scan_request_received_get_scanner_address(const uint8_t * event, bd_addr_t scanner_address){ 5302 reverse_bytes(&event[5], scanner_address, 6); 5303 } 5304 5305 /** 5306 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 5307 * @param event packet 5308 * @return connection_handle 5309 * @note: btstack_type H 5310 */ 5311 static inline hci_con_handle_t hci_subevent_le_channel_selection_algorithm_get_connection_handle(const uint8_t * event){ 5312 return little_endian_read_16(event, 3); 5313 } 5314 /** 5315 * @brief Get field channel_selection_algorithm from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 5316 * @param event packet 5317 * @return channel_selection_algorithm 5318 * @note: btstack_type 1 5319 */ 5320 static inline uint8_t hci_subevent_le_channel_selection_algorithm_get_channel_selection_algorithm(const uint8_t * event){ 5321 return event[5]; 5322 } 5323 5324 /** 5325 * @brief Get field status from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5326 * @param event packet 5327 * @return status 5328 * @note: btstack_type 1 5329 */ 5330 static inline uint8_t hci_subevent_le_le_cte_request_failed_get_status(const uint8_t * event){ 5331 return event[3]; 5332 } 5333 /** 5334 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5335 * @param event packet 5336 * @return connection_handle 5337 * @note: btstack_type H 5338 */ 5339 static inline hci_con_handle_t hci_subevent_le_le_cte_request_failed_get_connection_handle(const uint8_t * event){ 5340 return little_endian_read_16(event, 4); 5341 } 5342 5343 /** 5344 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5345 * @param event packet 5346 * @return status 5347 * @note: btstack_type 1 5348 */ 5349 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_status(const uint8_t * event){ 5350 return event[3]; 5351 } 5352 /** 5353 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5354 * @param event packet 5355 * @return connection_handle 5356 * @note: btstack_type H 5357 */ 5358 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_connection_handle(const uint8_t * event){ 5359 return little_endian_read_16(event, 4); 5360 } 5361 /** 5362 * @brief Get field service_data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5363 * @param event packet 5364 * @return service_data 5365 * @note: btstack_type 2 5366 */ 5367 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_service_data(const uint8_t * event){ 5368 return little_endian_read_16(event, 6); 5369 } 5370 /** 5371 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5372 * @param event packet 5373 * @return sync_handle 5374 * @note: btstack_type H 5375 */ 5376 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_sync_handle(const uint8_t * event){ 5377 return little_endian_read_16(event, 8); 5378 } 5379 /** 5380 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5381 * @param event packet 5382 * @return advertising_sid 5383 * @note: btstack_type 1 5384 */ 5385 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertising_sid(const uint8_t * event){ 5386 return event[10]; 5387 } 5388 /** 5389 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5390 * @param event packet 5391 * @return advertiser_address_type 5392 * @note: btstack_type 1 5393 */ 5394 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address_type(const uint8_t * event){ 5395 return event[11]; 5396 } 5397 /** 5398 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5399 * @param event packet 5400 * @param Pointer to storage for advertiser_address 5401 * @note: btstack_type B 5402 */ 5403 static inline void hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5404 reverse_bytes(&event[12], advertiser_address, 6); 5405 } 5406 /** 5407 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5408 * @param event packet 5409 * @return advertiser_phy 5410 * @note: btstack_type 1 5411 */ 5412 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_phy(const uint8_t * event){ 5413 return event[18]; 5414 } 5415 /** 5416 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5417 * @param event packet 5418 * @return periodic_advertising_interval 5419 * @note: btstack_type 2 5420 */ 5421 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_periodic_advertising_interval(const uint8_t * event){ 5422 return little_endian_read_16(event, 19); 5423 } 5424 /** 5425 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5426 * @param event packet 5427 * @return advertiser_clock_accuracy 5428 * @note: btstack_type 1 5429 */ 5430 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_clock_accuracy(const uint8_t * event){ 5431 return event[21]; 5432 } 5433 5434 /** 5435 * @brief Get field status from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5436 * @param event packet 5437 * @return status 5438 * @note: btstack_type 1 5439 */ 5440 static inline uint8_t hci_subevent_le_cis_established_get_status(const uint8_t * event){ 5441 return event[3]; 5442 } 5443 /** 5444 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5445 * @param event packet 5446 * @return connection_handle 5447 * @note: btstack_type H 5448 */ 5449 static inline hci_con_handle_t hci_subevent_le_cis_established_get_connection_handle(const uint8_t * event){ 5450 return little_endian_read_16(event, 4); 5451 } 5452 /** 5453 * @brief Get field cig_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5454 * @param event packet 5455 * @return cig_sync_delay 5456 * @note: btstack_type 3 5457 */ 5458 static inline uint32_t hci_subevent_le_cis_established_get_cig_sync_delay(const uint8_t * event){ 5459 return little_endian_read_24(event, 6); 5460 } 5461 /** 5462 * @brief Get field cis_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5463 * @param event packet 5464 * @return cis_sync_delay 5465 * @note: btstack_type 3 5466 */ 5467 static inline uint32_t hci_subevent_le_cis_established_get_cis_sync_delay(const uint8_t * event){ 5468 return little_endian_read_24(event, 9); 5469 } 5470 /** 5471 * @brief Get field transport_latency_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5472 * @param event packet 5473 * @return transport_latency_c_to_p 5474 * @note: btstack_type 3 5475 */ 5476 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_c_to_p(const uint8_t * event){ 5477 return little_endian_read_24(event, 12); 5478 } 5479 /** 5480 * @brief Get field transport_latency_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5481 * @param event packet 5482 * @return transport_latency_p_to_c 5483 * @note: btstack_type 3 5484 */ 5485 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_p_to_c(const uint8_t * event){ 5486 return little_endian_read_24(event, 15); 5487 } 5488 /** 5489 * @brief Get field phy_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5490 * @param event packet 5491 * @return phy_c_to_p 5492 * @note: btstack_type 1 5493 */ 5494 static inline uint8_t hci_subevent_le_cis_established_get_phy_c_to_p(const uint8_t * event){ 5495 return event[18]; 5496 } 5497 /** 5498 * @brief Get field phy_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5499 * @param event packet 5500 * @return phy_p_to_c 5501 * @note: btstack_type 1 5502 */ 5503 static inline uint8_t hci_subevent_le_cis_established_get_phy_p_to_c(const uint8_t * event){ 5504 return event[19]; 5505 } 5506 /** 5507 * @brief Get field nse from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5508 * @param event packet 5509 * @return nse 5510 * @note: btstack_type 1 5511 */ 5512 static inline uint8_t hci_subevent_le_cis_established_get_nse(const uint8_t * event){ 5513 return event[20]; 5514 } 5515 /** 5516 * @brief Get field bn_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5517 * @param event packet 5518 * @return bn_c_to_p 5519 * @note: btstack_type 1 5520 */ 5521 static inline uint8_t hci_subevent_le_cis_established_get_bn_c_to_p(const uint8_t * event){ 5522 return event[21]; 5523 } 5524 /** 5525 * @brief Get field bn_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5526 * @param event packet 5527 * @return bn_p_to_c 5528 * @note: btstack_type 1 5529 */ 5530 static inline uint8_t hci_subevent_le_cis_established_get_bn_p_to_c(const uint8_t * event){ 5531 return event[22]; 5532 } 5533 /** 5534 * @brief Get field ft_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5535 * @param event packet 5536 * @return ft_c_to_p 5537 * @note: btstack_type 1 5538 */ 5539 static inline uint8_t hci_subevent_le_cis_established_get_ft_c_to_p(const uint8_t * event){ 5540 return event[23]; 5541 } 5542 /** 5543 * @brief Get field ft_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5544 * @param event packet 5545 * @return ft_p_to_c 5546 * @note: btstack_type 1 5547 */ 5548 static inline uint8_t hci_subevent_le_cis_established_get_ft_p_to_c(const uint8_t * event){ 5549 return event[24]; 5550 } 5551 /** 5552 * @brief Get field max_pdu_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5553 * @param event packet 5554 * @return max_pdu_c_to_p 5555 * @note: btstack_type 2 5556 */ 5557 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_c_to_p(const uint8_t * event){ 5558 return little_endian_read_16(event, 25); 5559 } 5560 /** 5561 * @brief Get field max_pdu_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5562 * @param event packet 5563 * @return max_pdu_p_to_c 5564 * @note: btstack_type 2 5565 */ 5566 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_p_to_c(const uint8_t * event){ 5567 return little_endian_read_16(event, 27); 5568 } 5569 /** 5570 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5571 * @param event packet 5572 * @return iso_interval 5573 * @note: btstack_type 2 5574 */ 5575 static inline uint16_t hci_subevent_le_cis_established_get_iso_interval(const uint8_t * event){ 5576 return little_endian_read_16(event, 29); 5577 } 5578 5579 /** 5580 * @brief Get field acl_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5581 * @param event packet 5582 * @return acl_connection_handle 5583 * @note: btstack_type H 5584 */ 5585 static inline hci_con_handle_t hci_subevent_le_cis_request_get_acl_connection_handle(const uint8_t * event){ 5586 return little_endian_read_16(event, 3); 5587 } 5588 /** 5589 * @brief Get field cis_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5590 * @param event packet 5591 * @return cis_connection_handle 5592 * @note: btstack_type H 5593 */ 5594 static inline hci_con_handle_t hci_subevent_le_cis_request_get_cis_connection_handle(const uint8_t * event){ 5595 return little_endian_read_16(event, 5); 5596 } 5597 /** 5598 * @brief Get field cig_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5599 * @param event packet 5600 * @return cig_id 5601 * @note: btstack_type 1 5602 */ 5603 static inline uint8_t hci_subevent_le_cis_request_get_cig_id(const uint8_t * event){ 5604 return event[7]; 5605 } 5606 /** 5607 * @brief Get field cis_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5608 * @param event packet 5609 * @return cis_id 5610 * @note: btstack_type 1 5611 */ 5612 static inline uint8_t hci_subevent_le_cis_request_get_cis_id(const uint8_t * event){ 5613 return event[8]; 5614 } 5615 5616 /** 5617 * @brief Get field big_handle from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5618 * @param event packet 5619 * @return big_handle 5620 * @note: btstack_type 1 5621 */ 5622 static inline uint8_t hci_subevent_le_terminate_big_complete_get_big_handle(const uint8_t * event){ 5623 return event[3]; 5624 } 5625 /** 5626 * @brief Get field reason from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5627 * @param event packet 5628 * @return reason 5629 * @note: btstack_type 1 5630 */ 5631 static inline uint8_t hci_subevent_le_terminate_big_complete_get_reason(const uint8_t * event){ 5632 return event[4]; 5633 } 5634 5635 /** 5636 * @brief Get field big_handle from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5637 * @param event packet 5638 * @return big_handle 5639 * @note: btstack_type 1 5640 */ 5641 static inline uint8_t hci_subevent_le_big_sync_lost_get_big_handle(const uint8_t * event){ 5642 return event[3]; 5643 } 5644 /** 5645 * @brief Get field reason from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5646 * @param event packet 5647 * @return reason 5648 * @note: btstack_type 1 5649 */ 5650 static inline uint8_t hci_subevent_le_big_sync_lost_get_reason(const uint8_t * event){ 5651 return event[4]; 5652 } 5653 5654 /** 5655 * @brief Get field status from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5656 * @param event packet 5657 * @return status 5658 * @note: btstack_type 1 5659 */ 5660 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_status(const uint8_t * event){ 5661 return event[3]; 5662 } 5663 /** 5664 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5665 * @param event packet 5666 * @return connection_handle 5667 * @note: btstack_type H 5668 */ 5669 static inline hci_con_handle_t hci_subevent_le_request_peer_sca_complete_get_connection_handle(const uint8_t * event){ 5670 return little_endian_read_16(event, 4); 5671 } 5672 /** 5673 * @brief Get field peer_clock_accuracy from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5674 * @param event packet 5675 * @return peer_clock_accuracy 5676 * @note: btstack_type 1 5677 */ 5678 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_peer_clock_accuracy(const uint8_t * event){ 5679 return event[6]; 5680 } 5681 5682 /** 5683 * @brief Get field status from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5684 * @param event packet 5685 * @return status 5686 * @note: btstack_type 1 5687 */ 5688 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_status(const uint8_t * event){ 5689 return event[3]; 5690 } 5691 /** 5692 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5693 * @param event packet 5694 * @return connection_handle 5695 * @note: btstack_type H 5696 */ 5697 static inline hci_con_handle_t hci_subevent_le_transmit_power_reporting_get_connection_handle(const uint8_t * event){ 5698 return little_endian_read_16(event, 4); 5699 } 5700 /** 5701 * @brief Get field reason from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5702 * @param event packet 5703 * @return reason 5704 * @note: btstack_type 1 5705 */ 5706 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_reason(const uint8_t * event){ 5707 return event[6]; 5708 } 5709 /** 5710 * @brief Get field phy from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5711 * @param event packet 5712 * @return phy 5713 * @note: btstack_type 1 5714 */ 5715 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_phy(const uint8_t * event){ 5716 return event[7]; 5717 } 5718 /** 5719 * @brief Get field tx_power_level from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5720 * @param event packet 5721 * @return tx_power_level 5722 * @note: btstack_type 1 5723 */ 5724 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level(const uint8_t * event){ 5725 return event[8]; 5726 } 5727 /** 5728 * @brief Get field tx_power_level_flag from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5729 * @param event packet 5730 * @return tx_power_level_flag 5731 * @note: btstack_type 1 5732 */ 5733 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level_flag(const uint8_t * event){ 5734 return event[9]; 5735 } 5736 /** 5737 * @brief Get field delta from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5738 * @param event packet 5739 * @return delta 5740 * @note: btstack_type 1 5741 */ 5742 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_delta(const uint8_t * event){ 5743 return event[10]; 5744 } 5745 5746 /** 5747 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5748 * @param event packet 5749 * @return sync_handle 5750 * @note: btstack_type H 5751 */ 5752 static inline hci_con_handle_t hci_subevent_le_biginfo_advertising_report_get_sync_handle(const uint8_t * event){ 5753 return little_endian_read_16(event, 3); 5754 } 5755 /** 5756 * @brief Get field num_bis from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5757 * @param event packet 5758 * @return num_bis 5759 * @note: btstack_type 1 5760 */ 5761 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_num_bis(const uint8_t * event){ 5762 return event[5]; 5763 } 5764 /** 5765 * @brief Get field nse from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5766 * @param event packet 5767 * @return nse 5768 * @note: btstack_type 1 5769 */ 5770 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_nse(const uint8_t * event){ 5771 return event[6]; 5772 } 5773 /** 5774 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5775 * @param event packet 5776 * @return iso_interval 5777 * @note: btstack_type 2 5778 */ 5779 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_iso_interval(const uint8_t * event){ 5780 return little_endian_read_16(event, 7); 5781 } 5782 /** 5783 * @brief Get field bn from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5784 * @param event packet 5785 * @return bn 5786 * @note: btstack_type 1 5787 */ 5788 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_bn(const uint8_t * event){ 5789 return event[9]; 5790 } 5791 /** 5792 * @brief Get field pto from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5793 * @param event packet 5794 * @return pto 5795 * @note: btstack_type 1 5796 */ 5797 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_pto(const uint8_t * event){ 5798 return event[10]; 5799 } 5800 /** 5801 * @brief Get field irc from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5802 * @param event packet 5803 * @return irc 5804 * @note: btstack_type 1 5805 */ 5806 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_irc(const uint8_t * event){ 5807 return event[11]; 5808 } 5809 /** 5810 * @brief Get field max_pdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5811 * @param event packet 5812 * @return max_pdu 5813 * @note: btstack_type 2 5814 */ 5815 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_pdu(const uint8_t * event){ 5816 return little_endian_read_16(event, 12); 5817 } 5818 /** 5819 * @brief Get field sdu_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5820 * @param event packet 5821 * @return sdu_interval 5822 * @note: btstack_type 3 5823 */ 5824 static inline uint32_t hci_subevent_le_biginfo_advertising_report_get_sdu_interval(const uint8_t * event){ 5825 return little_endian_read_24(event, 14); 5826 } 5827 /** 5828 * @brief Get field max_sdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5829 * @param event packet 5830 * @return max_sdu 5831 * @note: btstack_type 2 5832 */ 5833 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_sdu(const uint8_t * event){ 5834 return little_endian_read_16(event, 17); 5835 } 5836 /** 5837 * @brief Get field phy from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5838 * @param event packet 5839 * @return phy 5840 * @note: btstack_type 1 5841 */ 5842 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_phy(const uint8_t * event){ 5843 return event[19]; 5844 } 5845 /** 5846 * @brief Get field framing from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5847 * @param event packet 5848 * @return framing 5849 * @note: btstack_type 1 5850 */ 5851 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_framing(const uint8_t * event){ 5852 return event[20]; 5853 } 5854 /** 5855 * @brief Get field encryption from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5856 * @param event packet 5857 * @return encryption 5858 * @note: btstack_type 1 5859 */ 5860 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_encryption(const uint8_t * event){ 5861 return event[21]; 5862 } 5863 5864 /** 5865 * @brief Get field status from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5866 * @param event packet 5867 * @return status 5868 * @note: btstack_type 1 5869 */ 5870 static inline uint8_t hci_subevent_le_subrate_change_get_status(const uint8_t * event){ 5871 return event[3]; 5872 } 5873 /** 5874 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5875 * @param event packet 5876 * @return connection_handle 5877 * @note: btstack_type H 5878 */ 5879 static inline hci_con_handle_t hci_subevent_le_subrate_change_get_connection_handle(const uint8_t * event){ 5880 return little_endian_read_16(event, 4); 5881 } 5882 /** 5883 * @brief Get field subrate_factor from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5884 * @param event packet 5885 * @return subrate_factor 5886 * @note: btstack_type 2 5887 */ 5888 static inline uint16_t hci_subevent_le_subrate_change_get_subrate_factor(const uint8_t * event){ 5889 return little_endian_read_16(event, 6); 5890 } 5891 /** 5892 * @brief Get field peripheral_latency from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5893 * @param event packet 5894 * @return peripheral_latency 5895 * @note: btstack_type 2 5896 */ 5897 static inline uint16_t hci_subevent_le_subrate_change_get_peripheral_latency(const uint8_t * event){ 5898 return little_endian_read_16(event, 8); 5899 } 5900 /** 5901 * @brief Get field continuation_number from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5902 * @param event packet 5903 * @return continuation_number 5904 * @note: btstack_type 2 5905 */ 5906 static inline uint16_t hci_subevent_le_subrate_change_get_continuation_number(const uint8_t * event){ 5907 return little_endian_read_16(event, 10); 5908 } 5909 /** 5910 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5911 * @param event packet 5912 * @return supervision_timeout 5913 * @note: btstack_type 2 5914 */ 5915 static inline uint16_t hci_subevent_le_subrate_change_get_supervision_timeout(const uint8_t * event){ 5916 return little_endian_read_16(event, 12); 5917 } 5918 5919 /** 5920 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5921 * @param event packet 5922 * @return advertising_handle 5923 * @note: btstack_type 1 5924 */ 5925 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_advertising_handle(const uint8_t * event){ 5926 return event[3]; 5927 } 5928 /** 5929 * @brief Get field subevent_start from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5930 * @param event packet 5931 * @return subevent_start 5932 * @note: btstack_type 1 5933 */ 5934 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_start(const uint8_t * event){ 5935 return event[4]; 5936 } 5937 /** 5938 * @brief Get field subevent_data_count from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5939 * @param event packet 5940 * @return subevent_data_count 5941 * @note: btstack_type 1 5942 */ 5943 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_data_count(const uint8_t * event){ 5944 return event[5]; 5945 } 5946 5947 /** 5948 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5949 * @param event packet 5950 * @return status 5951 * @note: btstack_type 1 5952 */ 5953 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_status(const uint8_t * event){ 5954 return event[3]; 5955 } 5956 /** 5957 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5958 * @param event packet 5959 * @return connection_handle 5960 * @note: btstack_type H 5961 */ 5962 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_connection_handle(const uint8_t * event){ 5963 return little_endian_read_16(event, 4); 5964 } 5965 /** 5966 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5967 * @param event packet 5968 * @return role 5969 * @note: btstack_type 1 5970 */ 5971 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_role(const uint8_t * event){ 5972 return event[6]; 5973 } 5974 /** 5975 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5976 * @param event packet 5977 * @return peer_address_type 5978 * @note: btstack_type 1 5979 */ 5980 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_peer_address_type(const uint8_t * event){ 5981 return event[7]; 5982 } 5983 /** 5984 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5985 * @param event packet 5986 * @param Pointer to storage for peer_addresss 5987 * @note: btstack_type B 5988 */ 5989 static inline void hci_subevent_le_enhanced_connection_complete_v2_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 5990 reverse_bytes(&event[8], peer_addresss, 6); 5991 } 5992 /** 5993 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5994 * @param event packet 5995 * @param Pointer to storage for local_resolvable_private_address 5996 * @note: btstack_type B 5997 */ 5998 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){ 5999 reverse_bytes(&event[14], local_resolvable_private_address, 6); 6000 } 6001 /** 6002 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6003 * @param event packet 6004 * @param Pointer to storage for peer_resolvable_private_address 6005 * @note: btstack_type B 6006 */ 6007 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){ 6008 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 6009 } 6010 /** 6011 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6012 * @param event packet 6013 * @return conn_interval 6014 * @note: btstack_type 2 6015 */ 6016 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_interval(const uint8_t * event){ 6017 return little_endian_read_16(event, 26); 6018 } 6019 /** 6020 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6021 * @param event packet 6022 * @return conn_latency 6023 * @note: btstack_type 2 6024 */ 6025 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_latency(const uint8_t * event){ 6026 return little_endian_read_16(event, 28); 6027 } 6028 /** 6029 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6030 * @param event packet 6031 * @return supervision_timeout 6032 * @note: btstack_type 2 6033 */ 6034 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_supervision_timeout(const uint8_t * event){ 6035 return little_endian_read_16(event, 30); 6036 } 6037 /** 6038 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6039 * @param event packet 6040 * @return master_clock_accuracy 6041 * @note: btstack_type 1 6042 */ 6043 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_master_clock_accuracy(const uint8_t * event){ 6044 return event[32]; 6045 } 6046 /** 6047 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6048 * @param event packet 6049 * @return advertising_handle 6050 * @note: btstack_type 1 6051 */ 6052 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_advertising_handle(const uint8_t * event){ 6053 return event[33]; 6054 } 6055 /** 6056 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6057 * @param event packet 6058 * @return sync_handle 6059 * @note: btstack_type H 6060 */ 6061 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_sync_handle(const uint8_t * event){ 6062 return little_endian_read_16(event, 34); 6063 } 6064 6065 /** 6066 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 6067 * @param event packet 6068 * @return advertisement_handle 6069 * @note: btstack_type 1 6070 */ 6071 static inline uint8_t gap_subevent_advertising_set_installed_get_advertisement_handle(const uint8_t * event){ 6072 return event[3]; 6073 } 6074 /** 6075 * @brief Get field status from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 6076 * @param event packet 6077 * @return status 6078 * @note: btstack_type 1 6079 */ 6080 static inline uint8_t gap_subevent_advertising_set_installed_get_status(const uint8_t * event){ 6081 return event[4]; 6082 } 6083 /** 6084 * @brief Get field selected_tx_power from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 6085 * @param event packet 6086 * @return selected_tx_power 6087 * @note: btstack_type 1 6088 */ 6089 static inline uint8_t gap_subevent_advertising_set_installed_get_selected_tx_power(const uint8_t * event){ 6090 return event[5]; 6091 } 6092 6093 /** 6094 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_REMOVED 6095 * @param event packet 6096 * @return advertisement_handle 6097 * @note: btstack_type 1 6098 */ 6099 static inline uint8_t gap_subevent_advertising_set_removed_get_advertisement_handle(const uint8_t * event){ 6100 return event[3]; 6101 } 6102 6103 /** 6104 * @brief Get field status from event GAP_SUBEVENT_BIG_CREATED 6105 * @param event packet 6106 * @return status 6107 * @note: btstack_type 1 6108 */ 6109 static inline uint8_t gap_subevent_big_created_get_status(const uint8_t * event){ 6110 return event[3]; 6111 } 6112 /** 6113 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_CREATED 6114 * @param event packet 6115 * @return big_handle 6116 * @note: btstack_type 1 6117 */ 6118 static inline uint8_t gap_subevent_big_created_get_big_handle(const uint8_t * event){ 6119 return event[4]; 6120 } 6121 /** 6122 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_CREATED 6123 * @param event packet 6124 * @return num_bis 6125 * @note: btstack_type 1 6126 */ 6127 static inline uint8_t gap_subevent_big_created_get_num_bis(const uint8_t * event){ 6128 return event[5]; 6129 } 6130 /** 6131 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_CREATED 6132 * @param event packet 6133 * @param index 6134 * @return bis_con_handles 6135 * @note: btstack_type C 6136 */ 6137 static inline uint16_t gap_subevent_big_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 6138 return little_endian_read_16(event, 6 + (2 * (int) index)); 6139 } 6140 6141 /** 6142 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_TERMINATED 6143 * @param event packet 6144 * @return big_handle 6145 * @note: btstack_type 1 6146 */ 6147 static inline uint8_t gap_subevent_big_terminated_get_big_handle(const uint8_t * event){ 6148 return event[3]; 6149 } 6150 6151 /** 6152 * @brief Get field status from event GAP_SUBEVENT_BIG_SYNC_CREATED 6153 * @param event packet 6154 * @return status 6155 * @note: btstack_type 1 6156 */ 6157 static inline uint8_t gap_subevent_big_sync_created_get_status(const uint8_t * event){ 6158 return event[3]; 6159 } 6160 /** 6161 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_CREATED 6162 * @param event packet 6163 * @return big_handle 6164 * @note: btstack_type 1 6165 */ 6166 static inline uint8_t gap_subevent_big_sync_created_get_big_handle(const uint8_t * event){ 6167 return event[4]; 6168 } 6169 /** 6170 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_SYNC_CREATED 6171 * @param event packet 6172 * @return num_bis 6173 * @note: btstack_type 1 6174 */ 6175 static inline uint8_t gap_subevent_big_sync_created_get_num_bis(const uint8_t * event){ 6176 return event[5]; 6177 } 6178 /** 6179 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_SYNC_CREATED 6180 * @param event packet 6181 * @param index 6182 * @return bis_con_handles 6183 * @note: btstack_type C 6184 */ 6185 static inline uint16_t gap_subevent_big_sync_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 6186 return little_endian_read_16(event, 6 + (2 * (int) index)); 6187 } 6188 6189 /** 6190 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_STOPPED 6191 * @param event packet 6192 * @return big_handle 6193 * @note: btstack_type 1 6194 */ 6195 static inline uint8_t gap_subevent_big_sync_stopped_get_big_handle(const uint8_t * event){ 6196 return event[3]; 6197 } 6198 6199 /** 6200 * @brief Get field status from event GAP_SUBEVENT_CIG_CREATED 6201 * @param event packet 6202 * @return status 6203 * @note: btstack_type 1 6204 */ 6205 static inline uint8_t gap_subevent_cig_created_get_status(const uint8_t * event){ 6206 return event[3]; 6207 } 6208 /** 6209 * @brief Get field cig_id from event GAP_SUBEVENT_CIG_CREATED 6210 * @param event packet 6211 * @return cig_id 6212 * @note: btstack_type 1 6213 */ 6214 static inline uint8_t gap_subevent_cig_created_get_cig_id(const uint8_t * event){ 6215 return event[4]; 6216 } 6217 /** 6218 * @brief Get field num_cis from event GAP_SUBEVENT_CIG_CREATED 6219 * @param event packet 6220 * @return num_cis 6221 * @note: btstack_type 1 6222 */ 6223 static inline uint8_t gap_subevent_cig_created_get_num_cis(const uint8_t * event){ 6224 return event[5]; 6225 } 6226 /** 6227 * @brief Get element of array field cis_con_handles from event GAP_SUBEVENT_CIG_CREATED 6228 * @param event packet 6229 * @param index 6230 * @return cis_con_handles 6231 * @note: btstack_type C 6232 */ 6233 static inline uint16_t gap_subevent_cig_created_get_cis_con_handles(const uint8_t * event, uint8_t index){ 6234 return little_endian_read_16(event, 6 + (2 * (int) index)); 6235 } 6236 6237 /** 6238 * @brief Get field status from event GAP_SUBEVENT_CIS_CREATED 6239 * @param event packet 6240 * @return status 6241 * @note: btstack_type 1 6242 */ 6243 static inline uint8_t gap_subevent_cis_created_get_status(const uint8_t * event){ 6244 return event[3]; 6245 } 6246 /** 6247 * @brief Get field cig_id from event GAP_SUBEVENT_CIS_CREATED 6248 * @param event packet 6249 * @return cig_id 6250 * @note: btstack_type 1 6251 */ 6252 static inline uint8_t gap_subevent_cis_created_get_cig_id(const uint8_t * event){ 6253 return event[4]; 6254 } 6255 /** 6256 * @brief Get field cis_id from event GAP_SUBEVENT_CIS_CREATED 6257 * @param event packet 6258 * @return cis_id 6259 * @note: btstack_type 1 6260 */ 6261 static inline uint8_t gap_subevent_cis_created_get_cis_id(const uint8_t * event){ 6262 return event[5]; 6263 } 6264 /** 6265 * @brief Get field cis_con_handle from event GAP_SUBEVENT_CIS_CREATED 6266 * @param event packet 6267 * @return cis_con_handle 6268 * @note: btstack_type H 6269 */ 6270 static inline hci_con_handle_t gap_subevent_cis_created_get_cis_con_handle(const uint8_t * event){ 6271 return little_endian_read_16(event, 6); 6272 } 6273 /** 6274 * @brief Get field acl_con_handle from event GAP_SUBEVENT_CIS_CREATED 6275 * @param event packet 6276 * @return acl_con_handle 6277 * @note: btstack_type H 6278 */ 6279 static inline hci_con_handle_t gap_subevent_cis_created_get_acl_con_handle(const uint8_t * event){ 6280 return little_endian_read_16(event, 8); 6281 } 6282 /** 6283 * @brief Get field iso_interval_1250us from event GAP_SUBEVENT_CIS_CREATED 6284 * @param event packet 6285 * @return iso_interval_1250us 6286 * @note: btstack_type 2 6287 */ 6288 static inline uint16_t gap_subevent_cis_created_get_iso_interval_1250us(const uint8_t * event){ 6289 return little_endian_read_16(event, 10); 6290 } 6291 /** 6292 * @brief Get field number_of_subevents from event GAP_SUBEVENT_CIS_CREATED 6293 * @param event packet 6294 * @return number_of_subevents 6295 * @note: btstack_type 1 6296 */ 6297 static inline uint8_t gap_subevent_cis_created_get_number_of_subevents(const uint8_t * event){ 6298 return event[12]; 6299 } 6300 /** 6301 * @brief Get field burst_number_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6302 * @param event packet 6303 * @return burst_number_c_to_p 6304 * @note: btstack_type 1 6305 */ 6306 static inline uint8_t gap_subevent_cis_created_get_burst_number_c_to_p(const uint8_t * event){ 6307 return event[13]; 6308 } 6309 /** 6310 * @brief Get field burst_number_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6311 * @param event packet 6312 * @return burst_number_p_to_c 6313 * @note: btstack_type 1 6314 */ 6315 static inline uint8_t gap_subevent_cis_created_get_burst_number_p_to_c(const uint8_t * event){ 6316 return event[14]; 6317 } 6318 /** 6319 * @brief Get field flush_timeout_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6320 * @param event packet 6321 * @return flush_timeout_c_to_p 6322 * @note: btstack_type 1 6323 */ 6324 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_c_to_p(const uint8_t * event){ 6325 return event[15]; 6326 } 6327 /** 6328 * @brief Get field flush_timeout_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6329 * @param event packet 6330 * @return flush_timeout_p_to_c 6331 * @note: btstack_type 1 6332 */ 6333 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_p_to_c(const uint8_t * event){ 6334 return event[16]; 6335 } 6336 6337 /** 6338 * @brief Get field status from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6339 * @param event packet 6340 * @return status 6341 * @note: btstack_type 1 6342 */ 6343 static inline uint8_t gap_subevent_le_connection_complete_get_status(const uint8_t * event){ 6344 return event[3]; 6345 } 6346 /** 6347 * @brief Get field connection_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6348 * @param event packet 6349 * @return connection_handle 6350 * @note: btstack_type H 6351 */ 6352 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 6353 return little_endian_read_16(event, 4); 6354 } 6355 /** 6356 * @brief Get field role from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6357 * @param event packet 6358 * @return role 6359 * @note: btstack_type 1 6360 */ 6361 static inline uint8_t gap_subevent_le_connection_complete_get_role(const uint8_t * event){ 6362 return event[6]; 6363 } 6364 /** 6365 * @brief Get field peer_address_type from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6366 * @param event packet 6367 * @return peer_address_type 6368 * @note: btstack_type 1 6369 */ 6370 static inline uint8_t gap_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 6371 return event[7]; 6372 } 6373 /** 6374 * @brief Get field peer_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6375 * @param event packet 6376 * @param Pointer to storage for peer_address 6377 * @note: btstack_type B 6378 */ 6379 static inline void gap_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 6380 reverse_bytes(&event[8], peer_address, 6); 6381 } 6382 /** 6383 * @brief Get field local_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6384 * @param event packet 6385 * @param Pointer to storage for local_resolvable_private_address 6386 * @note: btstack_type B 6387 */ 6388 static inline void gap_subevent_le_connection_complete_get_local_resolvable_private_address(const uint8_t * event, bd_addr_t local_resolvable_private_address){ 6389 reverse_bytes(&event[14], local_resolvable_private_address, 6); 6390 } 6391 /** 6392 * @brief Get field peer_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6393 * @param event packet 6394 * @param Pointer to storage for peer_resolvable_private_address 6395 * @note: btstack_type B 6396 */ 6397 static inline void gap_subevent_le_connection_complete_get_peer_resolvable_private_address(const uint8_t * event, bd_addr_t peer_resolvable_private_address){ 6398 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 6399 } 6400 /** 6401 * @brief Get field conn_interval from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6402 * @param event packet 6403 * @return conn_interval 6404 * @note: btstack_type 2 6405 */ 6406 static inline uint16_t gap_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 6407 return little_endian_read_16(event, 26); 6408 } 6409 /** 6410 * @brief Get field conn_latency from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6411 * @param event packet 6412 * @return conn_latency 6413 * @note: btstack_type 2 6414 */ 6415 static inline uint16_t gap_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 6416 return little_endian_read_16(event, 28); 6417 } 6418 /** 6419 * @brief Get field supervision_timeout from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6420 * @param event packet 6421 * @return supervision_timeout 6422 * @note: btstack_type 2 6423 */ 6424 static inline uint16_t gap_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 6425 return little_endian_read_16(event, 30); 6426 } 6427 /** 6428 * @brief Get field master_clock_accuracy from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6429 * @param event packet 6430 * @return master_clock_accuracy 6431 * @note: btstack_type 1 6432 */ 6433 static inline uint8_t gap_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 6434 return event[32]; 6435 } 6436 /** 6437 * @brief Get field advertising_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6438 * @param event packet 6439 * @return advertising_handle 6440 * @note: btstack_type 1 6441 */ 6442 static inline uint8_t gap_subevent_le_connection_complete_get_advertising_handle(const uint8_t * event){ 6443 return event[33]; 6444 } 6445 /** 6446 * @brief Get field sync_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6447 * @param event packet 6448 * @return sync_handle 6449 * @note: btstack_type H 6450 */ 6451 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_sync_handle(const uint8_t * event){ 6452 return little_endian_read_16(event, 34); 6453 } 6454 6455 /** 6456 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6457 * @param event packet 6458 * @return acl_handle 6459 * @note: btstack_type H 6460 */ 6461 static inline hci_con_handle_t hsp_subevent_rfcomm_connection_complete_get_acl_handle(const uint8_t * event){ 6462 return little_endian_read_16(event, 3); 6463 } 6464 /** 6465 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6466 * @param event packet 6467 * @return status 6468 * @note: btstack_type 1 6469 */ 6470 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 6471 return event[5]; 6472 } 6473 /** 6474 * @brief Get field bd_addr from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6475 * @param event packet 6476 * @param Pointer to storage for bd_addr 6477 * @note: btstack_type B 6478 */ 6479 static inline void hsp_subevent_rfcomm_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6480 reverse_bytes(&event[6], bd_addr, 6); 6481 } 6482 6483 /** 6484 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 6485 * @param event packet 6486 * @return acl_handle 6487 * @note: btstack_type H 6488 */ 6489 static inline hci_con_handle_t hsp_subevent_rfcomm_disconnection_complete_get_acl_handle(const uint8_t * event){ 6490 return little_endian_read_16(event, 3); 6491 } 6492 6493 /** 6494 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6495 * @param event packet 6496 * @return acl_handle 6497 * @note: btstack_type H 6498 */ 6499 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_acl_handle(const uint8_t * event){ 6500 return little_endian_read_16(event, 3); 6501 } 6502 /** 6503 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6504 * @param event packet 6505 * @return status 6506 * @note: btstack_type 1 6507 */ 6508 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 6509 return event[5]; 6510 } 6511 /** 6512 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6513 * @param event packet 6514 * @return sco_handle 6515 * @note: btstack_type H 6516 */ 6517 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_sco_handle(const uint8_t * event){ 6518 return little_endian_read_16(event, 6); 6519 } 6520 6521 /** 6522 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6523 * @param event packet 6524 * @return acl_handle 6525 * @note: btstack_type H 6526 */ 6527 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_acl_handle(const uint8_t * event){ 6528 return little_endian_read_16(event, 3); 6529 } 6530 /** 6531 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6532 * @param event packet 6533 * @return sco_handle 6534 * @note: btstack_type H 6535 */ 6536 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_sco_handle(const uint8_t * event){ 6537 return little_endian_read_16(event, 5); 6538 } 6539 6540 /** 6541 * @brief Get field acl_handle from event HSP_SUBEVENT_RING 6542 * @param event packet 6543 * @return acl_handle 6544 * @note: btstack_type H 6545 */ 6546 static inline hci_con_handle_t hsp_subevent_ring_get_acl_handle(const uint8_t * event){ 6547 return little_endian_read_16(event, 3); 6548 } 6549 6550 /** 6551 * @brief Get field acl_handle from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6552 * @param event packet 6553 * @return acl_handle 6554 * @note: btstack_type H 6555 */ 6556 static inline hci_con_handle_t hsp_subevent_microphone_gain_changed_get_acl_handle(const uint8_t * event){ 6557 return little_endian_read_16(event, 3); 6558 } 6559 /** 6560 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6561 * @param event packet 6562 * @return gain 6563 * @note: btstack_type 1 6564 */ 6565 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 6566 return event[5]; 6567 } 6568 6569 /** 6570 * @brief Get field acl_handle from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6571 * @param event packet 6572 * @return acl_handle 6573 * @note: btstack_type H 6574 */ 6575 static inline hci_con_handle_t hsp_subevent_speaker_gain_changed_get_acl_handle(const uint8_t * event){ 6576 return little_endian_read_16(event, 3); 6577 } 6578 /** 6579 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6580 * @param event packet 6581 * @return gain 6582 * @note: btstack_type 1 6583 */ 6584 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 6585 return event[5]; 6586 } 6587 6588 /** 6589 * @brief Get field acl_handle from event HSP_SUBEVENT_HS_COMMAND 6590 * @param event packet 6591 * @return acl_handle 6592 * @note: btstack_type H 6593 */ 6594 static inline hci_con_handle_t hsp_subevent_hs_command_get_acl_handle(const uint8_t * event){ 6595 return little_endian_read_16(event, 3); 6596 } 6597 /** 6598 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 6599 * @param event packet 6600 * @return value_length 6601 * @note: btstack_type J 6602 */ 6603 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 6604 return event[5]; 6605 } 6606 /** 6607 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 6608 * @param event packet 6609 * @return value 6610 * @note: btstack_type V 6611 */ 6612 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 6613 return &event[6]; 6614 } 6615 6616 /** 6617 * @brief Get field acl_handle from event HSP_SUBEVENT_AG_INDICATION 6618 * @param event packet 6619 * @return acl_handle 6620 * @note: btstack_type H 6621 */ 6622 static inline hci_con_handle_t hsp_subevent_ag_indication_get_acl_handle(const uint8_t * event){ 6623 return little_endian_read_16(event, 3); 6624 } 6625 /** 6626 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 6627 * @param event packet 6628 * @return value_length 6629 * @note: btstack_type J 6630 */ 6631 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 6632 return event[5]; 6633 } 6634 /** 6635 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 6636 * @param event packet 6637 * @return value 6638 * @note: btstack_type V 6639 */ 6640 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 6641 return &event[6]; 6642 } 6643 6644 /** 6645 * @brief Get field acl_handle from event HSP_SUBEVENT_BUTTON_PRESSED 6646 * @param event packet 6647 * @return acl_handle 6648 * @note: btstack_type H 6649 */ 6650 static inline hci_con_handle_t hsp_subevent_button_pressed_get_acl_handle(const uint8_t * event){ 6651 return little_endian_read_16(event, 3); 6652 } 6653 6654 /** 6655 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6656 * @param event packet 6657 * @return acl_handle 6658 * @note: btstack_type H 6659 */ 6660 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_acl_handle(const uint8_t * event){ 6661 return little_endian_read_16(event, 3); 6662 } 6663 /** 6664 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6665 * @param event packet 6666 * @return status 6667 * @note: btstack_type 1 6668 */ 6669 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 6670 return event[5]; 6671 } 6672 /** 6673 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6674 * @param event packet 6675 * @param Pointer to storage for bd_addr 6676 * @note: btstack_type B 6677 */ 6678 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6679 reverse_bytes(&event[6], bd_addr, 6); 6680 } 6681 6682 /** 6683 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 6684 * @param event packet 6685 * @return acl_handle 6686 * @note: btstack_type H 6687 */ 6688 static inline hci_con_handle_t hfp_subevent_service_level_connection_released_get_acl_handle(const uint8_t * event){ 6689 return little_endian_read_16(event, 3); 6690 } 6691 6692 /** 6693 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6694 * @param event packet 6695 * @return acl_handle 6696 * @note: btstack_type H 6697 */ 6698 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_acl_handle(const uint8_t * event){ 6699 return little_endian_read_16(event, 3); 6700 } 6701 /** 6702 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6703 * @param event packet 6704 * @return status 6705 * @note: btstack_type 1 6706 */ 6707 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 6708 return event[5]; 6709 } 6710 /** 6711 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6712 * @param event packet 6713 * @return sco_handle 6714 * @note: btstack_type H 6715 */ 6716 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_sco_handle(const uint8_t * event){ 6717 return little_endian_read_16(event, 6); 6718 } 6719 /** 6720 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6721 * @param event packet 6722 * @param Pointer to storage for bd_addr 6723 * @note: btstack_type B 6724 */ 6725 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6726 reverse_bytes(&event[8], bd_addr, 6); 6727 } 6728 /** 6729 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6730 * @param event packet 6731 * @return negotiated_codec 6732 * @note: btstack_type 1 6733 */ 6734 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 6735 return event[14]; 6736 } 6737 /** 6738 * @brief Get field sco_packet_types from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6739 * @param event packet 6740 * @return sco_packet_types 6741 * @note: btstack_type 2 6742 */ 6743 static inline uint16_t hfp_subevent_audio_connection_established_get_sco_packet_types(const uint8_t * event){ 6744 return little_endian_read_16(event, 15); 6745 } 6746 /** 6747 * @brief Get field rx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6748 * @param event packet 6749 * @return rx_packet_length 6750 * @note: btstack_type 2 6751 */ 6752 static inline uint16_t hfp_subevent_audio_connection_established_get_rx_packet_length(const uint8_t * event){ 6753 return little_endian_read_16(event, 17); 6754 } 6755 /** 6756 * @brief Get field tx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6757 * @param event packet 6758 * @return tx_packet_length 6759 * @note: btstack_type 2 6760 */ 6761 static inline uint16_t hfp_subevent_audio_connection_established_get_tx_packet_length(const uint8_t * event){ 6762 return little_endian_read_16(event, 19); 6763 } 6764 6765 /** 6766 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6767 * @param event packet 6768 * @return acl_handle 6769 * @note: btstack_type H 6770 */ 6771 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_acl_handle(const uint8_t * event){ 6772 return little_endian_read_16(event, 3); 6773 } 6774 /** 6775 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6776 * @param event packet 6777 * @return sco_handle 6778 * @note: btstack_type H 6779 */ 6780 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_sco_handle(const uint8_t * event){ 6781 return little_endian_read_16(event, 5); 6782 } 6783 6784 /** 6785 * @brief Get field acl_handle from event HFP_SUBEVENT_COMPLETE 6786 * @param event packet 6787 * @return acl_handle 6788 * @note: btstack_type H 6789 */ 6790 static inline hci_con_handle_t hfp_subevent_complete_get_acl_handle(const uint8_t * event){ 6791 return little_endian_read_16(event, 3); 6792 } 6793 /** 6794 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 6795 * @param event packet 6796 * @return status 6797 * @note: btstack_type 1 6798 */ 6799 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 6800 return event[5]; 6801 } 6802 6803 /** 6804 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6805 * @param event packet 6806 * @return acl_handle 6807 * @note: btstack_type H 6808 */ 6809 static inline hci_con_handle_t hfp_subevent_ag_indicator_mapping_get_acl_handle(const uint8_t * event){ 6810 return little_endian_read_16(event, 3); 6811 } 6812 /** 6813 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6814 * @param event packet 6815 * @return indicator_index 6816 * @note: btstack_type 1 6817 */ 6818 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_index(const uint8_t * event){ 6819 return event[5]; 6820 } 6821 /** 6822 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6823 * @param event packet 6824 * @return indicator_min_range 6825 * @note: btstack_type 1 6826 */ 6827 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_min_range(const uint8_t * event){ 6828 return event[6]; 6829 } 6830 /** 6831 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6832 * @param event packet 6833 * @return indicator_max_range 6834 * @note: btstack_type 1 6835 */ 6836 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_max_range(const uint8_t * event){ 6837 return event[7]; 6838 } 6839 /** 6840 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6841 * @param event packet 6842 * @return indicator_name 6843 * @note: btstack_type T 6844 */ 6845 static inline const char * hfp_subevent_ag_indicator_mapping_get_indicator_name(const uint8_t * event){ 6846 return (const char *) &event[8]; 6847 } 6848 6849 /** 6850 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6851 * @param event packet 6852 * @return acl_handle 6853 * @note: btstack_type H 6854 */ 6855 static inline hci_con_handle_t hfp_subevent_ag_indicator_status_changed_get_acl_handle(const uint8_t * event){ 6856 return little_endian_read_16(event, 3); 6857 } 6858 /** 6859 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6860 * @param event packet 6861 * @return indicator_index 6862 * @note: btstack_type 1 6863 */ 6864 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 6865 return event[5]; 6866 } 6867 /** 6868 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6869 * @param event packet 6870 * @return indicator_status 6871 * @note: btstack_type 1 6872 */ 6873 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 6874 return event[6]; 6875 } 6876 /** 6877 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6878 * @param event packet 6879 * @return indicator_min_range 6880 * @note: btstack_type 1 6881 */ 6882 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 6883 return event[7]; 6884 } 6885 /** 6886 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6887 * @param event packet 6888 * @return indicator_max_range 6889 * @note: btstack_type 1 6890 */ 6891 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 6892 return event[8]; 6893 } 6894 /** 6895 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6896 * @param event packet 6897 * @return indicator_mandatory 6898 * @note: btstack_type 1 6899 */ 6900 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 6901 return event[9]; 6902 } 6903 /** 6904 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6905 * @param event packet 6906 * @return indicator_enabled 6907 * @note: btstack_type 1 6908 */ 6909 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 6910 return event[10]; 6911 } 6912 /** 6913 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6914 * @param event packet 6915 * @return indicator_status_changed 6916 * @note: btstack_type 1 6917 */ 6918 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 6919 return event[11]; 6920 } 6921 /** 6922 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6923 * @param event packet 6924 * @return indicator_name 6925 * @note: btstack_type T 6926 */ 6927 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 6928 return (const char *) &event[12]; 6929 } 6930 6931 /** 6932 * @brief Get field acl_handle from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6933 * @param event packet 6934 * @return acl_handle 6935 * @note: btstack_type H 6936 */ 6937 static inline hci_con_handle_t hfp_subevent_network_operator_changed_get_acl_handle(const uint8_t * event){ 6938 return little_endian_read_16(event, 3); 6939 } 6940 /** 6941 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6942 * @param event packet 6943 * @return network_operator_mode 6944 * @note: btstack_type 1 6945 */ 6946 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 6947 return event[5]; 6948 } 6949 /** 6950 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6951 * @param event packet 6952 * @return network_operator_format 6953 * @note: btstack_type 1 6954 */ 6955 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 6956 return event[6]; 6957 } 6958 /** 6959 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6960 * @param event packet 6961 * @return network_operator_name 6962 * @note: btstack_type T 6963 */ 6964 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 6965 return (const char *) &event[7]; 6966 } 6967 6968 /** 6969 * @brief Get field acl_handle from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6970 * @param event packet 6971 * @return acl_handle 6972 * @note: btstack_type H 6973 */ 6974 static inline hci_con_handle_t hfp_subevent_extended_audio_gateway_error_get_acl_handle(const uint8_t * event){ 6975 return little_endian_read_16(event, 3); 6976 } 6977 /** 6978 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6979 * @param event packet 6980 * @return error 6981 * @note: btstack_type 1 6982 */ 6983 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 6984 return event[5]; 6985 } 6986 6987 /** 6988 * @brief Get field acl_handle from event HFP_SUBEVENT_START_RINGING 6989 * @param event packet 6990 * @return acl_handle 6991 * @note: btstack_type H 6992 */ 6993 static inline hci_con_handle_t hfp_subevent_start_ringing_get_acl_handle(const uint8_t * event){ 6994 return little_endian_read_16(event, 3); 6995 } 6996 6997 /** 6998 * @brief Get field acl_handle from event HFP_SUBEVENT_RING 6999 * @param event packet 7000 * @return acl_handle 7001 * @note: btstack_type H 7002 */ 7003 static inline hci_con_handle_t hfp_subevent_ring_get_acl_handle(const uint8_t * event){ 7004 return little_endian_read_16(event, 3); 7005 } 7006 7007 /** 7008 * @brief Get field acl_handle from event HFP_SUBEVENT_STOP_RINGING 7009 * @param event packet 7010 * @return acl_handle 7011 * @note: btstack_type H 7012 */ 7013 static inline hci_con_handle_t hfp_subevent_stop_ringing_get_acl_handle(const uint8_t * event){ 7014 return little_endian_read_16(event, 3); 7015 } 7016 7017 /** 7018 * @brief Get field acl_handle from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 7019 * @param event packet 7020 * @return acl_handle 7021 * @note: btstack_type H 7022 */ 7023 static inline hci_con_handle_t hfp_subevent_place_call_with_number_get_acl_handle(const uint8_t * event){ 7024 return little_endian_read_16(event, 3); 7025 } 7026 /** 7027 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 7028 * @param event packet 7029 * @return number 7030 * @note: btstack_type T 7031 */ 7032 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 7033 return (const char *) &event[5]; 7034 } 7035 7036 /** 7037 * @brief Get field acl_handle from event HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 7038 * @param event packet 7039 * @return acl_handle 7040 * @note: btstack_type H 7041 */ 7042 static inline hci_con_handle_t hfp_subevent_attach_number_to_voice_tag_get_acl_handle(const uint8_t * event){ 7043 return little_endian_read_16(event, 3); 7044 } 7045 7046 /** 7047 * @brief Get field acl_handle from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 7048 * @param event packet 7049 * @return acl_handle 7050 * @note: btstack_type H 7051 */ 7052 static inline hci_con_handle_t hfp_subevent_number_for_voice_tag_get_acl_handle(const uint8_t * event){ 7053 return little_endian_read_16(event, 3); 7054 } 7055 /** 7056 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 7057 * @param event packet 7058 * @return number 7059 * @note: btstack_type T 7060 */ 7061 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 7062 return (const char *) &event[5]; 7063 } 7064 7065 /** 7066 * @brief Get field acl_handle from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 7067 * @param event packet 7068 * @return acl_handle 7069 * @note: btstack_type H 7070 */ 7071 static inline hci_con_handle_t hfp_subevent_transmit_dtmf_codes_get_acl_handle(const uint8_t * event){ 7072 return little_endian_read_16(event, 3); 7073 } 7074 /** 7075 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 7076 * @param event packet 7077 * @return dtmf 7078 * @note: btstack_type T 7079 */ 7080 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 7081 return (const char *) &event[5]; 7082 } 7083 7084 /** 7085 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_ANSWERED 7086 * @param event packet 7087 * @return acl_handle 7088 * @note: btstack_type H 7089 */ 7090 static inline hci_con_handle_t hfp_subevent_call_answered_get_acl_handle(const uint8_t * event){ 7091 return little_endian_read_16(event, 3); 7092 } 7093 7094 /** 7095 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_TERMINATED 7096 * @param event packet 7097 * @return acl_handle 7098 * @note: btstack_type H 7099 */ 7100 static inline hci_con_handle_t hfp_subevent_call_terminated_get_acl_handle(const uint8_t * event){ 7101 return little_endian_read_16(event, 3); 7102 } 7103 7104 /** 7105 * @brief Get field acl_handle from event HFP_SUBEVENT_CONFERENCE_CALL 7106 * @param event packet 7107 * @return acl_handle 7108 * @note: btstack_type H 7109 */ 7110 static inline hci_con_handle_t hfp_subevent_conference_call_get_acl_handle(const uint8_t * event){ 7111 return little_endian_read_16(event, 3); 7112 } 7113 7114 /** 7115 * @brief Get field acl_handle from event HFP_SUBEVENT_SPEAKER_VOLUME 7116 * @param event packet 7117 * @return acl_handle 7118 * @note: btstack_type H 7119 */ 7120 static inline hci_con_handle_t hfp_subevent_speaker_volume_get_acl_handle(const uint8_t * event){ 7121 return little_endian_read_16(event, 3); 7122 } 7123 /** 7124 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 7125 * @param event packet 7126 * @return gain 7127 * @note: btstack_type 1 7128 */ 7129 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 7130 return event[5]; 7131 } 7132 7133 /** 7134 * @brief Get field acl_handle from event HFP_SUBEVENT_MICROPHONE_VOLUME 7135 * @param event packet 7136 * @return acl_handle 7137 * @note: btstack_type H 7138 */ 7139 static inline hci_con_handle_t hfp_subevent_microphone_volume_get_acl_handle(const uint8_t * event){ 7140 return little_endian_read_16(event, 3); 7141 } 7142 /** 7143 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 7144 * @param event packet 7145 * @return gain 7146 * @note: btstack_type 1 7147 */ 7148 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 7149 return event[5]; 7150 } 7151 7152 /** 7153 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7154 * @param event packet 7155 * @return acl_handle 7156 * @note: btstack_type H 7157 */ 7158 static inline hci_con_handle_t hfp_subevent_call_waiting_notification_get_acl_handle(const uint8_t * event){ 7159 return little_endian_read_16(event, 3); 7160 } 7161 /** 7162 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7163 * @param event packet 7164 * @return type 7165 * @note: btstack_type 1 7166 */ 7167 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 7168 return event[5]; 7169 } 7170 /** 7171 * @brief Get field number_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7172 * @param event packet 7173 * @return number_length 7174 * @note: btstack_type J 7175 */ 7176 static inline uint8_t hfp_subevent_call_waiting_notification_get_number_length(const uint8_t * event){ 7177 return event[6]; 7178 } 7179 /** 7180 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7181 * @param event packet 7182 * @return number 7183 * @note: btstack_type V 7184 */ 7185 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 7186 return &event[7]; 7187 } 7188 /** 7189 * @brief Get field alpha_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7190 * @param event packet 7191 * @return alpha_length 7192 * @note: btstack_type J 7193 */ 7194 static inline uint8_t hfp_subevent_call_waiting_notification_get_alpha_length(const uint8_t * event){ 7195 return event[7u + event[6]]; 7196 } 7197 /** 7198 * @brief Get field alpha from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7199 * @param event packet 7200 * @return alpha 7201 * @note: btstack_type V 7202 */ 7203 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_alpha(const uint8_t * event){ 7204 return &event[7u + event[6] + 1u]; 7205 } 7206 7207 /** 7208 * @brief Get field acl_handle from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7209 * @param event packet 7210 * @return acl_handle 7211 * @note: btstack_type H 7212 */ 7213 static inline hci_con_handle_t hfp_subevent_calling_line_identification_notification_get_acl_handle(const uint8_t * event){ 7214 return little_endian_read_16(event, 3); 7215 } 7216 /** 7217 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7218 * @param event packet 7219 * @return type 7220 * @note: btstack_type 1 7221 */ 7222 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 7223 return event[5]; 7224 } 7225 /** 7226 * @brief Get field number_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7227 * @param event packet 7228 * @return number_length 7229 * @note: btstack_type J 7230 */ 7231 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_number_length(const uint8_t * event){ 7232 return event[6]; 7233 } 7234 /** 7235 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7236 * @param event packet 7237 * @return number 7238 * @note: btstack_type V 7239 */ 7240 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 7241 return &event[7]; 7242 } 7243 /** 7244 * @brief Get field alpha_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7245 * @param event packet 7246 * @return alpha_length 7247 * @note: btstack_type J 7248 */ 7249 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_alpha_length(const uint8_t * event){ 7250 return event[7u + event[6]]; 7251 } 7252 /** 7253 * @brief Get field alpha from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7254 * @param event packet 7255 * @return alpha 7256 * @note: btstack_type V 7257 */ 7258 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_alpha(const uint8_t * event){ 7259 return &event[7u + event[6] + 1u]; 7260 } 7261 7262 /** 7263 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7264 * @param event packet 7265 * @return acl_handle 7266 * @note: btstack_type H 7267 */ 7268 static inline hci_con_handle_t hfp_subevent_enhanced_call_status_get_acl_handle(const uint8_t * event){ 7269 return little_endian_read_16(event, 3); 7270 } 7271 /** 7272 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7273 * @param event packet 7274 * @return clcc_idx 7275 * @note: btstack_type 1 7276 */ 7277 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 7278 return event[5]; 7279 } 7280 /** 7281 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7282 * @param event packet 7283 * @return clcc_dir 7284 * @note: btstack_type 1 7285 */ 7286 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 7287 return event[6]; 7288 } 7289 /** 7290 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7291 * @param event packet 7292 * @return clcc_status 7293 * @note: btstack_type 1 7294 */ 7295 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 7296 return event[7]; 7297 } 7298 /** 7299 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7300 * @param event packet 7301 * @return clcc_mode 7302 * @note: btstack_type 1 7303 */ 7304 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 7305 return event[8]; 7306 } 7307 /** 7308 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7309 * @param event packet 7310 * @return clcc_mpty 7311 * @note: btstack_type 1 7312 */ 7313 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 7314 return event[9]; 7315 } 7316 /** 7317 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7318 * @param event packet 7319 * @return bnip_type 7320 * @note: btstack_type 1 7321 */ 7322 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 7323 return event[10]; 7324 } 7325 /** 7326 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7327 * @param event packet 7328 * @return bnip_number 7329 * @note: btstack_type T 7330 */ 7331 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 7332 return (const char *) &event[11]; 7333 } 7334 7335 /** 7336 * @brief Get field acl_handle from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7337 * @param event packet 7338 * @return acl_handle 7339 * @note: btstack_type H 7340 */ 7341 static inline hci_con_handle_t hfp_subevent_subscriber_number_information_get_acl_handle(const uint8_t * event){ 7342 return little_endian_read_16(event, 3); 7343 } 7344 /** 7345 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7346 * @param event packet 7347 * @return status 7348 * @note: btstack_type 1 7349 */ 7350 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 7351 return event[5]; 7352 } 7353 /** 7354 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7355 * @param event packet 7356 * @return bnip_type 7357 * @note: btstack_type 1 7358 */ 7359 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 7360 return event[6]; 7361 } 7362 /** 7363 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7364 * @param event packet 7365 * @return bnip_number 7366 * @note: btstack_type T 7367 */ 7368 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 7369 return (const char *) &event[7]; 7370 } 7371 7372 /** 7373 * @brief Get field acl_handle from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7374 * @param event packet 7375 * @return acl_handle 7376 * @note: btstack_type H 7377 */ 7378 static inline hci_con_handle_t hfp_subevent_response_and_hold_status_get_acl_handle(const uint8_t * event){ 7379 return little_endian_read_16(event, 3); 7380 } 7381 /** 7382 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7383 * @param event packet 7384 * @return value 7385 * @note: btstack_type T 7386 */ 7387 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 7388 return (const char *) &event[5]; 7389 } 7390 7391 /** 7392 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_SENT 7393 * @param event packet 7394 * @return acl_handle 7395 * @note: btstack_type H 7396 */ 7397 static inline hci_con_handle_t hfp_subevent_at_message_sent_get_acl_handle(const uint8_t * event){ 7398 return little_endian_read_16(event, 3); 7399 } 7400 /** 7401 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_SENT 7402 * @param event packet 7403 * @return command 7404 * @note: btstack_type T 7405 */ 7406 static inline const char * hfp_subevent_at_message_sent_get_command(const uint8_t * event){ 7407 return (const char *) &event[5]; 7408 } 7409 7410 /** 7411 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7412 * @param event packet 7413 * @return acl_handle 7414 * @note: btstack_type H 7415 */ 7416 static inline hci_con_handle_t hfp_subevent_at_message_received_get_acl_handle(const uint8_t * event){ 7417 return little_endian_read_16(event, 3); 7418 } 7419 /** 7420 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7421 * @param event packet 7422 * @return command 7423 * @note: btstack_type T 7424 */ 7425 static inline const char * hfp_subevent_at_message_received_get_command(const uint8_t * event){ 7426 return (const char *) &event[5]; 7427 } 7428 7429 /** 7430 * @brief Get field acl_handle from event HFP_SUBEVENT_IN_BAND_RING_TONE 7431 * @param event packet 7432 * @return acl_handle 7433 * @note: btstack_type H 7434 */ 7435 static inline hci_con_handle_t hfp_subevent_in_band_ring_tone_get_acl_handle(const uint8_t * event){ 7436 return little_endian_read_16(event, 3); 7437 } 7438 /** 7439 * @brief Get field status from event HFP_SUBEVENT_IN_BAND_RING_TONE 7440 * @param event packet 7441 * @return status 7442 * @note: btstack_type 1 7443 */ 7444 static inline uint8_t hfp_subevent_in_band_ring_tone_get_status(const uint8_t * event){ 7445 return event[5]; 7446 } 7447 7448 /** 7449 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7450 * @param event packet 7451 * @return acl_handle 7452 * @note: btstack_type H 7453 */ 7454 static inline hci_con_handle_t hfp_subevent_voice_recognition_activated_get_acl_handle(const uint8_t * event){ 7455 return little_endian_read_16(event, 3); 7456 } 7457 /** 7458 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7459 * @param event packet 7460 * @return status 7461 * @note: btstack_type 1 7462 */ 7463 static inline uint8_t hfp_subevent_voice_recognition_activated_get_status(const uint8_t * event){ 7464 return event[5]; 7465 } 7466 /** 7467 * @brief Get field enhanced from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7468 * @param event packet 7469 * @return enhanced 7470 * @note: btstack_type 1 7471 */ 7472 static inline uint8_t hfp_subevent_voice_recognition_activated_get_enhanced(const uint8_t * event){ 7473 return event[6]; 7474 } 7475 7476 /** 7477 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7478 * @param event packet 7479 * @return acl_handle 7480 * @note: btstack_type H 7481 */ 7482 static inline hci_con_handle_t hfp_subevent_voice_recognition_deactivated_get_acl_handle(const uint8_t * event){ 7483 return little_endian_read_16(event, 3); 7484 } 7485 /** 7486 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7487 * @param event packet 7488 * @return status 7489 * @note: btstack_type 1 7490 */ 7491 static inline uint8_t hfp_subevent_voice_recognition_deactivated_get_status(const uint8_t * event){ 7492 return event[5]; 7493 } 7494 7495 /** 7496 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7497 * @param event packet 7498 * @return acl_handle 7499 * @note: btstack_type H 7500 */ 7501 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_acl_handle(const uint8_t * event){ 7502 return little_endian_read_16(event, 3); 7503 } 7504 /** 7505 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7506 * @param event packet 7507 * @return status 7508 * @note: btstack_type 1 7509 */ 7510 static inline uint8_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_status(const uint8_t * event){ 7511 return event[5]; 7512 } 7513 7514 /** 7515 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7516 * @param event packet 7517 * @return acl_handle 7518 * @note: btstack_type H 7519 */ 7520 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_acl_handle(const uint8_t * event){ 7521 return little_endian_read_16(event, 3); 7522 } 7523 /** 7524 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7525 * @param event packet 7526 * @return status 7527 * @note: btstack_type 1 7528 */ 7529 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_status(const uint8_t * event){ 7530 return event[5]; 7531 } 7532 7533 /** 7534 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7535 * @param event packet 7536 * @return acl_handle 7537 * @note: btstack_type H 7538 */ 7539 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_acl_handle(const uint8_t * event){ 7540 return little_endian_read_16(event, 3); 7541 } 7542 /** 7543 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7544 * @param event packet 7545 * @return status 7546 * @note: btstack_type 1 7547 */ 7548 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_status(const uint8_t * event){ 7549 return event[5]; 7550 } 7551 7552 /** 7553 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7554 * @param event packet 7555 * @return acl_handle 7556 * @note: btstack_type H 7557 */ 7558 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_acl_handle(const uint8_t * event){ 7559 return little_endian_read_16(event, 3); 7560 } 7561 /** 7562 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7563 * @param event packet 7564 * @return status 7565 * @note: btstack_type 1 7566 */ 7567 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_status(const uint8_t * event){ 7568 return event[5]; 7569 } 7570 7571 /** 7572 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7573 * @param event packet 7574 * @return acl_handle 7575 * @note: btstack_type H 7576 */ 7577 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_acl_handle(const uint8_t * event){ 7578 return little_endian_read_16(event, 3); 7579 } 7580 /** 7581 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7582 * @param event packet 7583 * @return status 7584 * @note: btstack_type 1 7585 */ 7586 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_status(const uint8_t * event){ 7587 return event[5]; 7588 } 7589 7590 /** 7591 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7592 * @param event packet 7593 * @return acl_handle 7594 * @note: btstack_type H 7595 */ 7596 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_get_acl_handle(const uint8_t * event){ 7597 return little_endian_read_16(event, 3); 7598 } 7599 /** 7600 * @brief Get field text_id from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7601 * @param event packet 7602 * @return text_id 7603 * @note: btstack_type 2 7604 */ 7605 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_id(const uint8_t * event){ 7606 return little_endian_read_16(event, 5); 7607 } 7608 /** 7609 * @brief Get field text_type from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7610 * @param event packet 7611 * @return text_type 7612 * @note: btstack_type 1 7613 */ 7614 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_type(const uint8_t * event){ 7615 return event[7]; 7616 } 7617 /** 7618 * @brief Get field text_operation from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7619 * @param event packet 7620 * @return text_operation 7621 * @note: btstack_type 1 7622 */ 7623 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_operation(const uint8_t * event){ 7624 return event[8]; 7625 } 7626 /** 7627 * @brief Get field text_length from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7628 * @param event packet 7629 * @return text_length 7630 * @note: btstack_type L 7631 */ 7632 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_length(const uint8_t * event){ 7633 return little_endian_read_16(event, 9); 7634 } 7635 /** 7636 * @brief Get field text from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7637 * @param event packet 7638 * @return text 7639 * @note: btstack_type V 7640 */ 7641 static inline const uint8_t * hfp_subevent_enhanced_voice_recognition_ag_message_get_text(const uint8_t * event){ 7642 return &event[11]; 7643 } 7644 7645 /** 7646 * @brief Get field acl_handle from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7647 * @param event packet 7648 * @return acl_handle 7649 * @note: btstack_type H 7650 */ 7651 static inline hci_con_handle_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_acl_handle(const uint8_t * event){ 7652 return little_endian_read_16(event, 3); 7653 } 7654 /** 7655 * @brief Get field status from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7656 * @param event packet 7657 * @return status 7658 * @note: btstack_type 1 7659 */ 7660 static inline uint8_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_status(const uint8_t * event){ 7661 return event[5]; 7662 } 7663 7664 /** 7665 * @brief Get field acl_handle from event HFP_SUBEVENT_HF_INDICATOR 7666 * @param event packet 7667 * @return acl_handle 7668 * @note: btstack_type H 7669 */ 7670 static inline hci_con_handle_t hfp_subevent_hf_indicator_get_acl_handle(const uint8_t * event){ 7671 return little_endian_read_16(event, 3); 7672 } 7673 /** 7674 * @brief Get field uuid from event HFP_SUBEVENT_HF_INDICATOR 7675 * @param event packet 7676 * @return uuid 7677 * @note: btstack_type 2 7678 */ 7679 static inline uint16_t hfp_subevent_hf_indicator_get_uuid(const uint8_t * event){ 7680 return little_endian_read_16(event, 5); 7681 } 7682 /** 7683 * @brief Get field value from event HFP_SUBEVENT_HF_INDICATOR 7684 * @param event packet 7685 * @return value 7686 * @note: btstack_type 1 7687 */ 7688 static inline uint8_t hfp_subevent_hf_indicator_get_value(const uint8_t * event){ 7689 return event[7]; 7690 } 7691 7692 /** 7693 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7694 * @param event packet 7695 * @return acl_handle 7696 * @note: btstack_type H 7697 */ 7698 static inline hci_con_handle_t hfp_subevent_custom_at_command_get_acl_handle(const uint8_t * event){ 7699 return little_endian_read_16(event, 3); 7700 } 7701 /** 7702 * @brief Get field command_id from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7703 * @param event packet 7704 * @return command_id 7705 * @note: btstack_type 2 7706 */ 7707 static inline uint16_t hfp_subevent_custom_at_command_get_command_id(const uint8_t * event){ 7708 return little_endian_read_16(event, 5); 7709 } 7710 /** 7711 * @brief Get field command_string from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7712 * @param event packet 7713 * @return command_string 7714 * @note: btstack_type T 7715 */ 7716 static inline const char * hfp_subevent_custom_at_command_get_command_string(const uint8_t * event){ 7717 return (const char *) &event[7]; 7718 } 7719 7720 /** 7721 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7722 * @param event packet 7723 * @return acl_handle 7724 * @note: btstack_type H 7725 */ 7726 static inline hci_con_handle_t hfp_subevent_custom_at_message_sent_get_acl_handle(const uint8_t * event){ 7727 return little_endian_read_16(event, 3); 7728 } 7729 /** 7730 * @brief Get field status from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7731 * @param event packet 7732 * @return status 7733 * @note: btstack_type 1 7734 */ 7735 static inline uint8_t hfp_subevent_custom_at_message_sent_get_status(const uint8_t * event){ 7736 return event[5]; 7737 } 7738 7739 /** 7740 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7741 * @param event packet 7742 * @return acl_handle 7743 * @note: btstack_type H 7744 */ 7745 static inline hci_con_handle_t hfp_subevent_apple_extension_supported_get_acl_handle(const uint8_t * event){ 7746 return little_endian_read_16(event, 3); 7747 } 7748 /** 7749 * @brief Get field supported from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7750 * @param event packet 7751 * @return supported 7752 * @note: btstack_type 1 7753 */ 7754 static inline uint8_t hfp_subevent_apple_extension_supported_get_supported(const uint8_t * event){ 7755 return event[5]; 7756 } 7757 7758 /** 7759 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7760 * @param event packet 7761 * @return acl_handle 7762 * @note: btstack_type H 7763 */ 7764 static inline hci_con_handle_t hfp_subevent_apple_accessory_information_get_acl_handle(const uint8_t * event){ 7765 return little_endian_read_16(event, 3); 7766 } 7767 /** 7768 * @brief Get field vendor_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7769 * @param event packet 7770 * @return vendor_id 7771 * @note: btstack_type 2 7772 */ 7773 static inline uint16_t hfp_subevent_apple_accessory_information_get_vendor_id(const uint8_t * event){ 7774 return little_endian_read_16(event, 5); 7775 } 7776 /** 7777 * @brief Get field product_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7778 * @param event packet 7779 * @return product_id 7780 * @note: btstack_type 2 7781 */ 7782 static inline uint16_t hfp_subevent_apple_accessory_information_get_product_id(const uint8_t * event){ 7783 return little_endian_read_16(event, 7); 7784 } 7785 /** 7786 * @brief Get field features from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7787 * @param event packet 7788 * @return features 7789 * @note: btstack_type 1 7790 */ 7791 static inline uint8_t hfp_subevent_apple_accessory_information_get_features(const uint8_t * event){ 7792 return event[9]; 7793 } 7794 /** 7795 * @brief Get field version_len from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7796 * @param event packet 7797 * @return version_len 7798 * @note: btstack_type J 7799 */ 7800 static inline uint8_t hfp_subevent_apple_accessory_information_get_version_len(const uint8_t * event){ 7801 return event[10]; 7802 } 7803 /** 7804 * @brief Get field version from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7805 * @param event packet 7806 * @return version 7807 * @note: btstack_type V 7808 */ 7809 static inline const uint8_t * hfp_subevent_apple_accessory_information_get_version(const uint8_t * event){ 7810 return &event[11]; 7811 } 7812 7813 /** 7814 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7815 * @param event packet 7816 * @return acl_handle 7817 * @note: btstack_type H 7818 */ 7819 static inline hci_con_handle_t hfp_subevent_apple_battery_level_get_acl_handle(const uint8_t * event){ 7820 return little_endian_read_16(event, 3); 7821 } 7822 /** 7823 * @brief Get field battery_level from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7824 * @param event packet 7825 * @return battery_level 7826 * @note: btstack_type 1 7827 */ 7828 static inline uint8_t hfp_subevent_apple_battery_level_get_battery_level(const uint8_t * event){ 7829 return event[5]; 7830 } 7831 7832 /** 7833 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7834 * @param event packet 7835 * @return acl_handle 7836 * @note: btstack_type H 7837 */ 7838 static inline hci_con_handle_t hfp_subevent_apple_docked_state_get_acl_handle(const uint8_t * event){ 7839 return little_endian_read_16(event, 3); 7840 } 7841 /** 7842 * @brief Get field docket from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7843 * @param event packet 7844 * @return docket 7845 * @note: btstack_type 1 7846 */ 7847 static inline uint8_t hfp_subevent_apple_docked_state_get_docket(const uint8_t * event){ 7848 return event[5]; 7849 } 7850 7851 #ifdef ENABLE_BLE 7852 /** 7853 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 7854 * @param event packet 7855 * @return handle 7856 * @note: btstack_type H 7857 */ 7858 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 7859 return little_endian_read_16(event, 3); 7860 } 7861 #endif 7862 7863 #ifdef ENABLE_BLE 7864 /** 7865 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7866 * @param event packet 7867 * @return handle 7868 * @note: btstack_type H 7869 */ 7870 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 7871 return little_endian_read_16(event, 3); 7872 } 7873 /** 7874 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7875 * @param event packet 7876 * @return attribute_id 7877 * @note: btstack_type 2 7878 */ 7879 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 7880 return little_endian_read_16(event, 5); 7881 } 7882 /** 7883 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7884 * @param event packet 7885 * @return text 7886 * @note: btstack_type T 7887 */ 7888 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 7889 return (const char *) &event[7]; 7890 } 7891 #endif 7892 7893 #ifdef ENABLE_BLE 7894 /** 7895 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 7896 * @param event packet 7897 * @return handle 7898 * @note: btstack_type H 7899 */ 7900 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 7901 return little_endian_read_16(event, 3); 7902 } 7903 #endif 7904 7905 /** 7906 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7907 * @param event packet 7908 * @return avdtp_cid 7909 * @note: btstack_type 2 7910 */ 7911 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 7912 return little_endian_read_16(event, 3); 7913 } 7914 /** 7915 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7916 * @param event packet 7917 * @return local_seid 7918 * @note: btstack_type 1 7919 */ 7920 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 7921 return event[5]; 7922 } 7923 /** 7924 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7925 * @param event packet 7926 * @return is_initiator 7927 * @note: btstack_type 1 7928 */ 7929 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 7930 return event[6]; 7931 } 7932 /** 7933 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7934 * @param event packet 7935 * @return signal_identifier 7936 * @note: btstack_type 1 7937 */ 7938 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 7939 return event[7]; 7940 } 7941 7942 /** 7943 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7944 * @param event packet 7945 * @return avdtp_cid 7946 * @note: btstack_type 2 7947 */ 7948 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 7949 return little_endian_read_16(event, 3); 7950 } 7951 /** 7952 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7953 * @param event packet 7954 * @return local_seid 7955 * @note: btstack_type 1 7956 */ 7957 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 7958 return event[5]; 7959 } 7960 /** 7961 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 7962 * @param event packet 7963 * @return is_initiator 7964 * @note: btstack_type 1 7965 */ 7966 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 7967 return event[6]; 7968 } 7969 /** 7970 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 7971 * @param event packet 7972 * @return signal_identifier 7973 * @note: btstack_type 1 7974 */ 7975 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 7976 return event[7]; 7977 } 7978 7979 /** 7980 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7981 * @param event packet 7982 * @return avdtp_cid 7983 * @note: btstack_type 2 7984 */ 7985 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 7986 return little_endian_read_16(event, 3); 7987 } 7988 /** 7989 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7990 * @param event packet 7991 * @return local_seid 7992 * @note: btstack_type 1 7993 */ 7994 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 7995 return event[5]; 7996 } 7997 /** 7998 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7999 * @param event packet 8000 * @return is_initiator 8001 * @note: btstack_type 1 8002 */ 8003 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 8004 return event[6]; 8005 } 8006 /** 8007 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 8008 * @param event packet 8009 * @return signal_identifier 8010 * @note: btstack_type 1 8011 */ 8012 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 8013 return event[7]; 8014 } 8015 8016 /** 8017 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 8018 * @param event packet 8019 * @return avdtp_cid 8020 * @note: btstack_type 2 8021 */ 8022 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 8023 return little_endian_read_16(event, 3); 8024 } 8025 /** 8026 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 8027 * @param event packet 8028 * @param Pointer to storage for bd_addr 8029 * @note: btstack_type B 8030 */ 8031 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8032 reverse_bytes(&event[5], bd_addr, 6); 8033 } 8034 /** 8035 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 8036 * @param event packet 8037 * @return con_handle 8038 * @note: btstack_type 2 8039 */ 8040 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 8041 return little_endian_read_16(event, 11); 8042 } 8043 /** 8044 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 8045 * @param event packet 8046 * @return status 8047 * @note: btstack_type 1 8048 */ 8049 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 8050 return event[13]; 8051 } 8052 8053 /** 8054 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 8055 * @param event packet 8056 * @return avdtp_cid 8057 * @note: btstack_type 2 8058 */ 8059 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 8060 return little_endian_read_16(event, 3); 8061 } 8062 8063 /** 8064 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8065 * @param event packet 8066 * @return avdtp_cid 8067 * @note: btstack_type 2 8068 */ 8069 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 8070 return little_endian_read_16(event, 3); 8071 } 8072 /** 8073 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8074 * @param event packet 8075 * @return remote_seid 8076 * @note: btstack_type 1 8077 */ 8078 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 8079 return event[5]; 8080 } 8081 /** 8082 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8083 * @param event packet 8084 * @return in_use 8085 * @note: btstack_type 1 8086 */ 8087 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 8088 return event[6]; 8089 } 8090 /** 8091 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8092 * @param event packet 8093 * @return media_type 8094 * @note: btstack_type 1 8095 */ 8096 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 8097 return event[7]; 8098 } 8099 /** 8100 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8101 * @param event packet 8102 * @return sep_type 8103 * @note: btstack_type 1 8104 */ 8105 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 8106 return event[8]; 8107 } 8108 8109 /** 8110 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8111 * @param event packet 8112 * @return avdtp_cid 8113 * @note: btstack_type 2 8114 */ 8115 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 8116 return little_endian_read_16(event, 3); 8117 } 8118 /** 8119 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8120 * @param event packet 8121 * @return remote_seid 8122 * @note: btstack_type 1 8123 */ 8124 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 8125 return event[5]; 8126 } 8127 /** 8128 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8129 * @param event packet 8130 * @return media_type 8131 * @note: btstack_type 1 8132 */ 8133 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 8134 return event[6]; 8135 } 8136 /** 8137 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8138 * @param event packet 8139 * @return sampling_frequency_bitmap 8140 * @note: btstack_type 1 8141 */ 8142 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8143 return event[7]; 8144 } 8145 /** 8146 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8147 * @param event packet 8148 * @return channel_mode_bitmap 8149 * @note: btstack_type 1 8150 */ 8151 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 8152 return event[8]; 8153 } 8154 /** 8155 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8156 * @param event packet 8157 * @return block_length_bitmap 8158 * @note: btstack_type 1 8159 */ 8160 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 8161 return event[9]; 8162 } 8163 /** 8164 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8165 * @param event packet 8166 * @return subbands_bitmap 8167 * @note: btstack_type 1 8168 */ 8169 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 8170 return event[10]; 8171 } 8172 /** 8173 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8174 * @param event packet 8175 * @return allocation_method_bitmap 8176 * @note: btstack_type 1 8177 */ 8178 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 8179 return event[11]; 8180 } 8181 /** 8182 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8183 * @param event packet 8184 * @return min_bitpool_value 8185 * @note: btstack_type 1 8186 */ 8187 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 8188 return event[12]; 8189 } 8190 /** 8191 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8192 * @param event packet 8193 * @return max_bitpool_value 8194 * @note: btstack_type 1 8195 */ 8196 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 8197 return event[13]; 8198 } 8199 8200 /** 8201 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8202 * @param event packet 8203 * @return avdtp_cid 8204 * @note: btstack_type 2 8205 */ 8206 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ 8207 return little_endian_read_16(event, 3); 8208 } 8209 /** 8210 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8211 * @param event packet 8212 * @return remote_seid 8213 * @note: btstack_type 1 8214 */ 8215 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 8216 return event[5]; 8217 } 8218 /** 8219 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8220 * @param event packet 8221 * @return media_type 8222 * @note: btstack_type 1 8223 */ 8224 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 8225 return event[6]; 8226 } 8227 /** 8228 * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8229 * @param event packet 8230 * @return layer_bitmap 8231 * @note: btstack_type 1 8232 */ 8233 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 8234 return event[7]; 8235 } 8236 /** 8237 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8238 * @param event packet 8239 * @return crc 8240 * @note: btstack_type 1 8241 */ 8242 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 8243 return event[8]; 8244 } 8245 /** 8246 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8247 * @param event packet 8248 * @return channel_mode_bitmap 8249 * @note: btstack_type 1 8250 */ 8251 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 8252 return event[9]; 8253 } 8254 /** 8255 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8256 * @param event packet 8257 * @return media_payload_format 8258 * @note: btstack_type 1 8259 */ 8260 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 8261 return event[10]; 8262 } 8263 /** 8264 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8265 * @param event packet 8266 * @return sampling_frequency_bitmap 8267 * @note: btstack_type 1 8268 */ 8269 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8270 return event[11]; 8271 } 8272 /** 8273 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8274 * @param event packet 8275 * @return vbr 8276 * @note: btstack_type 1 8277 */ 8278 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 8279 return event[12]; 8280 } 8281 /** 8282 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8283 * @param event packet 8284 * @return bit_rate_index_bitmap 8285 * @note: btstack_type 2 8286 */ 8287 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8288 return little_endian_read_16(event, 13); 8289 } 8290 8291 /** 8292 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8293 * @param event packet 8294 * @return avdtp_cid 8295 * @note: btstack_type 2 8296 */ 8297 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ 8298 return little_endian_read_16(event, 3); 8299 } 8300 /** 8301 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8302 * @param event packet 8303 * @return remote_seid 8304 * @note: btstack_type 1 8305 */ 8306 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 8307 return event[5]; 8308 } 8309 /** 8310 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8311 * @param event packet 8312 * @return media_type 8313 * @note: btstack_type 1 8314 */ 8315 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 8316 return event[6]; 8317 } 8318 /** 8319 * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8320 * @param event packet 8321 * @return object_type_bitmap 8322 * @note: btstack_type 1 8323 */ 8324 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 8325 return event[7]; 8326 } 8327 /** 8328 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8329 * @param event packet 8330 * @return sampling_frequency_bitmap 8331 * @note: btstack_type 2 8332 */ 8333 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8334 return little_endian_read_16(event, 8); 8335 } 8336 /** 8337 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8338 * @param event packet 8339 * @return channels_bitmap 8340 * @note: btstack_type 1 8341 */ 8342 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 8343 return event[10]; 8344 } 8345 /** 8346 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8347 * @param event packet 8348 * @return bit_rate 8349 * @note: btstack_type 3 8350 */ 8351 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 8352 return little_endian_read_24(event, 11); 8353 } 8354 /** 8355 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8356 * @param event packet 8357 * @return vbr 8358 * @note: btstack_type 1 8359 */ 8360 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 8361 return event[14]; 8362 } 8363 8364 /** 8365 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8366 * @param event packet 8367 * @return avdtp_cid 8368 * @note: btstack_type 2 8369 */ 8370 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ 8371 return little_endian_read_16(event, 3); 8372 } 8373 /** 8374 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8375 * @param event packet 8376 * @return remote_seid 8377 * @note: btstack_type 1 8378 */ 8379 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 8380 return event[5]; 8381 } 8382 /** 8383 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8384 * @param event packet 8385 * @return media_type 8386 * @note: btstack_type 1 8387 */ 8388 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 8389 return event[6]; 8390 } 8391 /** 8392 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8393 * @param event packet 8394 * @return version 8395 * @note: btstack_type 1 8396 */ 8397 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 8398 return event[7]; 8399 } 8400 /** 8401 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8402 * @param event packet 8403 * @return channel_mode_bitmap 8404 * @note: btstack_type 1 8405 */ 8406 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 8407 return event[8]; 8408 } 8409 /** 8410 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8411 * @param event packet 8412 * @return sampling_frequency_bitmap 8413 * @note: btstack_type 1 8414 */ 8415 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8416 return event[9]; 8417 } 8418 /** 8419 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8420 * @param event packet 8421 * @return vbr 8422 * @note: btstack_type 1 8423 */ 8424 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 8425 return event[10]; 8426 } 8427 /** 8428 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8429 * @param event packet 8430 * @return bit_rate_index_bitmap 8431 * @note: btstack_type 3 8432 */ 8433 static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8434 return little_endian_read_24(event, 11); 8435 } 8436 /** 8437 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8438 * @param event packet 8439 * @return maximum_sul 8440 * @note: btstack_type 2 8441 */ 8442 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 8443 return little_endian_read_16(event, 14); 8444 } 8445 8446 /** 8447 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8448 * @param event packet 8449 * @return avdtp_cid 8450 * @note: btstack_type 2 8451 */ 8452 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 8453 return little_endian_read_16(event, 3); 8454 } 8455 /** 8456 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8457 * @param event packet 8458 * @return remote_seid 8459 * @note: btstack_type 1 8460 */ 8461 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 8462 return event[5]; 8463 } 8464 /** 8465 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8466 * @param event packet 8467 * @return media_type 8468 * @note: btstack_type 1 8469 */ 8470 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 8471 return event[6]; 8472 } 8473 /** 8474 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8475 * @param event packet 8476 * @return media_codec_type 8477 * @note: btstack_type 2 8478 */ 8479 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 8480 return little_endian_read_16(event, 7); 8481 } 8482 /** 8483 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8484 * @param event packet 8485 * @return media_codec_information_len 8486 * @note: btstack_type L 8487 */ 8488 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 8489 return little_endian_read_16(event, 9); 8490 } 8491 /** 8492 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8493 * @param event packet 8494 * @return media_codec_information 8495 * @note: btstack_type V 8496 */ 8497 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 8498 return &event[11]; 8499 } 8500 8501 /** 8502 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8503 * @param event packet 8504 * @return avdtp_cid 8505 * @note: btstack_type 2 8506 */ 8507 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 8508 return little_endian_read_16(event, 3); 8509 } 8510 /** 8511 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8512 * @param event packet 8513 * @return remote_seid 8514 * @note: btstack_type 1 8515 */ 8516 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 8517 return event[5]; 8518 } 8519 8520 /** 8521 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8522 * @param event packet 8523 * @return avdtp_cid 8524 * @note: btstack_type 2 8525 */ 8526 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8527 return little_endian_read_16(event, 3); 8528 } 8529 /** 8530 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8531 * @param event packet 8532 * @return remote_seid 8533 * @note: btstack_type 1 8534 */ 8535 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 8536 return event[5]; 8537 } 8538 8539 /** 8540 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8541 * @param event packet 8542 * @return avdtp_cid 8543 * @note: btstack_type 2 8544 */ 8545 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 8546 return little_endian_read_16(event, 3); 8547 } 8548 /** 8549 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8550 * @param event packet 8551 * @return remote_seid 8552 * @note: btstack_type 1 8553 */ 8554 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 8555 return event[5]; 8556 } 8557 /** 8558 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8559 * @param event packet 8560 * @return recovery_type 8561 * @note: btstack_type 1 8562 */ 8563 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 8564 return event[6]; 8565 } 8566 /** 8567 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8568 * @param event packet 8569 * @return maximum_recovery_window_size 8570 * @note: btstack_type 1 8571 */ 8572 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 8573 return event[7]; 8574 } 8575 /** 8576 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8577 * @param event packet 8578 * @return maximum_number_media_packets 8579 * @note: btstack_type 1 8580 */ 8581 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 8582 return event[8]; 8583 } 8584 8585 /** 8586 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8587 * @param event packet 8588 * @return avdtp_cid 8589 * @note: btstack_type 2 8590 */ 8591 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 8592 return little_endian_read_16(event, 3); 8593 } 8594 /** 8595 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8596 * @param event packet 8597 * @return remote_seid 8598 * @note: btstack_type 1 8599 */ 8600 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 8601 return event[5]; 8602 } 8603 /** 8604 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8605 * @param event packet 8606 * @return cp_type 8607 * @note: btstack_type 2 8608 */ 8609 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 8610 return little_endian_read_16(event, 6); 8611 } 8612 /** 8613 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8614 * @param event packet 8615 * @return cp_type_value_len 8616 * @note: btstack_type L 8617 */ 8618 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 8619 return little_endian_read_16(event, 8); 8620 } 8621 /** 8622 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8623 * @param event packet 8624 * @return cp_type_value 8625 * @note: btstack_type V 8626 */ 8627 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 8628 return &event[10]; 8629 } 8630 8631 /** 8632 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8633 * @param event packet 8634 * @return avdtp_cid 8635 * @note: btstack_type 2 8636 */ 8637 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 8638 return little_endian_read_16(event, 3); 8639 } 8640 /** 8641 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8642 * @param event packet 8643 * @return remote_seid 8644 * @note: btstack_type 1 8645 */ 8646 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 8647 return event[5]; 8648 } 8649 /** 8650 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8651 * @param event packet 8652 * @return fragmentation 8653 * @note: btstack_type 1 8654 */ 8655 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 8656 return event[6]; 8657 } 8658 /** 8659 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8660 * @param event packet 8661 * @return transport_identifiers_num 8662 * @note: btstack_type 1 8663 */ 8664 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 8665 return event[7]; 8666 } 8667 /** 8668 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8669 * @param event packet 8670 * @return transport_session_identifier_1 8671 * @note: btstack_type 1 8672 */ 8673 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 8674 return event[8]; 8675 } 8676 /** 8677 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8678 * @param event packet 8679 * @return transport_session_identifier_2 8680 * @note: btstack_type 1 8681 */ 8682 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 8683 return event[9]; 8684 } 8685 /** 8686 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8687 * @param event packet 8688 * @return transport_session_identifier_3 8689 * @note: btstack_type 1 8690 */ 8691 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 8692 return event[10]; 8693 } 8694 /** 8695 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8696 * @param event packet 8697 * @return tcid_1 8698 * @note: btstack_type 1 8699 */ 8700 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 8701 return event[11]; 8702 } 8703 /** 8704 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8705 * @param event packet 8706 * @return tcid_2 8707 * @note: btstack_type 1 8708 */ 8709 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 8710 return event[12]; 8711 } 8712 /** 8713 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8714 * @param event packet 8715 * @return tcid_3 8716 * @note: btstack_type 1 8717 */ 8718 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 8719 return event[13]; 8720 } 8721 8722 /** 8723 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8724 * @param event packet 8725 * @return avdtp_cid 8726 * @note: btstack_type 2 8727 */ 8728 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8729 return little_endian_read_16(event, 3); 8730 } 8731 /** 8732 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8733 * @param event packet 8734 * @return remote_seid 8735 * @note: btstack_type 1 8736 */ 8737 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 8738 return event[5]; 8739 } 8740 8741 /** 8742 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8743 * @param event packet 8744 * @return avdtp_cid 8745 * @note: btstack_type 2 8746 */ 8747 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 8748 return little_endian_read_16(event, 3); 8749 } 8750 /** 8751 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8752 * @param event packet 8753 * @return remote_seid 8754 * @note: btstack_type 1 8755 */ 8756 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 8757 return event[5]; 8758 } 8759 /** 8760 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8761 * @param event packet 8762 * @return back_ch 8763 * @note: btstack_type 1 8764 */ 8765 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 8766 return event[6]; 8767 } 8768 /** 8769 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8770 * @param event packet 8771 * @return media 8772 * @note: btstack_type 1 8773 */ 8774 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 8775 return event[7]; 8776 } 8777 /** 8778 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8779 * @param event packet 8780 * @return recovery 8781 * @note: btstack_type 1 8782 */ 8783 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 8784 return event[8]; 8785 } 8786 8787 /** 8788 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8789 * @param event packet 8790 * @return avdtp_cid 8791 * @note: btstack_type 2 8792 */ 8793 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 8794 return little_endian_read_16(event, 3); 8795 } 8796 /** 8797 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8798 * @param event packet 8799 * @return remote_seid 8800 * @note: btstack_type 1 8801 */ 8802 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 8803 return event[5]; 8804 } 8805 8806 /** 8807 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8808 * @param event packet 8809 * @return avdtp_cid 8810 * @note: btstack_type 2 8811 */ 8812 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 8813 return little_endian_read_16(event, 3); 8814 } 8815 /** 8816 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8817 * @param event packet 8818 * @return local_seid 8819 * @note: btstack_type 1 8820 */ 8821 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 8822 return event[5]; 8823 } 8824 /** 8825 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8826 * @param event packet 8827 * @return remote_seid 8828 * @note: btstack_type 1 8829 */ 8830 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 8831 return event[6]; 8832 } 8833 /** 8834 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8835 * @param event packet 8836 * @return reconfigure 8837 * @note: btstack_type 1 8838 */ 8839 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 8840 return event[7]; 8841 } 8842 /** 8843 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8844 * @param event packet 8845 * @return media_type 8846 * @note: btstack_type 1 8847 */ 8848 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 8849 return event[8]; 8850 } 8851 /** 8852 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8853 * @param event packet 8854 * @return sampling_frequency 8855 * @note: btstack_type 2 8856 */ 8857 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 8858 return little_endian_read_16(event, 9); 8859 } 8860 /** 8861 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8862 * @param event packet 8863 * @return channel_mode 8864 * @note: btstack_type 1 8865 */ 8866 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 8867 return event[11]; 8868 } 8869 /** 8870 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8871 * @param event packet 8872 * @return num_channels 8873 * @note: btstack_type 1 8874 */ 8875 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 8876 return event[12]; 8877 } 8878 /** 8879 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8880 * @param event packet 8881 * @return block_length 8882 * @note: btstack_type 1 8883 */ 8884 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 8885 return event[13]; 8886 } 8887 /** 8888 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8889 * @param event packet 8890 * @return subbands 8891 * @note: btstack_type 1 8892 */ 8893 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 8894 return event[14]; 8895 } 8896 /** 8897 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8898 * @param event packet 8899 * @return allocation_method 8900 * @note: btstack_type 1 8901 */ 8902 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 8903 return event[15]; 8904 } 8905 /** 8906 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8907 * @param event packet 8908 * @return min_bitpool_value 8909 * @note: btstack_type 1 8910 */ 8911 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 8912 return event[16]; 8913 } 8914 /** 8915 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8916 * @param event packet 8917 * @return max_bitpool_value 8918 * @note: btstack_type 1 8919 */ 8920 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 8921 return event[17]; 8922 } 8923 8924 /** 8925 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8926 * @param event packet 8927 * @return avdtp_cid 8928 * @note: btstack_type 2 8929 */ 8930 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ 8931 return little_endian_read_16(event, 3); 8932 } 8933 /** 8934 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8935 * @param event packet 8936 * @return local_seid 8937 * @note: btstack_type 1 8938 */ 8939 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 8940 return event[5]; 8941 } 8942 /** 8943 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8944 * @param event packet 8945 * @return remote_seid 8946 * @note: btstack_type 1 8947 */ 8948 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 8949 return event[6]; 8950 } 8951 /** 8952 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8953 * @param event packet 8954 * @return reconfigure 8955 * @note: btstack_type 1 8956 */ 8957 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 8958 return event[7]; 8959 } 8960 /** 8961 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8962 * @param event packet 8963 * @return media_type 8964 * @note: btstack_type 1 8965 */ 8966 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 8967 return event[8]; 8968 } 8969 /** 8970 * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8971 * @param event packet 8972 * @return layer 8973 * @note: btstack_type 1 8974 */ 8975 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 8976 return event[9]; 8977 } 8978 /** 8979 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8980 * @param event packet 8981 * @return crc 8982 * @note: btstack_type 1 8983 */ 8984 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 8985 return event[10]; 8986 } 8987 /** 8988 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8989 * @param event packet 8990 * @return channel_mode 8991 * @note: btstack_type 1 8992 */ 8993 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 8994 return event[11]; 8995 } 8996 /** 8997 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8998 * @param event packet 8999 * @return num_channels 9000 * @note: btstack_type 1 9001 */ 9002 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 9003 return event[12]; 9004 } 9005 /** 9006 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9007 * @param event packet 9008 * @return media_payload_format 9009 * @note: btstack_type 1 9010 */ 9011 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 9012 return event[13]; 9013 } 9014 /** 9015 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9016 * @param event packet 9017 * @return sampling_frequency 9018 * @note: btstack_type 2 9019 */ 9020 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 9021 return little_endian_read_16(event, 14); 9022 } 9023 /** 9024 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9025 * @param event packet 9026 * @return vbr 9027 * @note: btstack_type 1 9028 */ 9029 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 9030 return event[16]; 9031 } 9032 /** 9033 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9034 * @param event packet 9035 * @return bit_rate_index 9036 * @note: btstack_type 1 9037 */ 9038 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 9039 return event[17]; 9040 } 9041 9042 /** 9043 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9044 * @param event packet 9045 * @return avdtp_cid 9046 * @note: btstack_type 2 9047 */ 9048 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ 9049 return little_endian_read_16(event, 3); 9050 } 9051 /** 9052 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9053 * @param event packet 9054 * @return local_seid 9055 * @note: btstack_type 1 9056 */ 9057 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 9058 return event[5]; 9059 } 9060 /** 9061 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9062 * @param event packet 9063 * @return remote_seid 9064 * @note: btstack_type 1 9065 */ 9066 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 9067 return event[6]; 9068 } 9069 /** 9070 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9071 * @param event packet 9072 * @return reconfigure 9073 * @note: btstack_type 1 9074 */ 9075 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 9076 return event[7]; 9077 } 9078 /** 9079 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9080 * @param event packet 9081 * @return media_type 9082 * @note: btstack_type 1 9083 */ 9084 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 9085 return event[8]; 9086 } 9087 /** 9088 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9089 * @param event packet 9090 * @return object_type 9091 * @note: btstack_type 1 9092 */ 9093 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 9094 return event[9]; 9095 } 9096 /** 9097 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9098 * @param event packet 9099 * @return sampling_frequency 9100 * @note: btstack_type 3 9101 */ 9102 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 9103 return little_endian_read_24(event, 10); 9104 } 9105 /** 9106 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9107 * @param event packet 9108 * @return num_channels 9109 * @note: btstack_type 1 9110 */ 9111 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9112 return event[13]; 9113 } 9114 /** 9115 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9116 * @param event packet 9117 * @return bit_rate 9118 * @note: btstack_type 3 9119 */ 9120 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9121 return little_endian_read_24(event, 14); 9122 } 9123 /** 9124 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9125 * @param event packet 9126 * @return vbr 9127 * @note: btstack_type 1 9128 */ 9129 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9130 return event[17]; 9131 } 9132 9133 /** 9134 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9135 * @param event packet 9136 * @return avdtp_cid 9137 * @note: btstack_type 2 9138 */ 9139 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ 9140 return little_endian_read_16(event, 3); 9141 } 9142 /** 9143 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9144 * @param event packet 9145 * @return local_seid 9146 * @note: btstack_type 1 9147 */ 9148 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9149 return event[5]; 9150 } 9151 /** 9152 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9153 * @param event packet 9154 * @return remote_seid 9155 * @note: btstack_type 1 9156 */ 9157 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9158 return event[6]; 9159 } 9160 /** 9161 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9162 * @param event packet 9163 * @return reconfigure 9164 * @note: btstack_type 1 9165 */ 9166 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9167 return event[7]; 9168 } 9169 /** 9170 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9171 * @param event packet 9172 * @return media_type 9173 * @note: btstack_type 1 9174 */ 9175 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9176 return event[8]; 9177 } 9178 /** 9179 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9180 * @param event packet 9181 * @return version 9182 * @note: btstack_type 1 9183 */ 9184 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9185 return event[9]; 9186 } 9187 /** 9188 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9189 * @param event packet 9190 * @return channel_mode 9191 * @note: btstack_type 1 9192 */ 9193 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9194 return event[10]; 9195 } 9196 /** 9197 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9198 * @param event packet 9199 * @return num_channels 9200 * @note: btstack_type 1 9201 */ 9202 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9203 return event[11]; 9204 } 9205 /** 9206 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9207 * @param event packet 9208 * @return sampling_frequency 9209 * @note: btstack_type 2 9210 */ 9211 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9212 return little_endian_read_16(event, 12); 9213 } 9214 /** 9215 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9216 * @param event packet 9217 * @return vbr 9218 * @note: btstack_type 1 9219 */ 9220 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9221 return event[14]; 9222 } 9223 /** 9224 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9225 * @param event packet 9226 * @return bit_rate_index 9227 * @note: btstack_type 1 9228 */ 9229 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9230 return event[15]; 9231 } 9232 /** 9233 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9234 * @param event packet 9235 * @return maximum_sul 9236 * @note: btstack_type 2 9237 */ 9238 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9239 return little_endian_read_16(event, 16); 9240 } 9241 9242 /** 9243 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9244 * @param event packet 9245 * @return avdtp_cid 9246 * @note: btstack_type 2 9247 */ 9248 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 9249 return little_endian_read_16(event, 3); 9250 } 9251 /** 9252 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9253 * @param event packet 9254 * @return local_seid 9255 * @note: btstack_type 1 9256 */ 9257 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9258 return event[5]; 9259 } 9260 /** 9261 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9262 * @param event packet 9263 * @return remote_seid 9264 * @note: btstack_type 1 9265 */ 9266 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9267 return event[6]; 9268 } 9269 /** 9270 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9271 * @param event packet 9272 * @return reconfigure 9273 * @note: btstack_type 1 9274 */ 9275 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9276 return event[7]; 9277 } 9278 /** 9279 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9280 * @param event packet 9281 * @return media_type 9282 * @note: btstack_type 1 9283 */ 9284 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9285 return event[8]; 9286 } 9287 /** 9288 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9289 * @param event packet 9290 * @return media_codec_type 9291 * @note: btstack_type 2 9292 */ 9293 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9294 return little_endian_read_16(event, 9); 9295 } 9296 /** 9297 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9298 * @param event packet 9299 * @return media_codec_information_len 9300 * @note: btstack_type L 9301 */ 9302 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9303 return little_endian_read_16(event, 11); 9304 } 9305 /** 9306 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9307 * @param event packet 9308 * @return media_codec_information 9309 * @note: btstack_type V 9310 */ 9311 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9312 return &event[13]; 9313 } 9314 9315 /** 9316 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9317 * @param event packet 9318 * @return avdtp_cid 9319 * @note: btstack_type 2 9320 */ 9321 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 9322 return little_endian_read_16(event, 3); 9323 } 9324 /** 9325 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9326 * @param event packet 9327 * @param Pointer to storage for bd_addr 9328 * @note: btstack_type B 9329 */ 9330 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9331 reverse_bytes(&event[5], bd_addr, 6); 9332 } 9333 /** 9334 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9335 * @param event packet 9336 * @return local_seid 9337 * @note: btstack_type 1 9338 */ 9339 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 9340 return event[11]; 9341 } 9342 /** 9343 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9344 * @param event packet 9345 * @return remote_seid 9346 * @note: btstack_type 1 9347 */ 9348 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 9349 return event[12]; 9350 } 9351 /** 9352 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9353 * @param event packet 9354 * @return status 9355 * @note: btstack_type 1 9356 */ 9357 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 9358 return event[13]; 9359 } 9360 9361 /** 9362 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9363 * @param event packet 9364 * @return avdtp_cid 9365 * @note: btstack_type 2 9366 */ 9367 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 9368 return little_endian_read_16(event, 3); 9369 } 9370 /** 9371 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9372 * @param event packet 9373 * @return local_seid 9374 * @note: btstack_type 1 9375 */ 9376 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 9377 return event[5]; 9378 } 9379 9380 /** 9381 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9382 * @param event packet 9383 * @return avdtp_cid 9384 * @note: btstack_type 2 9385 */ 9386 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 9387 return little_endian_read_16(event, 3); 9388 } 9389 /** 9390 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9391 * @param event packet 9392 * @return local_seid 9393 * @note: btstack_type 1 9394 */ 9395 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9396 return event[5]; 9397 } 9398 /** 9399 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9400 * @param event packet 9401 * @return sequence_number 9402 * @note: btstack_type 2 9403 */ 9404 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 9405 return little_endian_read_16(event, 6); 9406 } 9407 9408 /** 9409 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 9410 * @param event packet 9411 * @return avdtp_cid 9412 * @note: btstack_type 2 9413 */ 9414 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 9415 return little_endian_read_16(event, 3); 9416 } 9417 9418 /** 9419 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9420 * @param event packet 9421 * @return avdtp_cid 9422 * @note: btstack_type 2 9423 */ 9424 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 9425 return little_endian_read_16(event, 3); 9426 } 9427 /** 9428 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9429 * @param event packet 9430 * @return local_seid 9431 * @note: btstack_type 1 9432 */ 9433 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 9434 return event[5]; 9435 } 9436 /** 9437 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9438 * @param event packet 9439 * @return delay_100us 9440 * @note: btstack_type 2 9441 */ 9442 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 9443 return little_endian_read_16(event, 6); 9444 } 9445 9446 /** 9447 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9448 * @param event packet 9449 * @return a2dp_cid 9450 * @note: btstack_type 2 9451 */ 9452 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 9453 return little_endian_read_16(event, 3); 9454 } 9455 /** 9456 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9457 * @param event packet 9458 * @return local_seid 9459 * @note: btstack_type 1 9460 */ 9461 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9462 return event[5]; 9463 } 9464 9465 /** 9466 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9467 * @param event packet 9468 * @return a2dp_cid 9469 * @note: btstack_type 2 9470 */ 9471 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 9472 return little_endian_read_16(event, 3); 9473 } 9474 /** 9475 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9476 * @param event packet 9477 * @return local_seid 9478 * @note: btstack_type 1 9479 */ 9480 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 9481 return event[5]; 9482 } 9483 /** 9484 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9485 * @param event packet 9486 * @return remote_seid 9487 * @note: btstack_type 1 9488 */ 9489 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 9490 return event[6]; 9491 } 9492 /** 9493 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9494 * @param event packet 9495 * @return reconfigure 9496 * @note: btstack_type 1 9497 */ 9498 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 9499 return event[7]; 9500 } 9501 /** 9502 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9503 * @param event packet 9504 * @return media_type 9505 * @note: btstack_type 1 9506 */ 9507 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 9508 return event[8]; 9509 } 9510 /** 9511 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9512 * @param event packet 9513 * @return sampling_frequency 9514 * @note: btstack_type 2 9515 */ 9516 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 9517 return little_endian_read_16(event, 9); 9518 } 9519 /** 9520 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9521 * @param event packet 9522 * @return channel_mode 9523 * @note: btstack_type 1 9524 */ 9525 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 9526 return event[11]; 9527 } 9528 /** 9529 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9530 * @param event packet 9531 * @return num_channels 9532 * @note: btstack_type 1 9533 */ 9534 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 9535 return event[12]; 9536 } 9537 /** 9538 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9539 * @param event packet 9540 * @return block_length 9541 * @note: btstack_type 1 9542 */ 9543 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 9544 return event[13]; 9545 } 9546 /** 9547 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9548 * @param event packet 9549 * @return subbands 9550 * @note: btstack_type 1 9551 */ 9552 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 9553 return event[14]; 9554 } 9555 /** 9556 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9557 * @param event packet 9558 * @return allocation_method 9559 * @note: btstack_type 1 9560 */ 9561 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 9562 return event[15]; 9563 } 9564 /** 9565 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9566 * @param event packet 9567 * @return min_bitpool_value 9568 * @note: btstack_type 1 9569 */ 9570 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 9571 return event[16]; 9572 } 9573 /** 9574 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9575 * @param event packet 9576 * @return max_bitpool_value 9577 * @note: btstack_type 1 9578 */ 9579 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 9580 return event[17]; 9581 } 9582 9583 /** 9584 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9585 * @param event packet 9586 * @return a2dp_cid 9587 * @note: btstack_type 2 9588 */ 9589 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_a2dp_cid(const uint8_t * event){ 9590 return little_endian_read_16(event, 3); 9591 } 9592 /** 9593 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9594 * @param event packet 9595 * @return local_seid 9596 * @note: btstack_type 1 9597 */ 9598 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 9599 return event[5]; 9600 } 9601 /** 9602 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9603 * @param event packet 9604 * @return remote_seid 9605 * @note: btstack_type 1 9606 */ 9607 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 9608 return event[6]; 9609 } 9610 /** 9611 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9612 * @param event packet 9613 * @return reconfigure 9614 * @note: btstack_type 1 9615 */ 9616 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 9617 return event[7]; 9618 } 9619 /** 9620 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9621 * @param event packet 9622 * @return media_type 9623 * @note: btstack_type 1 9624 */ 9625 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 9626 return event[8]; 9627 } 9628 /** 9629 * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9630 * @param event packet 9631 * @return layer 9632 * @note: btstack_type 1 9633 */ 9634 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 9635 return event[9]; 9636 } 9637 /** 9638 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9639 * @param event packet 9640 * @return crc 9641 * @note: btstack_type 1 9642 */ 9643 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 9644 return event[10]; 9645 } 9646 /** 9647 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9648 * @param event packet 9649 * @return channel_mode 9650 * @note: btstack_type 1 9651 */ 9652 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 9653 return event[11]; 9654 } 9655 /** 9656 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9657 * @param event packet 9658 * @return num_channels 9659 * @note: btstack_type 1 9660 */ 9661 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 9662 return event[12]; 9663 } 9664 /** 9665 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9666 * @param event packet 9667 * @return media_payload_format 9668 * @note: btstack_type 1 9669 */ 9670 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 9671 return event[13]; 9672 } 9673 /** 9674 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9675 * @param event packet 9676 * @return sampling_frequency 9677 * @note: btstack_type 2 9678 */ 9679 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 9680 return little_endian_read_16(event, 14); 9681 } 9682 /** 9683 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9684 * @param event packet 9685 * @return vbr 9686 * @note: btstack_type 1 9687 */ 9688 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 9689 return event[16]; 9690 } 9691 /** 9692 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9693 * @param event packet 9694 * @return bit_rate_index 9695 * @note: btstack_type 1 9696 */ 9697 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 9698 return event[17]; 9699 } 9700 9701 /** 9702 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9703 * @param event packet 9704 * @return a2dp_cid 9705 * @note: btstack_type 2 9706 */ 9707 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_a2dp_cid(const uint8_t * event){ 9708 return little_endian_read_16(event, 3); 9709 } 9710 /** 9711 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9712 * @param event packet 9713 * @return local_seid 9714 * @note: btstack_type 1 9715 */ 9716 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 9717 return event[5]; 9718 } 9719 /** 9720 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9721 * @param event packet 9722 * @return remote_seid 9723 * @note: btstack_type 1 9724 */ 9725 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 9726 return event[6]; 9727 } 9728 /** 9729 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9730 * @param event packet 9731 * @return reconfigure 9732 * @note: btstack_type 1 9733 */ 9734 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 9735 return event[7]; 9736 } 9737 /** 9738 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9739 * @param event packet 9740 * @return media_type 9741 * @note: btstack_type 1 9742 */ 9743 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 9744 return event[8]; 9745 } 9746 /** 9747 * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9748 * @param event packet 9749 * @return object_type 9750 * @note: btstack_type 1 9751 */ 9752 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 9753 return event[9]; 9754 } 9755 /** 9756 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9757 * @param event packet 9758 * @return sampling_frequency 9759 * @note: btstack_type 3 9760 */ 9761 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 9762 return little_endian_read_24(event, 10); 9763 } 9764 /** 9765 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9766 * @param event packet 9767 * @return num_channels 9768 * @note: btstack_type 1 9769 */ 9770 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9771 return event[13]; 9772 } 9773 /** 9774 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9775 * @param event packet 9776 * @return bit_rate 9777 * @note: btstack_type 3 9778 */ 9779 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9780 return little_endian_read_24(event, 14); 9781 } 9782 /** 9783 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9784 * @param event packet 9785 * @return vbr 9786 * @note: btstack_type 1 9787 */ 9788 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9789 return event[17]; 9790 } 9791 9792 /** 9793 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9794 * @param event packet 9795 * @return a2dp_cid 9796 * @note: btstack_type 2 9797 */ 9798 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_a2dp_cid(const uint8_t * event){ 9799 return little_endian_read_16(event, 3); 9800 } 9801 /** 9802 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9803 * @param event packet 9804 * @return local_seid 9805 * @note: btstack_type 1 9806 */ 9807 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9808 return event[5]; 9809 } 9810 /** 9811 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9812 * @param event packet 9813 * @return remote_seid 9814 * @note: btstack_type 1 9815 */ 9816 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9817 return event[6]; 9818 } 9819 /** 9820 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9821 * @param event packet 9822 * @return reconfigure 9823 * @note: btstack_type 1 9824 */ 9825 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9826 return event[7]; 9827 } 9828 /** 9829 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9830 * @param event packet 9831 * @return media_type 9832 * @note: btstack_type 1 9833 */ 9834 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9835 return event[8]; 9836 } 9837 /** 9838 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9839 * @param event packet 9840 * @return version 9841 * @note: btstack_type 1 9842 */ 9843 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9844 return event[9]; 9845 } 9846 /** 9847 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9848 * @param event packet 9849 * @return channel_mode 9850 * @note: btstack_type 1 9851 */ 9852 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9853 return event[10]; 9854 } 9855 /** 9856 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9857 * @param event packet 9858 * @return num_channels 9859 * @note: btstack_type 1 9860 */ 9861 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9862 return event[11]; 9863 } 9864 /** 9865 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9866 * @param event packet 9867 * @return sampling_frequency 9868 * @note: btstack_type 2 9869 */ 9870 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9871 return little_endian_read_16(event, 12); 9872 } 9873 /** 9874 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9875 * @param event packet 9876 * @return vbr 9877 * @note: btstack_type 1 9878 */ 9879 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9880 return event[14]; 9881 } 9882 /** 9883 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9884 * @param event packet 9885 * @return bit_rate_index 9886 * @note: btstack_type 1 9887 */ 9888 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9889 return event[15]; 9890 } 9891 /** 9892 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9893 * @param event packet 9894 * @return maximum_sul 9895 * @note: btstack_type 2 9896 */ 9897 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9898 return little_endian_read_16(event, 16); 9899 } 9900 9901 /** 9902 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9903 * @param event packet 9904 * @return a2dp_cid 9905 * @note: btstack_type 2 9906 */ 9907 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 9908 return little_endian_read_16(event, 3); 9909 } 9910 /** 9911 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9912 * @param event packet 9913 * @return local_seid 9914 * @note: btstack_type 1 9915 */ 9916 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9917 return event[5]; 9918 } 9919 /** 9920 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9921 * @param event packet 9922 * @return remote_seid 9923 * @note: btstack_type 1 9924 */ 9925 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9926 return event[6]; 9927 } 9928 /** 9929 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9930 * @param event packet 9931 * @return reconfigure 9932 * @note: btstack_type 1 9933 */ 9934 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9935 return event[7]; 9936 } 9937 /** 9938 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9939 * @param event packet 9940 * @return media_type 9941 * @note: btstack_type 1 9942 */ 9943 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9944 return event[8]; 9945 } 9946 /** 9947 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9948 * @param event packet 9949 * @return media_codec_type 9950 * @note: btstack_type 2 9951 */ 9952 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9953 return little_endian_read_16(event, 9); 9954 } 9955 /** 9956 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9957 * @param event packet 9958 * @return media_codec_information_len 9959 * @note: btstack_type L 9960 */ 9961 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9962 return little_endian_read_16(event, 11); 9963 } 9964 /** 9965 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9966 * @param event packet 9967 * @return media_codec_information 9968 * @note: btstack_type V 9969 */ 9970 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9971 return &event[13]; 9972 } 9973 9974 /** 9975 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9976 * @param event packet 9977 * @return a2dp_cid 9978 * @note: btstack_type 2 9979 */ 9980 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 9981 return little_endian_read_16(event, 3); 9982 } 9983 /** 9984 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9985 * @param event packet 9986 * @param Pointer to storage for bd_addr 9987 * @note: btstack_type B 9988 */ 9989 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9990 reverse_bytes(&event[5], bd_addr, 6); 9991 } 9992 /** 9993 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9994 * @param event packet 9995 * @return local_seid 9996 * @note: btstack_type 1 9997 */ 9998 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 9999 return event[11]; 10000 } 10001 /** 10002 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 10003 * @param event packet 10004 * @return remote_seid 10005 * @note: btstack_type 1 10006 */ 10007 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 10008 return event[12]; 10009 } 10010 /** 10011 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 10012 * @param event packet 10013 * @return status 10014 * @note: btstack_type 1 10015 */ 10016 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 10017 return event[13]; 10018 } 10019 10020 /** 10021 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 10022 * @param event packet 10023 * @return a2dp_cid 10024 * @note: btstack_type 2 10025 */ 10026 static inline uint16_t a2dp_subevent_start_stream_requested_get_a2dp_cid(const uint8_t * event){ 10027 return little_endian_read_16(event, 3); 10028 } 10029 /** 10030 * @brief Get field local_seid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 10031 * @param event packet 10032 * @return local_seid 10033 * @note: btstack_type 1 10034 */ 10035 static inline uint8_t a2dp_subevent_start_stream_requested_get_local_seid(const uint8_t * event){ 10036 return event[5]; 10037 } 10038 10039 /** 10040 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 10041 * @param event packet 10042 * @return a2dp_cid 10043 * @note: btstack_type 2 10044 */ 10045 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 10046 return little_endian_read_16(event, 3); 10047 } 10048 /** 10049 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 10050 * @param event packet 10051 * @return local_seid 10052 * @note: btstack_type 1 10053 */ 10054 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 10055 return event[5]; 10056 } 10057 10058 /** 10059 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 10060 * @param event packet 10061 * @return a2dp_cid 10062 * @note: btstack_type 2 10063 */ 10064 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 10065 return little_endian_read_16(event, 3); 10066 } 10067 /** 10068 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 10069 * @param event packet 10070 * @return local_seid 10071 * @note: btstack_type 1 10072 */ 10073 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 10074 return event[5]; 10075 } 10076 10077 /** 10078 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 10079 * @param event packet 10080 * @return a2dp_cid 10081 * @note: btstack_type 2 10082 */ 10083 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 10084 return little_endian_read_16(event, 3); 10085 } 10086 /** 10087 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 10088 * @param event packet 10089 * @return local_seid 10090 * @note: btstack_type 1 10091 */ 10092 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 10093 return event[5]; 10094 } 10095 10096 /** 10097 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 10098 * @param event packet 10099 * @return a2dp_cid 10100 * @note: btstack_type 2 10101 */ 10102 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 10103 return little_endian_read_16(event, 3); 10104 } 10105 /** 10106 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 10107 * @param event packet 10108 * @return local_seid 10109 * @note: btstack_type 1 10110 */ 10111 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 10112 return event[5]; 10113 } 10114 10115 /** 10116 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10117 * @param event packet 10118 * @return a2dp_cid 10119 * @note: btstack_type 2 10120 */ 10121 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 10122 return little_endian_read_16(event, 3); 10123 } 10124 /** 10125 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10126 * @param event packet 10127 * @return local_seid 10128 * @note: btstack_type 1 10129 */ 10130 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 10131 return event[5]; 10132 } 10133 /** 10134 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10135 * @param event packet 10136 * @return signal_identifier 10137 * @note: btstack_type 1 10138 */ 10139 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 10140 return event[6]; 10141 } 10142 10143 /** 10144 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 10145 * @param event packet 10146 * @return a2dp_cid 10147 * @note: btstack_type 2 10148 */ 10149 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 10150 return little_endian_read_16(event, 3); 10151 } 10152 /** 10153 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 10154 * @param event packet 10155 * @return local_seid 10156 * @note: btstack_type 1 10157 */ 10158 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 10159 return event[5]; 10160 } 10161 /** 10162 * @brief Get field is_initiator from event A2DP_SUBEVENT_COMMAND_REJECTED 10163 * @param event packet 10164 * @return is_initiator 10165 * @note: btstack_type 1 10166 */ 10167 static inline uint8_t a2dp_subevent_command_rejected_get_is_initiator(const uint8_t * event){ 10168 return event[6]; 10169 } 10170 /** 10171 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 10172 * @param event packet 10173 * @return signal_identifier 10174 * @note: btstack_type 1 10175 */ 10176 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 10177 return event[7]; 10178 } 10179 10180 /** 10181 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10182 * @param event packet 10183 * @return a2dp_cid 10184 * @note: btstack_type 2 10185 */ 10186 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 10187 return little_endian_read_16(event, 3); 10188 } 10189 /** 10190 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10191 * @param event packet 10192 * @param Pointer to storage for bd_addr 10193 * @note: btstack_type B 10194 */ 10195 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10196 reverse_bytes(&event[5], bd_addr, 6); 10197 } 10198 /** 10199 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10200 * @param event packet 10201 * @return con_handle 10202 * @note: btstack_type 2 10203 */ 10204 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 10205 return little_endian_read_16(event, 11); 10206 } 10207 /** 10208 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10209 * @param event packet 10210 * @return status 10211 * @note: btstack_type 1 10212 */ 10213 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 10214 return event[13]; 10215 } 10216 10217 /** 10218 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 10219 * @param event packet 10220 * @return a2dp_cid 10221 * @note: btstack_type 2 10222 */ 10223 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 10224 return little_endian_read_16(event, 3); 10225 } 10226 10227 /** 10228 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10229 * @param event packet 10230 * @return a2dp_cid 10231 * @note: btstack_type 2 10232 */ 10233 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 10234 return little_endian_read_16(event, 3); 10235 } 10236 /** 10237 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10238 * @param event packet 10239 * @return local_seid 10240 * @note: btstack_type 1 10241 */ 10242 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 10243 return event[5]; 10244 } 10245 /** 10246 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10247 * @param event packet 10248 * @return status 10249 * @note: btstack_type 1 10250 */ 10251 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 10252 return event[6]; 10253 } 10254 10255 /** 10256 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10257 * @param event packet 10258 * @return a2dp_cid 10259 * @note: btstack_type 2 10260 */ 10261 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_a2dp_cid(const uint8_t * event){ 10262 return little_endian_read_16(event, 3); 10263 } 10264 /** 10265 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10266 * @param event packet 10267 * @return remote_seid 10268 * @note: btstack_type 1 10269 */ 10270 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 10271 return event[5]; 10272 } 10273 /** 10274 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10275 * @param event packet 10276 * @return media_type 10277 * @note: btstack_type 1 10278 */ 10279 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 10280 return event[6]; 10281 } 10282 /** 10283 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10284 * @param event packet 10285 * @return sampling_frequency_bitmap 10286 * @note: btstack_type 1 10287 */ 10288 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10289 return event[7]; 10290 } 10291 /** 10292 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10293 * @param event packet 10294 * @return channel_mode_bitmap 10295 * @note: btstack_type 1 10296 */ 10297 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 10298 return event[8]; 10299 } 10300 /** 10301 * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10302 * @param event packet 10303 * @return block_length_bitmap 10304 * @note: btstack_type 1 10305 */ 10306 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 10307 return event[9]; 10308 } 10309 /** 10310 * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10311 * @param event packet 10312 * @return subbands_bitmap 10313 * @note: btstack_type 1 10314 */ 10315 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 10316 return event[10]; 10317 } 10318 /** 10319 * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10320 * @param event packet 10321 * @return allocation_method_bitmap 10322 * @note: btstack_type 1 10323 */ 10324 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 10325 return event[11]; 10326 } 10327 /** 10328 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10329 * @param event packet 10330 * @return min_bitpool_value 10331 * @note: btstack_type 1 10332 */ 10333 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 10334 return event[12]; 10335 } 10336 /** 10337 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10338 * @param event packet 10339 * @return max_bitpool_value 10340 * @note: btstack_type 1 10341 */ 10342 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 10343 return event[13]; 10344 } 10345 10346 /** 10347 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10348 * @param event packet 10349 * @return a2dp_cid 10350 * @note: btstack_type 2 10351 */ 10352 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_a2dp_cid(const uint8_t * event){ 10353 return little_endian_read_16(event, 3); 10354 } 10355 /** 10356 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10357 * @param event packet 10358 * @return remote_seid 10359 * @note: btstack_type 1 10360 */ 10361 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 10362 return event[5]; 10363 } 10364 /** 10365 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10366 * @param event packet 10367 * @return media_type 10368 * @note: btstack_type 1 10369 */ 10370 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 10371 return event[6]; 10372 } 10373 /** 10374 * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10375 * @param event packet 10376 * @return layer_bitmap 10377 * @note: btstack_type 1 10378 */ 10379 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 10380 return event[7]; 10381 } 10382 /** 10383 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10384 * @param event packet 10385 * @return crc 10386 * @note: btstack_type 1 10387 */ 10388 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 10389 return event[8]; 10390 } 10391 /** 10392 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10393 * @param event packet 10394 * @return channel_mode_bitmap 10395 * @note: btstack_type 1 10396 */ 10397 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 10398 return event[9]; 10399 } 10400 /** 10401 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10402 * @param event packet 10403 * @return media_payload_format 10404 * @note: btstack_type 1 10405 */ 10406 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 10407 return event[10]; 10408 } 10409 /** 10410 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10411 * @param event packet 10412 * @return sampling_frequency_bitmap 10413 * @note: btstack_type 1 10414 */ 10415 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10416 return event[11]; 10417 } 10418 /** 10419 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10420 * @param event packet 10421 * @return vbr 10422 * @note: btstack_type 1 10423 */ 10424 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 10425 return event[12]; 10426 } 10427 /** 10428 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10429 * @param event packet 10430 * @return bit_rate_index_bitmap 10431 * @note: btstack_type 2 10432 */ 10433 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10434 return little_endian_read_16(event, 13); 10435 } 10436 10437 /** 10438 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10439 * @param event packet 10440 * @return a2dp_cid 10441 * @note: btstack_type 2 10442 */ 10443 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_a2dp_cid(const uint8_t * event){ 10444 return little_endian_read_16(event, 3); 10445 } 10446 /** 10447 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10448 * @param event packet 10449 * @return remote_seid 10450 * @note: btstack_type 1 10451 */ 10452 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 10453 return event[5]; 10454 } 10455 /** 10456 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10457 * @param event packet 10458 * @return media_type 10459 * @note: btstack_type 1 10460 */ 10461 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 10462 return event[6]; 10463 } 10464 /** 10465 * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10466 * @param event packet 10467 * @return object_type_bitmap 10468 * @note: btstack_type 1 10469 */ 10470 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 10471 return event[7]; 10472 } 10473 /** 10474 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10475 * @param event packet 10476 * @return sampling_frequency_bitmap 10477 * @note: btstack_type 2 10478 */ 10479 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10480 return little_endian_read_16(event, 8); 10481 } 10482 /** 10483 * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10484 * @param event packet 10485 * @return channels_bitmap 10486 * @note: btstack_type 1 10487 */ 10488 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 10489 return event[10]; 10490 } 10491 /** 10492 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10493 * @param event packet 10494 * @return bit_rate 10495 * @note: btstack_type 3 10496 */ 10497 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 10498 return little_endian_read_24(event, 11); 10499 } 10500 /** 10501 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10502 * @param event packet 10503 * @return vbr 10504 * @note: btstack_type 1 10505 */ 10506 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 10507 return event[14]; 10508 } 10509 10510 /** 10511 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10512 * @param event packet 10513 * @return a2dp_cid 10514 * @note: btstack_type 2 10515 */ 10516 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_a2dp_cid(const uint8_t * event){ 10517 return little_endian_read_16(event, 3); 10518 } 10519 /** 10520 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10521 * @param event packet 10522 * @return remote_seid 10523 * @note: btstack_type 1 10524 */ 10525 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 10526 return event[5]; 10527 } 10528 /** 10529 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10530 * @param event packet 10531 * @return media_type 10532 * @note: btstack_type 1 10533 */ 10534 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 10535 return event[6]; 10536 } 10537 /** 10538 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10539 * @param event packet 10540 * @return version 10541 * @note: btstack_type 1 10542 */ 10543 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 10544 return event[7]; 10545 } 10546 /** 10547 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10548 * @param event packet 10549 * @return channel_mode_bitmap 10550 * @note: btstack_type 1 10551 */ 10552 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 10553 return event[8]; 10554 } 10555 /** 10556 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10557 * @param event packet 10558 * @return sampling_frequency_bitmap 10559 * @note: btstack_type 1 10560 */ 10561 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10562 return event[9]; 10563 } 10564 /** 10565 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10566 * @param event packet 10567 * @return vbr 10568 * @note: btstack_type 1 10569 */ 10570 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 10571 return event[10]; 10572 } 10573 /** 10574 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10575 * @param event packet 10576 * @return bit_rate_index_bitmap 10577 * @note: btstack_type 3 10578 */ 10579 static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10580 return little_endian_read_24(event, 11); 10581 } 10582 /** 10583 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10584 * @param event packet 10585 * @return maximum_sul 10586 * @note: btstack_type 2 10587 */ 10588 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 10589 return little_endian_read_16(event, 14); 10590 } 10591 10592 /** 10593 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10594 * @param event packet 10595 * @return a2dp_cid 10596 * @note: btstack_type 2 10597 */ 10598 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_a2dp_cid(const uint8_t * event){ 10599 return little_endian_read_16(event, 3); 10600 } 10601 /** 10602 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10603 * @param event packet 10604 * @return remote_seid 10605 * @note: btstack_type 1 10606 */ 10607 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 10608 return event[5]; 10609 } 10610 /** 10611 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10612 * @param event packet 10613 * @return media_type 10614 * @note: btstack_type 1 10615 */ 10616 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 10617 return event[6]; 10618 } 10619 /** 10620 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10621 * @param event packet 10622 * @return media_codec_type 10623 * @note: btstack_type 2 10624 */ 10625 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 10626 return little_endian_read_16(event, 7); 10627 } 10628 /** 10629 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10630 * @param event packet 10631 * @return media_codec_information_len 10632 * @note: btstack_type L 10633 */ 10634 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 10635 return little_endian_read_16(event, 9); 10636 } 10637 /** 10638 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10639 * @param event packet 10640 * @return media_codec_information 10641 * @note: btstack_type V 10642 */ 10643 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 10644 return &event[11]; 10645 } 10646 10647 /** 10648 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10649 * @param event packet 10650 * @return a2dp_cid 10651 * @note: btstack_type 2 10652 */ 10653 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_a2dp_cid(const uint8_t * event){ 10654 return little_endian_read_16(event, 3); 10655 } 10656 /** 10657 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10658 * @param event packet 10659 * @return remote_seid 10660 * @note: btstack_type 1 10661 */ 10662 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 10663 return event[5]; 10664 } 10665 10666 /** 10667 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10668 * @param event packet 10669 * @return a2dp_cid 10670 * @note: btstack_type 2 10671 */ 10672 static inline uint16_t a2dp_subevent_signaling_delay_report_get_a2dp_cid(const uint8_t * event){ 10673 return little_endian_read_16(event, 3); 10674 } 10675 /** 10676 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10677 * @param event packet 10678 * @return local_seid 10679 * @note: btstack_type 1 10680 */ 10681 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 10682 return event[5]; 10683 } 10684 /** 10685 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10686 * @param event packet 10687 * @return delay_100us 10688 * @note: btstack_type 2 10689 */ 10690 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 10691 return little_endian_read_16(event, 6); 10692 } 10693 10694 /** 10695 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10696 * @param event packet 10697 * @return a2dp_cid 10698 * @note: btstack_type 2 10699 */ 10700 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_a2dp_cid(const uint8_t * event){ 10701 return little_endian_read_16(event, 3); 10702 } 10703 /** 10704 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10705 * @param event packet 10706 * @return remote_seid 10707 * @note: btstack_type 1 10708 */ 10709 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 10710 return event[5]; 10711 } 10712 10713 /** 10714 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 10715 * @param event packet 10716 * @return a2dp_cid 10717 * @note: btstack_type 2 10718 */ 10719 static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_a2dp_cid(const uint8_t * event){ 10720 return little_endian_read_16(event, 3); 10721 } 10722 10723 /** 10724 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10725 * @param event packet 10726 * @return avrcp_cid 10727 * @note: btstack_type 2 10728 */ 10729 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 10730 return little_endian_read_16(event, 3); 10731 } 10732 /** 10733 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10734 * @param event packet 10735 * @return command_type 10736 * @note: btstack_type 1 10737 */ 10738 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 10739 return event[5]; 10740 } 10741 /** 10742 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10743 * @param event packet 10744 * @return play_status 10745 * @note: btstack_type 1 10746 */ 10747 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 10748 return event[6]; 10749 } 10750 10751 /** 10752 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10753 * @param event packet 10754 * @return avrcp_cid 10755 * @note: btstack_type 2 10756 */ 10757 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 10758 return little_endian_read_16(event, 3); 10759 } 10760 /** 10761 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10762 * @param event packet 10763 * @return command_type 10764 * @note: btstack_type 1 10765 */ 10766 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 10767 return event[5]; 10768 } 10769 10770 /** 10771 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10772 * @param event packet 10773 * @return avrcp_cid 10774 * @note: btstack_type 2 10775 */ 10776 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 10777 return little_endian_read_16(event, 3); 10778 } 10779 /** 10780 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10781 * @param event packet 10782 * @return command_type 10783 * @note: btstack_type 1 10784 */ 10785 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 10786 return event[5]; 10787 } 10788 10789 /** 10790 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10791 * @param event packet 10792 * @return avrcp_cid 10793 * @note: btstack_type 2 10794 */ 10795 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_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_NOTIFICATION_EVENT_TRACK_REACHED_START 10800 * @param event packet 10801 * @return command_type 10802 * @note: btstack_type 1 10803 */ 10804 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 10805 return event[5]; 10806 } 10807 10808 /** 10809 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10810 * @param event packet 10811 * @return avrcp_cid 10812 * @note: btstack_type 2 10813 */ 10814 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 10815 return little_endian_read_16(event, 3); 10816 } 10817 /** 10818 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10819 * @param event packet 10820 * @return command_type 10821 * @note: btstack_type 1 10822 */ 10823 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 10824 return event[5]; 10825 } 10826 /** 10827 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10828 * @param event packet 10829 * @return playback_position 10830 * @note: btstack_type 4 10831 */ 10832 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 10833 return little_endian_read_32(event, 6); 10834 } 10835 10836 /** 10837 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10838 * @param event packet 10839 * @return avrcp_cid 10840 * @note: btstack_type 2 10841 */ 10842 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 10843 return little_endian_read_16(event, 3); 10844 } 10845 /** 10846 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10847 * @param event packet 10848 * @return command_type 10849 * @note: btstack_type 1 10850 */ 10851 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 10852 return event[5]; 10853 } 10854 /** 10855 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10856 * @param event packet 10857 * @return battery_status 10858 * @note: btstack_type 1 10859 */ 10860 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 10861 return event[6]; 10862 } 10863 10864 /** 10865 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10866 * @param event packet 10867 * @return avrcp_cid 10868 * @note: btstack_type 2 10869 */ 10870 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 10871 return little_endian_read_16(event, 3); 10872 } 10873 /** 10874 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10875 * @param event packet 10876 * @return command_type 10877 * @note: btstack_type 1 10878 */ 10879 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 10880 return event[5]; 10881 } 10882 /** 10883 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10884 * @param event packet 10885 * @return system_status 10886 * @note: btstack_type 1 10887 */ 10888 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 10889 return event[6]; 10890 } 10891 10892 /** 10893 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10894 * @param event packet 10895 * @return avrcp_cid 10896 * @note: btstack_type 2 10897 */ 10898 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 10899 return little_endian_read_16(event, 3); 10900 } 10901 /** 10902 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10903 * @param event packet 10904 * @return command_type 10905 * @note: btstack_type 1 10906 */ 10907 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 10908 return event[5]; 10909 } 10910 10911 /** 10912 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10913 * @param event packet 10914 * @return avrcp_cid 10915 * @note: btstack_type 2 10916 */ 10917 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 10918 return little_endian_read_16(event, 3); 10919 } 10920 /** 10921 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10922 * @param event packet 10923 * @return command_type 10924 * @note: btstack_type 1 10925 */ 10926 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 10927 return event[5]; 10928 } 10929 10930 /** 10931 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10932 * @param event packet 10933 * @return avrcp_cid 10934 * @note: btstack_type 2 10935 */ 10936 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 10937 return little_endian_read_16(event, 3); 10938 } 10939 /** 10940 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10941 * @param event packet 10942 * @return command_type 10943 * @note: btstack_type 1 10944 */ 10945 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 10946 return event[5]; 10947 } 10948 /** 10949 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10950 * @param event packet 10951 * @return uid_counter 10952 * @note: btstack_type 2 10953 */ 10954 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 10955 return little_endian_read_16(event, 6); 10956 } 10957 10958 /** 10959 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10960 * @param event packet 10961 * @return avrcp_cid 10962 * @note: btstack_type 2 10963 */ 10964 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 10965 return little_endian_read_16(event, 3); 10966 } 10967 /** 10968 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10969 * @param event packet 10970 * @return command_type 10971 * @note: btstack_type 1 10972 */ 10973 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 10974 return event[5]; 10975 } 10976 /** 10977 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10978 * @param event packet 10979 * @return absolute_volume 10980 * @note: btstack_type 1 10981 */ 10982 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 10983 return event[6]; 10984 } 10985 10986 /** 10987 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10988 * @param event packet 10989 * @return avrcp_cid 10990 * @note: btstack_type 2 10991 */ 10992 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 10993 return little_endian_read_16(event, 3); 10994 } 10995 /** 10996 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10997 * @param event packet 10998 * @return command_type 10999 * @note: btstack_type 1 11000 */ 11001 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 11002 return event[5]; 11003 } 11004 /** 11005 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 11006 * @param event packet 11007 * @return absolute_volume 11008 * @note: btstack_type 1 11009 */ 11010 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 11011 return event[6]; 11012 } 11013 11014 /** 11015 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_STATE 11016 * @param event packet 11017 * @return avrcp_cid 11018 * @note: btstack_type 2 11019 */ 11020 static inline uint16_t avrcp_subevent_notification_state_get_avrcp_cid(const uint8_t * event){ 11021 return little_endian_read_16(event, 3); 11022 } 11023 /** 11024 * @brief Get field status from event AVRCP_SUBEVENT_NOTIFICATION_STATE 11025 * @param event packet 11026 * @return status 11027 * @note: btstack_type 1 11028 */ 11029 static inline uint8_t avrcp_subevent_notification_state_get_status(const uint8_t * event){ 11030 return event[5]; 11031 } 11032 /** 11033 * @brief Get field enabled from event AVRCP_SUBEVENT_NOTIFICATION_STATE 11034 * @param event packet 11035 * @return enabled 11036 * @note: btstack_type 1 11037 */ 11038 static inline uint8_t avrcp_subevent_notification_state_get_enabled(const uint8_t * event){ 11039 return event[6]; 11040 } 11041 /** 11042 * @brief Get field event_id from event AVRCP_SUBEVENT_NOTIFICATION_STATE 11043 * @param event packet 11044 * @return event_id 11045 * @note: btstack_type 1 11046 */ 11047 static inline uint8_t avrcp_subevent_notification_state_get_event_id(const uint8_t * event){ 11048 return event[7]; 11049 } 11050 11051 /** 11052 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 11053 * @param event packet 11054 * @return status 11055 * @note: btstack_type 1 11056 */ 11057 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 11058 return event[3]; 11059 } 11060 /** 11061 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 11062 * @param event packet 11063 * @return avrcp_cid 11064 * @note: btstack_type 2 11065 */ 11066 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 11067 return little_endian_read_16(event, 4); 11068 } 11069 /** 11070 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 11071 * @param event packet 11072 * @param Pointer to storage for bd_addr 11073 * @note: btstack_type B 11074 */ 11075 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11076 reverse_bytes(&event[6], bd_addr, 6); 11077 } 11078 /** 11079 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 11080 * @param event packet 11081 * @return con_handle 11082 * @note: btstack_type 2 11083 */ 11084 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 11085 return little_endian_read_16(event, 12); 11086 } 11087 11088 /** 11089 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 11090 * @param event packet 11091 * @return avrcp_cid 11092 * @note: btstack_type 2 11093 */ 11094 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 11095 return little_endian_read_16(event, 3); 11096 } 11097 11098 /** 11099 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11100 * @param event packet 11101 * @return avrcp_cid 11102 * @note: btstack_type 2 11103 */ 11104 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 11105 return little_endian_read_16(event, 3); 11106 } 11107 /** 11108 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11109 * @param event packet 11110 * @return command_type 11111 * @note: btstack_type 1 11112 */ 11113 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 11114 return event[5]; 11115 } 11116 /** 11117 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11118 * @param event packet 11119 * @return repeat_mode 11120 * @note: btstack_type 1 11121 */ 11122 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 11123 return event[6]; 11124 } 11125 /** 11126 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11127 * @param event packet 11128 * @return shuffle_mode 11129 * @note: btstack_type 1 11130 */ 11131 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 11132 return event[7]; 11133 } 11134 11135 /** 11136 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 11137 * @param event packet 11138 * @return avrcp_cid 11139 * @note: btstack_type 2 11140 */ 11141 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 11142 return little_endian_read_16(event, 3); 11143 } 11144 /** 11145 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 11146 * @param event packet 11147 * @return command_type 11148 * @note: btstack_type 1 11149 */ 11150 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 11151 return event[5]; 11152 } 11153 /** 11154 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 11155 * @param event packet 11156 * @return song_length 11157 * @note: btstack_type 4 11158 */ 11159 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 11160 return little_endian_read_32(event, 6); 11161 } 11162 /** 11163 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 11164 * @param event packet 11165 * @return song_position 11166 * @note: btstack_type 4 11167 */ 11168 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 11169 return little_endian_read_32(event, 10); 11170 } 11171 /** 11172 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 11173 * @param event packet 11174 * @return play_status 11175 * @note: btstack_type 1 11176 */ 11177 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 11178 return event[14]; 11179 } 11180 11181 /** 11182 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 11183 * @param event packet 11184 * @return avrcp_cid 11185 * @note: btstack_type 2 11186 */ 11187 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 11188 return little_endian_read_16(event, 3); 11189 } 11190 /** 11191 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 11192 * @param event packet 11193 * @return command_type 11194 * @note: btstack_type 1 11195 */ 11196 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 11197 return event[5]; 11198 } 11199 /** 11200 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 11201 * @param event packet 11202 * @return operation_id 11203 * @note: btstack_type 1 11204 */ 11205 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 11206 return event[6]; 11207 } 11208 11209 /** 11210 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11211 * @param event packet 11212 * @return avrcp_cid 11213 * @note: btstack_type 2 11214 */ 11215 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 11216 return little_endian_read_16(event, 3); 11217 } 11218 /** 11219 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11220 * @param event packet 11221 * @return command_type 11222 * @note: btstack_type 1 11223 */ 11224 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 11225 return event[5]; 11226 } 11227 /** 11228 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11229 * @param event packet 11230 * @return operation_id 11231 * @note: btstack_type 1 11232 */ 11233 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 11234 return event[6]; 11235 } 11236 11237 /** 11238 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 11239 * @param event packet 11240 * @return avrcp_cid 11241 * @note: btstack_type 2 11242 */ 11243 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 11244 return little_endian_read_16(event, 3); 11245 } 11246 /** 11247 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 11248 * @param event packet 11249 * @return command_type 11250 * @note: btstack_type 1 11251 */ 11252 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 11253 return event[5]; 11254 } 11255 11256 /** 11257 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 11258 * @param event packet 11259 * @return avrcp_cid 11260 * @note: btstack_type 2 11261 */ 11262 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 11263 return little_endian_read_16(event, 3); 11264 } 11265 11266 /** 11267 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 11268 * @param event packet 11269 * @return avrcp_cid 11270 * @note: btstack_type 2 11271 */ 11272 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 11273 return little_endian_read_16(event, 3); 11274 } 11275 /** 11276 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 11277 * @param event packet 11278 * @return operation_id 11279 * @note: btstack_type 1 11280 */ 11281 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 11282 return event[5]; 11283 } 11284 /** 11285 * @brief Get field button_pressed from event AVRCP_SUBEVENT_OPERATION 11286 * @param event packet 11287 * @return button_pressed 11288 * @note: btstack_type 1 11289 */ 11290 static inline uint8_t avrcp_subevent_operation_get_button_pressed(const uint8_t * event){ 11291 return event[6]; 11292 } 11293 /** 11294 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 11295 * @param event packet 11296 * @return operands_length 11297 * @note: btstack_type 1 11298 */ 11299 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 11300 return event[7]; 11301 } 11302 /** 11303 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 11304 * @param event packet 11305 * @return operand 11306 * @note: btstack_type 1 11307 */ 11308 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 11309 return event[8]; 11310 } 11311 11312 /** 11313 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11314 * @param event packet 11315 * @return avrcp_cid 11316 * @note: btstack_type 2 11317 */ 11318 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 11319 return little_endian_read_16(event, 3); 11320 } 11321 /** 11322 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11323 * @param event packet 11324 * @return command_type 11325 * @note: btstack_type 1 11326 */ 11327 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 11328 return event[5]; 11329 } 11330 /** 11331 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11332 * @param event packet 11333 * @return track 11334 * @note: btstack_type 1 11335 */ 11336 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 11337 return event[6]; 11338 } 11339 11340 /** 11341 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11342 * @param event packet 11343 * @return avrcp_cid 11344 * @note: btstack_type 2 11345 */ 11346 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 11347 return little_endian_read_16(event, 3); 11348 } 11349 /** 11350 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11351 * @param event packet 11352 * @return command_type 11353 * @note: btstack_type 1 11354 */ 11355 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 11356 return event[5]; 11357 } 11358 /** 11359 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11360 * @param event packet 11361 * @return total_tracks 11362 * @note: btstack_type 1 11363 */ 11364 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 11365 return event[6]; 11366 } 11367 11368 /** 11369 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11370 * @param event packet 11371 * @return avrcp_cid 11372 * @note: btstack_type 2 11373 */ 11374 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 11375 return little_endian_read_16(event, 3); 11376 } 11377 /** 11378 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11379 * @param event packet 11380 * @return command_type 11381 * @note: btstack_type 1 11382 */ 11383 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 11384 return event[5]; 11385 } 11386 /** 11387 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11388 * @param event packet 11389 * @return song_length 11390 * @note: btstack_type 4 11391 */ 11392 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 11393 return little_endian_read_32(event, 6); 11394 } 11395 11396 /** 11397 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11398 * @param event packet 11399 * @return avrcp_cid 11400 * @note: btstack_type 2 11401 */ 11402 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 11403 return little_endian_read_16(event, 3); 11404 } 11405 /** 11406 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11407 * @param event packet 11408 * @return command_type 11409 * @note: btstack_type 1 11410 */ 11411 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 11412 return event[5]; 11413 } 11414 /** 11415 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11416 * @param event packet 11417 * @return value_len 11418 * @note: btstack_type J 11419 */ 11420 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 11421 return event[6]; 11422 } 11423 /** 11424 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11425 * @param event packet 11426 * @return value 11427 * @note: btstack_type V 11428 */ 11429 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 11430 return &event[7]; 11431 } 11432 11433 /** 11434 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11435 * @param event packet 11436 * @return avrcp_cid 11437 * @note: btstack_type 2 11438 */ 11439 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 11440 return little_endian_read_16(event, 3); 11441 } 11442 /** 11443 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11444 * @param event packet 11445 * @return command_type 11446 * @note: btstack_type 1 11447 */ 11448 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 11449 return event[5]; 11450 } 11451 /** 11452 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11453 * @param event packet 11454 * @return value_len 11455 * @note: btstack_type J 11456 */ 11457 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 11458 return event[6]; 11459 } 11460 /** 11461 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11462 * @param event packet 11463 * @return value 11464 * @note: btstack_type V 11465 */ 11466 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 11467 return &event[7]; 11468 } 11469 11470 /** 11471 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11472 * @param event packet 11473 * @return avrcp_cid 11474 * @note: btstack_type 2 11475 */ 11476 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 11477 return little_endian_read_16(event, 3); 11478 } 11479 /** 11480 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11481 * @param event packet 11482 * @return command_type 11483 * @note: btstack_type 1 11484 */ 11485 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 11486 return event[5]; 11487 } 11488 /** 11489 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11490 * @param event packet 11491 * @return value_len 11492 * @note: btstack_type J 11493 */ 11494 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 11495 return event[6]; 11496 } 11497 /** 11498 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11499 * @param event packet 11500 * @return value 11501 * @note: btstack_type V 11502 */ 11503 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 11504 return &event[7]; 11505 } 11506 11507 /** 11508 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11509 * @param event packet 11510 * @return avrcp_cid 11511 * @note: btstack_type 2 11512 */ 11513 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 11514 return little_endian_read_16(event, 3); 11515 } 11516 /** 11517 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11518 * @param event packet 11519 * @return command_type 11520 * @note: btstack_type 1 11521 */ 11522 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 11523 return event[5]; 11524 } 11525 /** 11526 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11527 * @param event packet 11528 * @return value_len 11529 * @note: btstack_type J 11530 */ 11531 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 11532 return event[6]; 11533 } 11534 /** 11535 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11536 * @param event packet 11537 * @return value 11538 * @note: btstack_type V 11539 */ 11540 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 11541 return &event[7]; 11542 } 11543 11544 /** 11545 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11546 * @param event packet 11547 * @return avrcp_cid 11548 * @note: btstack_type 2 11549 */ 11550 static inline uint16_t avrcp_subevent_now_playing_cover_art_info_get_avrcp_cid(const uint8_t * event){ 11551 return little_endian_read_16(event, 3); 11552 } 11553 /** 11554 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11555 * @param event packet 11556 * @return command_type 11557 * @note: btstack_type 1 11558 */ 11559 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_command_type(const uint8_t * event){ 11560 return event[5]; 11561 } 11562 /** 11563 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11564 * @param event packet 11565 * @return value_len 11566 * @note: btstack_type J 11567 */ 11568 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_value_len(const uint8_t * event){ 11569 return event[6]; 11570 } 11571 /** 11572 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11573 * @param event packet 11574 * @return value 11575 * @note: btstack_type V 11576 */ 11577 static inline const uint8_t * avrcp_subevent_now_playing_cover_art_info_get_value(const uint8_t * event){ 11578 return &event[7]; 11579 } 11580 11581 /** 11582 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11583 * @param event packet 11584 * @return avrcp_cid 11585 * @note: btstack_type 2 11586 */ 11587 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 11588 return little_endian_read_16(event, 3); 11589 } 11590 /** 11591 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11592 * @param event packet 11593 * @return command_type 11594 * @note: btstack_type 1 11595 */ 11596 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 11597 return event[5]; 11598 } 11599 /** 11600 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11601 * @param event packet 11602 * @return status 11603 * @note: btstack_type 1 11604 */ 11605 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 11606 return event[6]; 11607 } 11608 11609 /** 11610 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11611 * @param event packet 11612 * @return avrcp_cid 11613 * @note: btstack_type 2 11614 */ 11615 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 11616 return little_endian_read_16(event, 3); 11617 } 11618 /** 11619 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11620 * @param event packet 11621 * @return command_type 11622 * @note: btstack_type 1 11623 */ 11624 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 11625 return event[5]; 11626 } 11627 /** 11628 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11629 * @param event packet 11630 * @return playback_position_ms 11631 * @note: btstack_type 4 11632 */ 11633 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 11634 return little_endian_read_32(event, 6); 11635 } 11636 11637 /** 11638 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11639 * @param event packet 11640 * @return avrcp_cid 11641 * @note: btstack_type 2 11642 */ 11643 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 11644 return little_endian_read_16(event, 3); 11645 } 11646 /** 11647 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11648 * @param event packet 11649 * @return command_type 11650 * @note: btstack_type 1 11651 */ 11652 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 11653 return event[5]; 11654 } 11655 /** 11656 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11657 * @param event packet 11658 * @return status 11659 * @note: btstack_type 1 11660 */ 11661 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 11662 return event[6]; 11663 } 11664 /** 11665 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11666 * @param event packet 11667 * @return event_id 11668 * @note: btstack_type 1 11669 */ 11670 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 11671 return event[7]; 11672 } 11673 11674 /** 11675 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11676 * @param event packet 11677 * @return avrcp_cid 11678 * @note: btstack_type 2 11679 */ 11680 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){ 11681 return little_endian_read_16(event, 3); 11682 } 11683 /** 11684 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11685 * @param event packet 11686 * @return command_type 11687 * @note: btstack_type 1 11688 */ 11689 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 11690 return event[5]; 11691 } 11692 /** 11693 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11694 * @param event packet 11695 * @return status 11696 * @note: btstack_type 1 11697 */ 11698 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 11699 return event[6]; 11700 } 11701 11702 /** 11703 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11704 * @param event packet 11705 * @return avrcp_cid 11706 * @note: btstack_type 2 11707 */ 11708 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 11709 return little_endian_read_16(event, 3); 11710 } 11711 /** 11712 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11713 * @param event packet 11714 * @return command_type 11715 * @note: btstack_type 1 11716 */ 11717 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 11718 return event[5]; 11719 } 11720 /** 11721 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11722 * @param event packet 11723 * @return status 11724 * @note: btstack_type 1 11725 */ 11726 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 11727 return event[6]; 11728 } 11729 /** 11730 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11731 * @param event packet 11732 * @return company_id 11733 * @note: btstack_type 3 11734 */ 11735 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 11736 return little_endian_read_24(event, 7); 11737 } 11738 11739 /** 11740 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11741 * @param event packet 11742 * @return avrcp_cid 11743 * @note: btstack_type 2 11744 */ 11745 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){ 11746 return little_endian_read_16(event, 3); 11747 } 11748 /** 11749 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11750 * @param event packet 11751 * @return command_type 11752 * @note: btstack_type 1 11753 */ 11754 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 11755 return event[5]; 11756 } 11757 /** 11758 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11759 * @param event packet 11760 * @return status 11761 * @note: btstack_type 1 11762 */ 11763 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 11764 return event[6]; 11765 } 11766 11767 /** 11768 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11769 * @param event packet 11770 * @return avrcp_cid 11771 * @note: btstack_type 2 11772 */ 11773 static inline uint16_t avrcp_subevent_custom_command_response_get_avrcp_cid(const uint8_t * event){ 11774 return little_endian_read_16(event, 3); 11775 } 11776 /** 11777 * @brief Get field command_type from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11778 * @param event packet 11779 * @return command_type 11780 * @note: btstack_type 1 11781 */ 11782 static inline uint8_t avrcp_subevent_custom_command_response_get_command_type(const uint8_t * event){ 11783 return event[5]; 11784 } 11785 /** 11786 * @brief Get field pdu_id from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11787 * @param event packet 11788 * @return pdu_id 11789 * @note: btstack_type 1 11790 */ 11791 static inline uint8_t avrcp_subevent_custom_command_response_get_pdu_id(const uint8_t * event){ 11792 return event[6]; 11793 } 11794 /** 11795 * @brief Get field params_len from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11796 * @param event packet 11797 * @return params_len 11798 * @note: btstack_type L 11799 */ 11800 static inline uint16_t avrcp_subevent_custom_command_response_get_params_len(const uint8_t * event){ 11801 return little_endian_read_16(event, 7); 11802 } 11803 /** 11804 * @brief Get field params from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11805 * @param event packet 11806 * @return params 11807 * @note: btstack_type V 11808 */ 11809 static inline const uint8_t * avrcp_subevent_custom_command_response_get_params(const uint8_t * event){ 11810 return &event[9]; 11811 } 11812 11813 /** 11814 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11815 * @param event packet 11816 * @param Pointer to storage for bd_addr 11817 * @note: btstack_type B 11818 */ 11819 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11820 reverse_bytes(&event[3], bd_addr, 6); 11821 } 11822 /** 11823 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11824 * @param event packet 11825 * @return browsing_cid 11826 * @note: btstack_type 2 11827 */ 11828 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 11829 return little_endian_read_16(event, 9); 11830 } 11831 11832 /** 11833 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11834 * @param event packet 11835 * @return status 11836 * @note: btstack_type 1 11837 */ 11838 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 11839 return event[3]; 11840 } 11841 /** 11842 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11843 * @param event packet 11844 * @param Pointer to storage for bd_addr 11845 * @note: btstack_type B 11846 */ 11847 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11848 reverse_bytes(&event[4], bd_addr, 6); 11849 } 11850 /** 11851 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11852 * @param event packet 11853 * @return browsing_cid 11854 * @note: btstack_type 2 11855 */ 11856 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 11857 return little_endian_read_16(event, 10); 11858 } 11859 11860 /** 11861 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 11862 * @param event packet 11863 * @return browsing_cid 11864 * @note: btstack_type 2 11865 */ 11866 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 11867 return little_endian_read_16(event, 3); 11868 } 11869 11870 /** 11871 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 11872 * @param event packet 11873 * @return browsing_cid 11874 * @note: btstack_type 2 11875 */ 11876 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 11877 return little_endian_read_16(event, 3); 11878 } 11879 /** 11880 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 11881 * @param event packet 11882 * @return uid_counter 11883 * @note: btstack_type 2 11884 */ 11885 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 11886 return little_endian_read_16(event, 5); 11887 } 11888 /** 11889 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 11890 * @param event packet 11891 * @return browsing_status 11892 * @note: btstack_type 1 11893 */ 11894 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 11895 return event[7]; 11896 } 11897 /** 11898 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 11899 * @param event packet 11900 * @return bluetooth_status 11901 * @note: btstack_type 1 11902 */ 11903 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 11904 return event[8]; 11905 } 11906 11907 /** 11908 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11909 * @param event packet 11910 * @return browsing_cid 11911 * @note: btstack_type 2 11912 */ 11913 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 11914 return little_endian_read_16(event, 3); 11915 } 11916 /** 11917 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11918 * @param event packet 11919 * @return scope 11920 * @note: btstack_type 1 11921 */ 11922 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 11923 return event[5]; 11924 } 11925 /** 11926 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11927 * @param event packet 11928 * @return attr_bitmap 11929 * @note: btstack_type 4 11930 */ 11931 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 11932 return little_endian_read_32(event, 6); 11933 } 11934 11935 /** 11936 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11937 * @param event packet 11938 * @return browsing_cid 11939 * @note: btstack_type 2 11940 */ 11941 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 11942 return little_endian_read_16(event, 3); 11943 } 11944 /** 11945 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11946 * @param event packet 11947 * @return scope 11948 * @note: btstack_type 1 11949 */ 11950 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 11951 return event[5]; 11952 } 11953 11954 /** 11955 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11956 * @param event packet 11957 * @return browsing_cid 11958 * @note: btstack_type 2 11959 */ 11960 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_browsing_cid(const uint8_t * event){ 11961 return little_endian_read_16(event, 3); 11962 } 11963 /** 11964 * @brief Get field player_id from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11965 * @param event packet 11966 * @return player_id 11967 * @note: btstack_type 2 11968 */ 11969 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_player_id(const uint8_t * event){ 11970 return little_endian_read_16(event, 5); 11971 } 11972 11973 /** 11974 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11975 * @param event packet 11976 * @return status 11977 * @note: btstack_type 1 11978 */ 11979 static inline uint8_t avrcp_subevent_cover_art_connection_established_get_status(const uint8_t * event){ 11980 return event[3]; 11981 } 11982 /** 11983 * @brief Get field bd_addr from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11984 * @param event packet 11985 * @param Pointer to storage for bd_addr 11986 * @note: btstack_type B 11987 */ 11988 static inline void avrcp_subevent_cover_art_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11989 reverse_bytes(&event[4], bd_addr, 6); 11990 } 11991 /** 11992 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11993 * @param event packet 11994 * @return avrcp_cid 11995 * @note: btstack_type 2 11996 */ 11997 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_avrcp_cid(const uint8_t * event){ 11998 return little_endian_read_16(event, 10); 11999 } 12000 /** 12001 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 12002 * @param event packet 12003 * @return cover_art_cid 12004 * @note: btstack_type 2 12005 */ 12006 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_cover_art_cid(const uint8_t * event){ 12007 return little_endian_read_16(event, 12); 12008 } 12009 12010 /** 12011 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 12012 * @param event packet 12013 * @return cover_art_cid 12014 * @note: btstack_type 2 12015 */ 12016 static inline uint16_t avrcp_subevent_cover_art_operation_complete_get_cover_art_cid(const uint8_t * event){ 12017 return little_endian_read_16(event, 3); 12018 } 12019 /** 12020 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 12021 * @param event packet 12022 * @return status 12023 * @note: btstack_type 1 12024 */ 12025 static inline uint8_t avrcp_subevent_cover_art_operation_complete_get_status(const uint8_t * event){ 12026 return event[5]; 12027 } 12028 12029 /** 12030 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_RELEASED 12031 * @param event packet 12032 * @return cover_art_cid 12033 * @note: btstack_type 2 12034 */ 12035 static inline uint16_t avrcp_subevent_cover_art_connection_released_get_cover_art_cid(const uint8_t * event){ 12036 return little_endian_read_16(event, 3); 12037 } 12038 12039 /** 12040 * @brief Get field goep_cid from event GOEP_SUBEVENT_INCOMING_CONNECTION 12041 * @param event packet 12042 * @return goep_cid 12043 * @note: btstack_type 2 12044 */ 12045 static inline uint16_t goep_subevent_incoming_connection_get_goep_cid(const uint8_t * event){ 12046 return little_endian_read_16(event, 3); 12047 } 12048 /** 12049 * @brief Get field address from event GOEP_SUBEVENT_INCOMING_CONNECTION 12050 * @param event packet 12051 * @param Pointer to storage for address 12052 * @note: btstack_type B 12053 */ 12054 static inline void goep_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 12055 reverse_bytes(&event[5], address, 6); 12056 } 12057 /** 12058 * @brief Get field handle from event GOEP_SUBEVENT_INCOMING_CONNECTION 12059 * @param event packet 12060 * @return handle 12061 * @note: btstack_type H 12062 */ 12063 static inline hci_con_handle_t goep_subevent_incoming_connection_get_handle(const uint8_t * event){ 12064 return little_endian_read_16(event, 11); 12065 } 12066 12067 /** 12068 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 12069 * @param event packet 12070 * @return goep_cid 12071 * @note: btstack_type 2 12072 */ 12073 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 12074 return little_endian_read_16(event, 3); 12075 } 12076 /** 12077 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 12078 * @param event packet 12079 * @return status 12080 * @note: btstack_type 1 12081 */ 12082 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 12083 return event[5]; 12084 } 12085 /** 12086 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 12087 * @param event packet 12088 * @param Pointer to storage for bd_addr 12089 * @note: btstack_type B 12090 */ 12091 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12092 reverse_bytes(&event[6], bd_addr, 6); 12093 } 12094 /** 12095 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 12096 * @param event packet 12097 * @return con_handle 12098 * @note: btstack_type H 12099 */ 12100 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12101 return little_endian_read_16(event, 12); 12102 } 12103 /** 12104 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 12105 * @param event packet 12106 * @return incoming 12107 * @note: btstack_type 1 12108 */ 12109 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 12110 return event[14]; 12111 } 12112 12113 /** 12114 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 12115 * @param event packet 12116 * @return goep_cid 12117 * @note: btstack_type 2 12118 */ 12119 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 12120 return little_endian_read_16(event, 3); 12121 } 12122 12123 /** 12124 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 12125 * @param event packet 12126 * @return goep_cid 12127 * @note: btstack_type 2 12128 */ 12129 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 12130 return little_endian_read_16(event, 3); 12131 } 12132 12133 /** 12134 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 12135 * @param event packet 12136 * @return pbap_cid 12137 * @note: btstack_type 2 12138 */ 12139 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 12140 return little_endian_read_16(event, 3); 12141 } 12142 /** 12143 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 12144 * @param event packet 12145 * @return status 12146 * @note: btstack_type 1 12147 */ 12148 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 12149 return event[5]; 12150 } 12151 /** 12152 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 12153 * @param event packet 12154 * @param Pointer to storage for bd_addr 12155 * @note: btstack_type B 12156 */ 12157 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12158 reverse_bytes(&event[6], bd_addr, 6); 12159 } 12160 /** 12161 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 12162 * @param event packet 12163 * @return con_handle 12164 * @note: btstack_type H 12165 */ 12166 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12167 return little_endian_read_16(event, 12); 12168 } 12169 /** 12170 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 12171 * @param event packet 12172 * @return incoming 12173 * @note: btstack_type 1 12174 */ 12175 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 12176 return event[14]; 12177 } 12178 12179 /** 12180 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 12181 * @param event packet 12182 * @return goep_cid 12183 * @note: btstack_type 2 12184 */ 12185 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 12186 return little_endian_read_16(event, 3); 12187 } 12188 12189 /** 12190 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 12191 * @param event packet 12192 * @return goep_cid 12193 * @note: btstack_type 2 12194 */ 12195 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 12196 return little_endian_read_16(event, 3); 12197 } 12198 /** 12199 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 12200 * @param event packet 12201 * @return status 12202 * @note: btstack_type 1 12203 */ 12204 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 12205 return event[5]; 12206 } 12207 12208 /** 12209 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12210 * @param event packet 12211 * @return goep_cid 12212 * @note: btstack_type 2 12213 */ 12214 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 12215 return little_endian_read_16(event, 3); 12216 } 12217 /** 12218 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12219 * @param event packet 12220 * @return status 12221 * @note: btstack_type 1 12222 */ 12223 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 12224 return event[5]; 12225 } 12226 /** 12227 * @brief Get field phonebook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12228 * @param event packet 12229 * @return phonebook_size 12230 * @note: btstack_type 2 12231 */ 12232 static inline uint16_t pbap_subevent_phonebook_size_get_phonebook_size(const uint8_t * event){ 12233 return little_endian_read_16(event, 6); 12234 } 12235 12236 /** 12237 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12238 * @param event packet 12239 * @return goep_cid 12240 * @note: btstack_type 2 12241 */ 12242 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 12243 return little_endian_read_16(event, 3); 12244 } 12245 /** 12246 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12247 * @param event packet 12248 * @return user_id_required 12249 * @note: btstack_type 1 12250 */ 12251 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 12252 return event[5]; 12253 } 12254 /** 12255 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12256 * @param event packet 12257 * @return full_access 12258 * @note: btstack_type 1 12259 */ 12260 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 12261 return event[6]; 12262 } 12263 12264 /** 12265 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 12266 * @param event packet 12267 * @return goep_cid 12268 * @note: btstack_type 2 12269 */ 12270 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 12271 return little_endian_read_16(event, 3); 12272 } 12273 /** 12274 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 12275 * @param event packet 12276 * @return name_len 12277 * @note: btstack_type J 12278 */ 12279 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 12280 return event[5]; 12281 } 12282 /** 12283 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 12284 * @param event packet 12285 * @return name 12286 * @note: btstack_type V 12287 */ 12288 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 12289 return &event[6]; 12290 } 12291 /** 12292 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 12293 * @param event packet 12294 * @return handle_len 12295 * @note: btstack_type J 12296 */ 12297 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 12298 return event[6u + event[5]]; 12299 } 12300 /** 12301 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 12302 * @param event packet 12303 * @return handle 12304 * @note: btstack_type V 12305 */ 12306 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 12307 return &event[6u + event[5] + 1u]; 12308 } 12309 12310 /** 12311 * @brief Get field goep_cid from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12312 * @param event packet 12313 * @return goep_cid 12314 * @note: btstack_type 2 12315 */ 12316 static inline uint16_t pbap_subevent_reset_missed_calls_get_goep_cid(const uint8_t * event){ 12317 return little_endian_read_16(event, 3); 12318 } 12319 /** 12320 * @brief Get field phonebook from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12321 * @param event packet 12322 * @return phonebook 12323 * @note: btstack_type 1 12324 */ 12325 static inline uint8_t pbap_subevent_reset_missed_calls_get_phonebook(const uint8_t * event){ 12326 return event[5]; 12327 } 12328 12329 /** 12330 * @brief Get field goep_cid from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12331 * @param event packet 12332 * @return goep_cid 12333 * @note: btstack_type 2 12334 */ 12335 static inline uint16_t pbap_subevent_query_phonebook_size_get_goep_cid(const uint8_t * event){ 12336 return little_endian_read_16(event, 3); 12337 } 12338 /** 12339 * @brief Get field vcard_selector from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12340 * @param event packet 12341 * @return vcard_selector 12342 * @note: btstack_type 4 12343 */ 12344 static inline uint32_t pbap_subevent_query_phonebook_size_get_vcard_selector(const uint8_t * event){ 12345 return little_endian_read_32(event, 5); 12346 } 12347 /** 12348 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12349 * @param event packet 12350 * @return vcard_selector_operator 12351 * @note: btstack_type 1 12352 */ 12353 static inline uint8_t pbap_subevent_query_phonebook_size_get_vcard_selector_operator(const uint8_t * event){ 12354 return event[9]; 12355 } 12356 /** 12357 * @brief Get field phonebook from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12358 * @param event packet 12359 * @return phonebook 12360 * @note: btstack_type 1 12361 */ 12362 static inline uint8_t pbap_subevent_query_phonebook_size_get_phonebook(const uint8_t * event){ 12363 return event[10]; 12364 } 12365 12366 /** 12367 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_PHONEBOOK 12368 * @param event packet 12369 * @return goep_cid 12370 * @note: btstack_type 2 12371 */ 12372 static inline uint16_t pbap_subevent_pull_phonebook_get_goep_cid(const uint8_t * event){ 12373 return little_endian_read_16(event, 3); 12374 } 12375 /** 12376 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_PHONEBOOK 12377 * @param event packet 12378 * @return continuation 12379 * @note: btstack_type 4 12380 */ 12381 static inline uint32_t pbap_subevent_pull_phonebook_get_continuation(const uint8_t * event){ 12382 return little_endian_read_32(event, 5); 12383 } 12384 /** 12385 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12386 * @param event packet 12387 * @return property_selector 12388 * @note: btstack_type 4 12389 */ 12390 static inline uint32_t pbap_subevent_pull_phonebook_get_property_selector(const uint8_t * event){ 12391 return little_endian_read_32(event, 9); 12392 } 12393 /** 12394 * @brief Get field format from event PBAP_SUBEVENT_PULL_PHONEBOOK 12395 * @param event packet 12396 * @return format 12397 * @note: btstack_type 1 12398 */ 12399 static inline uint8_t pbap_subevent_pull_phonebook_get_format(const uint8_t * event){ 12400 return event[13]; 12401 } 12402 /** 12403 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_PHONEBOOK 12404 * @param event packet 12405 * @return max_list_count 12406 * @note: btstack_type 2 12407 */ 12408 static inline uint16_t pbap_subevent_pull_phonebook_get_max_list_count(const uint8_t * event){ 12409 return little_endian_read_16(event, 14); 12410 } 12411 /** 12412 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_PHONEBOOK 12413 * @param event packet 12414 * @return list_start_offset 12415 * @note: btstack_type 2 12416 */ 12417 static inline uint16_t pbap_subevent_pull_phonebook_get_list_start_offset(const uint8_t * event){ 12418 return little_endian_read_16(event, 16); 12419 } 12420 /** 12421 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12422 * @param event packet 12423 * @return vcard_selector 12424 * @note: btstack_type 4 12425 */ 12426 static inline uint32_t pbap_subevent_pull_phonebook_get_vcard_selector(const uint8_t * event){ 12427 return little_endian_read_32(event, 18); 12428 } 12429 /** 12430 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_PHONEBOOK 12431 * @param event packet 12432 * @return vcard_selector_operator 12433 * @note: btstack_type 1 12434 */ 12435 static inline uint8_t pbap_subevent_pull_phonebook_get_vcard_selector_operator(const uint8_t * event){ 12436 return event[22]; 12437 } 12438 /** 12439 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_PHONEBOOK 12440 * @param event packet 12441 * @return phonebook 12442 * @note: btstack_type 1 12443 */ 12444 static inline uint8_t pbap_subevent_pull_phonebook_get_phonebook(const uint8_t * event){ 12445 return event[23]; 12446 } 12447 12448 /** 12449 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12450 * @param event packet 12451 * @return goep_cid 12452 * @note: btstack_type 2 12453 */ 12454 static inline uint16_t pbap_subevent_pull_vcard_listing_get_goep_cid(const uint8_t * event){ 12455 return little_endian_read_16(event, 3); 12456 } 12457 /** 12458 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12459 * @param event packet 12460 * @return continuation 12461 * @note: btstack_type 4 12462 */ 12463 static inline uint32_t pbap_subevent_pull_vcard_listing_get_continuation(const uint8_t * event){ 12464 return little_endian_read_32(event, 5); 12465 } 12466 /** 12467 * @brief Get field order from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12468 * @param event packet 12469 * @return order 12470 * @note: btstack_type 1 12471 */ 12472 static inline uint8_t pbap_subevent_pull_vcard_listing_get_order(const uint8_t * event){ 12473 return event[9]; 12474 } 12475 /** 12476 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12477 * @param event packet 12478 * @return max_list_count 12479 * @note: btstack_type 2 12480 */ 12481 static inline uint16_t pbap_subevent_pull_vcard_listing_get_max_list_count(const uint8_t * event){ 12482 return little_endian_read_16(event, 10); 12483 } 12484 /** 12485 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12486 * @param event packet 12487 * @return list_start_offset 12488 * @note: btstack_type 2 12489 */ 12490 static inline uint16_t pbap_subevent_pull_vcard_listing_get_list_start_offset(const uint8_t * event){ 12491 return little_endian_read_16(event, 12); 12492 } 12493 /** 12494 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12495 * @param event packet 12496 * @return vcard_selector 12497 * @note: btstack_type 4 12498 */ 12499 static inline uint32_t pbap_subevent_pull_vcard_listing_get_vcard_selector(const uint8_t * event){ 12500 return little_endian_read_32(event, 14); 12501 } 12502 /** 12503 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12504 * @param event packet 12505 * @return vcard_selector_operator 12506 * @note: btstack_type 1 12507 */ 12508 static inline uint8_t pbap_subevent_pull_vcard_listing_get_vcard_selector_operator(const uint8_t * event){ 12509 return event[18]; 12510 } 12511 /** 12512 * @brief Get field search_property from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12513 * @param event packet 12514 * @return search_property 12515 * @note: btstack_type 1 12516 */ 12517 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_property(const uint8_t * event){ 12518 return event[19]; 12519 } 12520 /** 12521 * @brief Get field search_value_len from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12522 * @param event packet 12523 * @return search_value_len 12524 * @note: btstack_type J 12525 */ 12526 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_value_len(const uint8_t * event){ 12527 return event[20]; 12528 } 12529 /** 12530 * @brief Get field search_value from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12531 * @param event packet 12532 * @return search_value 12533 * @note: btstack_type V 12534 */ 12535 static inline const uint8_t * pbap_subevent_pull_vcard_listing_get_search_value(const uint8_t * event){ 12536 return &event[21]; 12537 } 12538 /** 12539 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12540 * @param event packet 12541 * @return phonebook 12542 * @note: btstack_type 1 12543 */ 12544 static inline uint8_t pbap_subevent_pull_vcard_listing_get_phonebook(const uint8_t * event){ 12545 return event[21u + event[20]]; 12546 } 12547 12548 /** 12549 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12550 * @param event packet 12551 * @return goep_cid 12552 * @note: btstack_type 2 12553 */ 12554 static inline uint16_t pbap_subevent_pull_vcard_entry_get_goep_cid(const uint8_t * event){ 12555 return little_endian_read_16(event, 3); 12556 } 12557 /** 12558 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12559 * @param event packet 12560 * @return continuation 12561 * @note: btstack_type 4 12562 */ 12563 static inline uint32_t pbap_subevent_pull_vcard_entry_get_continuation(const uint8_t * event){ 12564 return little_endian_read_32(event, 5); 12565 } 12566 /** 12567 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12568 * @param event packet 12569 * @return property_selector 12570 * @note: btstack_type 4 12571 */ 12572 static inline uint32_t pbap_subevent_pull_vcard_entry_get_property_selector(const uint8_t * event){ 12573 return little_endian_read_32(event, 9); 12574 } 12575 /** 12576 * @brief Get field format from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12577 * @param event packet 12578 * @return format 12579 * @note: btstack_type 1 12580 */ 12581 static inline uint8_t pbap_subevent_pull_vcard_entry_get_format(const uint8_t * event){ 12582 return event[13]; 12583 } 12584 /** 12585 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12586 * @param event packet 12587 * @return phonebook 12588 * @note: btstack_type 1 12589 */ 12590 static inline uint8_t pbap_subevent_pull_vcard_entry_get_phonebook(const uint8_t * event){ 12591 return event[14]; 12592 } 12593 /** 12594 * @brief Get field name from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12595 * @param event packet 12596 * @return name 12597 * @note: btstack_type T 12598 */ 12599 static inline const char * pbap_subevent_pull_vcard_entry_get_name(const uint8_t * event){ 12600 return (const char *) &event[15]; 12601 } 12602 12603 /** 12604 * @brief Get field hid_cid from event HID_SUBEVENT_INCOMING_CONNECTION 12605 * @param event packet 12606 * @return hid_cid 12607 * @note: btstack_type 2 12608 */ 12609 static inline uint16_t hid_subevent_incoming_connection_get_hid_cid(const uint8_t * event){ 12610 return little_endian_read_16(event, 3); 12611 } 12612 /** 12613 * @brief Get field address from event HID_SUBEVENT_INCOMING_CONNECTION 12614 * @param event packet 12615 * @param Pointer to storage for address 12616 * @note: btstack_type B 12617 */ 12618 static inline void hid_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 12619 reverse_bytes(&event[5], address, 6); 12620 } 12621 /** 12622 * @brief Get field handle from event HID_SUBEVENT_INCOMING_CONNECTION 12623 * @param event packet 12624 * @return handle 12625 * @note: btstack_type H 12626 */ 12627 static inline hci_con_handle_t hid_subevent_incoming_connection_get_handle(const uint8_t * event){ 12628 return little_endian_read_16(event, 11); 12629 } 12630 12631 /** 12632 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 12633 * @param event packet 12634 * @return hid_cid 12635 * @note: btstack_type 2 12636 */ 12637 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 12638 return little_endian_read_16(event, 3); 12639 } 12640 /** 12641 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 12642 * @param event packet 12643 * @return status 12644 * @note: btstack_type 1 12645 */ 12646 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 12647 return event[5]; 12648 } 12649 /** 12650 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 12651 * @param event packet 12652 * @param Pointer to storage for bd_addr 12653 * @note: btstack_type B 12654 */ 12655 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12656 reverse_bytes(&event[6], bd_addr, 6); 12657 } 12658 /** 12659 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 12660 * @param event packet 12661 * @return con_handle 12662 * @note: btstack_type H 12663 */ 12664 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12665 return little_endian_read_16(event, 12); 12666 } 12667 /** 12668 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 12669 * @param event packet 12670 * @return incoming 12671 * @note: btstack_type 1 12672 */ 12673 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 12674 return event[14]; 12675 } 12676 12677 /** 12678 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 12679 * @param event packet 12680 * @return hid_cid 12681 * @note: btstack_type 2 12682 */ 12683 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 12684 return little_endian_read_16(event, 3); 12685 } 12686 12687 /** 12688 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 12689 * @param event packet 12690 * @return hid_cid 12691 * @note: btstack_type 2 12692 */ 12693 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 12694 return little_endian_read_16(event, 3); 12695 } 12696 12697 /** 12698 * @brief Get field hid_cid from event HID_SUBEVENT_SUSPEND 12699 * @param event packet 12700 * @return hid_cid 12701 * @note: btstack_type 2 12702 */ 12703 static inline uint16_t hid_subevent_suspend_get_hid_cid(const uint8_t * event){ 12704 return little_endian_read_16(event, 3); 12705 } 12706 12707 /** 12708 * @brief Get field hid_cid from event HID_SUBEVENT_EXIT_SUSPEND 12709 * @param event packet 12710 * @return hid_cid 12711 * @note: btstack_type 2 12712 */ 12713 static inline uint16_t hid_subevent_exit_suspend_get_hid_cid(const uint8_t * event){ 12714 return little_endian_read_16(event, 3); 12715 } 12716 12717 /** 12718 * @brief Get field hid_cid from event HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 12719 * @param event packet 12720 * @return hid_cid 12721 * @note: btstack_type 2 12722 */ 12723 static inline uint16_t hid_subevent_virtual_cable_unplug_get_hid_cid(const uint8_t * event){ 12724 return little_endian_read_16(event, 3); 12725 } 12726 12727 /** 12728 * @brief Get field hid_cid from event HID_SUBEVENT_GET_REPORT_RESPONSE 12729 * @param event packet 12730 * @return hid_cid 12731 * @note: btstack_type 2 12732 */ 12733 static inline uint16_t hid_subevent_get_report_response_get_hid_cid(const uint8_t * event){ 12734 return little_endian_read_16(event, 3); 12735 } 12736 /** 12737 * @brief Get field handshake_status from event HID_SUBEVENT_GET_REPORT_RESPONSE 12738 * @param event packet 12739 * @return handshake_status 12740 * @note: btstack_type 1 12741 */ 12742 static inline uint8_t hid_subevent_get_report_response_get_handshake_status(const uint8_t * event){ 12743 return event[5]; 12744 } 12745 /** 12746 * @brief Get field report_len from event HID_SUBEVENT_GET_REPORT_RESPONSE 12747 * @param event packet 12748 * @return report_len 12749 * @note: btstack_type L 12750 */ 12751 static inline uint16_t hid_subevent_get_report_response_get_report_len(const uint8_t * event){ 12752 return little_endian_read_16(event, 6); 12753 } 12754 /** 12755 * @brief Get field report from event HID_SUBEVENT_GET_REPORT_RESPONSE 12756 * @param event packet 12757 * @return report 12758 * @note: btstack_type V 12759 */ 12760 static inline const uint8_t * hid_subevent_get_report_response_get_report(const uint8_t * event){ 12761 return &event[8]; 12762 } 12763 12764 /** 12765 * @brief Get field hid_cid from event HID_SUBEVENT_SET_REPORT_RESPONSE 12766 * @param event packet 12767 * @return hid_cid 12768 * @note: btstack_type 2 12769 */ 12770 static inline uint16_t hid_subevent_set_report_response_get_hid_cid(const uint8_t * event){ 12771 return little_endian_read_16(event, 3); 12772 } 12773 /** 12774 * @brief Get field handshake_status from event HID_SUBEVENT_SET_REPORT_RESPONSE 12775 * @param event packet 12776 * @return handshake_status 12777 * @note: btstack_type 1 12778 */ 12779 static inline uint8_t hid_subevent_set_report_response_get_handshake_status(const uint8_t * event){ 12780 return event[5]; 12781 } 12782 12783 /** 12784 * @brief Get field hid_cid from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12785 * @param event packet 12786 * @return hid_cid 12787 * @note: btstack_type 2 12788 */ 12789 static inline uint16_t hid_subevent_get_protocol_response_get_hid_cid(const uint8_t * event){ 12790 return little_endian_read_16(event, 3); 12791 } 12792 /** 12793 * @brief Get field handshake_status from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12794 * @param event packet 12795 * @return handshake_status 12796 * @note: btstack_type 1 12797 */ 12798 static inline uint8_t hid_subevent_get_protocol_response_get_handshake_status(const uint8_t * event){ 12799 return event[5]; 12800 } 12801 /** 12802 * @brief Get field protocol_mode from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12803 * @param event packet 12804 * @return protocol_mode 12805 * @note: btstack_type 1 12806 */ 12807 static inline uint8_t hid_subevent_get_protocol_response_get_protocol_mode(const uint8_t * event){ 12808 return event[6]; 12809 } 12810 12811 /** 12812 * @brief Get field hid_cid from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12813 * @param event packet 12814 * @return hid_cid 12815 * @note: btstack_type 2 12816 */ 12817 static inline uint16_t hid_subevent_set_protocol_response_get_hid_cid(const uint8_t * event){ 12818 return little_endian_read_16(event, 3); 12819 } 12820 /** 12821 * @brief Get field handshake_status from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12822 * @param event packet 12823 * @return handshake_status 12824 * @note: btstack_type 1 12825 */ 12826 static inline uint8_t hid_subevent_set_protocol_response_get_handshake_status(const uint8_t * event){ 12827 return event[5]; 12828 } 12829 /** 12830 * @brief Get field protocol_mode from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12831 * @param event packet 12832 * @return protocol_mode 12833 * @note: btstack_type 1 12834 */ 12835 static inline uint8_t hid_subevent_set_protocol_response_get_protocol_mode(const uint8_t * event){ 12836 return event[6]; 12837 } 12838 12839 /** 12840 * @brief Get field hid_cid from event HID_SUBEVENT_REPORT 12841 * @param event packet 12842 * @return hid_cid 12843 * @note: btstack_type 2 12844 */ 12845 static inline uint16_t hid_subevent_report_get_hid_cid(const uint8_t * event){ 12846 return little_endian_read_16(event, 3); 12847 } 12848 /** 12849 * @brief Get field report_len from event HID_SUBEVENT_REPORT 12850 * @param event packet 12851 * @return report_len 12852 * @note: btstack_type L 12853 */ 12854 static inline uint16_t hid_subevent_report_get_report_len(const uint8_t * event){ 12855 return little_endian_read_16(event, 5); 12856 } 12857 /** 12858 * @brief Get field report from event HID_SUBEVENT_REPORT 12859 * @param event packet 12860 * @return report 12861 * @note: btstack_type V 12862 */ 12863 static inline const uint8_t * hid_subevent_report_get_report(const uint8_t * event){ 12864 return &event[7]; 12865 } 12866 12867 /** 12868 * @brief Get field hid_cid from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12869 * @param event packet 12870 * @return hid_cid 12871 * @note: btstack_type 2 12872 */ 12873 static inline uint16_t hid_subevent_descriptor_available_get_hid_cid(const uint8_t * event){ 12874 return little_endian_read_16(event, 3); 12875 } 12876 /** 12877 * @brief Get field status from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12878 * @param event packet 12879 * @return status 12880 * @note: btstack_type 1 12881 */ 12882 static inline uint8_t hid_subevent_descriptor_available_get_status(const uint8_t * event){ 12883 return event[5]; 12884 } 12885 12886 /** 12887 * @brief Get field hid_cid from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12888 * @param event packet 12889 * @return hid_cid 12890 * @note: btstack_type 2 12891 */ 12892 static inline uint16_t hid_subevent_sniff_subrating_params_get_hid_cid(const uint8_t * event){ 12893 return little_endian_read_16(event, 3); 12894 } 12895 /** 12896 * @brief Get field host_max_latency from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12897 * @param event packet 12898 * @return host_max_latency 12899 * @note: btstack_type 2 12900 */ 12901 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_max_latency(const uint8_t * event){ 12902 return little_endian_read_16(event, 5); 12903 } 12904 /** 12905 * @brief Get field host_min_timeout from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12906 * @param event packet 12907 * @return host_min_timeout 12908 * @note: btstack_type 2 12909 */ 12910 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_min_timeout(const uint8_t * event){ 12911 return little_endian_read_16(event, 7); 12912 } 12913 12914 /** 12915 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 12916 * @param event packet 12917 * @return con_handle 12918 * @note: btstack_type 2 12919 */ 12920 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 12921 return little_endian_read_16(event, 3); 12922 } 12923 12924 /** 12925 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 12926 * @param event packet 12927 * @return con_handle 12928 * @note: btstack_type 2 12929 */ 12930 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 12931 return little_endian_read_16(event, 3); 12932 } 12933 /** 12934 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 12935 * @param event packet 12936 * @return protocol_mode 12937 * @note: btstack_type 1 12938 */ 12939 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 12940 return event[5]; 12941 } 12942 12943 /** 12944 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12945 * @param event packet 12946 * @return con_handle 12947 * @note: btstack_type 2 12948 */ 12949 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 12950 return little_endian_read_16(event, 3); 12951 } 12952 /** 12953 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12954 * @param event packet 12955 * @return enable 12956 * @note: btstack_type 1 12957 */ 12958 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 12959 return event[5]; 12960 } 12961 12962 /** 12963 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12964 * @param event packet 12965 * @return con_handle 12966 * @note: btstack_type 2 12967 */ 12968 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 12969 return little_endian_read_16(event, 3); 12970 } 12971 /** 12972 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12973 * @param event packet 12974 * @return enable 12975 * @note: btstack_type 1 12976 */ 12977 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 12978 return event[5]; 12979 } 12980 12981 /** 12982 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12983 * @param event packet 12984 * @return con_handle 12985 * @note: btstack_type 2 12986 */ 12987 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 12988 return little_endian_read_16(event, 3); 12989 } 12990 /** 12991 * @brief Get field report_id from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12992 * @param event packet 12993 * @return report_id 12994 * @note: btstack_type 1 12995 */ 12996 static inline uint8_t hids_subevent_input_report_enable_get_report_id(const uint8_t * event){ 12997 return event[5]; 12998 } 12999 /** 13000 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 13001 * @param event packet 13002 * @return enable 13003 * @note: btstack_type 1 13004 */ 13005 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 13006 return event[6]; 13007 } 13008 13009 /** 13010 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 13011 * @param event packet 13012 * @return con_handle 13013 * @note: btstack_type 2 13014 */ 13015 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 13016 return little_endian_read_16(event, 3); 13017 } 13018 /** 13019 * @brief Get field report_id from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 13020 * @param event packet 13021 * @return report_id 13022 * @note: btstack_type 1 13023 */ 13024 static inline uint8_t hids_subevent_output_report_enable_get_report_id(const uint8_t * event){ 13025 return event[5]; 13026 } 13027 /** 13028 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 13029 * @param event packet 13030 * @return enable 13031 * @note: btstack_type 1 13032 */ 13033 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 13034 return event[6]; 13035 } 13036 13037 /** 13038 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 13039 * @param event packet 13040 * @return con_handle 13041 * @note: btstack_type 2 13042 */ 13043 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 13044 return little_endian_read_16(event, 3); 13045 } 13046 /** 13047 * @brief Get field report_id from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 13048 * @param event packet 13049 * @return report_id 13050 * @note: btstack_type 1 13051 */ 13052 static inline uint8_t hids_subevent_feature_report_enable_get_report_id(const uint8_t * event){ 13053 return event[5]; 13054 } 13055 /** 13056 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 13057 * @param event packet 13058 * @return enable 13059 * @note: btstack_type 1 13060 */ 13061 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 13062 return event[6]; 13063 } 13064 13065 /** 13066 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 13067 * @param event packet 13068 * @return con_handle 13069 * @note: btstack_type 2 13070 */ 13071 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 13072 return little_endian_read_16(event, 3); 13073 } 13074 13075 /** 13076 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 13077 * @param event packet 13078 * @return con_handle 13079 * @note: btstack_type 2 13080 */ 13081 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 13082 return little_endian_read_16(event, 3); 13083 } 13084 13085 /** 13086 * @brief Get field con_handle from event HIDS_SUBEVENT_SET_REPORT 13087 * @param event packet 13088 * @return con_handle 13089 * @note: btstack_type 2 13090 */ 13091 static inline uint16_t hids_subevent_set_report_get_con_handle(const uint8_t * event){ 13092 return little_endian_read_16(event, 3); 13093 } 13094 /** 13095 * @brief Get field report_id from event HIDS_SUBEVENT_SET_REPORT 13096 * @param event packet 13097 * @return report_id 13098 * @note: btstack_type 1 13099 */ 13100 static inline uint8_t hids_subevent_set_report_get_report_id(const uint8_t * event){ 13101 return event[5]; 13102 } 13103 /** 13104 * @brief Get field report_type from event HIDS_SUBEVENT_SET_REPORT 13105 * @param event packet 13106 * @return report_type 13107 * @note: btstack_type 1 13108 */ 13109 static inline uint8_t hids_subevent_set_report_get_report_type(const uint8_t * event){ 13110 return event[6]; 13111 } 13112 /** 13113 * @brief Get field report_length from event HIDS_SUBEVENT_SET_REPORT 13114 * @param event packet 13115 * @return report_length 13116 * @note: btstack_type J 13117 */ 13118 static inline uint8_t hids_subevent_set_report_get_report_length(const uint8_t * event){ 13119 return event[7]; 13120 } 13121 /** 13122 * @brief Get field report_data from event HIDS_SUBEVENT_SET_REPORT 13123 * @param event packet 13124 * @return report_data 13125 * @note: btstack_type V 13126 */ 13127 static inline const uint8_t * hids_subevent_set_report_get_report_data(const uint8_t * event){ 13128 return &event[8]; 13129 } 13130 13131 /** 13132 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13133 * @param event packet 13134 * @return con_handle 13135 * @note: btstack_type 2 13136 */ 13137 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 13138 return little_endian_read_16(event, 3); 13139 } 13140 /** 13141 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13142 * @param event packet 13143 * @return measurement_type 13144 * @note: btstack_type 1 13145 */ 13146 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 13147 return event[5]; 13148 } 13149 /** 13150 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13151 * @param event packet 13152 * @return is_enhanced 13153 * @note: btstack_type 1 13154 */ 13155 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 13156 return event[6]; 13157 } 13158 13159 /** 13160 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 13161 * @param event packet 13162 * @return con_handle 13163 * @note: btstack_type 2 13164 */ 13165 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 13166 return little_endian_read_16(event, 3); 13167 } 13168 13169 /** 13170 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 13171 * @param event packet 13172 * @return con_handle 13173 * @note: btstack_type 2 13174 */ 13175 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 13176 return little_endian_read_16(event, 3); 13177 } 13178 13179 /** 13180 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13181 * @param event packet 13182 * @return hids_cid 13183 * @note: btstack_type 2 13184 */ 13185 static inline uint16_t gattservice_subevent_battery_service_connected_get_hids_cid(const uint8_t * event){ 13186 return little_endian_read_16(event, 3); 13187 } 13188 /** 13189 * @brief Get field status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13190 * @param event packet 13191 * @return status 13192 * @note: btstack_type 1 13193 */ 13194 static inline uint8_t gattservice_subevent_battery_service_connected_get_status(const uint8_t * event){ 13195 return event[5]; 13196 } 13197 /** 13198 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13199 * @param event packet 13200 * @return num_instances 13201 * @note: btstack_type 1 13202 */ 13203 static inline uint8_t gattservice_subevent_battery_service_connected_get_num_instances(const uint8_t * event){ 13204 return event[6]; 13205 } 13206 /** 13207 * @brief Get field poll_bitmap from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13208 * @param event packet 13209 * @return poll_bitmap 13210 * @note: btstack_type 1 13211 */ 13212 static inline uint8_t gattservice_subevent_battery_service_connected_get_poll_bitmap(const uint8_t * event){ 13213 return event[7]; 13214 } 13215 13216 /** 13217 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13218 * @param event packet 13219 * @return hids_cid 13220 * @note: btstack_type 2 13221 */ 13222 static inline uint16_t gattservice_subevent_battery_service_level_get_hids_cid(const uint8_t * event){ 13223 return little_endian_read_16(event, 3); 13224 } 13225 /** 13226 * @brief Get field sevice_index from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13227 * @param event packet 13228 * @return sevice_index 13229 * @note: btstack_type 1 13230 */ 13231 static inline uint8_t gattservice_subevent_battery_service_level_get_sevice_index(const uint8_t * event){ 13232 return event[5]; 13233 } 13234 /** 13235 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13236 * @param event packet 13237 * @return att_status 13238 * @note: btstack_type 1 13239 */ 13240 static inline uint8_t gattservice_subevent_battery_service_level_get_att_status(const uint8_t * event){ 13241 return event[6]; 13242 } 13243 /** 13244 * @brief Get field level from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13245 * @param event packet 13246 * @return level 13247 * @note: btstack_type 1 13248 */ 13249 static inline uint8_t gattservice_subevent_battery_service_level_get_level(const uint8_t * event){ 13250 return event[7]; 13251 } 13252 13253 /** 13254 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 13255 * @param event packet 13256 * @return con_handle 13257 * @note: btstack_type H 13258 */ 13259 static inline hci_con_handle_t gattservice_subevent_device_information_done_get_con_handle(const uint8_t * event){ 13260 return little_endian_read_16(event, 3); 13261 } 13262 /** 13263 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 13264 * @param event packet 13265 * @return att_status 13266 * @note: btstack_type 1 13267 */ 13268 static inline uint8_t gattservice_subevent_device_information_done_get_att_status(const uint8_t * event){ 13269 return event[5]; 13270 } 13271 13272 /** 13273 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13274 * @param event packet 13275 * @return con_handle 13276 * @note: btstack_type H 13277 */ 13278 static inline hci_con_handle_t gattservice_subevent_device_information_manufacturer_name_get_con_handle(const uint8_t * event){ 13279 return little_endian_read_16(event, 3); 13280 } 13281 /** 13282 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13283 * @param event packet 13284 * @return att_status 13285 * @note: btstack_type 1 13286 */ 13287 static inline uint8_t gattservice_subevent_device_information_manufacturer_name_get_att_status(const uint8_t * event){ 13288 return event[5]; 13289 } 13290 /** 13291 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13292 * @param event packet 13293 * @return value 13294 * @note: btstack_type T 13295 */ 13296 static inline const char * gattservice_subevent_device_information_manufacturer_name_get_value(const uint8_t * event){ 13297 return (const char *) &event[6]; 13298 } 13299 13300 /** 13301 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13302 * @param event packet 13303 * @return con_handle 13304 * @note: btstack_type H 13305 */ 13306 static inline hci_con_handle_t gattservice_subevent_device_information_model_number_get_con_handle(const uint8_t * event){ 13307 return little_endian_read_16(event, 3); 13308 } 13309 /** 13310 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13311 * @param event packet 13312 * @return att_status 13313 * @note: btstack_type 1 13314 */ 13315 static inline uint8_t gattservice_subevent_device_information_model_number_get_att_status(const uint8_t * event){ 13316 return event[5]; 13317 } 13318 /** 13319 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13320 * @param event packet 13321 * @return value 13322 * @note: btstack_type T 13323 */ 13324 static inline const char * gattservice_subevent_device_information_model_number_get_value(const uint8_t * event){ 13325 return (const char *) &event[6]; 13326 } 13327 13328 /** 13329 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13330 * @param event packet 13331 * @return con_handle 13332 * @note: btstack_type H 13333 */ 13334 static inline hci_con_handle_t gattservice_subevent_device_information_serial_number_get_con_handle(const uint8_t * event){ 13335 return little_endian_read_16(event, 3); 13336 } 13337 /** 13338 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13339 * @param event packet 13340 * @return att_status 13341 * @note: btstack_type 1 13342 */ 13343 static inline uint8_t gattservice_subevent_device_information_serial_number_get_att_status(const uint8_t * event){ 13344 return event[5]; 13345 } 13346 /** 13347 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13348 * @param event packet 13349 * @return value 13350 * @note: btstack_type T 13351 */ 13352 static inline const char * gattservice_subevent_device_information_serial_number_get_value(const uint8_t * event){ 13353 return (const char *) &event[6]; 13354 } 13355 13356 /** 13357 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13358 * @param event packet 13359 * @return con_handle 13360 * @note: btstack_type H 13361 */ 13362 static inline hci_con_handle_t gattservice_subevent_device_information_hardware_revision_get_con_handle(const uint8_t * event){ 13363 return little_endian_read_16(event, 3); 13364 } 13365 /** 13366 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13367 * @param event packet 13368 * @return att_status 13369 * @note: btstack_type 1 13370 */ 13371 static inline uint8_t gattservice_subevent_device_information_hardware_revision_get_att_status(const uint8_t * event){ 13372 return event[5]; 13373 } 13374 /** 13375 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13376 * @param event packet 13377 * @return value 13378 * @note: btstack_type T 13379 */ 13380 static inline const char * gattservice_subevent_device_information_hardware_revision_get_value(const uint8_t * event){ 13381 return (const char *) &event[6]; 13382 } 13383 13384 /** 13385 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13386 * @param event packet 13387 * @return con_handle 13388 * @note: btstack_type H 13389 */ 13390 static inline hci_con_handle_t gattservice_subevent_device_information_firmware_revision_get_con_handle(const uint8_t * event){ 13391 return little_endian_read_16(event, 3); 13392 } 13393 /** 13394 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13395 * @param event packet 13396 * @return att_status 13397 * @note: btstack_type 1 13398 */ 13399 static inline uint8_t gattservice_subevent_device_information_firmware_revision_get_att_status(const uint8_t * event){ 13400 return event[5]; 13401 } 13402 /** 13403 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13404 * @param event packet 13405 * @return value 13406 * @note: btstack_type T 13407 */ 13408 static inline const char * gattservice_subevent_device_information_firmware_revision_get_value(const uint8_t * event){ 13409 return (const char *) &event[6]; 13410 } 13411 13412 /** 13413 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13414 * @param event packet 13415 * @return con_handle 13416 * @note: btstack_type H 13417 */ 13418 static inline hci_con_handle_t gattservice_subevent_device_information_software_revision_get_con_handle(const uint8_t * event){ 13419 return little_endian_read_16(event, 3); 13420 } 13421 /** 13422 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13423 * @param event packet 13424 * @return att_status 13425 * @note: btstack_type 1 13426 */ 13427 static inline uint8_t gattservice_subevent_device_information_software_revision_get_att_status(const uint8_t * event){ 13428 return event[5]; 13429 } 13430 /** 13431 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13432 * @param event packet 13433 * @return value 13434 * @note: btstack_type T 13435 */ 13436 static inline const char * gattservice_subevent_device_information_software_revision_get_value(const uint8_t * event){ 13437 return (const char *) &event[6]; 13438 } 13439 13440 /** 13441 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13442 * @param event packet 13443 * @return con_handle 13444 * @note: btstack_type H 13445 */ 13446 static inline hci_con_handle_t gattservice_subevent_device_information_system_id_get_con_handle(const uint8_t * event){ 13447 return little_endian_read_16(event, 3); 13448 } 13449 /** 13450 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13451 * @param event packet 13452 * @return att_status 13453 * @note: btstack_type 1 13454 */ 13455 static inline uint8_t gattservice_subevent_device_information_system_id_get_att_status(const uint8_t * event){ 13456 return event[5]; 13457 } 13458 /** 13459 * @brief Get field manufacturer_id_low from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13460 * @param event packet 13461 * @return manufacturer_id_low 13462 * @note: btstack_type 4 13463 */ 13464 static inline uint32_t gattservice_subevent_device_information_system_id_get_manufacturer_id_low(const uint8_t * event){ 13465 return little_endian_read_32(event, 6); 13466 } 13467 /** 13468 * @brief Get field manufacturer_id_high from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13469 * @param event packet 13470 * @return manufacturer_id_high 13471 * @note: btstack_type 1 13472 */ 13473 static inline uint8_t gattservice_subevent_device_information_system_id_get_manufacturer_id_high(const uint8_t * event){ 13474 return event[10]; 13475 } 13476 /** 13477 * @brief Get field organizationally_unique_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13478 * @param event packet 13479 * @return organizationally_unique_id 13480 * @note: btstack_type 3 13481 */ 13482 static inline uint32_t gattservice_subevent_device_information_system_id_get_organizationally_unique_id(const uint8_t * event){ 13483 return little_endian_read_24(event, 11); 13484 } 13485 13486 /** 13487 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13488 * @param event packet 13489 * @return con_handle 13490 * @note: btstack_type H 13491 */ 13492 static inline hci_con_handle_t gattservice_subevent_device_information_ieee_regulatory_certification_get_con_handle(const uint8_t * event){ 13493 return little_endian_read_16(event, 3); 13494 } 13495 /** 13496 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13497 * @param event packet 13498 * @return att_status 13499 * @note: btstack_type 1 13500 */ 13501 static inline uint8_t gattservice_subevent_device_information_ieee_regulatory_certification_get_att_status(const uint8_t * event){ 13502 return event[5]; 13503 } 13504 /** 13505 * @brief Get field value_a from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13506 * @param event packet 13507 * @return value_a 13508 * @note: btstack_type 2 13509 */ 13510 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_a(const uint8_t * event){ 13511 return little_endian_read_16(event, 6); 13512 } 13513 /** 13514 * @brief Get field value_b from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13515 * @param event packet 13516 * @return value_b 13517 * @note: btstack_type 2 13518 */ 13519 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_b(const uint8_t * event){ 13520 return little_endian_read_16(event, 8); 13521 } 13522 13523 /** 13524 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13525 * @param event packet 13526 * @return con_handle 13527 * @note: btstack_type H 13528 */ 13529 static inline hci_con_handle_t gattservice_subevent_device_information_pnp_id_get_con_handle(const uint8_t * event){ 13530 return little_endian_read_16(event, 3); 13531 } 13532 /** 13533 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13534 * @param event packet 13535 * @return att_status 13536 * @note: btstack_type 1 13537 */ 13538 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_att_status(const uint8_t * event){ 13539 return event[5]; 13540 } 13541 /** 13542 * @brief Get field vendor_source_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13543 * @param event packet 13544 * @return vendor_source_id 13545 * @note: btstack_type 1 13546 */ 13547 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_vendor_source_id(const uint8_t * event){ 13548 return event[6]; 13549 } 13550 /** 13551 * @brief Get field vendor_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13552 * @param event packet 13553 * @return vendor_id 13554 * @note: btstack_type 2 13555 */ 13556 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_vendor_id(const uint8_t * event){ 13557 return little_endian_read_16(event, 7); 13558 } 13559 /** 13560 * @brief Get field product_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13561 * @param event packet 13562 * @return product_id 13563 * @note: btstack_type 2 13564 */ 13565 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_id(const uint8_t * event){ 13566 return little_endian_read_16(event, 9); 13567 } 13568 /** 13569 * @brief Get field product_version from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13570 * @param event packet 13571 * @return product_version 13572 * @note: btstack_type 2 13573 */ 13574 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_version(const uint8_t * event){ 13575 return little_endian_read_16(event, 11); 13576 } 13577 13578 /** 13579 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13580 * @param event packet 13581 * @return con_handle 13582 * @note: btstack_type H 13583 */ 13584 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_connected_get_con_handle(const uint8_t * event){ 13585 return little_endian_read_16(event, 3); 13586 } 13587 /** 13588 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13589 * @param event packet 13590 * @return att_status 13591 * @note: btstack_type 1 13592 */ 13593 static inline uint8_t gattservice_subevent_scan_parameters_service_connected_get_att_status(const uint8_t * event){ 13594 return event[5]; 13595 } 13596 13597 /** 13598 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_DISCONNECTED 13599 * @param event packet 13600 * @return con_handle 13601 * @note: btstack_type H 13602 */ 13603 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_disconnected_get_con_handle(const uint8_t * event){ 13604 return little_endian_read_16(event, 3); 13605 } 13606 13607 /** 13608 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 13609 * @param event packet 13610 * @return con_handle 13611 * @note: btstack_type H 13612 */ 13613 static inline hci_con_handle_t gattservice_subevent_spp_service_connected_get_con_handle(const uint8_t * event){ 13614 return little_endian_read_16(event, 3); 13615 } 13616 13617 /** 13618 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 13619 * @param event packet 13620 * @return con_handle 13621 * @note: btstack_type H 13622 */ 13623 static inline hci_con_handle_t gattservice_subevent_spp_service_disconnected_get_con_handle(const uint8_t * event){ 13624 return little_endian_read_16(event, 3); 13625 } 13626 13627 /** 13628 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13629 * @param event packet 13630 * @return hids_cid 13631 * @note: btstack_type 2 13632 */ 13633 static inline uint16_t gattservice_subevent_hid_service_connected_get_hids_cid(const uint8_t * event){ 13634 return little_endian_read_16(event, 3); 13635 } 13636 /** 13637 * @brief Get field status from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13638 * @param event packet 13639 * @return status 13640 * @note: btstack_type 1 13641 */ 13642 static inline uint8_t gattservice_subevent_hid_service_connected_get_status(const uint8_t * event){ 13643 return event[5]; 13644 } 13645 /** 13646 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13647 * @param event packet 13648 * @return protocol_mode 13649 * @note: btstack_type 1 13650 */ 13651 static inline uint8_t gattservice_subevent_hid_service_connected_get_protocol_mode(const uint8_t * event){ 13652 return event[6]; 13653 } 13654 /** 13655 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13656 * @param event packet 13657 * @return num_instances 13658 * @note: btstack_type 1 13659 */ 13660 static inline uint8_t gattservice_subevent_hid_service_connected_get_num_instances(const uint8_t * event){ 13661 return event[7]; 13662 } 13663 13664 /** 13665 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_DISCONNECTED 13666 * @param event packet 13667 * @return hids_cid 13668 * @note: btstack_type 2 13669 */ 13670 static inline uint16_t gattservice_subevent_hid_service_disconnected_get_hids_cid(const uint8_t * event){ 13671 return little_endian_read_16(event, 3); 13672 } 13673 13674 /** 13675 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT 13676 * @param event packet 13677 * @return hids_cid 13678 * @note: btstack_type 2 13679 */ 13680 static inline uint16_t gattservice_subevent_hid_report_get_hids_cid(const uint8_t * event){ 13681 return little_endian_read_16(event, 3); 13682 } 13683 /** 13684 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT 13685 * @param event packet 13686 * @return service_index 13687 * @note: btstack_type 1 13688 */ 13689 static inline uint8_t gattservice_subevent_hid_report_get_service_index(const uint8_t * event){ 13690 return event[5]; 13691 } 13692 /** 13693 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT 13694 * @param event packet 13695 * @return report_id 13696 * @note: btstack_type 1 13697 */ 13698 static inline uint8_t gattservice_subevent_hid_report_get_report_id(const uint8_t * event){ 13699 return event[6]; 13700 } 13701 /** 13702 * @brief Get field report_len from event GATTSERVICE_SUBEVENT_HID_REPORT 13703 * @param event packet 13704 * @return report_len 13705 * @note: btstack_type L 13706 */ 13707 static inline uint16_t gattservice_subevent_hid_report_get_report_len(const uint8_t * event){ 13708 return little_endian_read_16(event, 7); 13709 } 13710 /** 13711 * @brief Get field report from event GATTSERVICE_SUBEVENT_HID_REPORT 13712 * @param event packet 13713 * @return report 13714 * @note: btstack_type V 13715 */ 13716 static inline const uint8_t * gattservice_subevent_hid_report_get_report(const uint8_t * event){ 13717 return &event[9]; 13718 } 13719 13720 /** 13721 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13722 * @param event packet 13723 * @return hids_cid 13724 * @note: btstack_type 2 13725 */ 13726 static inline uint16_t gattservice_subevent_hid_information_get_hids_cid(const uint8_t * event){ 13727 return little_endian_read_16(event, 3); 13728 } 13729 /** 13730 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13731 * @param event packet 13732 * @return service_index 13733 * @note: btstack_type 1 13734 */ 13735 static inline uint8_t gattservice_subevent_hid_information_get_service_index(const uint8_t * event){ 13736 return event[5]; 13737 } 13738 /** 13739 * @brief Get field base_usb_hid_version from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13740 * @param event packet 13741 * @return base_usb_hid_version 13742 * @note: btstack_type 2 13743 */ 13744 static inline uint16_t gattservice_subevent_hid_information_get_base_usb_hid_version(const uint8_t * event){ 13745 return little_endian_read_16(event, 6); 13746 } 13747 /** 13748 * @brief Get field country_code from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13749 * @param event packet 13750 * @return country_code 13751 * @note: btstack_type 1 13752 */ 13753 static inline uint8_t gattservice_subevent_hid_information_get_country_code(const uint8_t * event){ 13754 return event[8]; 13755 } 13756 /** 13757 * @brief Get field remote_wake from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13758 * @param event packet 13759 * @return remote_wake 13760 * @note: btstack_type 1 13761 */ 13762 static inline uint8_t gattservice_subevent_hid_information_get_remote_wake(const uint8_t * event){ 13763 return event[9]; 13764 } 13765 /** 13766 * @brief Get field normally_connectable from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13767 * @param event packet 13768 * @return normally_connectable 13769 * @note: btstack_type 1 13770 */ 13771 static inline uint8_t gattservice_subevent_hid_information_get_normally_connectable(const uint8_t * event){ 13772 return event[10]; 13773 } 13774 13775 /** 13776 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13777 * @param event packet 13778 * @return hids_cid 13779 * @note: btstack_type 2 13780 */ 13781 static inline uint16_t gattservice_subevent_hid_protocol_mode_get_hids_cid(const uint8_t * event){ 13782 return little_endian_read_16(event, 3); 13783 } 13784 /** 13785 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13786 * @param event packet 13787 * @return service_index 13788 * @note: btstack_type 1 13789 */ 13790 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_service_index(const uint8_t * event){ 13791 return event[5]; 13792 } 13793 /** 13794 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13795 * @param event packet 13796 * @return protocol_mode 13797 * @note: btstack_type 1 13798 */ 13799 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_protocol_mode(const uint8_t * event){ 13800 return event[6]; 13801 } 13802 13803 /** 13804 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13805 * @param event packet 13806 * @return hids_cid 13807 * @note: btstack_type 2 13808 */ 13809 static inline uint16_t gattservice_subevent_hid_service_reports_notification_get_hids_cid(const uint8_t * event){ 13810 return little_endian_read_16(event, 3); 13811 } 13812 /** 13813 * @brief Get field configuration from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13814 * @param event packet 13815 * @return configuration 13816 * @note: btstack_type 1 13817 */ 13818 static inline uint8_t gattservice_subevent_hid_service_reports_notification_get_configuration(const uint8_t * event){ 13819 return event[5]; 13820 } 13821 13822 /** 13823 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13824 * @param event packet 13825 * @return hids_cid 13826 * @note: btstack_type 2 13827 */ 13828 static inline uint16_t gattservice_subevent_hid_report_written_get_hids_cid(const uint8_t * event){ 13829 return little_endian_read_16(event, 3); 13830 } 13831 /** 13832 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13833 * @param event packet 13834 * @return service_index 13835 * @note: btstack_type 1 13836 */ 13837 static inline uint8_t gattservice_subevent_hid_report_written_get_service_index(const uint8_t * event){ 13838 return event[5]; 13839 } 13840 /** 13841 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13842 * @param event packet 13843 * @return report_id 13844 * @note: btstack_type 1 13845 */ 13846 static inline uint8_t gattservice_subevent_hid_report_written_get_report_id(const uint8_t * event){ 13847 return event[6]; 13848 } 13849 13850 /** 13851 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13852 * @param event packet 13853 * @return con_handle 13854 * @note: btstack_type H 13855 */ 13856 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_con_handle(const uint8_t * event){ 13857 return little_endian_read_16(event, 3); 13858 } 13859 /** 13860 * @brief Get field max_scan_interval from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13861 * @param event packet 13862 * @return max_scan_interval 13863 * @note: btstack_type 2 13864 */ 13865 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_max_scan_interval(const uint8_t * event){ 13866 return little_endian_read_16(event, 5); 13867 } 13868 /** 13869 * @brief Get field min_scan_window from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13870 * @param event packet 13871 * @return min_scan_window 13872 * @note: btstack_type 2 13873 */ 13874 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_min_scan_window(const uint8_t * event){ 13875 return little_endian_read_16(event, 7); 13876 } 13877 13878 /** 13879 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13880 * @param event packet 13881 * @return con_handle 13882 * @note: btstack_type H 13883 */ 13884 static inline hci_con_handle_t gattservice_subevent_gatt_service_changed_get_con_handle(const uint8_t * event){ 13885 return little_endian_read_16(event, 3); 13886 } 13887 /** 13888 * @brief Get field attribute_handle_start from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13889 * @param event packet 13890 * @return attribute_handle_start 13891 * @note: btstack_type 2 13892 */ 13893 static inline uint16_t gattservice_subevent_gatt_service_changed_get_attribute_handle_start(const uint8_t * event){ 13894 return little_endian_read_16(event, 5); 13895 } 13896 /** 13897 * @brief Get field attribute_handle_end from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13898 * @param event packet 13899 * @return attribute_handle_end 13900 * @note: btstack_type 2 13901 */ 13902 static inline uint16_t gattservice_subevent_gatt_service_changed_get_attribute_handle_end(const uint8_t * event){ 13903 return little_endian_read_16(event, 7); 13904 } 13905 13906 /** 13907 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_GATT_DATABASE_HASH 13908 * @param event packet 13909 * @return con_handle 13910 * @note: btstack_type H 13911 */ 13912 static inline hci_con_handle_t gattservice_subevent_gatt_database_hash_get_con_handle(const uint8_t * event){ 13913 return little_endian_read_16(event, 3); 13914 } 13915 /** 13916 * @brief Get field database_hash from event GATTSERVICE_SUBEVENT_GATT_DATABASE_HASH 13917 * @param event packet 13918 * @param Pointer to storage for database_hash 13919 * @note: btstack_type K 13920 */ 13921 static inline void gattservice_subevent_gatt_database_hash_get_database_hash(const uint8_t * event, uint8_t * database_hash){ 13922 reverse_bytes(&event[5], database_hash, 16); 13923 } 13924 13925 /** 13926 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13927 * @param event packet 13928 * @return con_handle 13929 * @note: btstack_type H 13930 */ 13931 static inline hci_con_handle_t gattservice_subevent_client_connected_get_con_handle(const uint8_t * event){ 13932 return little_endian_read_16(event, 3); 13933 } 13934 /** 13935 * @brief Get field cid from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13936 * @param event packet 13937 * @return cid 13938 * @note: btstack_type 2 13939 */ 13940 static inline uint16_t gattservice_subevent_client_connected_get_cid(const uint8_t * event){ 13941 return little_endian_read_16(event, 5); 13942 } 13943 /** 13944 * @brief Get field num_included_services from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13945 * @param event packet 13946 * @return num_included_services 13947 * @note: btstack_type 1 13948 */ 13949 static inline uint8_t gattservice_subevent_client_connected_get_num_included_services(const uint8_t * event){ 13950 return event[7]; 13951 } 13952 /** 13953 * @brief Get field status from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13954 * @param event packet 13955 * @return status 13956 * @note: btstack_type 1 13957 */ 13958 static inline uint8_t gattservice_subevent_client_connected_get_status(const uint8_t * event){ 13959 return event[8]; 13960 } 13961 13962 /** 13963 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CLIENT_DISCONNECTED 13964 * @param event packet 13965 * @return con_handle 13966 * @note: btstack_type H 13967 */ 13968 static inline hci_con_handle_t gattservice_subevent_client_disconnected_get_con_handle(const uint8_t * event){ 13969 return little_endian_read_16(event, 3); 13970 } 13971 /** 13972 * @brief Get field cid from event GATTSERVICE_SUBEVENT_CLIENT_DISCONNECTED 13973 * @param event packet 13974 * @return cid 13975 * @note: btstack_type 2 13976 */ 13977 static inline uint16_t gattservice_subevent_client_disconnected_get_cid(const uint8_t * event){ 13978 return little_endian_read_16(event, 5); 13979 } 13980 13981 /** 13982 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13983 * @param event packet 13984 * @return con_handle 13985 * @note: btstack_type H 13986 */ 13987 static inline hci_con_handle_t gattservice_subevent_lls_client_connected_get_con_handle(const uint8_t * event){ 13988 return little_endian_read_16(event, 3); 13989 } 13990 /** 13991 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13992 * @param event packet 13993 * @return lls_cid 13994 * @note: btstack_type 2 13995 */ 13996 static inline uint16_t gattservice_subevent_lls_client_connected_get_lls_cid(const uint8_t * event){ 13997 return little_endian_read_16(event, 5); 13998 } 13999 /** 14000 * @brief Get field status from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 14001 * @param event packet 14002 * @return status 14003 * @note: btstack_type 1 14004 */ 14005 static inline uint8_t gattservice_subevent_lls_client_connected_get_status(const uint8_t * event){ 14006 return event[7]; 14007 } 14008 14009 /** 14010 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_DISCONNECTED 14011 * @param event packet 14012 * @return lls_cid 14013 * @note: btstack_type 2 14014 */ 14015 static inline uint16_t gattservice_subevent_lls_client_disconnected_get_lls_cid(const uint8_t * event){ 14016 return little_endian_read_16(event, 3); 14017 } 14018 14019 /** 14020 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 14021 * @param event packet 14022 * @return lls_cid 14023 * @note: btstack_type 2 14024 */ 14025 static inline uint16_t gattservice_subevent_lls_client_write_done_get_lls_cid(const uint8_t * event){ 14026 return little_endian_read_16(event, 3); 14027 } 14028 /** 14029 * @brief Get field characteristic_uuid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 14030 * @param event packet 14031 * @return characteristic_uuid 14032 * @note: btstack_type 2 14033 */ 14034 static inline uint16_t gattservice_subevent_lls_client_write_done_get_characteristic_uuid(const uint8_t * event){ 14035 return little_endian_read_16(event, 5); 14036 } 14037 /** 14038 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 14039 * @param event packet 14040 * @return att_status 14041 * @note: btstack_type 1 14042 */ 14043 static inline uint8_t gattservice_subevent_lls_client_write_done_get_att_status(const uint8_t * event){ 14044 return event[7]; 14045 } 14046 14047 /** 14048 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_START_ALERTING 14049 * @param event packet 14050 * @return lls_cid 14051 * @note: btstack_type 2 14052 */ 14053 static inline uint16_t gattservice_subevent_lls_client_start_alerting_get_lls_cid(const uint8_t * event){ 14054 return little_endian_read_16(event, 3); 14055 } 14056 14057 /** 14058 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_STOP_ALERTING 14059 * @param event packet 14060 * @return lls_cid 14061 * @note: btstack_type 2 14062 */ 14063 static inline uint16_t gattservice_subevent_lls_client_stop_alerting_get_lls_cid(const uint8_t * event){ 14064 return little_endian_read_16(event, 3); 14065 } 14066 /** 14067 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_LLS_CLIENT_STOP_ALERTING 14068 * @param event packet 14069 * @return timeout 14070 * @note: btstack_type 1 14071 */ 14072 static inline uint8_t gattservice_subevent_lls_client_stop_alerting_get_timeout(const uint8_t * event){ 14073 return event[5]; 14074 } 14075 14076 /** 14077 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_ALERT_LEVEL 14078 * @param event packet 14079 * @return lls_cid 14080 * @note: btstack_type 2 14081 */ 14082 static inline uint16_t gattservice_subevent_lls_client_alert_level_get_lls_cid(const uint8_t * event){ 14083 return little_endian_read_16(event, 3); 14084 } 14085 /** 14086 * @brief Get field value from event GATTSERVICE_SUBEVENT_LLS_CLIENT_ALERT_LEVEL 14087 * @param event packet 14088 * @return value 14089 * @note: btstack_type 1 14090 */ 14091 static inline uint8_t gattservice_subevent_lls_client_alert_level_get_value(const uint8_t * event){ 14092 return event[5]; 14093 } 14094 14095 /** 14096 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14097 * @param event packet 14098 * @return con_handle 14099 * @note: btstack_type H 14100 */ 14101 static inline hci_con_handle_t gattservice_subevent_ias_client_connected_get_con_handle(const uint8_t * event){ 14102 return little_endian_read_16(event, 3); 14103 } 14104 /** 14105 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14106 * @param event packet 14107 * @return ias_cid 14108 * @note: btstack_type 2 14109 */ 14110 static inline uint16_t gattservice_subevent_ias_client_connected_get_ias_cid(const uint8_t * event){ 14111 return little_endian_read_16(event, 5); 14112 } 14113 /** 14114 * @brief Get field status from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14115 * @param event packet 14116 * @return status 14117 * @note: btstack_type 1 14118 */ 14119 static inline uint8_t gattservice_subevent_ias_client_connected_get_status(const uint8_t * event){ 14120 return event[7]; 14121 } 14122 14123 /** 14124 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_DISCONNECTED 14125 * @param event packet 14126 * @return ias_cid 14127 * @note: btstack_type 2 14128 */ 14129 static inline uint16_t gattservice_subevent_ias_client_disconnected_get_ias_cid(const uint8_t * event){ 14130 return little_endian_read_16(event, 3); 14131 } 14132 14133 /** 14134 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_START_ALERTING 14135 * @param event packet 14136 * @return ias_cid 14137 * @note: btstack_type 2 14138 */ 14139 static inline uint16_t gattservice_subevent_ias_client_start_alerting_get_ias_cid(const uint8_t * event){ 14140 return little_endian_read_16(event, 3); 14141 } 14142 14143 /** 14144 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_STOP_ALERTING 14145 * @param event packet 14146 * @return ias_cid 14147 * @note: btstack_type 2 14148 */ 14149 static inline uint16_t gattservice_subevent_ias_client_stop_alerting_get_ias_cid(const uint8_t * event){ 14150 return little_endian_read_16(event, 3); 14151 } 14152 /** 14153 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_IAS_CLIENT_STOP_ALERTING 14154 * @param event packet 14155 * @return timeout 14156 * @note: btstack_type 1 14157 */ 14158 static inline uint8_t gattservice_subevent_ias_client_stop_alerting_get_timeout(const uint8_t * event){ 14159 return event[5]; 14160 } 14161 14162 /** 14163 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14164 * @param event packet 14165 * @return con_handle 14166 * @note: btstack_type H 14167 */ 14168 static inline hci_con_handle_t gattservice_subevent_txps_client_connected_get_con_handle(const uint8_t * event){ 14169 return little_endian_read_16(event, 3); 14170 } 14171 /** 14172 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14173 * @param event packet 14174 * @return tpxs_cid 14175 * @note: btstack_type 2 14176 */ 14177 static inline uint16_t gattservice_subevent_txps_client_connected_get_tpxs_cid(const uint8_t * event){ 14178 return little_endian_read_16(event, 5); 14179 } 14180 /** 14181 * @brief Get field status from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14182 * @param event packet 14183 * @return status 14184 * @note: btstack_type 1 14185 */ 14186 static inline uint8_t gattservice_subevent_txps_client_connected_get_status(const uint8_t * event){ 14187 return event[7]; 14188 } 14189 14190 /** 14191 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_DISCONNECTED 14192 * @param event packet 14193 * @return tpxs_cid 14194 * @note: btstack_type 2 14195 */ 14196 static inline uint16_t gattservice_subevent_txps_client_disconnected_get_tpxs_cid(const uint8_t * event){ 14197 return little_endian_read_16(event, 3); 14198 } 14199 14200 /** 14201 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_TX_POWER_LEVEL 14202 * @param event packet 14203 * @return tpxs_cid 14204 * @note: btstack_type 2 14205 */ 14206 static inline uint16_t gattservice_subevent_txps_client_tx_power_level_get_tpxs_cid(const uint8_t * event){ 14207 return little_endian_read_16(event, 3); 14208 } 14209 /** 14210 * @brief Get field value from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_TX_POWER_LEVEL 14211 * @param event packet 14212 * @return value 14213 * @note: btstack_type 1 14214 */ 14215 static inline uint8_t gattservice_subevent_txps_client_tx_power_level_get_value(const uint8_t * event){ 14216 return event[5]; 14217 } 14218 14219 /** 14220 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_LLS_SERVER_START_ALERTING 14221 * @param event packet 14222 * @return alert_level 14223 * @note: btstack_type 1 14224 */ 14225 static inline uint8_t gattservice_subevent_lls_server_start_alerting_get_alert_level(const uint8_t * event){ 14226 return event[3]; 14227 } 14228 14229 /** 14230 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_LLS_SERVER_STOP_ALERTING 14231 * @param event packet 14232 * @return alert_level 14233 * @note: btstack_type 1 14234 */ 14235 static inline uint8_t gattservice_subevent_lls_server_stop_alerting_get_alert_level(const uint8_t * event){ 14236 return event[3]; 14237 } 14238 /** 14239 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_LLS_SERVER_STOP_ALERTING 14240 * @param event packet 14241 * @return timeout 14242 * @note: btstack_type 1 14243 */ 14244 static inline uint8_t gattservice_subevent_lls_server_stop_alerting_get_timeout(const uint8_t * event){ 14245 return event[4]; 14246 } 14247 14248 /** 14249 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_IAS_SERVER_START_ALERTING 14250 * @param event packet 14251 * @return alert_level 14252 * @note: btstack_type 1 14253 */ 14254 static inline uint8_t gattservice_subevent_ias_server_start_alerting_get_alert_level(const uint8_t * event){ 14255 return event[3]; 14256 } 14257 14258 /** 14259 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_IAS_SERVER_STOP_ALERTING 14260 * @param event packet 14261 * @return alert_level 14262 * @note: btstack_type 1 14263 */ 14264 static inline uint8_t gattservice_subevent_ias_server_stop_alerting_get_alert_level(const uint8_t * event){ 14265 return event[3]; 14266 } 14267 /** 14268 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_IAS_SERVER_STOP_ALERTING 14269 * @param event packet 14270 * @return timeout 14271 * @note: btstack_type 1 14272 */ 14273 static inline uint8_t gattservice_subevent_ias_server_stop_alerting_get_timeout(const uint8_t * event){ 14274 return event[4]; 14275 } 14276 14277 /** 14278 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14279 * @param event packet 14280 * @return con_handle 14281 * @note: btstack_type H 14282 */ 14283 static inline hci_con_handle_t gattservice_subevent_device_information_udi_for_medical_devices_get_con_handle(const uint8_t * event){ 14284 return little_endian_read_16(event, 3); 14285 } 14286 /** 14287 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14288 * @param event packet 14289 * @return att_status 14290 * @note: btstack_type 1 14291 */ 14292 static inline uint8_t gattservice_subevent_device_information_udi_for_medical_devices_get_att_status(const uint8_t * event){ 14293 return event[5]; 14294 } 14295 /** 14296 * @brief Get field label from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14297 * @param event packet 14298 * @return label 14299 * @note: btstack_type T 14300 */ 14301 static inline const char * gattservice_subevent_device_information_udi_for_medical_devices_get_label(const uint8_t * event){ 14302 return (const char *) &event[6]; 14303 } 14304 14305 /** 14306 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 14307 * @param event packet 14308 * @return con_handle 14309 * @note: btstack_type H 14310 */ 14311 static inline hci_con_handle_t leaudio_subevent_bass_server_connected_get_con_handle(const uint8_t * event){ 14312 return little_endian_read_16(event, 3); 14313 } 14314 /** 14315 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 14316 * @param event packet 14317 * @return status 14318 * @note: btstack_type 1 14319 */ 14320 static inline uint8_t leaudio_subevent_bass_server_connected_get_status(const uint8_t * event){ 14321 return event[5]; 14322 } 14323 14324 /** 14325 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_DISCONNECTED 14326 * @param event packet 14327 * @return con_handle 14328 * @note: btstack_type H 14329 */ 14330 static inline hci_con_handle_t leaudio_subevent_bass_server_disconnected_get_con_handle(const uint8_t * event){ 14331 return little_endian_read_16(event, 3); 14332 } 14333 14334 /** 14335 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STOPPED 14336 * @param event packet 14337 * @return con_handle 14338 * @note: btstack_type H 14339 */ 14340 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_stopped_get_con_handle(const uint8_t * event){ 14341 return little_endian_read_16(event, 3); 14342 } 14343 14344 /** 14345 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STARTED 14346 * @param event packet 14347 * @return con_handle 14348 * @note: btstack_type H 14349 */ 14350 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_started_get_con_handle(const uint8_t * event){ 14351 return little_endian_read_16(event, 3); 14352 } 14353 14354 /** 14355 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14356 * @param event packet 14357 * @return con_handle 14358 * @note: btstack_type H 14359 */ 14360 static inline hci_con_handle_t leaudio_subevent_bass_server_broadcast_code_get_con_handle(const uint8_t * event){ 14361 return little_endian_read_16(event, 3); 14362 } 14363 /** 14364 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14365 * @param event packet 14366 * @return source_id 14367 * @note: btstack_type 1 14368 */ 14369 static inline uint8_t leaudio_subevent_bass_server_broadcast_code_get_source_id(const uint8_t * event){ 14370 return event[5]; 14371 } 14372 /** 14373 * @brief Get field broadcast_code from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14374 * @param event packet 14375 * @param Pointer to storage for broadcast_code 14376 * @note: btstack_type K 14377 */ 14378 static inline void leaudio_subevent_bass_server_broadcast_code_get_broadcast_code(const uint8_t * event, uint8_t * broadcast_code){ 14379 reverse_bytes(&event[6], broadcast_code, 16); 14380 } 14381 14382 /** 14383 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14384 * @param event packet 14385 * @return con_handle 14386 * @note: btstack_type H 14387 */ 14388 static inline hci_con_handle_t leaudio_subevent_bass_server_source_added_get_con_handle(const uint8_t * event){ 14389 return little_endian_read_16(event, 3); 14390 } 14391 /** 14392 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14393 * @param event packet 14394 * @return source_id 14395 * @note: btstack_type 1 14396 */ 14397 static inline uint8_t leaudio_subevent_bass_server_source_added_get_source_id(const uint8_t * event){ 14398 return event[5]; 14399 } 14400 /** 14401 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14402 * @param event packet 14403 * @return pa_sync 14404 * @note: btstack_type 1 14405 */ 14406 static inline uint8_t leaudio_subevent_bass_server_source_added_get_pa_sync(const uint8_t * event){ 14407 return event[6]; 14408 } 14409 14410 /** 14411 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14412 * @param event packet 14413 * @return con_handle 14414 * @note: btstack_type H 14415 */ 14416 static inline hci_con_handle_t leaudio_subevent_bass_server_source_modified_get_con_handle(const uint8_t * event){ 14417 return little_endian_read_16(event, 3); 14418 } 14419 /** 14420 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14421 * @param event packet 14422 * @return source_id 14423 * @note: btstack_type 1 14424 */ 14425 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_source_id(const uint8_t * event){ 14426 return event[5]; 14427 } 14428 /** 14429 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14430 * @param event packet 14431 * @return pa_sync 14432 * @note: btstack_type 1 14433 */ 14434 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_pa_sync(const uint8_t * event){ 14435 return event[6]; 14436 } 14437 14438 /** 14439 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14440 * @param event packet 14441 * @return con_handle 14442 * @note: btstack_type H 14443 */ 14444 static inline hci_con_handle_t leaudio_subevent_bass_server_source_deleted_get_con_handle(const uint8_t * event){ 14445 return little_endian_read_16(event, 3); 14446 } 14447 /** 14448 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14449 * @param event packet 14450 * @return source_id 14451 * @note: btstack_type 1 14452 */ 14453 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_source_id(const uint8_t * event){ 14454 return event[5]; 14455 } 14456 /** 14457 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14458 * @param event packet 14459 * @return pa_sync 14460 * @note: btstack_type 1 14461 */ 14462 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_pa_sync(const uint8_t * event){ 14463 return event[6]; 14464 } 14465 14466 /** 14467 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14468 * @param event packet 14469 * @return con_handle 14470 * @note: btstack_type H 14471 */ 14472 static inline hci_con_handle_t leaudio_subevent_bass_client_connected_get_con_handle(const uint8_t * event){ 14473 return little_endian_read_16(event, 3); 14474 } 14475 /** 14476 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14477 * @param event packet 14478 * @return bass_cid 14479 * @note: btstack_type 2 14480 */ 14481 static inline uint16_t leaudio_subevent_bass_client_connected_get_bass_cid(const uint8_t * event){ 14482 return little_endian_read_16(event, 5); 14483 } 14484 /** 14485 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14486 * @param event packet 14487 * @return status 14488 * @note: btstack_type 1 14489 */ 14490 static inline uint8_t leaudio_subevent_bass_client_connected_get_status(const uint8_t * event){ 14491 return event[7]; 14492 } 14493 14494 /** 14495 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_DISCONNECTED 14496 * @param event packet 14497 * @return bass_cid 14498 * @note: btstack_type 2 14499 */ 14500 static inline uint16_t leaudio_subevent_bass_client_disconnected_get_bass_cid(const uint8_t * event){ 14501 return little_endian_read_16(event, 3); 14502 } 14503 14504 /** 14505 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14506 * @param event packet 14507 * @return bass_cid 14508 * @note: btstack_type 2 14509 */ 14510 static inline uint16_t leaudio_subevent_bass_client_scan_operation_complete_get_bass_cid(const uint8_t * event){ 14511 return little_endian_read_16(event, 3); 14512 } 14513 /** 14514 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14515 * @param event packet 14516 * @return status 14517 * @note: btstack_type 1 14518 */ 14519 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_status(const uint8_t * event){ 14520 return event[5]; 14521 } 14522 /** 14523 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14524 * @param event packet 14525 * @return opcode 14526 * @note: btstack_type 1 14527 */ 14528 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_opcode(const uint8_t * event){ 14529 return event[6]; 14530 } 14531 14532 /** 14533 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14534 * @param event packet 14535 * @return bass_cid 14536 * @note: btstack_type 2 14537 */ 14538 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_base_get_bass_cid(const uint8_t * event){ 14539 return little_endian_read_16(event, 3); 14540 } 14541 /** 14542 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14543 * @param event packet 14544 * @return source_id 14545 * @note: btstack_type 1 14546 */ 14547 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_id(const uint8_t * event){ 14548 return event[5]; 14549 } 14550 /** 14551 * @brief Get field source_address_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14552 * @param event packet 14553 * @return source_address_type 14554 * @note: btstack_type 1 14555 */ 14556 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_address_type(const uint8_t * event){ 14557 return event[6]; 14558 } 14559 /** 14560 * @brief Get field source_address from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14561 * @param event packet 14562 * @param Pointer to storage for source_address 14563 * @note: btstack_type B 14564 */ 14565 static inline void leaudio_subevent_bass_client_notify_receive_state_base_get_source_address(const uint8_t * event, bd_addr_t source_address){ 14566 reverse_bytes(&event[7], source_address, 6); 14567 } 14568 /** 14569 * @brief Get field source_adv_sid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14570 * @param event packet 14571 * @return source_adv_sid 14572 * @note: btstack_type 1 14573 */ 14574 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_adv_sid(const uint8_t * event){ 14575 return event[13]; 14576 } 14577 /** 14578 * @brief Get field broadcast_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14579 * @param event packet 14580 * @return broadcast_id 14581 * @note: btstack_type 3 14582 */ 14583 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_base_get_broadcast_id(const uint8_t * event){ 14584 return little_endian_read_24(event, 14); 14585 } 14586 /** 14587 * @brief Get field pa_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14588 * @param event packet 14589 * @return pa_sync_state 14590 * @note: btstack_type 1 14591 */ 14592 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_pa_sync_state(const uint8_t * event){ 14593 return event[17]; 14594 } 14595 /** 14596 * @brief Get field big_encryption from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14597 * @param event packet 14598 * @return big_encryption 14599 * @note: btstack_type 1 14600 */ 14601 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_big_encryption(const uint8_t * event){ 14602 return event[18]; 14603 } 14604 /** 14605 * @brief Get field bad_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14606 * @param event packet 14607 * @return bad_code 14608 * @note: btstack_type P 14609 */ 14610 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_base_get_bad_code(const uint8_t * event){ 14611 return (const uint8_t *) &event[19]; 14612 } 14613 /** 14614 * @brief Get field subgroups_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14615 * @param event packet 14616 * @return subgroups_num 14617 * @note: btstack_type 1 14618 */ 14619 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_subgroups_num(const uint8_t * event){ 14620 return event[35]; 14621 } 14622 14623 /** 14624 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14625 * @param event packet 14626 * @return bass_cid 14627 * @note: btstack_type 2 14628 */ 14629 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){ 14630 return little_endian_read_16(event, 3); 14631 } 14632 /** 14633 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14634 * @param event packet 14635 * @return source_id 14636 * @note: btstack_type 1 14637 */ 14638 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_source_id(const uint8_t * event){ 14639 return event[5]; 14640 } 14641 /** 14642 * @brief Get field bis_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14643 * @param event packet 14644 * @return bis_sync_state 14645 * @note: btstack_type 4 14646 */ 14647 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){ 14648 return little_endian_read_32(event, 6); 14649 } 14650 /** 14651 * @brief Get field metadata_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14652 * @param event packet 14653 * @return metadata_mask 14654 * @note: btstack_type 1 14655 */ 14656 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){ 14657 return event[10]; 14658 } 14659 /** 14660 * @brief Get field preferred_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14661 * @param event packet 14662 * @return preferred_audio_contexts_mask 14663 * @note: btstack_type 2 14664 */ 14665 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){ 14666 return little_endian_read_16(event, 11); 14667 } 14668 /** 14669 * @brief Get field streaming_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14670 * @param event packet 14671 * @return streaming_audio_contexts_mask 14672 * @note: btstack_type 2 14673 */ 14674 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){ 14675 return little_endian_read_16(event, 13); 14676 } 14677 /** 14678 * @brief Get field program_info_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14679 * @param event packet 14680 * @return program_info_length 14681 * @note: btstack_type J 14682 */ 14683 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){ 14684 return event[15]; 14685 } 14686 /** 14687 * @brief Get field program_info from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14688 * @param event packet 14689 * @return program_info 14690 * @note: btstack_type V 14691 */ 14692 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info(const uint8_t * event){ 14693 return &event[16]; 14694 } 14695 /** 14696 * @brief Get field language_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14697 * @param event packet 14698 * @return language_code 14699 * @note: btstack_type 3 14700 */ 14701 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_language_code(const uint8_t * event){ 14702 uint8_t offset = 16u + event[15]; 14703 return little_endian_read_24(event, (int)(int8_t) offset); 14704 } 14705 /** 14706 * @brief Get field ccids_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14707 * @param event packet 14708 * @return ccids_num 14709 * @note: btstack_type J 14710 */ 14711 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){ 14712 return event[16u + event[15] + 3u]; 14713 } 14714 /** 14715 * @brief Get field ccids from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14716 * @param event packet 14717 * @return ccids 14718 * @note: btstack_type V 14719 */ 14720 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids(const uint8_t * event){ 14721 return &event[16u + event[15] + 3u + 1u]; 14722 } 14723 /** 14724 * @brief Get field parental_rating from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14725 * @param event packet 14726 * @return parental_rating 14727 * @note: btstack_type 1 14728 */ 14729 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){ 14730 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]]; 14731 } 14732 /** 14733 * @brief Get field program_info_uri_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14734 * @param event packet 14735 * @return program_info_uri_length 14736 * @note: btstack_type J 14737 */ 14738 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){ 14739 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; 14740 } 14741 /** 14742 * @brief Get field program_info_uri from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14743 * @param event packet 14744 * @return program_info_uri 14745 * @note: btstack_type V 14746 */ 14747 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){ 14748 return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u]; 14749 } 14750 /** 14751 * @brief Get field extended_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14752 * @param event packet 14753 * @return extended_metadata_type 14754 * @note: btstack_type 2 14755 */ 14756 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){ 14757 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]; 14758 return little_endian_read_16(event, (int)(int8_t) offset); 14759 } 14760 /** 14761 * @brief Get field extended_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14762 * @param event packet 14763 * @return extended_metadata_value_length 14764 * @note: btstack_type J 14765 */ 14766 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){ 14767 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]; 14768 } 14769 /** 14770 * @brief Get field extended_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14771 * @param event packet 14772 * @return extended_metadata_value 14773 * @note: btstack_type V 14774 */ 14775 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){ 14776 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]; 14777 } 14778 /** 14779 * @brief Get field vendor_specific_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14780 * @param event packet 14781 * @return vendor_specific_metadata_type 14782 * @note: btstack_type 2 14783 */ 14784 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){ 14785 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]; 14786 return little_endian_read_16(event, (int)(int8_t) offset); 14787 } 14788 /** 14789 * @brief Get field vendor_specific_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14790 * @param event packet 14791 * @return vendor_specific_metadata_value_length 14792 * @note: btstack_type J 14793 */ 14794 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){ 14795 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]; 14796 } 14797 /** 14798 * @brief Get field vendor_specific_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14799 * @param event packet 14800 * @return vendor_specific_metadata_value 14801 * @note: btstack_type V 14802 */ 14803 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){ 14804 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]; 14805 } 14806 14807 /** 14808 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14809 * @param event packet 14810 * @return bass_cid 14811 * @note: btstack_type 2 14812 */ 14813 static inline uint16_t leaudio_subevent_bass_client_notification_complete_get_bass_cid(const uint8_t * event){ 14814 return little_endian_read_16(event, 3); 14815 } 14816 /** 14817 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14818 * @param event packet 14819 * @return source_id 14820 * @note: btstack_type 1 14821 */ 14822 static inline uint8_t leaudio_subevent_bass_client_notification_complete_get_source_id(const uint8_t * event){ 14823 return event[5]; 14824 } 14825 14826 /** 14827 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14828 * @param event packet 14829 * @return bass_cid 14830 * @note: btstack_type 2 14831 */ 14832 static inline uint16_t leaudio_subevent_bass_client_source_operation_complete_get_bass_cid(const uint8_t * event){ 14833 return little_endian_read_16(event, 3); 14834 } 14835 /** 14836 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14837 * @param event packet 14838 * @return status 14839 * @note: btstack_type 1 14840 */ 14841 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_status(const uint8_t * event){ 14842 return event[5]; 14843 } 14844 /** 14845 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14846 * @param event packet 14847 * @return opcode 14848 * @note: btstack_type 1 14849 */ 14850 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_opcode(const uint8_t * event){ 14851 return event[6]; 14852 } 14853 /** 14854 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14855 * @param event packet 14856 * @return source_id 14857 * @note: btstack_type 1 14858 */ 14859 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_source_id(const uint8_t * event){ 14860 return event[7]; 14861 } 14862 14863 14864 /** 14865 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 14866 * @param event packet 14867 * @return status 14868 * @note: btstack_type 1 14869 */ 14870 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 14871 return event[3]; 14872 } 14873 14874 /** 14875 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14876 * @param event packet 14877 * @return status 14878 * @note: btstack_type 1 14879 */ 14880 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 14881 return event[3]; 14882 } 14883 /** 14884 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14885 * @param event packet 14886 * @return pb_transport_cid 14887 * @note: btstack_type 2 14888 */ 14889 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 14890 return little_endian_read_16(event, 4); 14891 } 14892 /** 14893 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14894 * @param event packet 14895 * @return pb_type 14896 * @note: btstack_type 1 14897 */ 14898 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 14899 return event[6]; 14900 } 14901 14902 /** 14903 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14904 * @param event packet 14905 * @return pb_transport_cid 14906 * @note: btstack_type 1 14907 */ 14908 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 14909 return event[3]; 14910 } 14911 /** 14912 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14913 * @param event packet 14914 * @return reason 14915 * @note: btstack_type 2 14916 */ 14917 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 14918 return little_endian_read_16(event, 4); 14919 } 14920 14921 /** 14922 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14923 * @param event packet 14924 * @return pb_transport_cid 14925 * @note: btstack_type 2 14926 */ 14927 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 14928 return little_endian_read_16(event, 3); 14929 } 14930 /** 14931 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14932 * @param event packet 14933 * @return attention_time 14934 * @note: btstack_type 1 14935 */ 14936 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 14937 return event[5]; 14938 } 14939 14940 /** 14941 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 14942 * @param event packet 14943 * @return pb_transport_cid 14944 * @note: btstack_type 2 14945 */ 14946 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14947 return little_endian_read_16(event, 3); 14948 } 14949 14950 /** 14951 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 14952 * @param event packet 14953 * @return pb_transport_cid 14954 * @note: btstack_type 2 14955 */ 14956 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14957 return little_endian_read_16(event, 3); 14958 } 14959 14960 /** 14961 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 14962 * @param event packet 14963 * @return pb_transport_cid 14964 * @note: btstack_type 2 14965 */ 14966 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 14967 return little_endian_read_16(event, 3); 14968 } 14969 14970 /** 14971 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14972 * @param event packet 14973 * @return pb_transport_cid 14974 * @note: btstack_type 2 14975 */ 14976 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14977 return little_endian_read_16(event, 3); 14978 } 14979 /** 14980 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14981 * @param event packet 14982 * @return output_oob 14983 * @note: btstack_type 4 14984 */ 14985 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 14986 return little_endian_read_32(event, 5); 14987 } 14988 14989 /** 14990 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 14991 * @param event packet 14992 * @return pb_transport_cid 14993 * @note: btstack_type 2 14994 */ 14995 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14996 return little_endian_read_16(event, 3); 14997 } 14998 14999 /** 15000 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 15001 * @param event packet 15002 * @return pb_transport_cid 15003 * @note: btstack_type 2 15004 */ 15005 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 15006 return little_endian_read_16(event, 3); 15007 } 15008 15009 /** 15010 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 15011 * @param event packet 15012 * @return pb_transport_cid 15013 * @note: btstack_type 2 15014 */ 15015 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 15016 return little_endian_read_16(event, 3); 15017 } 15018 15019 /** 15020 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 15021 * @param event packet 15022 * @return pb_transport_cid 15023 * @note: btstack_type 2 15024 */ 15025 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 15026 return little_endian_read_16(event, 3); 15027 } 15028 15029 /** 15030 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 15031 * @param event packet 15032 * @return pb_transport_cid 15033 * @note: btstack_type 2 15034 */ 15035 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 15036 return little_endian_read_16(event, 3); 15037 } 15038 /** 15039 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 15040 * @param event packet 15041 * @return output_oob 15042 * @note: btstack_type 4 15043 */ 15044 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 15045 return little_endian_read_32(event, 5); 15046 } 15047 15048 /** 15049 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 15050 * @param event packet 15051 * @return pb_transport_cid 15052 * @note: btstack_type 2 15053 */ 15054 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 15055 return little_endian_read_16(event, 3); 15056 } 15057 15058 /** 15059 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15060 * @param event packet 15061 * @return pb_transport_cid 15062 * @note: btstack_type 2 15063 */ 15064 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 15065 return little_endian_read_16(event, 3); 15066 } 15067 /** 15068 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15069 * @param event packet 15070 * @return num_elements 15071 * @note: btstack_type 1 15072 */ 15073 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 15074 return event[5]; 15075 } 15076 /** 15077 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15078 * @param event packet 15079 * @return algorithms 15080 * @note: btstack_type 2 15081 */ 15082 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 15083 return little_endian_read_16(event, 6); 15084 } 15085 /** 15086 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15087 * @param event packet 15088 * @return public_key 15089 * @note: btstack_type 1 15090 */ 15091 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 15092 return event[8]; 15093 } 15094 /** 15095 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15096 * @param event packet 15097 * @return static_oob_type 15098 * @note: btstack_type 1 15099 */ 15100 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 15101 return event[9]; 15102 } 15103 /** 15104 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15105 * @param event packet 15106 * @return output_oob_size 15107 * @note: btstack_type 1 15108 */ 15109 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 15110 return event[10]; 15111 } 15112 /** 15113 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15114 * @param event packet 15115 * @return output_oob_action 15116 * @note: btstack_type 2 15117 */ 15118 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 15119 return little_endian_read_16(event, 11); 15120 } 15121 /** 15122 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15123 * @param event packet 15124 * @return input_oob_size 15125 * @note: btstack_type 1 15126 */ 15127 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 15128 return event[13]; 15129 } 15130 /** 15131 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15132 * @param event packet 15133 * @return input_oob_action 15134 * @note: btstack_type 2 15135 */ 15136 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 15137 return little_endian_read_16(event, 14); 15138 } 15139 15140 /** 15141 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 15142 * @param event packet 15143 * @return pb_transport_cid 15144 * @note: btstack_type 2 15145 */ 15146 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 15147 return little_endian_read_16(event, 3); 15148 } 15149 15150 /** 15151 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 15152 * @param event packet 15153 * @return attention_time 15154 * @note: btstack_type 1 15155 */ 15156 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 15157 return event[3]; 15158 } 15159 15160 /** 15161 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 15162 * @param event packet 15163 * @return con_handle 15164 * @note: btstack_type H 15165 */ 15166 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 15167 return little_endian_read_16(event, 3); 15168 } 15169 15170 /** 15171 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 15172 * @param event packet 15173 * @return con_handle 15174 * @note: btstack_type H 15175 */ 15176 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 15177 return little_endian_read_16(event, 3); 15178 } 15179 15180 /** 15181 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 15182 * @param event packet 15183 * @return con_handle 15184 * @note: btstack_type H 15185 */ 15186 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 15187 return little_endian_read_16(event, 3); 15188 } 15189 15190 /** 15191 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 15192 * @param event packet 15193 * @return con_handle 15194 * @note: btstack_type H 15195 */ 15196 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 15197 return little_endian_read_16(event, 3); 15198 } 15199 15200 /** 15201 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15202 * @param event packet 15203 * @return element_index 15204 * @note: btstack_type 1 15205 */ 15206 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 15207 return event[3]; 15208 } 15209 /** 15210 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15211 * @param event packet 15212 * @return model_identifier 15213 * @note: btstack_type 4 15214 */ 15215 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 15216 return little_endian_read_32(event, 4); 15217 } 15218 /** 15219 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15220 * @param event packet 15221 * @return state_identifier 15222 * @note: btstack_type 4 15223 */ 15224 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 15225 return little_endian_read_32(event, 8); 15226 } 15227 /** 15228 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15229 * @param event packet 15230 * @return reason 15231 * @note: btstack_type 1 15232 */ 15233 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 15234 return event[12]; 15235 } 15236 /** 15237 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15238 * @param event packet 15239 * @return value 15240 * @note: btstack_type 1 15241 */ 15242 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 15243 return event[13]; 15244 } 15245 15246 /** 15247 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 15248 * @param event packet 15249 * @return element_index 15250 * @note: btstack_type 1 15251 */ 15252 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 15253 return event[3]; 15254 } 15255 /** 15256 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15257 * @param event packet 15258 * @return model_identifier 15259 * @note: btstack_type 4 15260 */ 15261 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 15262 return little_endian_read_32(event, 4); 15263 } 15264 /** 15265 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15266 * @param event packet 15267 * @return state_identifier 15268 * @note: btstack_type 4 15269 */ 15270 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 15271 return little_endian_read_32(event, 8); 15272 } 15273 /** 15274 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 15275 * @param event packet 15276 * @return reason 15277 * @note: btstack_type 1 15278 */ 15279 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 15280 return event[12]; 15281 } 15282 /** 15283 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 15284 * @param event packet 15285 * @return value 15286 * @note: btstack_type 2 15287 */ 15288 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 15289 return little_endian_read_16(event, 13); 15290 } 15291 15292 /** 15293 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15294 * @param event packet 15295 * @return element_index 15296 * @note: btstack_type 1 15297 */ 15298 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 15299 return event[3]; 15300 } 15301 /** 15302 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15303 * @param event packet 15304 * @return model_identifier 15305 * @note: btstack_type 4 15306 */ 15307 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 15308 return little_endian_read_32(event, 4); 15309 } 15310 /** 15311 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15312 * @param event packet 15313 * @return opcode 15314 * @note: btstack_type 4 15315 */ 15316 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 15317 return little_endian_read_32(event, 8); 15318 } 15319 /** 15320 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15321 * @param event packet 15322 * @return dest 15323 * @note: btstack_type 2 15324 */ 15325 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 15326 return little_endian_read_16(event, 12); 15327 } 15328 15329 /** 15330 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 15331 * @param event packet 15332 * @return dest 15333 * @note: btstack_type 2 15334 */ 15335 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 15336 return little_endian_read_16(event, 3); 15337 } 15338 /** 15339 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 15340 * @param event packet 15341 * @return status 15342 * @note: btstack_type 1 15343 */ 15344 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 15345 return event[5]; 15346 } 15347 /** 15348 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15349 * @param event packet 15350 * @return present_value 15351 * @note: btstack_type 1 15352 */ 15353 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 15354 return event[6]; 15355 } 15356 /** 15357 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15358 * @param event packet 15359 * @return target_value 15360 * @note: btstack_type 1 15361 */ 15362 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 15363 return event[7]; 15364 } 15365 /** 15366 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 15367 * @param event packet 15368 * @return remaining_time_ms 15369 * @note: btstack_type 4 15370 */ 15371 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 15372 return little_endian_read_32(event, 8); 15373 } 15374 15375 /** 15376 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 15377 * @param event packet 15378 * @return dest 15379 * @note: btstack_type 2 15380 */ 15381 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 15382 return little_endian_read_16(event, 3); 15383 } 15384 /** 15385 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 15386 * @param event packet 15387 * @return status 15388 * @note: btstack_type 1 15389 */ 15390 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 15391 return event[5]; 15392 } 15393 /** 15394 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 15395 * @param event packet 15396 * @return present_value 15397 * @note: btstack_type 2 15398 */ 15399 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 15400 return little_endian_read_16(event, 6); 15401 } 15402 /** 15403 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 15404 * @param event packet 15405 * @return target_value 15406 * @note: btstack_type 2 15407 */ 15408 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 15409 return little_endian_read_16(event, 8); 15410 } 15411 /** 15412 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 15413 * @param event packet 15414 * @return remaining_time_ms 15415 * @note: btstack_type 4 15416 */ 15417 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 15418 return little_endian_read_32(event, 10); 15419 } 15420 15421 /** 15422 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15423 * @param event packet 15424 * @return dest 15425 * @note: btstack_type 2 15426 */ 15427 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 15428 return little_endian_read_16(event, 3); 15429 } 15430 /** 15431 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15432 * @param event packet 15433 * @return netkey_index 15434 * @note: btstack_type 2 15435 */ 15436 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 15437 return little_endian_read_16(event, 5); 15438 } 15439 /** 15440 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15441 * @param event packet 15442 * @return appkey_index 15443 * @note: btstack_type 2 15444 */ 15445 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 15446 return little_endian_read_16(event, 7); 15447 } 15448 /** 15449 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15450 * @param event packet 15451 * @return company_id 15452 * @note: btstack_type 2 15453 */ 15454 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 15455 return little_endian_read_16(event, 9); 15456 } 15457 /** 15458 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15459 * @param event packet 15460 * @return test_id 15461 * @note: btstack_type 1 15462 */ 15463 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 15464 return event[11]; 15465 } 15466 /** 15467 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15468 * @param event packet 15469 * @return acknowledged 15470 * @note: btstack_type 1 15471 */ 15472 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 15473 return event[12]; 15474 } 15475 15476 /** 15477 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 15478 * @param event packet 15479 * @return element_index 15480 * @note: btstack_type 1 15481 */ 15482 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 15483 return event[3]; 15484 } 15485 15486 /** 15487 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15488 * @param event packet 15489 * @return dest 15490 * @note: btstack_type 2 15491 */ 15492 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 15493 return little_endian_read_16(event, 3); 15494 } 15495 /** 15496 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15497 * @param event packet 15498 * @return status 15499 * @note: btstack_type 1 15500 */ 15501 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 15502 return event[5]; 15503 } 15504 /** 15505 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15506 * @param event packet 15507 * @return transition_time_gdtt 15508 * @note: btstack_type 1 15509 */ 15510 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 15511 return event[6]; 15512 } 15513 15514 /** 15515 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 15516 * @param event packet 15517 * @return dest 15518 * @note: btstack_type 2 15519 */ 15520 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 15521 return little_endian_read_16(event, 3); 15522 } 15523 /** 15524 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 15525 * @param event packet 15526 * @return foundation_status 15527 * @note: btstack_type 1 15528 */ 15529 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 15530 return event[5]; 15531 } 15532 /** 15533 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 15534 * @param event packet 15535 * @return secure_network_beacon_state 15536 * @note: btstack_type 1 15537 */ 15538 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 15539 return event[6]; 15540 } 15541 15542 /** 15543 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15544 * @param event packet 15545 * @return dest 15546 * @note: btstack_type 2 15547 */ 15548 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 15549 return little_endian_read_16(event, 3); 15550 } 15551 /** 15552 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15553 * @param event packet 15554 * @return foundation_status 15555 * @note: btstack_type 1 15556 */ 15557 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 15558 return event[5]; 15559 } 15560 /** 15561 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15562 * @param event packet 15563 * @return default_ttl 15564 * @note: btstack_type 1 15565 */ 15566 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 15567 return event[6]; 15568 } 15569 15570 /** 15571 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15572 * @param event packet 15573 * @return dest 15574 * @note: btstack_type 2 15575 */ 15576 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 15577 return little_endian_read_16(event, 3); 15578 } 15579 /** 15580 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15581 * @param event packet 15582 * @return foundation_status 15583 * @note: btstack_type 1 15584 */ 15585 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 15586 return event[5]; 15587 } 15588 /** 15589 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15590 * @param event packet 15591 * @return gatt_proxy_state 15592 * @note: btstack_type 1 15593 */ 15594 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 15595 return event[6]; 15596 } 15597 15598 /** 15599 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 15600 * @param event packet 15601 * @return dest 15602 * @note: btstack_type 2 15603 */ 15604 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 15605 return little_endian_read_16(event, 3); 15606 } 15607 /** 15608 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 15609 * @param event packet 15610 * @return foundation_status 15611 * @note: btstack_type 1 15612 */ 15613 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 15614 return event[5]; 15615 } 15616 /** 15617 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 15618 * @param event packet 15619 * @return relay 15620 * @note: btstack_type 1 15621 */ 15622 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 15623 return event[6]; 15624 } 15625 /** 15626 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 15627 * @param event packet 15628 * @return retransmit_count 15629 * @note: btstack_type 1 15630 */ 15631 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 15632 return event[7]; 15633 } 15634 /** 15635 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 15636 * @param event packet 15637 * @return retransmit_interval_ms 15638 * @note: btstack_type 1 15639 */ 15640 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 15641 return event[8]; 15642 } 15643 15644 /** 15645 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15646 * @param event packet 15647 * @return dest 15648 * @note: btstack_type 2 15649 */ 15650 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 15651 return little_endian_read_16(event, 3); 15652 } 15653 /** 15654 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15655 * @param event packet 15656 * @return foundation_status 15657 * @note: btstack_type 1 15658 */ 15659 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 15660 return event[5]; 15661 } 15662 /** 15663 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15664 * @param event packet 15665 * @return publish_address 15666 * @note: btstack_type 2 15667 */ 15668 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 15669 return little_endian_read_16(event, 6); 15670 } 15671 /** 15672 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15673 * @param event packet 15674 * @return appkey_index 15675 * @note: btstack_type 2 15676 */ 15677 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 15678 return little_endian_read_16(event, 8); 15679 } 15680 /** 15681 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15682 * @param event packet 15683 * @return credential_flag 15684 * @note: btstack_type 1 15685 */ 15686 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 15687 return event[10]; 15688 } 15689 /** 15690 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15691 * @param event packet 15692 * @return publish_ttl 15693 * @note: btstack_type 1 15694 */ 15695 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 15696 return event[11]; 15697 } 15698 /** 15699 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15700 * @param event packet 15701 * @return publish_period 15702 * @note: btstack_type 1 15703 */ 15704 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 15705 return event[12]; 15706 } 15707 /** 15708 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15709 * @param event packet 15710 * @return publish_retransmit_count 15711 * @note: btstack_type 1 15712 */ 15713 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 15714 return event[13]; 15715 } 15716 /** 15717 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15718 * @param event packet 15719 * @return publish_retransmit_interval_steps 15720 * @note: btstack_type 1 15721 */ 15722 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 15723 return event[14]; 15724 } 15725 /** 15726 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15727 * @param event packet 15728 * @return model_identifier 15729 * @note: btstack_type 4 15730 */ 15731 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 15732 return little_endian_read_32(event, 15); 15733 } 15734 15735 /** 15736 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15737 * @param event packet 15738 * @return dest 15739 * @note: btstack_type 2 15740 */ 15741 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 15742 return little_endian_read_16(event, 3); 15743 } 15744 /** 15745 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15746 * @param event packet 15747 * @return foundation_status 15748 * @note: btstack_type 1 15749 */ 15750 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 15751 return event[5]; 15752 } 15753 /** 15754 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15755 * @param event packet 15756 * @return address 15757 * @note: btstack_type 2 15758 */ 15759 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 15760 return little_endian_read_16(event, 6); 15761 } 15762 /** 15763 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15764 * @param event packet 15765 * @return model_identifier 15766 * @note: btstack_type 4 15767 */ 15768 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 15769 return little_endian_read_32(event, 8); 15770 } 15771 15772 /** 15773 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15774 * @param event packet 15775 * @return dest 15776 * @note: btstack_type 2 15777 */ 15778 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 15779 return little_endian_read_16(event, 3); 15780 } 15781 /** 15782 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15783 * @param event packet 15784 * @return foundation_status 15785 * @note: btstack_type 1 15786 */ 15787 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 15788 return event[5]; 15789 } 15790 /** 15791 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15792 * @param event packet 15793 * @return model_identifier 15794 * @note: btstack_type 4 15795 */ 15796 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 15797 return little_endian_read_32(event, 6); 15798 } 15799 /** 15800 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15801 * @param event packet 15802 * @return num_subscription_addresses 15803 * @note: btstack_type 1 15804 */ 15805 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 15806 return event[10]; 15807 } 15808 /** 15809 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15810 * @param event packet 15811 * @return subscription_address_pos 15812 * @note: btstack_type 1 15813 */ 15814 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 15815 return event[11]; 15816 } 15817 /** 15818 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15819 * @param event packet 15820 * @return subscription_address_item 15821 * @note: btstack_type 2 15822 */ 15823 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 15824 return little_endian_read_16(event, 12); 15825 } 15826 15827 /** 15828 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 15829 * @param event packet 15830 * @return dest 15831 * @note: btstack_type 2 15832 */ 15833 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 15834 return little_endian_read_16(event, 3); 15835 } 15836 /** 15837 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 15838 * @param event packet 15839 * @return foundation_status 15840 * @note: btstack_type 1 15841 */ 15842 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 15843 return event[5]; 15844 } 15845 15846 /** 15847 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15848 * @param event packet 15849 * @return dest 15850 * @note: btstack_type 2 15851 */ 15852 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 15853 return little_endian_read_16(event, 3); 15854 } 15855 /** 15856 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15857 * @param event packet 15858 * @return foundation_status 15859 * @note: btstack_type 1 15860 */ 15861 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 15862 return event[5]; 15863 } 15864 /** 15865 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15866 * @param event packet 15867 * @return num_netkey_indexes 15868 * @note: btstack_type 1 15869 */ 15870 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 15871 return event[6]; 15872 } 15873 /** 15874 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15875 * @param event packet 15876 * @return netkey_index_pos 15877 * @note: btstack_type 1 15878 */ 15879 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 15880 return event[7]; 15881 } 15882 /** 15883 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15884 * @param event packet 15885 * @return netkey_index_item 15886 * @note: btstack_type 2 15887 */ 15888 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15889 return little_endian_read_16(event, 8); 15890 } 15891 15892 /** 15893 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15894 * @param event packet 15895 * @return dest 15896 * @note: btstack_type 2 15897 */ 15898 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 15899 return little_endian_read_16(event, 3); 15900 } 15901 /** 15902 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15903 * @param event packet 15904 * @return foundation_status 15905 * @note: btstack_type 1 15906 */ 15907 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 15908 return event[5]; 15909 } 15910 /** 15911 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15912 * @param event packet 15913 * @return netkey_index_item 15914 * @note: btstack_type 2 15915 */ 15916 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 15917 return little_endian_read_16(event, 6); 15918 } 15919 /** 15920 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15921 * @param event packet 15922 * @return appkey_index_item 15923 * @note: btstack_type 2 15924 */ 15925 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 15926 return little_endian_read_16(event, 8); 15927 } 15928 15929 /** 15930 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15931 * @param event packet 15932 * @return dest 15933 * @note: btstack_type 2 15934 */ 15935 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 15936 return little_endian_read_16(event, 3); 15937 } 15938 /** 15939 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15940 * @param event packet 15941 * @return foundation_status 15942 * @note: btstack_type 1 15943 */ 15944 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 15945 return event[5]; 15946 } 15947 /** 15948 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15949 * @param event packet 15950 * @return netkey_index 15951 * @note: btstack_type 2 15952 */ 15953 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 15954 return little_endian_read_16(event, 6); 15955 } 15956 /** 15957 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15958 * @param event packet 15959 * @return num_appkey_indexes 15960 * @note: btstack_type 1 15961 */ 15962 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 15963 return event[8]; 15964 } 15965 /** 15966 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15967 * @param event packet 15968 * @return appkey_index_pos 15969 * @note: btstack_type 1 15970 */ 15971 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 15972 return event[9]; 15973 } 15974 /** 15975 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15976 * @param event packet 15977 * @return netkey_index_item 15978 * @note: btstack_type 2 15979 */ 15980 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15981 return little_endian_read_16(event, 10); 15982 } 15983 /** 15984 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15985 * @param event packet 15986 * @return appkey_index_item 15987 * @note: btstack_type 2 15988 */ 15989 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 15990 return little_endian_read_16(event, 12); 15991 } 15992 15993 /** 15994 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15995 * @param event packet 15996 * @return dest 15997 * @note: btstack_type 2 15998 */ 15999 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 16000 return little_endian_read_16(event, 3); 16001 } 16002 /** 16003 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 16004 * @param event packet 16005 * @return foundation_status 16006 * @note: btstack_type 1 16007 */ 16008 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 16009 return event[5]; 16010 } 16011 /** 16012 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 16013 * @param event packet 16014 * @return netkey_index_item 16015 * @note: btstack_type 2 16016 */ 16017 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 16018 return little_endian_read_16(event, 6); 16019 } 16020 /** 16021 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 16022 * @param event packet 16023 * @return identity_status 16024 * @note: btstack_type 1 16025 */ 16026 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 16027 return event[8]; 16028 } 16029 16030 /** 16031 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16032 * @param event packet 16033 * @return dest 16034 * @note: btstack_type 2 16035 */ 16036 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 16037 return little_endian_read_16(event, 3); 16038 } 16039 /** 16040 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16041 * @param event packet 16042 * @return foundation_status 16043 * @note: btstack_type 1 16044 */ 16045 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 16046 return event[5]; 16047 } 16048 /** 16049 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16050 * @param event packet 16051 * @return appkey_index 16052 * @note: btstack_type 2 16053 */ 16054 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 16055 return little_endian_read_16(event, 6); 16056 } 16057 /** 16058 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16059 * @param event packet 16060 * @return model_identifier 16061 * @note: btstack_type 4 16062 */ 16063 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 16064 return little_endian_read_32(event, 8); 16065 } 16066 16067 /** 16068 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16069 * @param event packet 16070 * @return dest 16071 * @note: btstack_type 2 16072 */ 16073 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 16074 return little_endian_read_16(event, 3); 16075 } 16076 /** 16077 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16078 * @param event packet 16079 * @return foundation_status 16080 * @note: btstack_type 1 16081 */ 16082 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 16083 return event[5]; 16084 } 16085 /** 16086 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16087 * @param event packet 16088 * @return model_id 16089 * @note: btstack_type 4 16090 */ 16091 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 16092 return little_endian_read_32(event, 6); 16093 } 16094 /** 16095 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16096 * @param event packet 16097 * @return num_appkey_indexes 16098 * @note: btstack_type 1 16099 */ 16100 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 16101 return event[10]; 16102 } 16103 /** 16104 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16105 * @param event packet 16106 * @return appkey_index_pos 16107 * @note: btstack_type 1 16108 */ 16109 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 16110 return event[11]; 16111 } 16112 /** 16113 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16114 * @param event packet 16115 * @return appkey_index_item 16116 * @note: btstack_type 2 16117 */ 16118 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 16119 return little_endian_read_16(event, 12); 16120 } 16121 16122 /** 16123 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16124 * @param event packet 16125 * @return dest 16126 * @note: btstack_type 2 16127 */ 16128 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 16129 return little_endian_read_16(event, 3); 16130 } 16131 /** 16132 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16133 * @param event packet 16134 * @return foundation_status 16135 * @note: btstack_type 1 16136 */ 16137 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 16138 return event[5]; 16139 } 16140 16141 /** 16142 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16143 * @param event packet 16144 * @return dest 16145 * @note: btstack_type 2 16146 */ 16147 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 16148 return little_endian_read_16(event, 3); 16149 } 16150 /** 16151 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16152 * @param event packet 16153 * @return foundation_status 16154 * @note: btstack_type 1 16155 */ 16156 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 16157 return event[5]; 16158 } 16159 /** 16160 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16161 * @param event packet 16162 * @return friend_state 16163 * @note: btstack_type 1 16164 */ 16165 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 16166 return event[6]; 16167 } 16168 16169 /** 16170 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16171 * @param event packet 16172 * @return dest 16173 * @note: btstack_type 2 16174 */ 16175 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 16176 return little_endian_read_16(event, 3); 16177 } 16178 /** 16179 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16180 * @param event packet 16181 * @return foundation_status 16182 * @note: btstack_type 1 16183 */ 16184 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 16185 return event[5]; 16186 } 16187 /** 16188 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16189 * @param event packet 16190 * @return netkey_index 16191 * @note: btstack_type 2 16192 */ 16193 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 16194 return little_endian_read_16(event, 6); 16195 } 16196 /** 16197 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16198 * @param event packet 16199 * @return phase 16200 * @note: btstack_type 1 16201 */ 16202 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 16203 return event[8]; 16204 } 16205 16206 /** 16207 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16208 * @param event packet 16209 * @return dest 16210 * @note: btstack_type 2 16211 */ 16212 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 16213 return little_endian_read_16(event, 3); 16214 } 16215 /** 16216 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16217 * @param event packet 16218 * @return foundation_status 16219 * @note: btstack_type 1 16220 */ 16221 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 16222 return event[5]; 16223 } 16224 /** 16225 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16226 * @param event packet 16227 * @return heartbeat_destination 16228 * @note: btstack_type 2 16229 */ 16230 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 16231 return little_endian_read_16(event, 6); 16232 } 16233 /** 16234 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16235 * @param event packet 16236 * @return count_S 16237 * @note: btstack_type 2 16238 */ 16239 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 16240 return little_endian_read_16(event, 8); 16241 } 16242 /** 16243 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16244 * @param event packet 16245 * @return period_S 16246 * @note: btstack_type 2 16247 */ 16248 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 16249 return little_endian_read_16(event, 10); 16250 } 16251 /** 16252 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16253 * @param event packet 16254 * @return ttl 16255 * @note: btstack_type 1 16256 */ 16257 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 16258 return event[12]; 16259 } 16260 /** 16261 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16262 * @param event packet 16263 * @return features 16264 * @note: btstack_type 2 16265 */ 16266 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 16267 return little_endian_read_16(event, 13); 16268 } 16269 /** 16270 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16271 * @param event packet 16272 * @return netkey_index 16273 * @note: btstack_type 2 16274 */ 16275 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 16276 return little_endian_read_16(event, 15); 16277 } 16278 16279 /** 16280 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16281 * @param event packet 16282 * @return dest 16283 * @note: btstack_type 2 16284 */ 16285 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 16286 return little_endian_read_16(event, 3); 16287 } 16288 /** 16289 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16290 * @param event packet 16291 * @return foundation_status 16292 * @note: btstack_type 1 16293 */ 16294 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 16295 return event[5]; 16296 } 16297 /** 16298 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16299 * @param event packet 16300 * @return heartbeat_destination 16301 * @note: btstack_type 2 16302 */ 16303 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 16304 return little_endian_read_16(event, 6); 16305 } 16306 /** 16307 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16308 * @param event packet 16309 * @return heartbeat_source 16310 * @note: btstack_type 2 16311 */ 16312 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 16313 return little_endian_read_16(event, 8); 16314 } 16315 /** 16316 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16317 * @param event packet 16318 * @return count_S 16319 * @note: btstack_type 2 16320 */ 16321 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 16322 return little_endian_read_16(event, 10); 16323 } 16324 /** 16325 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16326 * @param event packet 16327 * @return period_S 16328 * @note: btstack_type 2 16329 */ 16330 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 16331 return little_endian_read_16(event, 12); 16332 } 16333 /** 16334 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16335 * @param event packet 16336 * @return min_hops 16337 * @note: btstack_type 1 16338 */ 16339 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 16340 return event[14]; 16341 } 16342 /** 16343 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16344 * @param event packet 16345 * @return max_hops 16346 * @note: btstack_type 1 16347 */ 16348 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 16349 return event[15]; 16350 } 16351 16352 /** 16353 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16354 * @param event packet 16355 * @return dest 16356 * @note: btstack_type 2 16357 */ 16358 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 16359 return little_endian_read_16(event, 3); 16360 } 16361 /** 16362 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16363 * @param event packet 16364 * @return foundation_status 16365 * @note: btstack_type 1 16366 */ 16367 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 16368 return event[5]; 16369 } 16370 /** 16371 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16372 * @param event packet 16373 * @return lpn_address 16374 * @note: btstack_type 2 16375 */ 16376 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 16377 return little_endian_read_16(event, 6); 16378 } 16379 /** 16380 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16381 * @param event packet 16382 * @return poll_timeout 16383 * @note: btstack_type 3 16384 */ 16385 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 16386 return little_endian_read_24(event, 8); 16387 } 16388 16389 /** 16390 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16391 * @param event packet 16392 * @return dest 16393 * @note: btstack_type 2 16394 */ 16395 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 16396 return little_endian_read_16(event, 3); 16397 } 16398 /** 16399 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16400 * @param event packet 16401 * @return foundation_status 16402 * @note: btstack_type 1 16403 */ 16404 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 16405 return event[5]; 16406 } 16407 /** 16408 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16409 * @param event packet 16410 * @return transmit_count 16411 * @note: btstack_type 1 16412 */ 16413 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 16414 return event[6]; 16415 } 16416 /** 16417 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16418 * @param event packet 16419 * @return transmit_interval_steps_ms 16420 * @note: btstack_type 2 16421 */ 16422 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 16423 return little_endian_read_16(event, 7); 16424 } 16425 16426 16427 16428 /* API_END */ 16429 16430 #if defined __cplusplus 16431 } 16432 #endif 16433 16434 #endif // BTSTACK_EVENT_H 16435