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 service_id from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2878 * @param event packet 2879 * @return service_id 2880 * @note: btstack_type 2 2881 */ 2882 static inline uint16_t gatt_event_characteristic_value_query_result_get_service_id(const uint8_t * event){ 2883 return little_endian_read_16(event, 4); 2884 } 2885 /** 2886 * @brief Get field connection_id from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2887 * @param event packet 2888 * @return connection_id 2889 * @note: btstack_type 2 2890 */ 2891 static inline uint16_t gatt_event_characteristic_value_query_result_get_connection_id(const uint8_t * event){ 2892 return little_endian_read_16(event, 6); 2893 } 2894 /** 2895 * @brief Get field value_handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2896 * @param event packet 2897 * @return value_handle 2898 * @note: btstack_type 2 2899 */ 2900 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2901 return little_endian_read_16(event, 8); 2902 } 2903 /** 2904 * @brief Get field value_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2905 * @param event packet 2906 * @return value_length 2907 * @note: btstack_type L 2908 */ 2909 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2910 return little_endian_read_16(event, 10); 2911 } 2912 /** 2913 * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2914 * @param event packet 2915 * @return value 2916 * @note: btstack_type V 2917 */ 2918 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){ 2919 return &event[12]; 2920 } 2921 #endif 2922 2923 #ifdef ENABLE_BLE 2924 /** 2925 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2926 * @param event packet 2927 * @return handle 2928 * @note: btstack_type H 2929 */ 2930 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){ 2931 return little_endian_read_16(event, 2); 2932 } 2933 /** 2934 * @brief Get field service_id from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2935 * @param event packet 2936 * @return service_id 2937 * @note: btstack_type 2 2938 */ 2939 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_service_id(const uint8_t * event){ 2940 return little_endian_read_16(event, 4); 2941 } 2942 /** 2943 * @brief Get field connection_id from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2944 * @param event packet 2945 * @return connection_id 2946 * @note: btstack_type 2 2947 */ 2948 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_connection_id(const uint8_t * event){ 2949 return little_endian_read_16(event, 6); 2950 } 2951 /** 2952 * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2953 * @param event packet 2954 * @return value_handle 2955 * @note: btstack_type 2 2956 */ 2957 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2958 return little_endian_read_16(event, 8); 2959 } 2960 /** 2961 * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2962 * @param event packet 2963 * @return value_offset 2964 * @note: btstack_type 2 2965 */ 2966 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){ 2967 return little_endian_read_16(event, 10); 2968 } 2969 /** 2970 * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2971 * @param event packet 2972 * @return value_length 2973 * @note: btstack_type L 2974 */ 2975 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2976 return little_endian_read_16(event, 12); 2977 } 2978 /** 2979 * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2980 * @param event packet 2981 * @return value 2982 * @note: btstack_type V 2983 */ 2984 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){ 2985 return &event[14]; 2986 } 2987 #endif 2988 2989 #ifdef ENABLE_BLE 2990 /** 2991 * @brief Get field handle from event GATT_EVENT_NOTIFICATION 2992 * @param event packet 2993 * @return handle 2994 * @note: btstack_type H 2995 */ 2996 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){ 2997 return little_endian_read_16(event, 2); 2998 } 2999 /** 3000 * @brief Get field service_id from event GATT_EVENT_NOTIFICATION 3001 * @param event packet 3002 * @return service_id 3003 * @note: btstack_type 2 3004 */ 3005 static inline uint16_t gatt_event_notification_get_service_id(const uint8_t * event){ 3006 return little_endian_read_16(event, 4); 3007 } 3008 /** 3009 * @brief Get field connection_id from event GATT_EVENT_NOTIFICATION 3010 * @param event packet 3011 * @return connection_id 3012 * @note: btstack_type 2 3013 */ 3014 static inline uint16_t gatt_event_notification_get_connection_id(const uint8_t * event){ 3015 return little_endian_read_16(event, 6); 3016 } 3017 /** 3018 * @brief Get field value_handle from event GATT_EVENT_NOTIFICATION 3019 * @param event packet 3020 * @return value_handle 3021 * @note: btstack_type 2 3022 */ 3023 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){ 3024 return little_endian_read_16(event, 8); 3025 } 3026 /** 3027 * @brief Get field value_length from event GATT_EVENT_NOTIFICATION 3028 * @param event packet 3029 * @return value_length 3030 * @note: btstack_type L 3031 */ 3032 static inline uint16_t gatt_event_notification_get_value_length(const uint8_t * event){ 3033 return little_endian_read_16(event, 10); 3034 } 3035 /** 3036 * @brief Get field value from event GATT_EVENT_NOTIFICATION 3037 * @param event packet 3038 * @return value 3039 * @note: btstack_type V 3040 */ 3041 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){ 3042 return &event[12]; 3043 } 3044 #endif 3045 3046 #ifdef ENABLE_BLE 3047 /** 3048 * @brief Get field handle from event GATT_EVENT_INDICATION 3049 * @param event packet 3050 * @return handle 3051 * @note: btstack_type H 3052 */ 3053 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){ 3054 return little_endian_read_16(event, 2); 3055 } 3056 /** 3057 * @brief Get field service_id from event GATT_EVENT_INDICATION 3058 * @param event packet 3059 * @return service_id 3060 * @note: btstack_type 2 3061 */ 3062 static inline uint16_t gatt_event_indication_get_service_id(const uint8_t * event){ 3063 return little_endian_read_16(event, 4); 3064 } 3065 /** 3066 * @brief Get field connection_id from event GATT_EVENT_INDICATION 3067 * @param event packet 3068 * @return connection_id 3069 * @note: btstack_type 2 3070 */ 3071 static inline uint16_t gatt_event_indication_get_connection_id(const uint8_t * event){ 3072 return little_endian_read_16(event, 6); 3073 } 3074 /** 3075 * @brief Get field value_handle from event GATT_EVENT_INDICATION 3076 * @param event packet 3077 * @return value_handle 3078 * @note: btstack_type 2 3079 */ 3080 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){ 3081 return little_endian_read_16(event, 8); 3082 } 3083 /** 3084 * @brief Get field value_length from event GATT_EVENT_INDICATION 3085 * @param event packet 3086 * @return value_length 3087 * @note: btstack_type L 3088 */ 3089 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){ 3090 return little_endian_read_16(event, 10); 3091 } 3092 /** 3093 * @brief Get field value from event GATT_EVENT_INDICATION 3094 * @param event packet 3095 * @return value 3096 * @note: btstack_type V 3097 */ 3098 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){ 3099 return &event[12]; 3100 } 3101 #endif 3102 3103 #ifdef ENABLE_BLE 3104 /** 3105 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3106 * @param event packet 3107 * @return handle 3108 * @note: btstack_type H 3109 */ 3110 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 3111 return little_endian_read_16(event, 2); 3112 } 3113 /** 3114 * @brief Get field service_id from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3115 * @param event packet 3116 * @return service_id 3117 * @note: btstack_type 2 3118 */ 3119 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_service_id(const uint8_t * event){ 3120 return little_endian_read_16(event, 4); 3121 } 3122 /** 3123 * @brief Get field connection_id from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3124 * @param event packet 3125 * @return connection_id 3126 * @note: btstack_type 2 3127 */ 3128 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_connection_id(const uint8_t * event){ 3129 return little_endian_read_16(event, 6); 3130 } 3131 /** 3132 * @brief Get field descriptor_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3133 * @param event packet 3134 * @return descriptor_handle 3135 * @note: btstack_type 2 3136 */ 3137 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 3138 return little_endian_read_16(event, 8); 3139 } 3140 /** 3141 * @brief Get field descriptor_length from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3142 * @param event packet 3143 * @return descriptor_length 3144 * @note: btstack_type L 3145 */ 3146 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 3147 return little_endian_read_16(event, 10); 3148 } 3149 /** 3150 * @brief Get field descriptor from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3151 * @param event packet 3152 * @return descriptor 3153 * @note: btstack_type V 3154 */ 3155 static inline const uint8_t * gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 3156 return &event[12]; 3157 } 3158 #endif 3159 3160 #ifdef ENABLE_BLE 3161 /** 3162 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3163 * @param event packet 3164 * @return handle 3165 * @note: btstack_type H 3166 */ 3167 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 3168 return little_endian_read_16(event, 2); 3169 } 3170 /** 3171 * @brief Get field service_id from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3172 * @param event packet 3173 * @return service_id 3174 * @note: btstack_type 2 3175 */ 3176 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_service_id(const uint8_t * event){ 3177 return little_endian_read_16(event, 4); 3178 } 3179 /** 3180 * @brief Get field connection_id from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3181 * @param event packet 3182 * @return connection_id 3183 * @note: btstack_type 2 3184 */ 3185 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_connection_id(const uint8_t * event){ 3186 return little_endian_read_16(event, 6); 3187 } 3188 /** 3189 * @brief Get field descriptor_handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3190 * @param event packet 3191 * @return descriptor_handle 3192 * @note: btstack_type 2 3193 */ 3194 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 3195 return little_endian_read_16(event, 8); 3196 } 3197 /** 3198 * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3199 * @param event packet 3200 * @return descriptor_offset 3201 * @note: btstack_type 2 3202 */ 3203 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){ 3204 return little_endian_read_16(event, 10); 3205 } 3206 /** 3207 * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3208 * @param event packet 3209 * @return descriptor_length 3210 * @note: btstack_type L 3211 */ 3212 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 3213 return little_endian_read_16(event, 12); 3214 } 3215 /** 3216 * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3217 * @param event packet 3218 * @return descriptor 3219 * @note: btstack_type V 3220 */ 3221 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 3222 return &event[14]; 3223 } 3224 #endif 3225 3226 #ifdef ENABLE_BLE 3227 /** 3228 * @brief Get field handle from event GATT_EVENT_MTU 3229 * @param event packet 3230 * @return handle 3231 * @note: btstack_type H 3232 */ 3233 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){ 3234 return little_endian_read_16(event, 2); 3235 } 3236 /** 3237 * @brief Get field MTU from event GATT_EVENT_MTU 3238 * @param event packet 3239 * @return MTU 3240 * @note: btstack_type 2 3241 */ 3242 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){ 3243 return little_endian_read_16(event, 4); 3244 } 3245 #endif 3246 3247 #ifdef ENABLE_BLE 3248 /** 3249 * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 3250 * @param event packet 3251 * @return handle 3252 * @note: btstack_type H 3253 */ 3254 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){ 3255 return little_endian_read_16(event, 2); 3256 } 3257 #endif 3258 3259 #ifdef ENABLE_BLE 3260 /** 3261 * @brief Get field status from event GATT_EVENT_CONNECTED 3262 * @param event packet 3263 * @return status 3264 * @note: btstack_type 1 3265 */ 3266 static inline uint8_t gatt_event_connected_get_status(const uint8_t * event){ 3267 return event[2]; 3268 } 3269 /** 3270 * @brief Get field address_type from event GATT_EVENT_CONNECTED 3271 * @param event packet 3272 * @return address_type 3273 * @note: btstack_type 1 3274 */ 3275 static inline uint8_t gatt_event_connected_get_address_type(const uint8_t * event){ 3276 return event[3]; 3277 } 3278 /** 3279 * @brief Get field address from event GATT_EVENT_CONNECTED 3280 * @param event packet 3281 * @param Pointer to storage for address 3282 * @note: btstack_type B 3283 */ 3284 static inline void gatt_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 3285 reverse_bytes(&event[4], address, 6); 3286 } 3287 /** 3288 * @brief Get field handle from event GATT_EVENT_CONNECTED 3289 * @param event packet 3290 * @return handle 3291 * @note: btstack_type H 3292 */ 3293 static inline hci_con_handle_t gatt_event_connected_get_handle(const uint8_t * event){ 3294 return little_endian_read_16(event, 10); 3295 } 3296 #endif 3297 3298 #ifdef ENABLE_BLE 3299 /** 3300 * @brief Get field handle from event GATT_EVENT_DISCONNECTED 3301 * @param event packet 3302 * @return handle 3303 * @note: btstack_type H 3304 */ 3305 static inline hci_con_handle_t gatt_event_disconnected_get_handle(const uint8_t * event){ 3306 return little_endian_read_16(event, 2); 3307 } 3308 #endif 3309 3310 #ifdef ENABLE_BLE 3311 /** 3312 * @brief Get field handle from event GATT_EVENT_SERVICE_CHANGED 3313 * @param event packet 3314 * @return handle 3315 * @note: btstack_type H 3316 */ 3317 static inline hci_con_handle_t gatt_event_service_changed_get_handle(const uint8_t * event){ 3318 return little_endian_read_16(event, 2); 3319 } 3320 /** 3321 * @brief Get field attribute_handle_start from event GATT_EVENT_SERVICE_CHANGED 3322 * @param event packet 3323 * @return attribute_handle_start 3324 * @note: btstack_type 2 3325 */ 3326 static inline uint16_t gatt_event_service_changed_get_attribute_handle_start(const uint8_t * event){ 3327 return little_endian_read_16(event, 4); 3328 } 3329 /** 3330 * @brief Get field attribute_handle_end from event GATT_EVENT_SERVICE_CHANGED 3331 * @param event packet 3332 * @return attribute_handle_end 3333 * @note: btstack_type 2 3334 */ 3335 static inline uint16_t gatt_event_service_changed_get_attribute_handle_end(const uint8_t * event){ 3336 return little_endian_read_16(event, 6); 3337 } 3338 #endif 3339 3340 /** 3341 * @brief Get field address_type from event ATT_EVENT_CONNECTED 3342 * @param event packet 3343 * @return address_type 3344 * @note: btstack_type 1 3345 */ 3346 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){ 3347 return event[2]; 3348 } 3349 /** 3350 * @brief Get field address from event ATT_EVENT_CONNECTED 3351 * @param event packet 3352 * @param Pointer to storage for address 3353 * @note: btstack_type B 3354 */ 3355 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 3356 reverse_bytes(&event[3], address, 6); 3357 } 3358 /** 3359 * @brief Get field handle from event ATT_EVENT_CONNECTED 3360 * @param event packet 3361 * @return handle 3362 * @note: btstack_type H 3363 */ 3364 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){ 3365 return little_endian_read_16(event, 9); 3366 } 3367 3368 /** 3369 * @brief Get field handle from event ATT_EVENT_DISCONNECTED 3370 * @param event packet 3371 * @return handle 3372 * @note: btstack_type H 3373 */ 3374 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){ 3375 return little_endian_read_16(event, 2); 3376 } 3377 3378 /** 3379 * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 3380 * @param event packet 3381 * @return handle 3382 * @note: btstack_type H 3383 */ 3384 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){ 3385 return little_endian_read_16(event, 2); 3386 } 3387 /** 3388 * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 3389 * @param event packet 3390 * @return MTU 3391 * @note: btstack_type 2 3392 */ 3393 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){ 3394 return little_endian_read_16(event, 4); 3395 } 3396 3397 /** 3398 * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3399 * @param event packet 3400 * @return status 3401 * @note: btstack_type 1 3402 */ 3403 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){ 3404 return event[2]; 3405 } 3406 /** 3407 * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3408 * @param event packet 3409 * @return conn_handle 3410 * @note: btstack_type H 3411 */ 3412 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){ 3413 return little_endian_read_16(event, 3); 3414 } 3415 /** 3416 * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3417 * @param event packet 3418 * @return attribute_handle 3419 * @note: btstack_type 2 3420 */ 3421 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){ 3422 return little_endian_read_16(event, 5); 3423 } 3424 3425 3426 /** 3427 * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED 3428 * @param event packet 3429 * @return status 3430 * @note: btstack_type 1 3431 */ 3432 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){ 3433 return event[2]; 3434 } 3435 /** 3436 * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED 3437 * @param event packet 3438 * @return service_uuid 3439 * @note: btstack_type 2 3440 */ 3441 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){ 3442 return little_endian_read_16(event, 3); 3443 } 3444 3445 /** 3446 * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED 3447 * @param event packet 3448 * @return status 3449 * @note: btstack_type 1 3450 */ 3451 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){ 3452 return event[2]; 3453 } 3454 /** 3455 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED 3456 * @param event packet 3457 * @return bnep_cid 3458 * @note: btstack_type 2 3459 */ 3460 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){ 3461 return little_endian_read_16(event, 3); 3462 } 3463 /** 3464 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED 3465 * @param event packet 3466 * @return source_uuid 3467 * @note: btstack_type 2 3468 */ 3469 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){ 3470 return little_endian_read_16(event, 5); 3471 } 3472 /** 3473 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED 3474 * @param event packet 3475 * @return destination_uuid 3476 * @note: btstack_type 2 3477 */ 3478 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){ 3479 return little_endian_read_16(event, 7); 3480 } 3481 /** 3482 * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED 3483 * @param event packet 3484 * @return mtu 3485 * @note: btstack_type 2 3486 */ 3487 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){ 3488 return little_endian_read_16(event, 9); 3489 } 3490 /** 3491 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED 3492 * @param event packet 3493 * @param Pointer to storage for remote_address 3494 * @note: btstack_type B 3495 */ 3496 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3497 reverse_bytes(&event[11], remote_address, 6); 3498 } 3499 /** 3500 * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED 3501 * @param event packet 3502 * @return con_handle 3503 * @note: btstack_type H 3504 */ 3505 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){ 3506 return little_endian_read_16(event, 17); 3507 } 3508 /** 3509 * @brief Get field setup_connection_response from event BNEP_EVENT_CHANNEL_OPENED 3510 * @param event packet 3511 * @return setup_connection_response 3512 * @note: btstack_type 1 3513 */ 3514 static inline uint8_t bnep_event_channel_opened_get_setup_connection_response(const uint8_t * event){ 3515 return event[19]; 3516 } 3517 3518 /** 3519 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED 3520 * @param event packet 3521 * @return bnep_cid 3522 * @note: btstack_type 2 3523 */ 3524 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){ 3525 return little_endian_read_16(event, 2); 3526 } 3527 /** 3528 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3529 * @param event packet 3530 * @return source_uuid 3531 * @note: btstack_type 2 3532 */ 3533 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){ 3534 return little_endian_read_16(event, 4); 3535 } 3536 /** 3537 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3538 * @param event packet 3539 * @return destination_uuid 3540 * @note: btstack_type 2 3541 */ 3542 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){ 3543 return little_endian_read_16(event, 6); 3544 } 3545 /** 3546 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED 3547 * @param event packet 3548 * @param Pointer to storage for remote_address 3549 * @note: btstack_type B 3550 */ 3551 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3552 reverse_bytes(&event[8], remote_address, 6); 3553 } 3554 3555 /** 3556 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT 3557 * @param event packet 3558 * @return bnep_cid 3559 * @note: btstack_type 2 3560 */ 3561 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){ 3562 return little_endian_read_16(event, 2); 3563 } 3564 /** 3565 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3566 * @param event packet 3567 * @return source_uuid 3568 * @note: btstack_type 2 3569 */ 3570 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){ 3571 return little_endian_read_16(event, 4); 3572 } 3573 /** 3574 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3575 * @param event packet 3576 * @return destination_uuid 3577 * @note: btstack_type 2 3578 */ 3579 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){ 3580 return little_endian_read_16(event, 6); 3581 } 3582 /** 3583 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT 3584 * @param event packet 3585 * @param Pointer to storage for remote_address 3586 * @note: btstack_type B 3587 */ 3588 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3589 reverse_bytes(&event[8], remote_address, 6); 3590 } 3591 /** 3592 * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT 3593 * @param event packet 3594 * @return channel_state 3595 * @note: btstack_type 1 3596 */ 3597 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){ 3598 return event[14]; 3599 } 3600 3601 /** 3602 * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW 3603 * @param event packet 3604 * @return bnep_cid 3605 * @note: btstack_type 2 3606 */ 3607 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){ 3608 return little_endian_read_16(event, 2); 3609 } 3610 /** 3611 * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW 3612 * @param event packet 3613 * @return source_uuid 3614 * @note: btstack_type 2 3615 */ 3616 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){ 3617 return little_endian_read_16(event, 4); 3618 } 3619 /** 3620 * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW 3621 * @param event packet 3622 * @return destination_uuid 3623 * @note: btstack_type 2 3624 */ 3625 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){ 3626 return little_endian_read_16(event, 6); 3627 } 3628 /** 3629 * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW 3630 * @param event packet 3631 * @param Pointer to storage for remote_address 3632 * @note: btstack_type B 3633 */ 3634 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3635 reverse_bytes(&event[8], remote_address, 6); 3636 } 3637 3638 #ifdef ENABLE_BLE 3639 /** 3640 * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST 3641 * @param event packet 3642 * @return handle 3643 * @note: btstack_type H 3644 */ 3645 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ 3646 return little_endian_read_16(event, 2); 3647 } 3648 /** 3649 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST 3650 * @param event packet 3651 * @return addr_type 3652 * @note: btstack_type 1 3653 */ 3654 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ 3655 return event[4]; 3656 } 3657 /** 3658 * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST 3659 * @param event packet 3660 * @param Pointer to storage for address 3661 * @note: btstack_type B 3662 */ 3663 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ 3664 reverse_bytes(&event[5], address, 6); 3665 } 3666 /** 3667 * @brief Get field secure_connection from event SM_EVENT_JUST_WORKS_REQUEST 3668 * @param event packet 3669 * @return secure_connection 3670 * @note: btstack_type 1 3671 */ 3672 static inline uint8_t sm_event_just_works_request_get_secure_connection(const uint8_t * event){ 3673 return event[11]; 3674 } 3675 #endif 3676 3677 #ifdef ENABLE_BLE 3678 /** 3679 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3680 * @param event packet 3681 * @return handle 3682 * @note: btstack_type H 3683 */ 3684 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ 3685 return little_endian_read_16(event, 2); 3686 } 3687 /** 3688 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3689 * @param event packet 3690 * @return addr_type 3691 * @note: btstack_type 1 3692 */ 3693 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ 3694 return event[4]; 3695 } 3696 /** 3697 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3698 * @param event packet 3699 * @param Pointer to storage for address 3700 * @note: btstack_type B 3701 */ 3702 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ 3703 reverse_bytes(&event[5], address, 6); 3704 } 3705 /** 3706 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3707 * @param event packet 3708 * @return secure_connection 3709 * @note: btstack_type 1 3710 */ 3711 static inline uint8_t sm_event_passkey_display_number_get_secure_connection(const uint8_t * event){ 3712 return event[11]; 3713 } 3714 /** 3715 * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3716 * @param event packet 3717 * @return passkey 3718 * @note: btstack_type 4 3719 */ 3720 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ 3721 return little_endian_read_32(event, 12); 3722 } 3723 #endif 3724 3725 #ifdef ENABLE_BLE 3726 /** 3727 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3728 * @param event packet 3729 * @return handle 3730 * @note: btstack_type H 3731 */ 3732 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ 3733 return little_endian_read_16(event, 2); 3734 } 3735 /** 3736 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3737 * @param event packet 3738 * @return addr_type 3739 * @note: btstack_type 1 3740 */ 3741 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ 3742 return event[4]; 3743 } 3744 /** 3745 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3746 * @param event packet 3747 * @param Pointer to storage for address 3748 * @note: btstack_type B 3749 */ 3750 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ 3751 reverse_bytes(&event[5], address, 6); 3752 } 3753 #endif 3754 3755 #ifdef ENABLE_BLE 3756 /** 3757 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER 3758 * @param event packet 3759 * @return handle 3760 * @note: btstack_type H 3761 */ 3762 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ 3763 return little_endian_read_16(event, 2); 3764 } 3765 /** 3766 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER 3767 * @param event packet 3768 * @return addr_type 3769 * @note: btstack_type 1 3770 */ 3771 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ 3772 return event[4]; 3773 } 3774 /** 3775 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER 3776 * @param event packet 3777 * @param Pointer to storage for address 3778 * @note: btstack_type B 3779 */ 3780 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ 3781 reverse_bytes(&event[5], address, 6); 3782 } 3783 /** 3784 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_INPUT_NUMBER 3785 * @param event packet 3786 * @return secure_connection 3787 * @note: btstack_type 1 3788 */ 3789 static inline uint8_t sm_event_passkey_input_number_get_secure_connection(const uint8_t * event){ 3790 return event[11]; 3791 } 3792 #endif 3793 3794 #ifdef ENABLE_BLE 3795 /** 3796 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3797 * @param event packet 3798 * @return handle 3799 * @note: btstack_type H 3800 */ 3801 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){ 3802 return little_endian_read_16(event, 2); 3803 } 3804 /** 3805 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3806 * @param event packet 3807 * @return addr_type 3808 * @note: btstack_type 1 3809 */ 3810 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){ 3811 return event[4]; 3812 } 3813 /** 3814 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3815 * @param event packet 3816 * @param Pointer to storage for address 3817 * @note: btstack_type B 3818 */ 3819 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){ 3820 reverse_bytes(&event[5], address, 6); 3821 } 3822 /** 3823 * @brief Get field secure_connection from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3824 * @param event packet 3825 * @return secure_connection 3826 * @note: btstack_type 1 3827 */ 3828 static inline uint8_t sm_event_numeric_comparison_request_get_secure_connection(const uint8_t * event){ 3829 return event[11]; 3830 } 3831 /** 3832 * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3833 * @param event packet 3834 * @return passkey 3835 * @note: btstack_type 4 3836 */ 3837 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){ 3838 return little_endian_read_32(event, 12); 3839 } 3840 #endif 3841 3842 #ifdef ENABLE_BLE 3843 /** 3844 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3845 * @param event packet 3846 * @return handle 3847 * @note: btstack_type H 3848 */ 3849 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ 3850 return little_endian_read_16(event, 2); 3851 } 3852 /** 3853 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3854 * @param event packet 3855 * @return addr_type 3856 * @note: btstack_type 1 3857 */ 3858 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ 3859 return event[4]; 3860 } 3861 /** 3862 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3863 * @param event packet 3864 * @param Pointer to storage for address 3865 * @note: btstack_type B 3866 */ 3867 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ 3868 reverse_bytes(&event[5], address, 6); 3869 } 3870 #endif 3871 3872 #ifdef ENABLE_BLE 3873 /** 3874 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3875 * @param event packet 3876 * @return handle 3877 * @note: btstack_type H 3878 */ 3879 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ 3880 return little_endian_read_16(event, 2); 3881 } 3882 /** 3883 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3884 * @param event packet 3885 * @return addr_type 3886 * @note: btstack_type 1 3887 */ 3888 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ 3889 return event[4]; 3890 } 3891 /** 3892 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3893 * @param event packet 3894 * @param Pointer to storage for address 3895 * @note: btstack_type B 3896 */ 3897 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ 3898 reverse_bytes(&event[5], address, 6); 3899 } 3900 #endif 3901 3902 #ifdef ENABLE_BLE 3903 /** 3904 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3905 * @param event packet 3906 * @return handle 3907 * @note: btstack_type H 3908 */ 3909 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ 3910 return little_endian_read_16(event, 2); 3911 } 3912 /** 3913 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3914 * @param event packet 3915 * @return addr_type 3916 * @note: btstack_type 1 3917 */ 3918 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ 3919 return event[4]; 3920 } 3921 /** 3922 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3923 * @param event packet 3924 * @param Pointer to storage for address 3925 * @note: btstack_type B 3926 */ 3927 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ 3928 reverse_bytes(&event[5], address, 6); 3929 } 3930 /** 3931 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3932 * @param event packet 3933 * @return identity_addr_type 3934 * @note: btstack_type 1 3935 */ 3936 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){ 3937 return event[11]; 3938 } 3939 /** 3940 * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3941 * @param event packet 3942 * @param Pointer to storage for identity_address 3943 * @note: btstack_type B 3944 */ 3945 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3946 reverse_bytes(&event[12], identity_address, 6); 3947 } 3948 /** 3949 * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3950 * @param event packet 3951 * @return index 3952 * @note: btstack_type 2 3953 */ 3954 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){ 3955 return little_endian_read_16(event, 18); 3956 } 3957 #endif 3958 3959 #ifdef ENABLE_BLE 3960 /** 3961 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST 3962 * @param event packet 3963 * @return handle 3964 * @note: btstack_type H 3965 */ 3966 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){ 3967 return little_endian_read_16(event, 2); 3968 } 3969 /** 3970 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST 3971 * @param event packet 3972 * @return addr_type 3973 * @note: btstack_type 1 3974 */ 3975 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ 3976 return event[4]; 3977 } 3978 /** 3979 * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST 3980 * @param event packet 3981 * @param Pointer to storage for address 3982 * @note: btstack_type B 3983 */ 3984 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ 3985 reverse_bytes(&event[5], address, 6); 3986 } 3987 #endif 3988 3989 #ifdef ENABLE_BLE 3990 /** 3991 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT 3992 * @param event packet 3993 * @return handle 3994 * @note: btstack_type H 3995 */ 3996 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ 3997 return little_endian_read_16(event, 2); 3998 } 3999 /** 4000 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT 4001 * @param event packet 4002 * @return addr_type 4003 * @note: btstack_type 1 4004 */ 4005 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ 4006 return event[4]; 4007 } 4008 /** 4009 * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT 4010 * @param event packet 4011 * @param Pointer to storage for address 4012 * @note: btstack_type B 4013 */ 4014 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ 4015 reverse_bytes(&event[5], address, 6); 4016 } 4017 /** 4018 * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT 4019 * @param event packet 4020 * @return authorization_result 4021 * @note: btstack_type 1 4022 */ 4023 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ 4024 return event[11]; 4025 } 4026 #endif 4027 4028 #ifdef ENABLE_BLE 4029 /** 4030 * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION 4031 * @param event packet 4032 * @return handle 4033 * @note: btstack_type H 4034 */ 4035 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){ 4036 return little_endian_read_16(event, 2); 4037 } 4038 /** 4039 * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION 4040 * @param event packet 4041 * @return action 4042 * @note: btstack_type 1 4043 */ 4044 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){ 4045 return event[4]; 4046 } 4047 #endif 4048 4049 #ifdef ENABLE_BLE 4050 /** 4051 * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED 4052 * @param event packet 4053 * @return handle 4054 * @note: btstack_type H 4055 */ 4056 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){ 4057 return little_endian_read_16(event, 2); 4058 } 4059 /** 4060 * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED 4061 * @param event packet 4062 * @return addr_type 4063 * @note: btstack_type 1 4064 */ 4065 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){ 4066 return event[4]; 4067 } 4068 /** 4069 * @brief Get field address from event SM_EVENT_IDENTITY_CREATED 4070 * @param event packet 4071 * @param Pointer to storage for address 4072 * @note: btstack_type B 4073 */ 4074 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){ 4075 reverse_bytes(&event[5], address, 6); 4076 } 4077 /** 4078 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED 4079 * @param event packet 4080 * @return identity_addr_type 4081 * @note: btstack_type 1 4082 */ 4083 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){ 4084 return event[11]; 4085 } 4086 /** 4087 * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED 4088 * @param event packet 4089 * @param Pointer to storage for identity_address 4090 * @note: btstack_type B 4091 */ 4092 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 4093 reverse_bytes(&event[12], identity_address, 6); 4094 } 4095 /** 4096 * @brief Get field index from event SM_EVENT_IDENTITY_CREATED 4097 * @param event packet 4098 * @return index 4099 * @note: btstack_type 2 4100 */ 4101 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){ 4102 return little_endian_read_16(event, 18); 4103 } 4104 #endif 4105 4106 #ifdef ENABLE_BLE 4107 /** 4108 * @brief Get field handle from event SM_EVENT_PAIRING_STARTED 4109 * @param event packet 4110 * @return handle 4111 * @note: btstack_type H 4112 */ 4113 static inline hci_con_handle_t sm_event_pairing_started_get_handle(const uint8_t * event){ 4114 return little_endian_read_16(event, 2); 4115 } 4116 /** 4117 * @brief Get field addr_type from event SM_EVENT_PAIRING_STARTED 4118 * @param event packet 4119 * @return addr_type 4120 * @note: btstack_type 1 4121 */ 4122 static inline uint8_t sm_event_pairing_started_get_addr_type(const uint8_t * event){ 4123 return event[4]; 4124 } 4125 /** 4126 * @brief Get field address from event SM_EVENT_PAIRING_STARTED 4127 * @param event packet 4128 * @param Pointer to storage for address 4129 * @note: btstack_type B 4130 */ 4131 static inline void sm_event_pairing_started_get_address(const uint8_t * event, bd_addr_t address){ 4132 reverse_bytes(&event[5], address, 6); 4133 } 4134 #endif 4135 4136 #ifdef ENABLE_BLE 4137 /** 4138 * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE 4139 * @param event packet 4140 * @return handle 4141 * @note: btstack_type H 4142 */ 4143 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){ 4144 return little_endian_read_16(event, 2); 4145 } 4146 /** 4147 * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE 4148 * @param event packet 4149 * @return addr_type 4150 * @note: btstack_type 1 4151 */ 4152 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){ 4153 return event[4]; 4154 } 4155 /** 4156 * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE 4157 * @param event packet 4158 * @param Pointer to storage for address 4159 * @note: btstack_type B 4160 */ 4161 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){ 4162 reverse_bytes(&event[5], address, 6); 4163 } 4164 /** 4165 * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE 4166 * @param event packet 4167 * @return status 4168 * @note: btstack_type 1 4169 */ 4170 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){ 4171 return event[11]; 4172 } 4173 /** 4174 * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE 4175 * @param event packet 4176 * @return reason 4177 * @note: btstack_type 1 4178 */ 4179 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){ 4180 return event[12]; 4181 } 4182 #endif 4183 4184 #ifdef ENABLE_BLE 4185 /** 4186 * @brief Get field handle from event SM_EVENT_REENCRYPTION_STARTED 4187 * @param event packet 4188 * @return handle 4189 * @note: btstack_type H 4190 */ 4191 static inline hci_con_handle_t sm_event_reencryption_started_get_handle(const uint8_t * event){ 4192 return little_endian_read_16(event, 2); 4193 } 4194 /** 4195 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_STARTED 4196 * @param event packet 4197 * @return addr_type 4198 * @note: btstack_type 1 4199 */ 4200 static inline uint8_t sm_event_reencryption_started_get_addr_type(const uint8_t * event){ 4201 return event[4]; 4202 } 4203 /** 4204 * @brief Get field address from event SM_EVENT_REENCRYPTION_STARTED 4205 * @param event packet 4206 * @param Pointer to storage for address 4207 * @note: btstack_type B 4208 */ 4209 static inline void sm_event_reencryption_started_get_address(const uint8_t * event, bd_addr_t address){ 4210 reverse_bytes(&event[5], address, 6); 4211 } 4212 #endif 4213 4214 #ifdef ENABLE_BLE 4215 /** 4216 * @brief Get field handle from event SM_EVENT_REENCRYPTION_COMPLETE 4217 * @param event packet 4218 * @return handle 4219 * @note: btstack_type H 4220 */ 4221 static inline hci_con_handle_t sm_event_reencryption_complete_get_handle(const uint8_t * event){ 4222 return little_endian_read_16(event, 2); 4223 } 4224 /** 4225 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_COMPLETE 4226 * @param event packet 4227 * @return addr_type 4228 * @note: btstack_type 1 4229 */ 4230 static inline uint8_t sm_event_reencryption_complete_get_addr_type(const uint8_t * event){ 4231 return event[4]; 4232 } 4233 /** 4234 * @brief Get field address from event SM_EVENT_REENCRYPTION_COMPLETE 4235 * @param event packet 4236 * @param Pointer to storage for address 4237 * @note: btstack_type B 4238 */ 4239 static inline void sm_event_reencryption_complete_get_address(const uint8_t * event, bd_addr_t address){ 4240 reverse_bytes(&event[5], address, 6); 4241 } 4242 /** 4243 * @brief Get field status from event SM_EVENT_REENCRYPTION_COMPLETE 4244 * @param event packet 4245 * @return status 4246 * @note: btstack_type 1 4247 */ 4248 static inline uint8_t sm_event_reencryption_complete_get_status(const uint8_t * event){ 4249 return event[11]; 4250 } 4251 #endif 4252 4253 /** 4254 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 4255 * @param event packet 4256 * @return handle 4257 * @note: btstack_type H 4258 */ 4259 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 4260 return little_endian_read_16(event, 2); 4261 } 4262 /** 4263 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 4264 * @param event packet 4265 * @return security_level 4266 * @note: btstack_type 1 4267 */ 4268 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 4269 return event[4]; 4270 } 4271 4272 /** 4273 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 4274 * @param event packet 4275 * @return status 4276 * @note: btstack_type 1 4277 */ 4278 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 4279 return event[2]; 4280 } 4281 /** 4282 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 4283 * @param event packet 4284 * @param Pointer to storage for address 4285 * @note: btstack_type B 4286 */ 4287 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 4288 reverse_bytes(&event[3], address, 6); 4289 } 4290 4291 /** 4292 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 4293 * @param event packet 4294 * @return advertising_event_type 4295 * @note: btstack_type 1 4296 */ 4297 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 4298 return event[2]; 4299 } 4300 /** 4301 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 4302 * @param event packet 4303 * @return address_type 4304 * @note: btstack_type 1 4305 */ 4306 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 4307 return event[3]; 4308 } 4309 /** 4310 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 4311 * @param event packet 4312 * @param Pointer to storage for address 4313 * @note: btstack_type B 4314 */ 4315 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 4316 reverse_bytes(&event[4], address, 6); 4317 } 4318 /** 4319 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 4320 * @param event packet 4321 * @return rssi 4322 * @note: btstack_type 1 4323 */ 4324 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 4325 return event[10]; 4326 } 4327 /** 4328 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 4329 * @param event packet 4330 * @return data_length 4331 * @note: btstack_type J 4332 */ 4333 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 4334 return event[11]; 4335 } 4336 /** 4337 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 4338 * @param event packet 4339 * @return data 4340 * @note: btstack_type V 4341 */ 4342 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 4343 return &event[12]; 4344 } 4345 4346 /** 4347 * @brief Get field advertising_event_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4348 * @param event packet 4349 * @return advertising_event_type 4350 * @note: btstack_type 2 4351 */ 4352 static inline uint16_t gap_event_extended_advertising_report_get_advertising_event_type(const uint8_t * event){ 4353 return little_endian_read_16(event, 2); 4354 } 4355 /** 4356 * @brief Get field address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4357 * @param event packet 4358 * @return address_type 4359 * @note: btstack_type 1 4360 */ 4361 static inline uint8_t gap_event_extended_advertising_report_get_address_type(const uint8_t * event){ 4362 return event[4]; 4363 } 4364 /** 4365 * @brief Get field address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4366 * @param event packet 4367 * @param Pointer to storage for address 4368 * @note: btstack_type B 4369 */ 4370 static inline void gap_event_extended_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 4371 reverse_bytes(&event[5], address, 6); 4372 } 4373 /** 4374 * @brief Get field primary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4375 * @param event packet 4376 * @return primary_phy 4377 * @note: btstack_type 1 4378 */ 4379 static inline uint8_t gap_event_extended_advertising_report_get_primary_phy(const uint8_t * event){ 4380 return event[11]; 4381 } 4382 /** 4383 * @brief Get field secondary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4384 * @param event packet 4385 * @return secondary_phy 4386 * @note: btstack_type 1 4387 */ 4388 static inline uint8_t gap_event_extended_advertising_report_get_secondary_phy(const uint8_t * event){ 4389 return event[12]; 4390 } 4391 /** 4392 * @brief Get field advertising_sid from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4393 * @param event packet 4394 * @return advertising_sid 4395 * @note: btstack_type 1 4396 */ 4397 static inline uint8_t gap_event_extended_advertising_report_get_advertising_sid(const uint8_t * event){ 4398 return event[13]; 4399 } 4400 /** 4401 * @brief Get field tx_power from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4402 * @param event packet 4403 * @return tx_power 4404 * @note: btstack_type 1 4405 */ 4406 static inline uint8_t gap_event_extended_advertising_report_get_tx_power(const uint8_t * event){ 4407 return event[14]; 4408 } 4409 /** 4410 * @brief Get field rssi from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4411 * @param event packet 4412 * @return rssi 4413 * @note: btstack_type 1 4414 */ 4415 static inline uint8_t gap_event_extended_advertising_report_get_rssi(const uint8_t * event){ 4416 return event[15]; 4417 } 4418 /** 4419 * @brief Get field periodic_advertising_interval from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4420 * @param event packet 4421 * @return periodic_advertising_interval 4422 * @note: btstack_type 2 4423 */ 4424 static inline uint16_t gap_event_extended_advertising_report_get_periodic_advertising_interval(const uint8_t * event){ 4425 return little_endian_read_16(event, 16); 4426 } 4427 /** 4428 * @brief Get field direct_address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4429 * @param event packet 4430 * @return direct_address_type 4431 * @note: btstack_type 1 4432 */ 4433 static inline uint8_t gap_event_extended_advertising_report_get_direct_address_type(const uint8_t * event){ 4434 return event[18]; 4435 } 4436 /** 4437 * @brief Get field direct_address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4438 * @param event packet 4439 * @param Pointer to storage for direct_address 4440 * @note: btstack_type B 4441 */ 4442 static inline void gap_event_extended_advertising_report_get_direct_address(const uint8_t * event, bd_addr_t direct_address){ 4443 reverse_bytes(&event[19], direct_address, 6); 4444 } 4445 /** 4446 * @brief Get field data_length from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4447 * @param event packet 4448 * @return data_length 4449 * @note: btstack_type J 4450 */ 4451 static inline uint8_t gap_event_extended_advertising_report_get_data_length(const uint8_t * event){ 4452 return event[25]; 4453 } 4454 /** 4455 * @brief Get field data from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4456 * @param event packet 4457 * @return data 4458 * @note: btstack_type V 4459 */ 4460 static inline const uint8_t * gap_event_extended_advertising_report_get_data(const uint8_t * event){ 4461 return &event[26]; 4462 } 4463 4464 /** 4465 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 4466 * @param event packet 4467 * @param Pointer to storage for bd_addr 4468 * @note: btstack_type B 4469 */ 4470 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4471 reverse_bytes(&event[2], bd_addr, 6); 4472 } 4473 /** 4474 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 4475 * @param event packet 4476 * @return page_scan_repetition_mode 4477 * @note: btstack_type 1 4478 */ 4479 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 4480 return event[8]; 4481 } 4482 /** 4483 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 4484 * @param event packet 4485 * @return class_of_device 4486 * @note: btstack_type 3 4487 */ 4488 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 4489 return little_endian_read_24(event, 9); 4490 } 4491 /** 4492 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 4493 * @param event packet 4494 * @return clock_offset 4495 * @note: btstack_type 2 4496 */ 4497 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 4498 return little_endian_read_16(event, 12); 4499 } 4500 /** 4501 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 4502 * @param event packet 4503 * @return rssi_available 4504 * @note: btstack_type 1 4505 */ 4506 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 4507 return event[14]; 4508 } 4509 /** 4510 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 4511 * @param event packet 4512 * @return rssi 4513 * @note: btstack_type 1 4514 */ 4515 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 4516 return event[15]; 4517 } 4518 /** 4519 * @brief Get field device_id_available from event GAP_EVENT_INQUIRY_RESULT 4520 * @param event packet 4521 * @return device_id_available 4522 * @note: btstack_type 1 4523 */ 4524 static inline uint8_t gap_event_inquiry_result_get_device_id_available(const uint8_t * event){ 4525 return event[16]; 4526 } 4527 /** 4528 * @brief Get field device_id_vendor_id_source from event GAP_EVENT_INQUIRY_RESULT 4529 * @param event packet 4530 * @return device_id_vendor_id_source 4531 * @note: btstack_type 2 4532 */ 4533 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id_source(const uint8_t * event){ 4534 return little_endian_read_16(event, 17); 4535 } 4536 /** 4537 * @brief Get field device_id_vendor_id from event GAP_EVENT_INQUIRY_RESULT 4538 * @param event packet 4539 * @return device_id_vendor_id 4540 * @note: btstack_type 2 4541 */ 4542 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id(const uint8_t * event){ 4543 return little_endian_read_16(event, 19); 4544 } 4545 /** 4546 * @brief Get field device_id_product_id from event GAP_EVENT_INQUIRY_RESULT 4547 * @param event packet 4548 * @return device_id_product_id 4549 * @note: btstack_type 2 4550 */ 4551 static inline uint16_t gap_event_inquiry_result_get_device_id_product_id(const uint8_t * event){ 4552 return little_endian_read_16(event, 21); 4553 } 4554 /** 4555 * @brief Get field device_id_version from event GAP_EVENT_INQUIRY_RESULT 4556 * @param event packet 4557 * @return device_id_version 4558 * @note: btstack_type 2 4559 */ 4560 static inline uint16_t gap_event_inquiry_result_get_device_id_version(const uint8_t * event){ 4561 return little_endian_read_16(event, 23); 4562 } 4563 /** 4564 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 4565 * @param event packet 4566 * @return name_available 4567 * @note: btstack_type 1 4568 */ 4569 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 4570 return event[25]; 4571 } 4572 /** 4573 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 4574 * @param event packet 4575 * @return name_len 4576 * @note: btstack_type J 4577 */ 4578 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 4579 return event[26]; 4580 } 4581 /** 4582 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 4583 * @param event packet 4584 * @return name 4585 * @note: btstack_type V 4586 */ 4587 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 4588 return &event[27]; 4589 } 4590 4591 /** 4592 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 4593 * @param event packet 4594 * @return status 4595 * @note: btstack_type 1 4596 */ 4597 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 4598 return event[2]; 4599 } 4600 4601 /** 4602 * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT 4603 * @param event packet 4604 * @return con_handle 4605 * @note: btstack_type H 4606 */ 4607 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){ 4608 return little_endian_read_16(event, 2); 4609 } 4610 /** 4611 * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT 4612 * @param event packet 4613 * @return rssi 4614 * @note: btstack_type 1 4615 */ 4616 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){ 4617 return event[4]; 4618 } 4619 4620 /** 4621 * @brief Get field oob_data_present from event GAP_EVENT_LOCAL_OOB_DATA 4622 * @param event packet 4623 * @return oob_data_present 4624 * @note: btstack_type 1 4625 */ 4626 static inline uint8_t gap_event_local_oob_data_get_oob_data_present(const uint8_t * event){ 4627 return event[2]; 4628 } 4629 /** 4630 * @brief Get field c_192 from event GAP_EVENT_LOCAL_OOB_DATA 4631 * @param event packet 4632 * @param Pointer to storage for c_192 4633 * @note: btstack_type K 4634 */ 4635 static inline void gap_event_local_oob_data_get_c_192(const uint8_t * event, uint8_t * c_192){ 4636 reverse_bytes(&event[3], c_192, 16); 4637 } 4638 /** 4639 * @brief Get field r_192 from event GAP_EVENT_LOCAL_OOB_DATA 4640 * @param event packet 4641 * @param Pointer to storage for r_192 4642 * @note: btstack_type K 4643 */ 4644 static inline void gap_event_local_oob_data_get_r_192(const uint8_t * event, uint8_t * r_192){ 4645 reverse_bytes(&event[19], r_192, 16); 4646 } 4647 /** 4648 * @brief Get field c_256 from event GAP_EVENT_LOCAL_OOB_DATA 4649 * @param event packet 4650 * @param Pointer to storage for c_256 4651 * @note: btstack_type K 4652 */ 4653 static inline void gap_event_local_oob_data_get_c_256(const uint8_t * event, uint8_t * c_256){ 4654 reverse_bytes(&event[35], c_256, 16); 4655 } 4656 /** 4657 * @brief Get field r_256 from event GAP_EVENT_LOCAL_OOB_DATA 4658 * @param event packet 4659 * @param Pointer to storage for r_256 4660 * @note: btstack_type K 4661 */ 4662 static inline void gap_event_local_oob_data_get_r_256(const uint8_t * event, uint8_t * r_256){ 4663 reverse_bytes(&event[51], r_256, 16); 4664 } 4665 4666 /** 4667 * @brief Get field con_handle from event GAP_EVENT_PAIRING_STARTED 4668 * @param event packet 4669 * @return con_handle 4670 * @note: btstack_type H 4671 */ 4672 static inline hci_con_handle_t gap_event_pairing_started_get_con_handle(const uint8_t * event){ 4673 return little_endian_read_16(event, 2); 4674 } 4675 /** 4676 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_STARTED 4677 * @param event packet 4678 * @param Pointer to storage for bd_addr 4679 * @note: btstack_type B 4680 */ 4681 static inline void gap_event_pairing_started_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4682 reverse_bytes(&event[4], bd_addr, 6); 4683 } 4684 /** 4685 * @brief Get field ssp from event GAP_EVENT_PAIRING_STARTED 4686 * @param event packet 4687 * @return ssp 4688 * @note: btstack_type 1 4689 */ 4690 static inline uint8_t gap_event_pairing_started_get_ssp(const uint8_t * event){ 4691 return event[10]; 4692 } 4693 /** 4694 * @brief Get field initiator from event GAP_EVENT_PAIRING_STARTED 4695 * @param event packet 4696 * @return initiator 4697 * @note: btstack_type 1 4698 */ 4699 static inline uint8_t gap_event_pairing_started_get_initiator(const uint8_t * event){ 4700 return event[11]; 4701 } 4702 4703 /** 4704 * @brief Get field con_handle from event GAP_EVENT_PAIRING_COMPLETE 4705 * @param event packet 4706 * @return con_handle 4707 * @note: btstack_type H 4708 */ 4709 static inline hci_con_handle_t gap_event_pairing_complete_get_con_handle(const uint8_t * event){ 4710 return little_endian_read_16(event, 2); 4711 } 4712 /** 4713 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_COMPLETE 4714 * @param event packet 4715 * @param Pointer to storage for bd_addr 4716 * @note: btstack_type B 4717 */ 4718 static inline void gap_event_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4719 reverse_bytes(&event[4], bd_addr, 6); 4720 } 4721 /** 4722 * @brief Get field status from event GAP_EVENT_PAIRING_COMPLETE 4723 * @param event packet 4724 * @return status 4725 * @note: btstack_type 1 4726 */ 4727 static inline uint8_t gap_event_pairing_complete_get_status(const uint8_t * event){ 4728 return event[10]; 4729 } 4730 4731 /** 4732 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4733 * @param event packet 4734 * @return status 4735 * @note: btstack_type 1 4736 */ 4737 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 4738 return event[3]; 4739 } 4740 /** 4741 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4742 * @param event packet 4743 * @return connection_handle 4744 * @note: btstack_type H 4745 */ 4746 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 4747 return little_endian_read_16(event, 4); 4748 } 4749 /** 4750 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4751 * @param event packet 4752 * @return role 4753 * @note: btstack_type 1 4754 */ 4755 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 4756 return event[6]; 4757 } 4758 /** 4759 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4760 * @param event packet 4761 * @return peer_address_type 4762 * @note: btstack_type 1 4763 */ 4764 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 4765 return event[7]; 4766 } 4767 /** 4768 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4769 * @param event packet 4770 * @param Pointer to storage for peer_address 4771 * @note: btstack_type B 4772 */ 4773 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 4774 reverse_bytes(&event[8], peer_address, 6); 4775 } 4776 /** 4777 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4778 * @param event packet 4779 * @return conn_interval 4780 * @note: btstack_type 2 4781 */ 4782 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 4783 return little_endian_read_16(event, 14); 4784 } 4785 /** 4786 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4787 * @param event packet 4788 * @return conn_latency 4789 * @note: btstack_type 2 4790 */ 4791 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 4792 return little_endian_read_16(event, 16); 4793 } 4794 /** 4795 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4796 * @param event packet 4797 * @return supervision_timeout 4798 * @note: btstack_type 2 4799 */ 4800 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 4801 return little_endian_read_16(event, 18); 4802 } 4803 /** 4804 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4805 * @param event packet 4806 * @return master_clock_accuracy 4807 * @note: btstack_type 1 4808 */ 4809 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 4810 return event[20]; 4811 } 4812 4813 /** 4814 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4815 * @param event packet 4816 * @return status 4817 * @note: btstack_type 1 4818 */ 4819 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 4820 return event[3]; 4821 } 4822 /** 4823 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4824 * @param event packet 4825 * @return connection_handle 4826 * @note: btstack_type H 4827 */ 4828 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 4829 return little_endian_read_16(event, 4); 4830 } 4831 /** 4832 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4833 * @param event packet 4834 * @return conn_interval 4835 * @note: btstack_type 2 4836 */ 4837 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 4838 return little_endian_read_16(event, 6); 4839 } 4840 /** 4841 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4842 * @param event packet 4843 * @return conn_latency 4844 * @note: btstack_type 2 4845 */ 4846 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 4847 return little_endian_read_16(event, 8); 4848 } 4849 /** 4850 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4851 * @param event packet 4852 * @return supervision_timeout 4853 * @note: btstack_type 2 4854 */ 4855 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 4856 return little_endian_read_16(event, 10); 4857 } 4858 4859 /** 4860 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4861 * @param event packet 4862 * @return connection_handle 4863 * @note: btstack_type H 4864 */ 4865 static inline hci_con_handle_t hci_subevent_le_read_remote_features_complete_get_connection_handle(const uint8_t * event){ 4866 return little_endian_read_16(event, 3); 4867 } 4868 /** 4869 * @brief Get field le_features from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4870 * @param event packet 4871 * @return le_features 4872 * @note: btstack_type D 4873 */ 4874 static inline const uint8_t * hci_subevent_le_read_remote_features_complete_get_le_features(const uint8_t * event){ 4875 return (const uint8_t *) &event[5]; 4876 } 4877 4878 /** 4879 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4880 * @param event packet 4881 * @return connection_handle 4882 * @note: btstack_type H 4883 */ 4884 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 4885 return little_endian_read_16(event, 3); 4886 } 4887 /** 4888 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4889 * @param event packet 4890 * @return random_number 4891 * @note: btstack_type D 4892 */ 4893 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 4894 return (const uint8_t *) &event[5]; 4895 } 4896 /** 4897 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4898 * @param event packet 4899 * @return encryption_diversifier 4900 * @note: btstack_type 2 4901 */ 4902 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 4903 return little_endian_read_16(event, 13); 4904 } 4905 4906 /** 4907 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4908 * @param event packet 4909 * @return connection_handle 4910 * @note: btstack_type H 4911 */ 4912 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 4913 return little_endian_read_16(event, 3); 4914 } 4915 /** 4916 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4917 * @param event packet 4918 * @return interval_min 4919 * @note: btstack_type 2 4920 */ 4921 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 4922 return little_endian_read_16(event, 5); 4923 } 4924 /** 4925 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4926 * @param event packet 4927 * @return interval_max 4928 * @note: btstack_type 2 4929 */ 4930 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 4931 return little_endian_read_16(event, 7); 4932 } 4933 /** 4934 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4935 * @param event packet 4936 * @return latency 4937 * @note: btstack_type 2 4938 */ 4939 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 4940 return little_endian_read_16(event, 9); 4941 } 4942 /** 4943 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4944 * @param event packet 4945 * @return timeout 4946 * @note: btstack_type 2 4947 */ 4948 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 4949 return little_endian_read_16(event, 11); 4950 } 4951 4952 /** 4953 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4954 * @param event packet 4955 * @return connection_handle 4956 * @note: btstack_type H 4957 */ 4958 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 4959 return little_endian_read_16(event, 3); 4960 } 4961 /** 4962 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4963 * @param event packet 4964 * @return max_tx_octets 4965 * @note: btstack_type 2 4966 */ 4967 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 4968 return little_endian_read_16(event, 5); 4969 } 4970 /** 4971 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4972 * @param event packet 4973 * @return max_tx_time 4974 * @note: btstack_type 2 4975 */ 4976 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 4977 return little_endian_read_16(event, 7); 4978 } 4979 /** 4980 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4981 * @param event packet 4982 * @return max_rx_octets 4983 * @note: btstack_type 2 4984 */ 4985 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 4986 return little_endian_read_16(event, 9); 4987 } 4988 /** 4989 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4990 * @param event packet 4991 * @return max_rx_time 4992 * @note: btstack_type 2 4993 */ 4994 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 4995 return little_endian_read_16(event, 11); 4996 } 4997 4998 /** 4999 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 5000 * @param event packet 5001 * @return status 5002 * @note: btstack_type 1 5003 */ 5004 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 5005 return event[3]; 5006 } 5007 /** 5008 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 5009 * @param event packet 5010 * @param Pointer to storage for dhkey_x 5011 * @note: btstack_type Q 5012 */ 5013 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 5014 reverse_bytes(&event[4], dhkey_x, 32); 5015 } 5016 /** 5017 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 5018 * @param event packet 5019 * @param Pointer to storage for dhkey_y 5020 * @note: btstack_type Q 5021 */ 5022 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 5023 reverse_bytes(&event[36], dhkey_y, 32); 5024 } 5025 5026 /** 5027 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 5028 * @param event packet 5029 * @return status 5030 * @note: btstack_type 1 5031 */ 5032 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 5033 return event[3]; 5034 } 5035 /** 5036 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 5037 * @param event packet 5038 * @param Pointer to storage for dhkey 5039 * @note: btstack_type Q 5040 */ 5041 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 5042 reverse_bytes(&event[4], dhkey, 32); 5043 } 5044 5045 /** 5046 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5047 * @param event packet 5048 * @return status 5049 * @note: btstack_type 1 5050 */ 5051 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_status(const uint8_t * event){ 5052 return event[3]; 5053 } 5054 /** 5055 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5056 * @param event packet 5057 * @return connection_handle 5058 * @note: btstack_type H 5059 */ 5060 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v1_get_connection_handle(const uint8_t * event){ 5061 return little_endian_read_16(event, 4); 5062 } 5063 /** 5064 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5065 * @param event packet 5066 * @return role 5067 * @note: btstack_type 1 5068 */ 5069 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_role(const uint8_t * event){ 5070 return event[6]; 5071 } 5072 /** 5073 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5074 * @param event packet 5075 * @return peer_address_type 5076 * @note: btstack_type 1 5077 */ 5078 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_peer_address_type(const uint8_t * event){ 5079 return event[7]; 5080 } 5081 /** 5082 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5083 * @param event packet 5084 * @param Pointer to storage for peer_addresss 5085 * @note: btstack_type B 5086 */ 5087 static inline void hci_subevent_le_enhanced_connection_complete_v1_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 5088 reverse_bytes(&event[8], peer_addresss, 6); 5089 } 5090 /** 5091 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5092 * @param event packet 5093 * @param Pointer to storage for local_resolvable_private_address 5094 * @note: btstack_type B 5095 */ 5096 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){ 5097 reverse_bytes(&event[14], local_resolvable_private_address, 6); 5098 } 5099 /** 5100 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5101 * @param event packet 5102 * @param Pointer to storage for peer_resolvable_private_address 5103 * @note: btstack_type B 5104 */ 5105 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){ 5106 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 5107 } 5108 /** 5109 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5110 * @param event packet 5111 * @return conn_interval 5112 * @note: btstack_type 2 5113 */ 5114 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_interval(const uint8_t * event){ 5115 return little_endian_read_16(event, 26); 5116 } 5117 /** 5118 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5119 * @param event packet 5120 * @return conn_latency 5121 * @note: btstack_type 2 5122 */ 5123 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_latency(const uint8_t * event){ 5124 return little_endian_read_16(event, 28); 5125 } 5126 /** 5127 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5128 * @param event packet 5129 * @return supervision_timeout 5130 * @note: btstack_type 2 5131 */ 5132 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_supervision_timeout(const uint8_t * event){ 5133 return little_endian_read_16(event, 30); 5134 } 5135 /** 5136 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5137 * @param event packet 5138 * @return master_clock_accuracy 5139 * @note: btstack_type 1 5140 */ 5141 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_master_clock_accuracy(const uint8_t * event){ 5142 return event[32]; 5143 } 5144 5145 /** 5146 * @brief Get field status from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 5147 * @param event packet 5148 * @return status 5149 * @note: btstack_type 1 5150 */ 5151 static inline uint8_t hci_subevent_le_phy_update_complete_get_status(const uint8_t * event){ 5152 return event[3]; 5153 } 5154 /** 5155 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 5156 * @param event packet 5157 * @return connection_handle 5158 * @note: btstack_type H 5159 */ 5160 static inline hci_con_handle_t hci_subevent_le_phy_update_complete_get_connection_handle(const uint8_t * event){ 5161 return little_endian_read_16(event, 4); 5162 } 5163 /** 5164 * @brief Get field tx_phy from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 5165 * @param event packet 5166 * @return tx_phy 5167 * @note: btstack_type 1 5168 */ 5169 static inline uint8_t hci_subevent_le_phy_update_complete_get_tx_phy(const uint8_t * event){ 5170 return event[6]; 5171 } 5172 5173 /** 5174 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5175 * @param event packet 5176 * @return status 5177 * @note: btstack_type 1 5178 */ 5179 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_status(const uint8_t * event){ 5180 return event[3]; 5181 } 5182 /** 5183 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5184 * @param event packet 5185 * @return sync_handle 5186 * @note: btstack_type H 5187 */ 5188 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_establishment_get_sync_handle(const uint8_t * event){ 5189 return little_endian_read_16(event, 4); 5190 } 5191 /** 5192 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5193 * @param event packet 5194 * @return advertising_sid 5195 * @note: btstack_type 1 5196 */ 5197 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertising_sid(const uint8_t * event){ 5198 return event[6]; 5199 } 5200 /** 5201 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5202 * @param event packet 5203 * @return advertiser_address_type 5204 * @note: btstack_type 1 5205 */ 5206 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address_type(const uint8_t * event){ 5207 return event[7]; 5208 } 5209 /** 5210 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5211 * @param event packet 5212 * @param Pointer to storage for advertiser_address 5213 * @note: btstack_type B 5214 */ 5215 static inline void hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5216 reverse_bytes(&event[8], advertiser_address, 6); 5217 } 5218 /** 5219 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5220 * @param event packet 5221 * @return advertiser_phy 5222 * @note: btstack_type 1 5223 */ 5224 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_phy(const uint8_t * event){ 5225 return event[14]; 5226 } 5227 /** 5228 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5229 * @param event packet 5230 * @return periodic_advertising_interval 5231 * @note: btstack_type 2 5232 */ 5233 static inline uint16_t hci_subevent_le_periodic_advertising_sync_establishment_get_periodic_advertising_interval(const uint8_t * event){ 5234 return little_endian_read_16(event, 15); 5235 } 5236 /** 5237 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5238 * @param event packet 5239 * @return advertiser_clock_accuracy 5240 * @note: btstack_type 1 5241 */ 5242 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_clock_accuracy(const uint8_t * event){ 5243 return event[17]; 5244 } 5245 5246 /** 5247 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5248 * @param event packet 5249 * @return sync_handle 5250 * @note: btstack_type H 5251 */ 5252 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_report_get_sync_handle(const uint8_t * event){ 5253 return little_endian_read_16(event, 3); 5254 } 5255 /** 5256 * @brief Get field tx_power from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5257 * @param event packet 5258 * @return tx_power 5259 * @note: btstack_type 1 5260 */ 5261 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_tx_power(const uint8_t * event){ 5262 return event[5]; 5263 } 5264 /** 5265 * @brief Get field rssi from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5266 * @param event packet 5267 * @return rssi 5268 * @note: btstack_type 1 5269 */ 5270 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_rssi(const uint8_t * event){ 5271 return event[6]; 5272 } 5273 /** 5274 * @brief Get field cte_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5275 * @param event packet 5276 * @return cte_type 5277 * @note: btstack_type 1 5278 */ 5279 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_cte_type(const uint8_t * event){ 5280 return event[7]; 5281 } 5282 /** 5283 * @brief Get field data_status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5284 * @param event packet 5285 * @return data_status 5286 * @note: btstack_type 1 5287 */ 5288 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_status(const uint8_t * event){ 5289 return event[8]; 5290 } 5291 /** 5292 * @brief Get field data_length from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5293 * @param event packet 5294 * @return data_length 5295 * @note: btstack_type J 5296 */ 5297 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_length(const uint8_t * event){ 5298 return event[9]; 5299 } 5300 /** 5301 * @brief Get field data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5302 * @param event packet 5303 * @return data 5304 * @note: btstack_type V 5305 */ 5306 static inline const uint8_t * hci_subevent_le_periodic_advertising_report_get_data(const uint8_t * event){ 5307 return &event[10]; 5308 } 5309 5310 /** 5311 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_LOST 5312 * @param event packet 5313 * @return sync_handle 5314 * @note: btstack_type H 5315 */ 5316 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_lost_get_sync_handle(const uint8_t * event){ 5317 return little_endian_read_16(event, 3); 5318 } 5319 5320 5321 /** 5322 * @brief Get field status from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5323 * @param event packet 5324 * @return status 5325 * @note: btstack_type 1 5326 */ 5327 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_status(const uint8_t * event){ 5328 return event[3]; 5329 } 5330 /** 5331 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5332 * @param event packet 5333 * @return advertising_handle 5334 * @note: btstack_type 1 5335 */ 5336 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_advertising_handle(const uint8_t * event){ 5337 return event[4]; 5338 } 5339 /** 5340 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5341 * @param event packet 5342 * @return connection_handle 5343 * @note: btstack_type H 5344 */ 5345 static inline hci_con_handle_t hci_subevent_le_advertising_set_terminated_get_connection_handle(const uint8_t * event){ 5346 return little_endian_read_16(event, 5); 5347 } 5348 /** 5349 * @brief Get field num_completed_exteneded_advertising_events from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5350 * @param event packet 5351 * @return num_completed_exteneded_advertising_events 5352 * @note: btstack_type 1 5353 */ 5354 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_num_completed_exteneded_advertising_events(const uint8_t * event){ 5355 return event[7]; 5356 } 5357 5358 /** 5359 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5360 * @param event packet 5361 * @return advertising_handle 5362 * @note: btstack_type 1 5363 */ 5364 static inline uint8_t hci_subevent_le_scan_request_received_get_advertising_handle(const uint8_t * event){ 5365 return event[3]; 5366 } 5367 /** 5368 * @brief Get field scanner_address_type from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5369 * @param event packet 5370 * @return scanner_address_type 5371 * @note: btstack_type 1 5372 */ 5373 static inline uint8_t hci_subevent_le_scan_request_received_get_scanner_address_type(const uint8_t * event){ 5374 return event[4]; 5375 } 5376 /** 5377 * @brief Get field scanner_address from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5378 * @param event packet 5379 * @param Pointer to storage for scanner_address 5380 * @note: btstack_type B 5381 */ 5382 static inline void hci_subevent_le_scan_request_received_get_scanner_address(const uint8_t * event, bd_addr_t scanner_address){ 5383 reverse_bytes(&event[5], scanner_address, 6); 5384 } 5385 5386 /** 5387 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 5388 * @param event packet 5389 * @return connection_handle 5390 * @note: btstack_type H 5391 */ 5392 static inline hci_con_handle_t hci_subevent_le_channel_selection_algorithm_get_connection_handle(const uint8_t * event){ 5393 return little_endian_read_16(event, 3); 5394 } 5395 /** 5396 * @brief Get field channel_selection_algorithm from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 5397 * @param event packet 5398 * @return channel_selection_algorithm 5399 * @note: btstack_type 1 5400 */ 5401 static inline uint8_t hci_subevent_le_channel_selection_algorithm_get_channel_selection_algorithm(const uint8_t * event){ 5402 return event[5]; 5403 } 5404 5405 /** 5406 * @brief Get field status from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5407 * @param event packet 5408 * @return status 5409 * @note: btstack_type 1 5410 */ 5411 static inline uint8_t hci_subevent_le_le_cte_request_failed_get_status(const uint8_t * event){ 5412 return event[3]; 5413 } 5414 /** 5415 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5416 * @param event packet 5417 * @return connection_handle 5418 * @note: btstack_type H 5419 */ 5420 static inline hci_con_handle_t hci_subevent_le_le_cte_request_failed_get_connection_handle(const uint8_t * event){ 5421 return little_endian_read_16(event, 4); 5422 } 5423 5424 /** 5425 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5426 * @param event packet 5427 * @return status 5428 * @note: btstack_type 1 5429 */ 5430 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_status(const uint8_t * event){ 5431 return event[3]; 5432 } 5433 /** 5434 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5435 * @param event packet 5436 * @return connection_handle 5437 * @note: btstack_type H 5438 */ 5439 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_connection_handle(const uint8_t * event){ 5440 return little_endian_read_16(event, 4); 5441 } 5442 /** 5443 * @brief Get field service_data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5444 * @param event packet 5445 * @return service_data 5446 * @note: btstack_type 2 5447 */ 5448 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_service_data(const uint8_t * event){ 5449 return little_endian_read_16(event, 6); 5450 } 5451 /** 5452 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5453 * @param event packet 5454 * @return sync_handle 5455 * @note: btstack_type H 5456 */ 5457 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_sync_handle(const uint8_t * event){ 5458 return little_endian_read_16(event, 8); 5459 } 5460 /** 5461 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5462 * @param event packet 5463 * @return advertising_sid 5464 * @note: btstack_type 1 5465 */ 5466 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertising_sid(const uint8_t * event){ 5467 return event[10]; 5468 } 5469 /** 5470 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5471 * @param event packet 5472 * @return advertiser_address_type 5473 * @note: btstack_type 1 5474 */ 5475 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address_type(const uint8_t * event){ 5476 return event[11]; 5477 } 5478 /** 5479 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5480 * @param event packet 5481 * @param Pointer to storage for advertiser_address 5482 * @note: btstack_type B 5483 */ 5484 static inline void hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5485 reverse_bytes(&event[12], advertiser_address, 6); 5486 } 5487 /** 5488 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5489 * @param event packet 5490 * @return advertiser_phy 5491 * @note: btstack_type 1 5492 */ 5493 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_phy(const uint8_t * event){ 5494 return event[18]; 5495 } 5496 /** 5497 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5498 * @param event packet 5499 * @return periodic_advertising_interval 5500 * @note: btstack_type 2 5501 */ 5502 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_periodic_advertising_interval(const uint8_t * event){ 5503 return little_endian_read_16(event, 19); 5504 } 5505 /** 5506 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5507 * @param event packet 5508 * @return advertiser_clock_accuracy 5509 * @note: btstack_type 1 5510 */ 5511 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_clock_accuracy(const uint8_t * event){ 5512 return event[21]; 5513 } 5514 5515 /** 5516 * @brief Get field status from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5517 * @param event packet 5518 * @return status 5519 * @note: btstack_type 1 5520 */ 5521 static inline uint8_t hci_subevent_le_cis_established_get_status(const uint8_t * event){ 5522 return event[3]; 5523 } 5524 /** 5525 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5526 * @param event packet 5527 * @return connection_handle 5528 * @note: btstack_type H 5529 */ 5530 static inline hci_con_handle_t hci_subevent_le_cis_established_get_connection_handle(const uint8_t * event){ 5531 return little_endian_read_16(event, 4); 5532 } 5533 /** 5534 * @brief Get field cig_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5535 * @param event packet 5536 * @return cig_sync_delay 5537 * @note: btstack_type 3 5538 */ 5539 static inline uint32_t hci_subevent_le_cis_established_get_cig_sync_delay(const uint8_t * event){ 5540 return little_endian_read_24(event, 6); 5541 } 5542 /** 5543 * @brief Get field cis_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5544 * @param event packet 5545 * @return cis_sync_delay 5546 * @note: btstack_type 3 5547 */ 5548 static inline uint32_t hci_subevent_le_cis_established_get_cis_sync_delay(const uint8_t * event){ 5549 return little_endian_read_24(event, 9); 5550 } 5551 /** 5552 * @brief Get field transport_latency_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5553 * @param event packet 5554 * @return transport_latency_c_to_p 5555 * @note: btstack_type 3 5556 */ 5557 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_c_to_p(const uint8_t * event){ 5558 return little_endian_read_24(event, 12); 5559 } 5560 /** 5561 * @brief Get field transport_latency_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5562 * @param event packet 5563 * @return transport_latency_p_to_c 5564 * @note: btstack_type 3 5565 */ 5566 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_p_to_c(const uint8_t * event){ 5567 return little_endian_read_24(event, 15); 5568 } 5569 /** 5570 * @brief Get field phy_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5571 * @param event packet 5572 * @return phy_c_to_p 5573 * @note: btstack_type 1 5574 */ 5575 static inline uint8_t hci_subevent_le_cis_established_get_phy_c_to_p(const uint8_t * event){ 5576 return event[18]; 5577 } 5578 /** 5579 * @brief Get field phy_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5580 * @param event packet 5581 * @return phy_p_to_c 5582 * @note: btstack_type 1 5583 */ 5584 static inline uint8_t hci_subevent_le_cis_established_get_phy_p_to_c(const uint8_t * event){ 5585 return event[19]; 5586 } 5587 /** 5588 * @brief Get field nse from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5589 * @param event packet 5590 * @return nse 5591 * @note: btstack_type 1 5592 */ 5593 static inline uint8_t hci_subevent_le_cis_established_get_nse(const uint8_t * event){ 5594 return event[20]; 5595 } 5596 /** 5597 * @brief Get field bn_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5598 * @param event packet 5599 * @return bn_c_to_p 5600 * @note: btstack_type 1 5601 */ 5602 static inline uint8_t hci_subevent_le_cis_established_get_bn_c_to_p(const uint8_t * event){ 5603 return event[21]; 5604 } 5605 /** 5606 * @brief Get field bn_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5607 * @param event packet 5608 * @return bn_p_to_c 5609 * @note: btstack_type 1 5610 */ 5611 static inline uint8_t hci_subevent_le_cis_established_get_bn_p_to_c(const uint8_t * event){ 5612 return event[22]; 5613 } 5614 /** 5615 * @brief Get field ft_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5616 * @param event packet 5617 * @return ft_c_to_p 5618 * @note: btstack_type 1 5619 */ 5620 static inline uint8_t hci_subevent_le_cis_established_get_ft_c_to_p(const uint8_t * event){ 5621 return event[23]; 5622 } 5623 /** 5624 * @brief Get field ft_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5625 * @param event packet 5626 * @return ft_p_to_c 5627 * @note: btstack_type 1 5628 */ 5629 static inline uint8_t hci_subevent_le_cis_established_get_ft_p_to_c(const uint8_t * event){ 5630 return event[24]; 5631 } 5632 /** 5633 * @brief Get field max_pdu_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5634 * @param event packet 5635 * @return max_pdu_c_to_p 5636 * @note: btstack_type 2 5637 */ 5638 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_c_to_p(const uint8_t * event){ 5639 return little_endian_read_16(event, 25); 5640 } 5641 /** 5642 * @brief Get field max_pdu_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5643 * @param event packet 5644 * @return max_pdu_p_to_c 5645 * @note: btstack_type 2 5646 */ 5647 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_p_to_c(const uint8_t * event){ 5648 return little_endian_read_16(event, 27); 5649 } 5650 /** 5651 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5652 * @param event packet 5653 * @return iso_interval 5654 * @note: btstack_type 2 5655 */ 5656 static inline uint16_t hci_subevent_le_cis_established_get_iso_interval(const uint8_t * event){ 5657 return little_endian_read_16(event, 29); 5658 } 5659 5660 /** 5661 * @brief Get field acl_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5662 * @param event packet 5663 * @return acl_connection_handle 5664 * @note: btstack_type H 5665 */ 5666 static inline hci_con_handle_t hci_subevent_le_cis_request_get_acl_connection_handle(const uint8_t * event){ 5667 return little_endian_read_16(event, 3); 5668 } 5669 /** 5670 * @brief Get field cis_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5671 * @param event packet 5672 * @return cis_connection_handle 5673 * @note: btstack_type H 5674 */ 5675 static inline hci_con_handle_t hci_subevent_le_cis_request_get_cis_connection_handle(const uint8_t * event){ 5676 return little_endian_read_16(event, 5); 5677 } 5678 /** 5679 * @brief Get field cig_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5680 * @param event packet 5681 * @return cig_id 5682 * @note: btstack_type 1 5683 */ 5684 static inline uint8_t hci_subevent_le_cis_request_get_cig_id(const uint8_t * event){ 5685 return event[7]; 5686 } 5687 /** 5688 * @brief Get field cis_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5689 * @param event packet 5690 * @return cis_id 5691 * @note: btstack_type 1 5692 */ 5693 static inline uint8_t hci_subevent_le_cis_request_get_cis_id(const uint8_t * event){ 5694 return event[8]; 5695 } 5696 5697 /** 5698 * @brief Get field big_handle from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5699 * @param event packet 5700 * @return big_handle 5701 * @note: btstack_type 1 5702 */ 5703 static inline uint8_t hci_subevent_le_terminate_big_complete_get_big_handle(const uint8_t * event){ 5704 return event[3]; 5705 } 5706 /** 5707 * @brief Get field reason from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5708 * @param event packet 5709 * @return reason 5710 * @note: btstack_type 1 5711 */ 5712 static inline uint8_t hci_subevent_le_terminate_big_complete_get_reason(const uint8_t * event){ 5713 return event[4]; 5714 } 5715 5716 /** 5717 * @brief Get field big_handle from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5718 * @param event packet 5719 * @return big_handle 5720 * @note: btstack_type 1 5721 */ 5722 static inline uint8_t hci_subevent_le_big_sync_lost_get_big_handle(const uint8_t * event){ 5723 return event[3]; 5724 } 5725 /** 5726 * @brief Get field reason from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5727 * @param event packet 5728 * @return reason 5729 * @note: btstack_type 1 5730 */ 5731 static inline uint8_t hci_subevent_le_big_sync_lost_get_reason(const uint8_t * event){ 5732 return event[4]; 5733 } 5734 5735 /** 5736 * @brief Get field status from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5737 * @param event packet 5738 * @return status 5739 * @note: btstack_type 1 5740 */ 5741 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_status(const uint8_t * event){ 5742 return event[3]; 5743 } 5744 /** 5745 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5746 * @param event packet 5747 * @return connection_handle 5748 * @note: btstack_type H 5749 */ 5750 static inline hci_con_handle_t hci_subevent_le_request_peer_sca_complete_get_connection_handle(const uint8_t * event){ 5751 return little_endian_read_16(event, 4); 5752 } 5753 /** 5754 * @brief Get field peer_clock_accuracy from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5755 * @param event packet 5756 * @return peer_clock_accuracy 5757 * @note: btstack_type 1 5758 */ 5759 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_peer_clock_accuracy(const uint8_t * event){ 5760 return event[6]; 5761 } 5762 5763 /** 5764 * @brief Get field status from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5765 * @param event packet 5766 * @return status 5767 * @note: btstack_type 1 5768 */ 5769 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_status(const uint8_t * event){ 5770 return event[3]; 5771 } 5772 /** 5773 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5774 * @param event packet 5775 * @return connection_handle 5776 * @note: btstack_type H 5777 */ 5778 static inline hci_con_handle_t hci_subevent_le_transmit_power_reporting_get_connection_handle(const uint8_t * event){ 5779 return little_endian_read_16(event, 4); 5780 } 5781 /** 5782 * @brief Get field reason from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5783 * @param event packet 5784 * @return reason 5785 * @note: btstack_type 1 5786 */ 5787 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_reason(const uint8_t * event){ 5788 return event[6]; 5789 } 5790 /** 5791 * @brief Get field phy from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5792 * @param event packet 5793 * @return phy 5794 * @note: btstack_type 1 5795 */ 5796 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_phy(const uint8_t * event){ 5797 return event[7]; 5798 } 5799 /** 5800 * @brief Get field tx_power_level from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5801 * @param event packet 5802 * @return tx_power_level 5803 * @note: btstack_type 1 5804 */ 5805 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level(const uint8_t * event){ 5806 return event[8]; 5807 } 5808 /** 5809 * @brief Get field tx_power_level_flag from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5810 * @param event packet 5811 * @return tx_power_level_flag 5812 * @note: btstack_type 1 5813 */ 5814 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level_flag(const uint8_t * event){ 5815 return event[9]; 5816 } 5817 /** 5818 * @brief Get field delta from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5819 * @param event packet 5820 * @return delta 5821 * @note: btstack_type 1 5822 */ 5823 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_delta(const uint8_t * event){ 5824 return event[10]; 5825 } 5826 5827 /** 5828 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5829 * @param event packet 5830 * @return sync_handle 5831 * @note: btstack_type H 5832 */ 5833 static inline hci_con_handle_t hci_subevent_le_biginfo_advertising_report_get_sync_handle(const uint8_t * event){ 5834 return little_endian_read_16(event, 3); 5835 } 5836 /** 5837 * @brief Get field num_bis from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5838 * @param event packet 5839 * @return num_bis 5840 * @note: btstack_type 1 5841 */ 5842 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_num_bis(const uint8_t * event){ 5843 return event[5]; 5844 } 5845 /** 5846 * @brief Get field nse from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5847 * @param event packet 5848 * @return nse 5849 * @note: btstack_type 1 5850 */ 5851 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_nse(const uint8_t * event){ 5852 return event[6]; 5853 } 5854 /** 5855 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5856 * @param event packet 5857 * @return iso_interval 5858 * @note: btstack_type 2 5859 */ 5860 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_iso_interval(const uint8_t * event){ 5861 return little_endian_read_16(event, 7); 5862 } 5863 /** 5864 * @brief Get field bn from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5865 * @param event packet 5866 * @return bn 5867 * @note: btstack_type 1 5868 */ 5869 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_bn(const uint8_t * event){ 5870 return event[9]; 5871 } 5872 /** 5873 * @brief Get field pto from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5874 * @param event packet 5875 * @return pto 5876 * @note: btstack_type 1 5877 */ 5878 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_pto(const uint8_t * event){ 5879 return event[10]; 5880 } 5881 /** 5882 * @brief Get field irc from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5883 * @param event packet 5884 * @return irc 5885 * @note: btstack_type 1 5886 */ 5887 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_irc(const uint8_t * event){ 5888 return event[11]; 5889 } 5890 /** 5891 * @brief Get field max_pdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5892 * @param event packet 5893 * @return max_pdu 5894 * @note: btstack_type 2 5895 */ 5896 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_pdu(const uint8_t * event){ 5897 return little_endian_read_16(event, 12); 5898 } 5899 /** 5900 * @brief Get field sdu_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5901 * @param event packet 5902 * @return sdu_interval 5903 * @note: btstack_type 3 5904 */ 5905 static inline uint32_t hci_subevent_le_biginfo_advertising_report_get_sdu_interval(const uint8_t * event){ 5906 return little_endian_read_24(event, 14); 5907 } 5908 /** 5909 * @brief Get field max_sdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5910 * @param event packet 5911 * @return max_sdu 5912 * @note: btstack_type 2 5913 */ 5914 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_sdu(const uint8_t * event){ 5915 return little_endian_read_16(event, 17); 5916 } 5917 /** 5918 * @brief Get field phy from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5919 * @param event packet 5920 * @return phy 5921 * @note: btstack_type 1 5922 */ 5923 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_phy(const uint8_t * event){ 5924 return event[19]; 5925 } 5926 /** 5927 * @brief Get field framing from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5928 * @param event packet 5929 * @return framing 5930 * @note: btstack_type 1 5931 */ 5932 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_framing(const uint8_t * event){ 5933 return event[20]; 5934 } 5935 /** 5936 * @brief Get field encryption from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5937 * @param event packet 5938 * @return encryption 5939 * @note: btstack_type 1 5940 */ 5941 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_encryption(const uint8_t * event){ 5942 return event[21]; 5943 } 5944 5945 /** 5946 * @brief Get field status from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5947 * @param event packet 5948 * @return status 5949 * @note: btstack_type 1 5950 */ 5951 static inline uint8_t hci_subevent_le_subrate_change_get_status(const uint8_t * event){ 5952 return event[3]; 5953 } 5954 /** 5955 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5956 * @param event packet 5957 * @return connection_handle 5958 * @note: btstack_type H 5959 */ 5960 static inline hci_con_handle_t hci_subevent_le_subrate_change_get_connection_handle(const uint8_t * event){ 5961 return little_endian_read_16(event, 4); 5962 } 5963 /** 5964 * @brief Get field subrate_factor from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5965 * @param event packet 5966 * @return subrate_factor 5967 * @note: btstack_type 2 5968 */ 5969 static inline uint16_t hci_subevent_le_subrate_change_get_subrate_factor(const uint8_t * event){ 5970 return little_endian_read_16(event, 6); 5971 } 5972 /** 5973 * @brief Get field peripheral_latency from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5974 * @param event packet 5975 * @return peripheral_latency 5976 * @note: btstack_type 2 5977 */ 5978 static inline uint16_t hci_subevent_le_subrate_change_get_peripheral_latency(const uint8_t * event){ 5979 return little_endian_read_16(event, 8); 5980 } 5981 /** 5982 * @brief Get field continuation_number from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5983 * @param event packet 5984 * @return continuation_number 5985 * @note: btstack_type 2 5986 */ 5987 static inline uint16_t hci_subevent_le_subrate_change_get_continuation_number(const uint8_t * event){ 5988 return little_endian_read_16(event, 10); 5989 } 5990 /** 5991 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5992 * @param event packet 5993 * @return supervision_timeout 5994 * @note: btstack_type 2 5995 */ 5996 static inline uint16_t hci_subevent_le_subrate_change_get_supervision_timeout(const uint8_t * event){ 5997 return little_endian_read_16(event, 12); 5998 } 5999 6000 /** 6001 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 6002 * @param event packet 6003 * @return advertising_handle 6004 * @note: btstack_type 1 6005 */ 6006 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_advertising_handle(const uint8_t * event){ 6007 return event[3]; 6008 } 6009 /** 6010 * @brief Get field subevent_start from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 6011 * @param event packet 6012 * @return subevent_start 6013 * @note: btstack_type 1 6014 */ 6015 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_start(const uint8_t * event){ 6016 return event[4]; 6017 } 6018 /** 6019 * @brief Get field subevent_data_count from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 6020 * @param event packet 6021 * @return subevent_data_count 6022 * @note: btstack_type 1 6023 */ 6024 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_data_count(const uint8_t * event){ 6025 return event[5]; 6026 } 6027 6028 /** 6029 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6030 * @param event packet 6031 * @return status 6032 * @note: btstack_type 1 6033 */ 6034 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_status(const uint8_t * event){ 6035 return event[3]; 6036 } 6037 /** 6038 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6039 * @param event packet 6040 * @return connection_handle 6041 * @note: btstack_type H 6042 */ 6043 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_connection_handle(const uint8_t * event){ 6044 return little_endian_read_16(event, 4); 6045 } 6046 /** 6047 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6048 * @param event packet 6049 * @return role 6050 * @note: btstack_type 1 6051 */ 6052 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_role(const uint8_t * event){ 6053 return event[6]; 6054 } 6055 /** 6056 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6057 * @param event packet 6058 * @return peer_address_type 6059 * @note: btstack_type 1 6060 */ 6061 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_peer_address_type(const uint8_t * event){ 6062 return event[7]; 6063 } 6064 /** 6065 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6066 * @param event packet 6067 * @param Pointer to storage for peer_addresss 6068 * @note: btstack_type B 6069 */ 6070 static inline void hci_subevent_le_enhanced_connection_complete_v2_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 6071 reverse_bytes(&event[8], peer_addresss, 6); 6072 } 6073 /** 6074 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6075 * @param event packet 6076 * @param Pointer to storage for local_resolvable_private_address 6077 * @note: btstack_type B 6078 */ 6079 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){ 6080 reverse_bytes(&event[14], local_resolvable_private_address, 6); 6081 } 6082 /** 6083 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6084 * @param event packet 6085 * @param Pointer to storage for peer_resolvable_private_address 6086 * @note: btstack_type B 6087 */ 6088 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){ 6089 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 6090 } 6091 /** 6092 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6093 * @param event packet 6094 * @return conn_interval 6095 * @note: btstack_type 2 6096 */ 6097 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_interval(const uint8_t * event){ 6098 return little_endian_read_16(event, 26); 6099 } 6100 /** 6101 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6102 * @param event packet 6103 * @return conn_latency 6104 * @note: btstack_type 2 6105 */ 6106 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_latency(const uint8_t * event){ 6107 return little_endian_read_16(event, 28); 6108 } 6109 /** 6110 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6111 * @param event packet 6112 * @return supervision_timeout 6113 * @note: btstack_type 2 6114 */ 6115 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_supervision_timeout(const uint8_t * event){ 6116 return little_endian_read_16(event, 30); 6117 } 6118 /** 6119 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6120 * @param event packet 6121 * @return master_clock_accuracy 6122 * @note: btstack_type 1 6123 */ 6124 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_master_clock_accuracy(const uint8_t * event){ 6125 return event[32]; 6126 } 6127 /** 6128 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6129 * @param event packet 6130 * @return advertising_handle 6131 * @note: btstack_type 1 6132 */ 6133 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_advertising_handle(const uint8_t * event){ 6134 return event[33]; 6135 } 6136 /** 6137 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6138 * @param event packet 6139 * @return sync_handle 6140 * @note: btstack_type H 6141 */ 6142 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_sync_handle(const uint8_t * event){ 6143 return little_endian_read_16(event, 34); 6144 } 6145 6146 /** 6147 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 6148 * @param event packet 6149 * @return advertisement_handle 6150 * @note: btstack_type 1 6151 */ 6152 static inline uint8_t gap_subevent_advertising_set_installed_get_advertisement_handle(const uint8_t * event){ 6153 return event[3]; 6154 } 6155 /** 6156 * @brief Get field status from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 6157 * @param event packet 6158 * @return status 6159 * @note: btstack_type 1 6160 */ 6161 static inline uint8_t gap_subevent_advertising_set_installed_get_status(const uint8_t * event){ 6162 return event[4]; 6163 } 6164 /** 6165 * @brief Get field selected_tx_power from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 6166 * @param event packet 6167 * @return selected_tx_power 6168 * @note: btstack_type 1 6169 */ 6170 static inline uint8_t gap_subevent_advertising_set_installed_get_selected_tx_power(const uint8_t * event){ 6171 return event[5]; 6172 } 6173 6174 /** 6175 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_REMOVED 6176 * @param event packet 6177 * @return advertisement_handle 6178 * @note: btstack_type 1 6179 */ 6180 static inline uint8_t gap_subevent_advertising_set_removed_get_advertisement_handle(const uint8_t * event){ 6181 return event[3]; 6182 } 6183 6184 /** 6185 * @brief Get field status from event GAP_SUBEVENT_BIG_CREATED 6186 * @param event packet 6187 * @return status 6188 * @note: btstack_type 1 6189 */ 6190 static inline uint8_t gap_subevent_big_created_get_status(const uint8_t * event){ 6191 return event[3]; 6192 } 6193 /** 6194 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_CREATED 6195 * @param event packet 6196 * @return big_handle 6197 * @note: btstack_type 1 6198 */ 6199 static inline uint8_t gap_subevent_big_created_get_big_handle(const uint8_t * event){ 6200 return event[4]; 6201 } 6202 /** 6203 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_CREATED 6204 * @param event packet 6205 * @return num_bis 6206 * @note: btstack_type 1 6207 */ 6208 static inline uint8_t gap_subevent_big_created_get_num_bis(const uint8_t * event){ 6209 return event[5]; 6210 } 6211 /** 6212 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_CREATED 6213 * @param event packet 6214 * @param index 6215 * @return bis_con_handles 6216 * @note: btstack_type C 6217 */ 6218 static inline uint16_t gap_subevent_big_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 6219 return little_endian_read_16(event, 6 + (2 * (int) index)); 6220 } 6221 6222 /** 6223 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_TERMINATED 6224 * @param event packet 6225 * @return big_handle 6226 * @note: btstack_type 1 6227 */ 6228 static inline uint8_t gap_subevent_big_terminated_get_big_handle(const uint8_t * event){ 6229 return event[3]; 6230 } 6231 6232 /** 6233 * @brief Get field status from event GAP_SUBEVENT_BIG_SYNC_CREATED 6234 * @param event packet 6235 * @return status 6236 * @note: btstack_type 1 6237 */ 6238 static inline uint8_t gap_subevent_big_sync_created_get_status(const uint8_t * event){ 6239 return event[3]; 6240 } 6241 /** 6242 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_CREATED 6243 * @param event packet 6244 * @return big_handle 6245 * @note: btstack_type 1 6246 */ 6247 static inline uint8_t gap_subevent_big_sync_created_get_big_handle(const uint8_t * event){ 6248 return event[4]; 6249 } 6250 /** 6251 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_SYNC_CREATED 6252 * @param event packet 6253 * @return num_bis 6254 * @note: btstack_type 1 6255 */ 6256 static inline uint8_t gap_subevent_big_sync_created_get_num_bis(const uint8_t * event){ 6257 return event[5]; 6258 } 6259 /** 6260 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_SYNC_CREATED 6261 * @param event packet 6262 * @param index 6263 * @return bis_con_handles 6264 * @note: btstack_type C 6265 */ 6266 static inline uint16_t gap_subevent_big_sync_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 6267 return little_endian_read_16(event, 6 + (2 * (int) index)); 6268 } 6269 6270 /** 6271 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_STOPPED 6272 * @param event packet 6273 * @return big_handle 6274 * @note: btstack_type 1 6275 */ 6276 static inline uint8_t gap_subevent_big_sync_stopped_get_big_handle(const uint8_t * event){ 6277 return event[3]; 6278 } 6279 6280 /** 6281 * @brief Get field status from event GAP_SUBEVENT_CIG_CREATED 6282 * @param event packet 6283 * @return status 6284 * @note: btstack_type 1 6285 */ 6286 static inline uint8_t gap_subevent_cig_created_get_status(const uint8_t * event){ 6287 return event[3]; 6288 } 6289 /** 6290 * @brief Get field cig_id from event GAP_SUBEVENT_CIG_CREATED 6291 * @param event packet 6292 * @return cig_id 6293 * @note: btstack_type 1 6294 */ 6295 static inline uint8_t gap_subevent_cig_created_get_cig_id(const uint8_t * event){ 6296 return event[4]; 6297 } 6298 /** 6299 * @brief Get field num_cis from event GAP_SUBEVENT_CIG_CREATED 6300 * @param event packet 6301 * @return num_cis 6302 * @note: btstack_type 1 6303 */ 6304 static inline uint8_t gap_subevent_cig_created_get_num_cis(const uint8_t * event){ 6305 return event[5]; 6306 } 6307 /** 6308 * @brief Get element of array field cis_con_handles from event GAP_SUBEVENT_CIG_CREATED 6309 * @param event packet 6310 * @param index 6311 * @return cis_con_handles 6312 * @note: btstack_type C 6313 */ 6314 static inline uint16_t gap_subevent_cig_created_get_cis_con_handles(const uint8_t * event, uint8_t index){ 6315 return little_endian_read_16(event, 6 + (2 * (int) index)); 6316 } 6317 6318 /** 6319 * @brief Get field status from event GAP_SUBEVENT_CIS_CREATED 6320 * @param event packet 6321 * @return status 6322 * @note: btstack_type 1 6323 */ 6324 static inline uint8_t gap_subevent_cis_created_get_status(const uint8_t * event){ 6325 return event[3]; 6326 } 6327 /** 6328 * @brief Get field cig_id from event GAP_SUBEVENT_CIS_CREATED 6329 * @param event packet 6330 * @return cig_id 6331 * @note: btstack_type 1 6332 */ 6333 static inline uint8_t gap_subevent_cis_created_get_cig_id(const uint8_t * event){ 6334 return event[4]; 6335 } 6336 /** 6337 * @brief Get field cis_id from event GAP_SUBEVENT_CIS_CREATED 6338 * @param event packet 6339 * @return cis_id 6340 * @note: btstack_type 1 6341 */ 6342 static inline uint8_t gap_subevent_cis_created_get_cis_id(const uint8_t * event){ 6343 return event[5]; 6344 } 6345 /** 6346 * @brief Get field cis_con_handle from event GAP_SUBEVENT_CIS_CREATED 6347 * @param event packet 6348 * @return cis_con_handle 6349 * @note: btstack_type H 6350 */ 6351 static inline hci_con_handle_t gap_subevent_cis_created_get_cis_con_handle(const uint8_t * event){ 6352 return little_endian_read_16(event, 6); 6353 } 6354 /** 6355 * @brief Get field acl_con_handle from event GAP_SUBEVENT_CIS_CREATED 6356 * @param event packet 6357 * @return acl_con_handle 6358 * @note: btstack_type H 6359 */ 6360 static inline hci_con_handle_t gap_subevent_cis_created_get_acl_con_handle(const uint8_t * event){ 6361 return little_endian_read_16(event, 8); 6362 } 6363 /** 6364 * @brief Get field iso_interval_1250us from event GAP_SUBEVENT_CIS_CREATED 6365 * @param event packet 6366 * @return iso_interval_1250us 6367 * @note: btstack_type 2 6368 */ 6369 static inline uint16_t gap_subevent_cis_created_get_iso_interval_1250us(const uint8_t * event){ 6370 return little_endian_read_16(event, 10); 6371 } 6372 /** 6373 * @brief Get field number_of_subevents from event GAP_SUBEVENT_CIS_CREATED 6374 * @param event packet 6375 * @return number_of_subevents 6376 * @note: btstack_type 1 6377 */ 6378 static inline uint8_t gap_subevent_cis_created_get_number_of_subevents(const uint8_t * event){ 6379 return event[12]; 6380 } 6381 /** 6382 * @brief Get field burst_number_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6383 * @param event packet 6384 * @return burst_number_c_to_p 6385 * @note: btstack_type 1 6386 */ 6387 static inline uint8_t gap_subevent_cis_created_get_burst_number_c_to_p(const uint8_t * event){ 6388 return event[13]; 6389 } 6390 /** 6391 * @brief Get field burst_number_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6392 * @param event packet 6393 * @return burst_number_p_to_c 6394 * @note: btstack_type 1 6395 */ 6396 static inline uint8_t gap_subevent_cis_created_get_burst_number_p_to_c(const uint8_t * event){ 6397 return event[14]; 6398 } 6399 /** 6400 * @brief Get field flush_timeout_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6401 * @param event packet 6402 * @return flush_timeout_c_to_p 6403 * @note: btstack_type 1 6404 */ 6405 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_c_to_p(const uint8_t * event){ 6406 return event[15]; 6407 } 6408 /** 6409 * @brief Get field flush_timeout_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6410 * @param event packet 6411 * @return flush_timeout_p_to_c 6412 * @note: btstack_type 1 6413 */ 6414 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_p_to_c(const uint8_t * event){ 6415 return event[16]; 6416 } 6417 6418 /** 6419 * @brief Get field status from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6420 * @param event packet 6421 * @return status 6422 * @note: btstack_type 1 6423 */ 6424 static inline uint8_t gap_subevent_le_connection_complete_get_status(const uint8_t * event){ 6425 return event[3]; 6426 } 6427 /** 6428 * @brief Get field connection_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6429 * @param event packet 6430 * @return connection_handle 6431 * @note: btstack_type H 6432 */ 6433 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 6434 return little_endian_read_16(event, 4); 6435 } 6436 /** 6437 * @brief Get field role from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6438 * @param event packet 6439 * @return role 6440 * @note: btstack_type 1 6441 */ 6442 static inline uint8_t gap_subevent_le_connection_complete_get_role(const uint8_t * event){ 6443 return event[6]; 6444 } 6445 /** 6446 * @brief Get field peer_address_type from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6447 * @param event packet 6448 * @return peer_address_type 6449 * @note: btstack_type 1 6450 */ 6451 static inline uint8_t gap_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 6452 return event[7]; 6453 } 6454 /** 6455 * @brief Get field peer_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6456 * @param event packet 6457 * @param Pointer to storage for peer_address 6458 * @note: btstack_type B 6459 */ 6460 static inline void gap_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 6461 reverse_bytes(&event[8], peer_address, 6); 6462 } 6463 /** 6464 * @brief Get field local_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6465 * @param event packet 6466 * @param Pointer to storage for local_resolvable_private_address 6467 * @note: btstack_type B 6468 */ 6469 static inline void gap_subevent_le_connection_complete_get_local_resolvable_private_address(const uint8_t * event, bd_addr_t local_resolvable_private_address){ 6470 reverse_bytes(&event[14], local_resolvable_private_address, 6); 6471 } 6472 /** 6473 * @brief Get field peer_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6474 * @param event packet 6475 * @param Pointer to storage for peer_resolvable_private_address 6476 * @note: btstack_type B 6477 */ 6478 static inline void gap_subevent_le_connection_complete_get_peer_resolvable_private_address(const uint8_t * event, bd_addr_t peer_resolvable_private_address){ 6479 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 6480 } 6481 /** 6482 * @brief Get field conn_interval from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6483 * @param event packet 6484 * @return conn_interval 6485 * @note: btstack_type 2 6486 */ 6487 static inline uint16_t gap_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 6488 return little_endian_read_16(event, 26); 6489 } 6490 /** 6491 * @brief Get field conn_latency from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6492 * @param event packet 6493 * @return conn_latency 6494 * @note: btstack_type 2 6495 */ 6496 static inline uint16_t gap_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 6497 return little_endian_read_16(event, 28); 6498 } 6499 /** 6500 * @brief Get field supervision_timeout from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6501 * @param event packet 6502 * @return supervision_timeout 6503 * @note: btstack_type 2 6504 */ 6505 static inline uint16_t gap_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 6506 return little_endian_read_16(event, 30); 6507 } 6508 /** 6509 * @brief Get field master_clock_accuracy from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6510 * @param event packet 6511 * @return master_clock_accuracy 6512 * @note: btstack_type 1 6513 */ 6514 static inline uint8_t gap_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 6515 return event[32]; 6516 } 6517 /** 6518 * @brief Get field advertising_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6519 * @param event packet 6520 * @return advertising_handle 6521 * @note: btstack_type 1 6522 */ 6523 static inline uint8_t gap_subevent_le_connection_complete_get_advertising_handle(const uint8_t * event){ 6524 return event[33]; 6525 } 6526 /** 6527 * @brief Get field sync_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6528 * @param event packet 6529 * @return sync_handle 6530 * @note: btstack_type H 6531 */ 6532 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_sync_handle(const uint8_t * event){ 6533 return little_endian_read_16(event, 34); 6534 } 6535 6536 /** 6537 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6538 * @param event packet 6539 * @return acl_handle 6540 * @note: btstack_type H 6541 */ 6542 static inline hci_con_handle_t hsp_subevent_rfcomm_connection_complete_get_acl_handle(const uint8_t * event){ 6543 return little_endian_read_16(event, 3); 6544 } 6545 /** 6546 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6547 * @param event packet 6548 * @return status 6549 * @note: btstack_type 1 6550 */ 6551 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 6552 return event[5]; 6553 } 6554 /** 6555 * @brief Get field bd_addr from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6556 * @param event packet 6557 * @param Pointer to storage for bd_addr 6558 * @note: btstack_type B 6559 */ 6560 static inline void hsp_subevent_rfcomm_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6561 reverse_bytes(&event[6], bd_addr, 6); 6562 } 6563 6564 /** 6565 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 6566 * @param event packet 6567 * @return acl_handle 6568 * @note: btstack_type H 6569 */ 6570 static inline hci_con_handle_t hsp_subevent_rfcomm_disconnection_complete_get_acl_handle(const uint8_t * event){ 6571 return little_endian_read_16(event, 3); 6572 } 6573 6574 /** 6575 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6576 * @param event packet 6577 * @return acl_handle 6578 * @note: btstack_type H 6579 */ 6580 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_acl_handle(const uint8_t * event){ 6581 return little_endian_read_16(event, 3); 6582 } 6583 /** 6584 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6585 * @param event packet 6586 * @return status 6587 * @note: btstack_type 1 6588 */ 6589 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 6590 return event[5]; 6591 } 6592 /** 6593 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6594 * @param event packet 6595 * @return sco_handle 6596 * @note: btstack_type H 6597 */ 6598 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_sco_handle(const uint8_t * event){ 6599 return little_endian_read_16(event, 6); 6600 } 6601 6602 /** 6603 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6604 * @param event packet 6605 * @return acl_handle 6606 * @note: btstack_type H 6607 */ 6608 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_acl_handle(const uint8_t * event){ 6609 return little_endian_read_16(event, 3); 6610 } 6611 /** 6612 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6613 * @param event packet 6614 * @return sco_handle 6615 * @note: btstack_type H 6616 */ 6617 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_sco_handle(const uint8_t * event){ 6618 return little_endian_read_16(event, 5); 6619 } 6620 6621 /** 6622 * @brief Get field acl_handle from event HSP_SUBEVENT_RING 6623 * @param event packet 6624 * @return acl_handle 6625 * @note: btstack_type H 6626 */ 6627 static inline hci_con_handle_t hsp_subevent_ring_get_acl_handle(const uint8_t * event){ 6628 return little_endian_read_16(event, 3); 6629 } 6630 6631 /** 6632 * @brief Get field acl_handle from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6633 * @param event packet 6634 * @return acl_handle 6635 * @note: btstack_type H 6636 */ 6637 static inline hci_con_handle_t hsp_subevent_microphone_gain_changed_get_acl_handle(const uint8_t * event){ 6638 return little_endian_read_16(event, 3); 6639 } 6640 /** 6641 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6642 * @param event packet 6643 * @return gain 6644 * @note: btstack_type 1 6645 */ 6646 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 6647 return event[5]; 6648 } 6649 6650 /** 6651 * @brief Get field acl_handle from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6652 * @param event packet 6653 * @return acl_handle 6654 * @note: btstack_type H 6655 */ 6656 static inline hci_con_handle_t hsp_subevent_speaker_gain_changed_get_acl_handle(const uint8_t * event){ 6657 return little_endian_read_16(event, 3); 6658 } 6659 /** 6660 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6661 * @param event packet 6662 * @return gain 6663 * @note: btstack_type 1 6664 */ 6665 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 6666 return event[5]; 6667 } 6668 6669 /** 6670 * @brief Get field acl_handle from event HSP_SUBEVENT_HS_COMMAND 6671 * @param event packet 6672 * @return acl_handle 6673 * @note: btstack_type H 6674 */ 6675 static inline hci_con_handle_t hsp_subevent_hs_command_get_acl_handle(const uint8_t * event){ 6676 return little_endian_read_16(event, 3); 6677 } 6678 /** 6679 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 6680 * @param event packet 6681 * @return value_length 6682 * @note: btstack_type J 6683 */ 6684 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 6685 return event[5]; 6686 } 6687 /** 6688 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 6689 * @param event packet 6690 * @return value 6691 * @note: btstack_type V 6692 */ 6693 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 6694 return &event[6]; 6695 } 6696 6697 /** 6698 * @brief Get field acl_handle from event HSP_SUBEVENT_AG_INDICATION 6699 * @param event packet 6700 * @return acl_handle 6701 * @note: btstack_type H 6702 */ 6703 static inline hci_con_handle_t hsp_subevent_ag_indication_get_acl_handle(const uint8_t * event){ 6704 return little_endian_read_16(event, 3); 6705 } 6706 /** 6707 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 6708 * @param event packet 6709 * @return value_length 6710 * @note: btstack_type J 6711 */ 6712 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 6713 return event[5]; 6714 } 6715 /** 6716 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 6717 * @param event packet 6718 * @return value 6719 * @note: btstack_type V 6720 */ 6721 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 6722 return &event[6]; 6723 } 6724 6725 /** 6726 * @brief Get field acl_handle from event HSP_SUBEVENT_BUTTON_PRESSED 6727 * @param event packet 6728 * @return acl_handle 6729 * @note: btstack_type H 6730 */ 6731 static inline hci_con_handle_t hsp_subevent_button_pressed_get_acl_handle(const uint8_t * event){ 6732 return little_endian_read_16(event, 3); 6733 } 6734 6735 /** 6736 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6737 * @param event packet 6738 * @return acl_handle 6739 * @note: btstack_type H 6740 */ 6741 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_acl_handle(const uint8_t * event){ 6742 return little_endian_read_16(event, 3); 6743 } 6744 /** 6745 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6746 * @param event packet 6747 * @return status 6748 * @note: btstack_type 1 6749 */ 6750 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 6751 return event[5]; 6752 } 6753 /** 6754 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6755 * @param event packet 6756 * @param Pointer to storage for bd_addr 6757 * @note: btstack_type B 6758 */ 6759 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6760 reverse_bytes(&event[6], bd_addr, 6); 6761 } 6762 6763 /** 6764 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 6765 * @param event packet 6766 * @return acl_handle 6767 * @note: btstack_type H 6768 */ 6769 static inline hci_con_handle_t hfp_subevent_service_level_connection_released_get_acl_handle(const uint8_t * event){ 6770 return little_endian_read_16(event, 3); 6771 } 6772 6773 /** 6774 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6775 * @param event packet 6776 * @return acl_handle 6777 * @note: btstack_type H 6778 */ 6779 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_acl_handle(const uint8_t * event){ 6780 return little_endian_read_16(event, 3); 6781 } 6782 /** 6783 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6784 * @param event packet 6785 * @return status 6786 * @note: btstack_type 1 6787 */ 6788 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 6789 return event[5]; 6790 } 6791 /** 6792 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6793 * @param event packet 6794 * @return sco_handle 6795 * @note: btstack_type H 6796 */ 6797 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_sco_handle(const uint8_t * event){ 6798 return little_endian_read_16(event, 6); 6799 } 6800 /** 6801 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6802 * @param event packet 6803 * @param Pointer to storage for bd_addr 6804 * @note: btstack_type B 6805 */ 6806 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6807 reverse_bytes(&event[8], bd_addr, 6); 6808 } 6809 /** 6810 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6811 * @param event packet 6812 * @return negotiated_codec 6813 * @note: btstack_type 1 6814 */ 6815 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 6816 return event[14]; 6817 } 6818 /** 6819 * @brief Get field sco_packet_types from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6820 * @param event packet 6821 * @return sco_packet_types 6822 * @note: btstack_type 2 6823 */ 6824 static inline uint16_t hfp_subevent_audio_connection_established_get_sco_packet_types(const uint8_t * event){ 6825 return little_endian_read_16(event, 15); 6826 } 6827 /** 6828 * @brief Get field rx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6829 * @param event packet 6830 * @return rx_packet_length 6831 * @note: btstack_type 2 6832 */ 6833 static inline uint16_t hfp_subevent_audio_connection_established_get_rx_packet_length(const uint8_t * event){ 6834 return little_endian_read_16(event, 17); 6835 } 6836 /** 6837 * @brief Get field tx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6838 * @param event packet 6839 * @return tx_packet_length 6840 * @note: btstack_type 2 6841 */ 6842 static inline uint16_t hfp_subevent_audio_connection_established_get_tx_packet_length(const uint8_t * event){ 6843 return little_endian_read_16(event, 19); 6844 } 6845 6846 /** 6847 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6848 * @param event packet 6849 * @return acl_handle 6850 * @note: btstack_type H 6851 */ 6852 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_acl_handle(const uint8_t * event){ 6853 return little_endian_read_16(event, 3); 6854 } 6855 /** 6856 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6857 * @param event packet 6858 * @return sco_handle 6859 * @note: btstack_type H 6860 */ 6861 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_sco_handle(const uint8_t * event){ 6862 return little_endian_read_16(event, 5); 6863 } 6864 6865 /** 6866 * @brief Get field acl_handle from event HFP_SUBEVENT_COMPLETE 6867 * @param event packet 6868 * @return acl_handle 6869 * @note: btstack_type H 6870 */ 6871 static inline hci_con_handle_t hfp_subevent_complete_get_acl_handle(const uint8_t * event){ 6872 return little_endian_read_16(event, 3); 6873 } 6874 /** 6875 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 6876 * @param event packet 6877 * @return status 6878 * @note: btstack_type 1 6879 */ 6880 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 6881 return event[5]; 6882 } 6883 6884 /** 6885 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6886 * @param event packet 6887 * @return acl_handle 6888 * @note: btstack_type H 6889 */ 6890 static inline hci_con_handle_t hfp_subevent_ag_indicator_mapping_get_acl_handle(const uint8_t * event){ 6891 return little_endian_read_16(event, 3); 6892 } 6893 /** 6894 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6895 * @param event packet 6896 * @return indicator_index 6897 * @note: btstack_type 1 6898 */ 6899 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_index(const uint8_t * event){ 6900 return event[5]; 6901 } 6902 /** 6903 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6904 * @param event packet 6905 * @return indicator_min_range 6906 * @note: btstack_type 1 6907 */ 6908 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_min_range(const uint8_t * event){ 6909 return event[6]; 6910 } 6911 /** 6912 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6913 * @param event packet 6914 * @return indicator_max_range 6915 * @note: btstack_type 1 6916 */ 6917 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_max_range(const uint8_t * event){ 6918 return event[7]; 6919 } 6920 /** 6921 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6922 * @param event packet 6923 * @return indicator_name 6924 * @note: btstack_type T 6925 */ 6926 static inline const char * hfp_subevent_ag_indicator_mapping_get_indicator_name(const uint8_t * event){ 6927 return (const char *) &event[8]; 6928 } 6929 6930 /** 6931 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6932 * @param event packet 6933 * @return acl_handle 6934 * @note: btstack_type H 6935 */ 6936 static inline hci_con_handle_t hfp_subevent_ag_indicator_status_changed_get_acl_handle(const uint8_t * event){ 6937 return little_endian_read_16(event, 3); 6938 } 6939 /** 6940 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6941 * @param event packet 6942 * @return indicator_index 6943 * @note: btstack_type 1 6944 */ 6945 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 6946 return event[5]; 6947 } 6948 /** 6949 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6950 * @param event packet 6951 * @return indicator_status 6952 * @note: btstack_type 1 6953 */ 6954 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 6955 return event[6]; 6956 } 6957 /** 6958 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6959 * @param event packet 6960 * @return indicator_min_range 6961 * @note: btstack_type 1 6962 */ 6963 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 6964 return event[7]; 6965 } 6966 /** 6967 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6968 * @param event packet 6969 * @return indicator_max_range 6970 * @note: btstack_type 1 6971 */ 6972 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 6973 return event[8]; 6974 } 6975 /** 6976 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6977 * @param event packet 6978 * @return indicator_mandatory 6979 * @note: btstack_type 1 6980 */ 6981 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 6982 return event[9]; 6983 } 6984 /** 6985 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6986 * @param event packet 6987 * @return indicator_enabled 6988 * @note: btstack_type 1 6989 */ 6990 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 6991 return event[10]; 6992 } 6993 /** 6994 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6995 * @param event packet 6996 * @return indicator_status_changed 6997 * @note: btstack_type 1 6998 */ 6999 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 7000 return event[11]; 7001 } 7002 /** 7003 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 7004 * @param event packet 7005 * @return indicator_name 7006 * @note: btstack_type T 7007 */ 7008 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 7009 return (const char *) &event[12]; 7010 } 7011 7012 /** 7013 * @brief Get field acl_handle from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 7014 * @param event packet 7015 * @return acl_handle 7016 * @note: btstack_type H 7017 */ 7018 static inline hci_con_handle_t hfp_subevent_network_operator_changed_get_acl_handle(const uint8_t * event){ 7019 return little_endian_read_16(event, 3); 7020 } 7021 /** 7022 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 7023 * @param event packet 7024 * @return network_operator_mode 7025 * @note: btstack_type 1 7026 */ 7027 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 7028 return event[5]; 7029 } 7030 /** 7031 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 7032 * @param event packet 7033 * @return network_operator_format 7034 * @note: btstack_type 1 7035 */ 7036 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 7037 return event[6]; 7038 } 7039 /** 7040 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 7041 * @param event packet 7042 * @return network_operator_name 7043 * @note: btstack_type T 7044 */ 7045 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 7046 return (const char *) &event[7]; 7047 } 7048 7049 /** 7050 * @brief Get field acl_handle from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 7051 * @param event packet 7052 * @return acl_handle 7053 * @note: btstack_type H 7054 */ 7055 static inline hci_con_handle_t hfp_subevent_extended_audio_gateway_error_get_acl_handle(const uint8_t * event){ 7056 return little_endian_read_16(event, 3); 7057 } 7058 /** 7059 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 7060 * @param event packet 7061 * @return error 7062 * @note: btstack_type 1 7063 */ 7064 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 7065 return event[5]; 7066 } 7067 7068 /** 7069 * @brief Get field acl_handle from event HFP_SUBEVENT_START_RINGING 7070 * @param event packet 7071 * @return acl_handle 7072 * @note: btstack_type H 7073 */ 7074 static inline hci_con_handle_t hfp_subevent_start_ringing_get_acl_handle(const uint8_t * event){ 7075 return little_endian_read_16(event, 3); 7076 } 7077 7078 /** 7079 * @brief Get field acl_handle from event HFP_SUBEVENT_RING 7080 * @param event packet 7081 * @return acl_handle 7082 * @note: btstack_type H 7083 */ 7084 static inline hci_con_handle_t hfp_subevent_ring_get_acl_handle(const uint8_t * event){ 7085 return little_endian_read_16(event, 3); 7086 } 7087 7088 /** 7089 * @brief Get field acl_handle from event HFP_SUBEVENT_STOP_RINGING 7090 * @param event packet 7091 * @return acl_handle 7092 * @note: btstack_type H 7093 */ 7094 static inline hci_con_handle_t hfp_subevent_stop_ringing_get_acl_handle(const uint8_t * event){ 7095 return little_endian_read_16(event, 3); 7096 } 7097 7098 /** 7099 * @brief Get field acl_handle from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 7100 * @param event packet 7101 * @return acl_handle 7102 * @note: btstack_type H 7103 */ 7104 static inline hci_con_handle_t hfp_subevent_place_call_with_number_get_acl_handle(const uint8_t * event){ 7105 return little_endian_read_16(event, 3); 7106 } 7107 /** 7108 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 7109 * @param event packet 7110 * @return number 7111 * @note: btstack_type T 7112 */ 7113 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 7114 return (const char *) &event[5]; 7115 } 7116 7117 /** 7118 * @brief Get field acl_handle from event HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 7119 * @param event packet 7120 * @return acl_handle 7121 * @note: btstack_type H 7122 */ 7123 static inline hci_con_handle_t hfp_subevent_attach_number_to_voice_tag_get_acl_handle(const uint8_t * event){ 7124 return little_endian_read_16(event, 3); 7125 } 7126 7127 /** 7128 * @brief Get field acl_handle from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 7129 * @param event packet 7130 * @return acl_handle 7131 * @note: btstack_type H 7132 */ 7133 static inline hci_con_handle_t hfp_subevent_number_for_voice_tag_get_acl_handle(const uint8_t * event){ 7134 return little_endian_read_16(event, 3); 7135 } 7136 /** 7137 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 7138 * @param event packet 7139 * @return number 7140 * @note: btstack_type T 7141 */ 7142 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 7143 return (const char *) &event[5]; 7144 } 7145 7146 /** 7147 * @brief Get field acl_handle from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 7148 * @param event packet 7149 * @return acl_handle 7150 * @note: btstack_type H 7151 */ 7152 static inline hci_con_handle_t hfp_subevent_transmit_dtmf_codes_get_acl_handle(const uint8_t * event){ 7153 return little_endian_read_16(event, 3); 7154 } 7155 /** 7156 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 7157 * @param event packet 7158 * @return dtmf 7159 * @note: btstack_type T 7160 */ 7161 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 7162 return (const char *) &event[5]; 7163 } 7164 7165 /** 7166 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_ANSWERED 7167 * @param event packet 7168 * @return acl_handle 7169 * @note: btstack_type H 7170 */ 7171 static inline hci_con_handle_t hfp_subevent_call_answered_get_acl_handle(const uint8_t * event){ 7172 return little_endian_read_16(event, 3); 7173 } 7174 7175 /** 7176 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_TERMINATED 7177 * @param event packet 7178 * @return acl_handle 7179 * @note: btstack_type H 7180 */ 7181 static inline hci_con_handle_t hfp_subevent_call_terminated_get_acl_handle(const uint8_t * event){ 7182 return little_endian_read_16(event, 3); 7183 } 7184 7185 /** 7186 * @brief Get field acl_handle from event HFP_SUBEVENT_CONFERENCE_CALL 7187 * @param event packet 7188 * @return acl_handle 7189 * @note: btstack_type H 7190 */ 7191 static inline hci_con_handle_t hfp_subevent_conference_call_get_acl_handle(const uint8_t * event){ 7192 return little_endian_read_16(event, 3); 7193 } 7194 7195 /** 7196 * @brief Get field acl_handle from event HFP_SUBEVENT_SPEAKER_VOLUME 7197 * @param event packet 7198 * @return acl_handle 7199 * @note: btstack_type H 7200 */ 7201 static inline hci_con_handle_t hfp_subevent_speaker_volume_get_acl_handle(const uint8_t * event){ 7202 return little_endian_read_16(event, 3); 7203 } 7204 /** 7205 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 7206 * @param event packet 7207 * @return gain 7208 * @note: btstack_type 1 7209 */ 7210 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 7211 return event[5]; 7212 } 7213 7214 /** 7215 * @brief Get field acl_handle from event HFP_SUBEVENT_MICROPHONE_VOLUME 7216 * @param event packet 7217 * @return acl_handle 7218 * @note: btstack_type H 7219 */ 7220 static inline hci_con_handle_t hfp_subevent_microphone_volume_get_acl_handle(const uint8_t * event){ 7221 return little_endian_read_16(event, 3); 7222 } 7223 /** 7224 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 7225 * @param event packet 7226 * @return gain 7227 * @note: btstack_type 1 7228 */ 7229 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 7230 return event[5]; 7231 } 7232 7233 /** 7234 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7235 * @param event packet 7236 * @return acl_handle 7237 * @note: btstack_type H 7238 */ 7239 static inline hci_con_handle_t hfp_subevent_call_waiting_notification_get_acl_handle(const uint8_t * event){ 7240 return little_endian_read_16(event, 3); 7241 } 7242 /** 7243 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7244 * @param event packet 7245 * @return type 7246 * @note: btstack_type 1 7247 */ 7248 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 7249 return event[5]; 7250 } 7251 /** 7252 * @brief Get field number_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7253 * @param event packet 7254 * @return number_length 7255 * @note: btstack_type J 7256 */ 7257 static inline uint8_t hfp_subevent_call_waiting_notification_get_number_length(const uint8_t * event){ 7258 return event[6]; 7259 } 7260 /** 7261 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7262 * @param event packet 7263 * @return number 7264 * @note: btstack_type V 7265 */ 7266 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 7267 return &event[7]; 7268 } 7269 /** 7270 * @brief Get field alpha_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7271 * @param event packet 7272 * @return alpha_length 7273 * @note: btstack_type J 7274 */ 7275 static inline uint8_t hfp_subevent_call_waiting_notification_get_alpha_length(const uint8_t * event){ 7276 return event[7u + event[6]]; 7277 } 7278 /** 7279 * @brief Get field alpha from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7280 * @param event packet 7281 * @return alpha 7282 * @note: btstack_type V 7283 */ 7284 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_alpha(const uint8_t * event){ 7285 return &event[7u + event[6] + 1u]; 7286 } 7287 7288 /** 7289 * @brief Get field acl_handle from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7290 * @param event packet 7291 * @return acl_handle 7292 * @note: btstack_type H 7293 */ 7294 static inline hci_con_handle_t hfp_subevent_calling_line_identification_notification_get_acl_handle(const uint8_t * event){ 7295 return little_endian_read_16(event, 3); 7296 } 7297 /** 7298 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7299 * @param event packet 7300 * @return type 7301 * @note: btstack_type 1 7302 */ 7303 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 7304 return event[5]; 7305 } 7306 /** 7307 * @brief Get field number_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7308 * @param event packet 7309 * @return number_length 7310 * @note: btstack_type J 7311 */ 7312 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_number_length(const uint8_t * event){ 7313 return event[6]; 7314 } 7315 /** 7316 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7317 * @param event packet 7318 * @return number 7319 * @note: btstack_type V 7320 */ 7321 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 7322 return &event[7]; 7323 } 7324 /** 7325 * @brief Get field alpha_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7326 * @param event packet 7327 * @return alpha_length 7328 * @note: btstack_type J 7329 */ 7330 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_alpha_length(const uint8_t * event){ 7331 return event[7u + event[6]]; 7332 } 7333 /** 7334 * @brief Get field alpha from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7335 * @param event packet 7336 * @return alpha 7337 * @note: btstack_type V 7338 */ 7339 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_alpha(const uint8_t * event){ 7340 return &event[7u + event[6] + 1u]; 7341 } 7342 7343 /** 7344 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7345 * @param event packet 7346 * @return acl_handle 7347 * @note: btstack_type H 7348 */ 7349 static inline hci_con_handle_t hfp_subevent_enhanced_call_status_get_acl_handle(const uint8_t * event){ 7350 return little_endian_read_16(event, 3); 7351 } 7352 /** 7353 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7354 * @param event packet 7355 * @return clcc_idx 7356 * @note: btstack_type 1 7357 */ 7358 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 7359 return event[5]; 7360 } 7361 /** 7362 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7363 * @param event packet 7364 * @return clcc_dir 7365 * @note: btstack_type 1 7366 */ 7367 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 7368 return event[6]; 7369 } 7370 /** 7371 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7372 * @param event packet 7373 * @return clcc_status 7374 * @note: btstack_type 1 7375 */ 7376 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 7377 return event[7]; 7378 } 7379 /** 7380 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7381 * @param event packet 7382 * @return clcc_mode 7383 * @note: btstack_type 1 7384 */ 7385 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 7386 return event[8]; 7387 } 7388 /** 7389 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7390 * @param event packet 7391 * @return clcc_mpty 7392 * @note: btstack_type 1 7393 */ 7394 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 7395 return event[9]; 7396 } 7397 /** 7398 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7399 * @param event packet 7400 * @return bnip_type 7401 * @note: btstack_type 1 7402 */ 7403 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 7404 return event[10]; 7405 } 7406 /** 7407 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7408 * @param event packet 7409 * @return bnip_number 7410 * @note: btstack_type T 7411 */ 7412 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 7413 return (const char *) &event[11]; 7414 } 7415 7416 /** 7417 * @brief Get field acl_handle from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7418 * @param event packet 7419 * @return acl_handle 7420 * @note: btstack_type H 7421 */ 7422 static inline hci_con_handle_t hfp_subevent_subscriber_number_information_get_acl_handle(const uint8_t * event){ 7423 return little_endian_read_16(event, 3); 7424 } 7425 /** 7426 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7427 * @param event packet 7428 * @return status 7429 * @note: btstack_type 1 7430 */ 7431 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 7432 return event[5]; 7433 } 7434 /** 7435 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7436 * @param event packet 7437 * @return bnip_type 7438 * @note: btstack_type 1 7439 */ 7440 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 7441 return event[6]; 7442 } 7443 /** 7444 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7445 * @param event packet 7446 * @return bnip_number 7447 * @note: btstack_type T 7448 */ 7449 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 7450 return (const char *) &event[7]; 7451 } 7452 7453 /** 7454 * @brief Get field acl_handle from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7455 * @param event packet 7456 * @return acl_handle 7457 * @note: btstack_type H 7458 */ 7459 static inline hci_con_handle_t hfp_subevent_response_and_hold_status_get_acl_handle(const uint8_t * event){ 7460 return little_endian_read_16(event, 3); 7461 } 7462 /** 7463 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7464 * @param event packet 7465 * @return value 7466 * @note: btstack_type T 7467 */ 7468 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 7469 return (const char *) &event[5]; 7470 } 7471 7472 /** 7473 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_SENT 7474 * @param event packet 7475 * @return acl_handle 7476 * @note: btstack_type H 7477 */ 7478 static inline hci_con_handle_t hfp_subevent_at_message_sent_get_acl_handle(const uint8_t * event){ 7479 return little_endian_read_16(event, 3); 7480 } 7481 /** 7482 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_SENT 7483 * @param event packet 7484 * @return command 7485 * @note: btstack_type T 7486 */ 7487 static inline const char * hfp_subevent_at_message_sent_get_command(const uint8_t * event){ 7488 return (const char *) &event[5]; 7489 } 7490 7491 /** 7492 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7493 * @param event packet 7494 * @return acl_handle 7495 * @note: btstack_type H 7496 */ 7497 static inline hci_con_handle_t hfp_subevent_at_message_received_get_acl_handle(const uint8_t * event){ 7498 return little_endian_read_16(event, 3); 7499 } 7500 /** 7501 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7502 * @param event packet 7503 * @return command 7504 * @note: btstack_type T 7505 */ 7506 static inline const char * hfp_subevent_at_message_received_get_command(const uint8_t * event){ 7507 return (const char *) &event[5]; 7508 } 7509 7510 /** 7511 * @brief Get field acl_handle from event HFP_SUBEVENT_IN_BAND_RING_TONE 7512 * @param event packet 7513 * @return acl_handle 7514 * @note: btstack_type H 7515 */ 7516 static inline hci_con_handle_t hfp_subevent_in_band_ring_tone_get_acl_handle(const uint8_t * event){ 7517 return little_endian_read_16(event, 3); 7518 } 7519 /** 7520 * @brief Get field status from event HFP_SUBEVENT_IN_BAND_RING_TONE 7521 * @param event packet 7522 * @return status 7523 * @note: btstack_type 1 7524 */ 7525 static inline uint8_t hfp_subevent_in_band_ring_tone_get_status(const uint8_t * event){ 7526 return event[5]; 7527 } 7528 7529 /** 7530 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7531 * @param event packet 7532 * @return acl_handle 7533 * @note: btstack_type H 7534 */ 7535 static inline hci_con_handle_t hfp_subevent_voice_recognition_activated_get_acl_handle(const uint8_t * event){ 7536 return little_endian_read_16(event, 3); 7537 } 7538 /** 7539 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7540 * @param event packet 7541 * @return status 7542 * @note: btstack_type 1 7543 */ 7544 static inline uint8_t hfp_subevent_voice_recognition_activated_get_status(const uint8_t * event){ 7545 return event[5]; 7546 } 7547 /** 7548 * @brief Get field enhanced from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7549 * @param event packet 7550 * @return enhanced 7551 * @note: btstack_type 1 7552 */ 7553 static inline uint8_t hfp_subevent_voice_recognition_activated_get_enhanced(const uint8_t * event){ 7554 return event[6]; 7555 } 7556 7557 /** 7558 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7559 * @param event packet 7560 * @return acl_handle 7561 * @note: btstack_type H 7562 */ 7563 static inline hci_con_handle_t hfp_subevent_voice_recognition_deactivated_get_acl_handle(const uint8_t * event){ 7564 return little_endian_read_16(event, 3); 7565 } 7566 /** 7567 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7568 * @param event packet 7569 * @return status 7570 * @note: btstack_type 1 7571 */ 7572 static inline uint8_t hfp_subevent_voice_recognition_deactivated_get_status(const uint8_t * event){ 7573 return event[5]; 7574 } 7575 7576 /** 7577 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7578 * @param event packet 7579 * @return acl_handle 7580 * @note: btstack_type H 7581 */ 7582 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_acl_handle(const uint8_t * event){ 7583 return little_endian_read_16(event, 3); 7584 } 7585 /** 7586 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7587 * @param event packet 7588 * @return status 7589 * @note: btstack_type 1 7590 */ 7591 static inline uint8_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_status(const uint8_t * event){ 7592 return event[5]; 7593 } 7594 7595 /** 7596 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7597 * @param event packet 7598 * @return acl_handle 7599 * @note: btstack_type H 7600 */ 7601 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_acl_handle(const uint8_t * event){ 7602 return little_endian_read_16(event, 3); 7603 } 7604 /** 7605 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7606 * @param event packet 7607 * @return status 7608 * @note: btstack_type 1 7609 */ 7610 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_status(const uint8_t * event){ 7611 return event[5]; 7612 } 7613 7614 /** 7615 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7616 * @param event packet 7617 * @return acl_handle 7618 * @note: btstack_type H 7619 */ 7620 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_acl_handle(const uint8_t * event){ 7621 return little_endian_read_16(event, 3); 7622 } 7623 /** 7624 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7625 * @param event packet 7626 * @return status 7627 * @note: btstack_type 1 7628 */ 7629 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_status(const uint8_t * event){ 7630 return event[5]; 7631 } 7632 7633 /** 7634 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7635 * @param event packet 7636 * @return acl_handle 7637 * @note: btstack_type H 7638 */ 7639 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_acl_handle(const uint8_t * event){ 7640 return little_endian_read_16(event, 3); 7641 } 7642 /** 7643 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7644 * @param event packet 7645 * @return status 7646 * @note: btstack_type 1 7647 */ 7648 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_status(const uint8_t * event){ 7649 return event[5]; 7650 } 7651 7652 /** 7653 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7654 * @param event packet 7655 * @return acl_handle 7656 * @note: btstack_type H 7657 */ 7658 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_acl_handle(const uint8_t * event){ 7659 return little_endian_read_16(event, 3); 7660 } 7661 /** 7662 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7663 * @param event packet 7664 * @return status 7665 * @note: btstack_type 1 7666 */ 7667 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_status(const uint8_t * event){ 7668 return event[5]; 7669 } 7670 7671 /** 7672 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7673 * @param event packet 7674 * @return acl_handle 7675 * @note: btstack_type H 7676 */ 7677 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_get_acl_handle(const uint8_t * event){ 7678 return little_endian_read_16(event, 3); 7679 } 7680 /** 7681 * @brief Get field text_id from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7682 * @param event packet 7683 * @return text_id 7684 * @note: btstack_type 2 7685 */ 7686 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_id(const uint8_t * event){ 7687 return little_endian_read_16(event, 5); 7688 } 7689 /** 7690 * @brief Get field text_type from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7691 * @param event packet 7692 * @return text_type 7693 * @note: btstack_type 1 7694 */ 7695 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_type(const uint8_t * event){ 7696 return event[7]; 7697 } 7698 /** 7699 * @brief Get field text_operation from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7700 * @param event packet 7701 * @return text_operation 7702 * @note: btstack_type 1 7703 */ 7704 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_operation(const uint8_t * event){ 7705 return event[8]; 7706 } 7707 /** 7708 * @brief Get field text_length from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7709 * @param event packet 7710 * @return text_length 7711 * @note: btstack_type L 7712 */ 7713 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_length(const uint8_t * event){ 7714 return little_endian_read_16(event, 9); 7715 } 7716 /** 7717 * @brief Get field text from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7718 * @param event packet 7719 * @return text 7720 * @note: btstack_type V 7721 */ 7722 static inline const uint8_t * hfp_subevent_enhanced_voice_recognition_ag_message_get_text(const uint8_t * event){ 7723 return &event[11]; 7724 } 7725 7726 /** 7727 * @brief Get field acl_handle from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7728 * @param event packet 7729 * @return acl_handle 7730 * @note: btstack_type H 7731 */ 7732 static inline hci_con_handle_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_acl_handle(const uint8_t * event){ 7733 return little_endian_read_16(event, 3); 7734 } 7735 /** 7736 * @brief Get field status from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7737 * @param event packet 7738 * @return status 7739 * @note: btstack_type 1 7740 */ 7741 static inline uint8_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_status(const uint8_t * event){ 7742 return event[5]; 7743 } 7744 7745 /** 7746 * @brief Get field acl_handle from event HFP_SUBEVENT_HF_INDICATOR 7747 * @param event packet 7748 * @return acl_handle 7749 * @note: btstack_type H 7750 */ 7751 static inline hci_con_handle_t hfp_subevent_hf_indicator_get_acl_handle(const uint8_t * event){ 7752 return little_endian_read_16(event, 3); 7753 } 7754 /** 7755 * @brief Get field uuid from event HFP_SUBEVENT_HF_INDICATOR 7756 * @param event packet 7757 * @return uuid 7758 * @note: btstack_type 2 7759 */ 7760 static inline uint16_t hfp_subevent_hf_indicator_get_uuid(const uint8_t * event){ 7761 return little_endian_read_16(event, 5); 7762 } 7763 /** 7764 * @brief Get field value from event HFP_SUBEVENT_HF_INDICATOR 7765 * @param event packet 7766 * @return value 7767 * @note: btstack_type 1 7768 */ 7769 static inline uint8_t hfp_subevent_hf_indicator_get_value(const uint8_t * event){ 7770 return event[7]; 7771 } 7772 7773 /** 7774 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7775 * @param event packet 7776 * @return acl_handle 7777 * @note: btstack_type H 7778 */ 7779 static inline hci_con_handle_t hfp_subevent_custom_at_command_get_acl_handle(const uint8_t * event){ 7780 return little_endian_read_16(event, 3); 7781 } 7782 /** 7783 * @brief Get field command_id from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7784 * @param event packet 7785 * @return command_id 7786 * @note: btstack_type 2 7787 */ 7788 static inline uint16_t hfp_subevent_custom_at_command_get_command_id(const uint8_t * event){ 7789 return little_endian_read_16(event, 5); 7790 } 7791 /** 7792 * @brief Get field command_string from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7793 * @param event packet 7794 * @return command_string 7795 * @note: btstack_type T 7796 */ 7797 static inline const char * hfp_subevent_custom_at_command_get_command_string(const uint8_t * event){ 7798 return (const char *) &event[7]; 7799 } 7800 7801 /** 7802 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7803 * @param event packet 7804 * @return acl_handle 7805 * @note: btstack_type H 7806 */ 7807 static inline hci_con_handle_t hfp_subevent_custom_at_message_sent_get_acl_handle(const uint8_t * event){ 7808 return little_endian_read_16(event, 3); 7809 } 7810 /** 7811 * @brief Get field status from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7812 * @param event packet 7813 * @return status 7814 * @note: btstack_type 1 7815 */ 7816 static inline uint8_t hfp_subevent_custom_at_message_sent_get_status(const uint8_t * event){ 7817 return event[5]; 7818 } 7819 7820 /** 7821 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7822 * @param event packet 7823 * @return acl_handle 7824 * @note: btstack_type H 7825 */ 7826 static inline hci_con_handle_t hfp_subevent_apple_extension_supported_get_acl_handle(const uint8_t * event){ 7827 return little_endian_read_16(event, 3); 7828 } 7829 /** 7830 * @brief Get field supported from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7831 * @param event packet 7832 * @return supported 7833 * @note: btstack_type 1 7834 */ 7835 static inline uint8_t hfp_subevent_apple_extension_supported_get_supported(const uint8_t * event){ 7836 return event[5]; 7837 } 7838 7839 /** 7840 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7841 * @param event packet 7842 * @return acl_handle 7843 * @note: btstack_type H 7844 */ 7845 static inline hci_con_handle_t hfp_subevent_apple_accessory_information_get_acl_handle(const uint8_t * event){ 7846 return little_endian_read_16(event, 3); 7847 } 7848 /** 7849 * @brief Get field vendor_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7850 * @param event packet 7851 * @return vendor_id 7852 * @note: btstack_type 2 7853 */ 7854 static inline uint16_t hfp_subevent_apple_accessory_information_get_vendor_id(const uint8_t * event){ 7855 return little_endian_read_16(event, 5); 7856 } 7857 /** 7858 * @brief Get field product_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7859 * @param event packet 7860 * @return product_id 7861 * @note: btstack_type 2 7862 */ 7863 static inline uint16_t hfp_subevent_apple_accessory_information_get_product_id(const uint8_t * event){ 7864 return little_endian_read_16(event, 7); 7865 } 7866 /** 7867 * @brief Get field features from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7868 * @param event packet 7869 * @return features 7870 * @note: btstack_type 1 7871 */ 7872 static inline uint8_t hfp_subevent_apple_accessory_information_get_features(const uint8_t * event){ 7873 return event[9]; 7874 } 7875 /** 7876 * @brief Get field version_len from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7877 * @param event packet 7878 * @return version_len 7879 * @note: btstack_type J 7880 */ 7881 static inline uint8_t hfp_subevent_apple_accessory_information_get_version_len(const uint8_t * event){ 7882 return event[10]; 7883 } 7884 /** 7885 * @brief Get field version from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7886 * @param event packet 7887 * @return version 7888 * @note: btstack_type V 7889 */ 7890 static inline const uint8_t * hfp_subevent_apple_accessory_information_get_version(const uint8_t * event){ 7891 return &event[11]; 7892 } 7893 7894 /** 7895 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7896 * @param event packet 7897 * @return acl_handle 7898 * @note: btstack_type H 7899 */ 7900 static inline hci_con_handle_t hfp_subevent_apple_battery_level_get_acl_handle(const uint8_t * event){ 7901 return little_endian_read_16(event, 3); 7902 } 7903 /** 7904 * @brief Get field battery_level from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7905 * @param event packet 7906 * @return battery_level 7907 * @note: btstack_type 1 7908 */ 7909 static inline uint8_t hfp_subevent_apple_battery_level_get_battery_level(const uint8_t * event){ 7910 return event[5]; 7911 } 7912 7913 /** 7914 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7915 * @param event packet 7916 * @return acl_handle 7917 * @note: btstack_type H 7918 */ 7919 static inline hci_con_handle_t hfp_subevent_apple_docked_state_get_acl_handle(const uint8_t * event){ 7920 return little_endian_read_16(event, 3); 7921 } 7922 /** 7923 * @brief Get field docket from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7924 * @param event packet 7925 * @return docket 7926 * @note: btstack_type 1 7927 */ 7928 static inline uint8_t hfp_subevent_apple_docked_state_get_docket(const uint8_t * event){ 7929 return event[5]; 7930 } 7931 7932 #ifdef ENABLE_BLE 7933 /** 7934 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 7935 * @param event packet 7936 * @return handle 7937 * @note: btstack_type H 7938 */ 7939 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 7940 return little_endian_read_16(event, 3); 7941 } 7942 #endif 7943 7944 #ifdef ENABLE_BLE 7945 /** 7946 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7947 * @param event packet 7948 * @return handle 7949 * @note: btstack_type H 7950 */ 7951 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 7952 return little_endian_read_16(event, 3); 7953 } 7954 /** 7955 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7956 * @param event packet 7957 * @return attribute_id 7958 * @note: btstack_type 2 7959 */ 7960 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 7961 return little_endian_read_16(event, 5); 7962 } 7963 /** 7964 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7965 * @param event packet 7966 * @return text 7967 * @note: btstack_type T 7968 */ 7969 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 7970 return (const char *) &event[7]; 7971 } 7972 #endif 7973 7974 #ifdef ENABLE_BLE 7975 /** 7976 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 7977 * @param event packet 7978 * @return handle 7979 * @note: btstack_type H 7980 */ 7981 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 7982 return little_endian_read_16(event, 3); 7983 } 7984 #endif 7985 7986 /** 7987 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7988 * @param event packet 7989 * @return avdtp_cid 7990 * @note: btstack_type 2 7991 */ 7992 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 7993 return little_endian_read_16(event, 3); 7994 } 7995 /** 7996 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7997 * @param event packet 7998 * @return local_seid 7999 * @note: btstack_type 1 8000 */ 8001 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 8002 return event[5]; 8003 } 8004 /** 8005 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 8006 * @param event packet 8007 * @return is_initiator 8008 * @note: btstack_type 1 8009 */ 8010 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 8011 return event[6]; 8012 } 8013 /** 8014 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 8015 * @param event packet 8016 * @return signal_identifier 8017 * @note: btstack_type 1 8018 */ 8019 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 8020 return event[7]; 8021 } 8022 8023 /** 8024 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 8025 * @param event packet 8026 * @return avdtp_cid 8027 * @note: btstack_type 2 8028 */ 8029 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 8030 return little_endian_read_16(event, 3); 8031 } 8032 /** 8033 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 8034 * @param event packet 8035 * @return local_seid 8036 * @note: btstack_type 1 8037 */ 8038 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 8039 return event[5]; 8040 } 8041 /** 8042 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 8043 * @param event packet 8044 * @return is_initiator 8045 * @note: btstack_type 1 8046 */ 8047 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 8048 return event[6]; 8049 } 8050 /** 8051 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 8052 * @param event packet 8053 * @return signal_identifier 8054 * @note: btstack_type 1 8055 */ 8056 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 8057 return event[7]; 8058 } 8059 8060 /** 8061 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 8062 * @param event packet 8063 * @return avdtp_cid 8064 * @note: btstack_type 2 8065 */ 8066 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 8067 return little_endian_read_16(event, 3); 8068 } 8069 /** 8070 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 8071 * @param event packet 8072 * @return local_seid 8073 * @note: btstack_type 1 8074 */ 8075 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 8076 return event[5]; 8077 } 8078 /** 8079 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 8080 * @param event packet 8081 * @return is_initiator 8082 * @note: btstack_type 1 8083 */ 8084 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 8085 return event[6]; 8086 } 8087 /** 8088 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 8089 * @param event packet 8090 * @return signal_identifier 8091 * @note: btstack_type 1 8092 */ 8093 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 8094 return event[7]; 8095 } 8096 8097 /** 8098 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 8099 * @param event packet 8100 * @return avdtp_cid 8101 * @note: btstack_type 2 8102 */ 8103 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 8104 return little_endian_read_16(event, 3); 8105 } 8106 /** 8107 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 8108 * @param event packet 8109 * @param Pointer to storage for bd_addr 8110 * @note: btstack_type B 8111 */ 8112 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8113 reverse_bytes(&event[5], bd_addr, 6); 8114 } 8115 /** 8116 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 8117 * @param event packet 8118 * @return con_handle 8119 * @note: btstack_type 2 8120 */ 8121 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 8122 return little_endian_read_16(event, 11); 8123 } 8124 /** 8125 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 8126 * @param event packet 8127 * @return status 8128 * @note: btstack_type 1 8129 */ 8130 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 8131 return event[13]; 8132 } 8133 8134 /** 8135 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 8136 * @param event packet 8137 * @return avdtp_cid 8138 * @note: btstack_type 2 8139 */ 8140 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 8141 return little_endian_read_16(event, 3); 8142 } 8143 8144 /** 8145 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8146 * @param event packet 8147 * @return avdtp_cid 8148 * @note: btstack_type 2 8149 */ 8150 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 8151 return little_endian_read_16(event, 3); 8152 } 8153 /** 8154 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8155 * @param event packet 8156 * @return remote_seid 8157 * @note: btstack_type 1 8158 */ 8159 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 8160 return event[5]; 8161 } 8162 /** 8163 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8164 * @param event packet 8165 * @return in_use 8166 * @note: btstack_type 1 8167 */ 8168 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 8169 return event[6]; 8170 } 8171 /** 8172 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8173 * @param event packet 8174 * @return media_type 8175 * @note: btstack_type 1 8176 */ 8177 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 8178 return event[7]; 8179 } 8180 /** 8181 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8182 * @param event packet 8183 * @return sep_type 8184 * @note: btstack_type 1 8185 */ 8186 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 8187 return event[8]; 8188 } 8189 8190 /** 8191 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8192 * @param event packet 8193 * @return avdtp_cid 8194 * @note: btstack_type 2 8195 */ 8196 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 8197 return little_endian_read_16(event, 3); 8198 } 8199 /** 8200 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8201 * @param event packet 8202 * @return remote_seid 8203 * @note: btstack_type 1 8204 */ 8205 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 8206 return event[5]; 8207 } 8208 /** 8209 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8210 * @param event packet 8211 * @return media_type 8212 * @note: btstack_type 1 8213 */ 8214 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 8215 return event[6]; 8216 } 8217 /** 8218 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8219 * @param event packet 8220 * @return sampling_frequency_bitmap 8221 * @note: btstack_type 1 8222 */ 8223 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8224 return event[7]; 8225 } 8226 /** 8227 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8228 * @param event packet 8229 * @return channel_mode_bitmap 8230 * @note: btstack_type 1 8231 */ 8232 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 8233 return event[8]; 8234 } 8235 /** 8236 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8237 * @param event packet 8238 * @return block_length_bitmap 8239 * @note: btstack_type 1 8240 */ 8241 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 8242 return event[9]; 8243 } 8244 /** 8245 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8246 * @param event packet 8247 * @return subbands_bitmap 8248 * @note: btstack_type 1 8249 */ 8250 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 8251 return event[10]; 8252 } 8253 /** 8254 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8255 * @param event packet 8256 * @return allocation_method_bitmap 8257 * @note: btstack_type 1 8258 */ 8259 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 8260 return event[11]; 8261 } 8262 /** 8263 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8264 * @param event packet 8265 * @return min_bitpool_value 8266 * @note: btstack_type 1 8267 */ 8268 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 8269 return event[12]; 8270 } 8271 /** 8272 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8273 * @param event packet 8274 * @return max_bitpool_value 8275 * @note: btstack_type 1 8276 */ 8277 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 8278 return event[13]; 8279 } 8280 8281 /** 8282 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8283 * @param event packet 8284 * @return avdtp_cid 8285 * @note: btstack_type 2 8286 */ 8287 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ 8288 return little_endian_read_16(event, 3); 8289 } 8290 /** 8291 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8292 * @param event packet 8293 * @return remote_seid 8294 * @note: btstack_type 1 8295 */ 8296 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 8297 return event[5]; 8298 } 8299 /** 8300 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8301 * @param event packet 8302 * @return media_type 8303 * @note: btstack_type 1 8304 */ 8305 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 8306 return event[6]; 8307 } 8308 /** 8309 * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8310 * @param event packet 8311 * @return layer_bitmap 8312 * @note: btstack_type 1 8313 */ 8314 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 8315 return event[7]; 8316 } 8317 /** 8318 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8319 * @param event packet 8320 * @return crc 8321 * @note: btstack_type 1 8322 */ 8323 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 8324 return event[8]; 8325 } 8326 /** 8327 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8328 * @param event packet 8329 * @return channel_mode_bitmap 8330 * @note: btstack_type 1 8331 */ 8332 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 8333 return event[9]; 8334 } 8335 /** 8336 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8337 * @param event packet 8338 * @return media_payload_format 8339 * @note: btstack_type 1 8340 */ 8341 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 8342 return event[10]; 8343 } 8344 /** 8345 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8346 * @param event packet 8347 * @return sampling_frequency_bitmap 8348 * @note: btstack_type 1 8349 */ 8350 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8351 return event[11]; 8352 } 8353 /** 8354 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8355 * @param event packet 8356 * @return vbr 8357 * @note: btstack_type 1 8358 */ 8359 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 8360 return event[12]; 8361 } 8362 /** 8363 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8364 * @param event packet 8365 * @return bit_rate_index_bitmap 8366 * @note: btstack_type 2 8367 */ 8368 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8369 return little_endian_read_16(event, 13); 8370 } 8371 8372 /** 8373 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8374 * @param event packet 8375 * @return avdtp_cid 8376 * @note: btstack_type 2 8377 */ 8378 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ 8379 return little_endian_read_16(event, 3); 8380 } 8381 /** 8382 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8383 * @param event packet 8384 * @return remote_seid 8385 * @note: btstack_type 1 8386 */ 8387 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 8388 return event[5]; 8389 } 8390 /** 8391 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8392 * @param event packet 8393 * @return media_type 8394 * @note: btstack_type 1 8395 */ 8396 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 8397 return event[6]; 8398 } 8399 /** 8400 * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8401 * @param event packet 8402 * @return object_type_bitmap 8403 * @note: btstack_type 1 8404 */ 8405 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 8406 return event[7]; 8407 } 8408 /** 8409 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8410 * @param event packet 8411 * @return sampling_frequency_bitmap 8412 * @note: btstack_type 2 8413 */ 8414 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8415 return little_endian_read_16(event, 8); 8416 } 8417 /** 8418 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8419 * @param event packet 8420 * @return channels_bitmap 8421 * @note: btstack_type 1 8422 */ 8423 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 8424 return event[10]; 8425 } 8426 /** 8427 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8428 * @param event packet 8429 * @return bit_rate 8430 * @note: btstack_type 3 8431 */ 8432 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 8433 return little_endian_read_24(event, 11); 8434 } 8435 /** 8436 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8437 * @param event packet 8438 * @return vbr 8439 * @note: btstack_type 1 8440 */ 8441 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 8442 return event[14]; 8443 } 8444 /** 8445 * @brief Get field drc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8446 * @param event packet 8447 * @return drc 8448 * @note: btstack_type 1 8449 */ 8450 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_drc(const uint8_t * event){ 8451 return event[15]; 8452 } 8453 8454 /** 8455 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8456 * @param event packet 8457 * @return avdtp_cid 8458 * @note: btstack_type 2 8459 */ 8460 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ 8461 return little_endian_read_16(event, 3); 8462 } 8463 /** 8464 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8465 * @param event packet 8466 * @return remote_seid 8467 * @note: btstack_type 1 8468 */ 8469 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 8470 return event[5]; 8471 } 8472 /** 8473 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8474 * @param event packet 8475 * @return media_type 8476 * @note: btstack_type 1 8477 */ 8478 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 8479 return event[6]; 8480 } 8481 /** 8482 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8483 * @param event packet 8484 * @return version 8485 * @note: btstack_type 1 8486 */ 8487 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 8488 return event[7]; 8489 } 8490 /** 8491 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8492 * @param event packet 8493 * @return channel_mode_bitmap 8494 * @note: btstack_type 1 8495 */ 8496 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 8497 return event[8]; 8498 } 8499 /** 8500 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8501 * @param event packet 8502 * @return sampling_frequency_bitmap 8503 * @note: btstack_type 1 8504 */ 8505 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8506 return event[9]; 8507 } 8508 /** 8509 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8510 * @param event packet 8511 * @return vbr 8512 * @note: btstack_type 1 8513 */ 8514 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 8515 return event[10]; 8516 } 8517 /** 8518 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8519 * @param event packet 8520 * @return bit_rate_index_bitmap 8521 * @note: btstack_type 3 8522 */ 8523 static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8524 return little_endian_read_24(event, 11); 8525 } 8526 /** 8527 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8528 * @param event packet 8529 * @return maximum_sul 8530 * @note: btstack_type 2 8531 */ 8532 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 8533 return little_endian_read_16(event, 14); 8534 } 8535 8536 /** 8537 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8538 * @param event packet 8539 * @return avdtp_cid 8540 * @note: btstack_type 2 8541 */ 8542 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 8543 return little_endian_read_16(event, 3); 8544 } 8545 /** 8546 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8547 * @param event packet 8548 * @return remote_seid 8549 * @note: btstack_type 1 8550 */ 8551 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 8552 return event[5]; 8553 } 8554 /** 8555 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8556 * @param event packet 8557 * @return media_type 8558 * @note: btstack_type 1 8559 */ 8560 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 8561 return event[6]; 8562 } 8563 /** 8564 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8565 * @param event packet 8566 * @return media_codec_type 8567 * @note: btstack_type 2 8568 */ 8569 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 8570 return little_endian_read_16(event, 7); 8571 } 8572 /** 8573 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8574 * @param event packet 8575 * @return media_codec_information_len 8576 * @note: btstack_type L 8577 */ 8578 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 8579 return little_endian_read_16(event, 9); 8580 } 8581 /** 8582 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8583 * @param event packet 8584 * @return media_codec_information 8585 * @note: btstack_type V 8586 */ 8587 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 8588 return &event[11]; 8589 } 8590 8591 /** 8592 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8593 * @param event packet 8594 * @return avdtp_cid 8595 * @note: btstack_type 2 8596 */ 8597 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 8598 return little_endian_read_16(event, 3); 8599 } 8600 /** 8601 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8602 * @param event packet 8603 * @return remote_seid 8604 * @note: btstack_type 1 8605 */ 8606 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 8607 return event[5]; 8608 } 8609 8610 /** 8611 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8612 * @param event packet 8613 * @return avdtp_cid 8614 * @note: btstack_type 2 8615 */ 8616 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8617 return little_endian_read_16(event, 3); 8618 } 8619 /** 8620 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8621 * @param event packet 8622 * @return remote_seid 8623 * @note: btstack_type 1 8624 */ 8625 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 8626 return event[5]; 8627 } 8628 8629 /** 8630 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8631 * @param event packet 8632 * @return avdtp_cid 8633 * @note: btstack_type 2 8634 */ 8635 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 8636 return little_endian_read_16(event, 3); 8637 } 8638 /** 8639 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8640 * @param event packet 8641 * @return remote_seid 8642 * @note: btstack_type 1 8643 */ 8644 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 8645 return event[5]; 8646 } 8647 /** 8648 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8649 * @param event packet 8650 * @return recovery_type 8651 * @note: btstack_type 1 8652 */ 8653 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 8654 return event[6]; 8655 } 8656 /** 8657 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8658 * @param event packet 8659 * @return maximum_recovery_window_size 8660 * @note: btstack_type 1 8661 */ 8662 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 8663 return event[7]; 8664 } 8665 /** 8666 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8667 * @param event packet 8668 * @return maximum_number_media_packets 8669 * @note: btstack_type 1 8670 */ 8671 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 8672 return event[8]; 8673 } 8674 8675 /** 8676 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8677 * @param event packet 8678 * @return avdtp_cid 8679 * @note: btstack_type 2 8680 */ 8681 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 8682 return little_endian_read_16(event, 3); 8683 } 8684 /** 8685 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8686 * @param event packet 8687 * @return remote_seid 8688 * @note: btstack_type 1 8689 */ 8690 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 8691 return event[5]; 8692 } 8693 /** 8694 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8695 * @param event packet 8696 * @return cp_type 8697 * @note: btstack_type 2 8698 */ 8699 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 8700 return little_endian_read_16(event, 6); 8701 } 8702 /** 8703 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8704 * @param event packet 8705 * @return cp_type_value_len 8706 * @note: btstack_type L 8707 */ 8708 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 8709 return little_endian_read_16(event, 8); 8710 } 8711 /** 8712 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8713 * @param event packet 8714 * @return cp_type_value 8715 * @note: btstack_type V 8716 */ 8717 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 8718 return &event[10]; 8719 } 8720 8721 /** 8722 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8723 * @param event packet 8724 * @return avdtp_cid 8725 * @note: btstack_type 2 8726 */ 8727 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 8728 return little_endian_read_16(event, 3); 8729 } 8730 /** 8731 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8732 * @param event packet 8733 * @return remote_seid 8734 * @note: btstack_type 1 8735 */ 8736 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 8737 return event[5]; 8738 } 8739 /** 8740 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8741 * @param event packet 8742 * @return fragmentation 8743 * @note: btstack_type 1 8744 */ 8745 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 8746 return event[6]; 8747 } 8748 /** 8749 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8750 * @param event packet 8751 * @return transport_identifiers_num 8752 * @note: btstack_type 1 8753 */ 8754 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 8755 return event[7]; 8756 } 8757 /** 8758 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8759 * @param event packet 8760 * @return transport_session_identifier_1 8761 * @note: btstack_type 1 8762 */ 8763 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 8764 return event[8]; 8765 } 8766 /** 8767 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8768 * @param event packet 8769 * @return transport_session_identifier_2 8770 * @note: btstack_type 1 8771 */ 8772 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 8773 return event[9]; 8774 } 8775 /** 8776 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8777 * @param event packet 8778 * @return transport_session_identifier_3 8779 * @note: btstack_type 1 8780 */ 8781 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 8782 return event[10]; 8783 } 8784 /** 8785 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8786 * @param event packet 8787 * @return tcid_1 8788 * @note: btstack_type 1 8789 */ 8790 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 8791 return event[11]; 8792 } 8793 /** 8794 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8795 * @param event packet 8796 * @return tcid_2 8797 * @note: btstack_type 1 8798 */ 8799 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 8800 return event[12]; 8801 } 8802 /** 8803 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8804 * @param event packet 8805 * @return tcid_3 8806 * @note: btstack_type 1 8807 */ 8808 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 8809 return event[13]; 8810 } 8811 8812 /** 8813 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8814 * @param event packet 8815 * @return avdtp_cid 8816 * @note: btstack_type 2 8817 */ 8818 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8819 return little_endian_read_16(event, 3); 8820 } 8821 /** 8822 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8823 * @param event packet 8824 * @return remote_seid 8825 * @note: btstack_type 1 8826 */ 8827 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 8828 return event[5]; 8829 } 8830 8831 /** 8832 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8833 * @param event packet 8834 * @return avdtp_cid 8835 * @note: btstack_type 2 8836 */ 8837 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 8838 return little_endian_read_16(event, 3); 8839 } 8840 /** 8841 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8842 * @param event packet 8843 * @return remote_seid 8844 * @note: btstack_type 1 8845 */ 8846 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 8847 return event[5]; 8848 } 8849 /** 8850 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8851 * @param event packet 8852 * @return back_ch 8853 * @note: btstack_type 1 8854 */ 8855 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 8856 return event[6]; 8857 } 8858 /** 8859 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8860 * @param event packet 8861 * @return media 8862 * @note: btstack_type 1 8863 */ 8864 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 8865 return event[7]; 8866 } 8867 /** 8868 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8869 * @param event packet 8870 * @return recovery 8871 * @note: btstack_type 1 8872 */ 8873 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 8874 return event[8]; 8875 } 8876 8877 /** 8878 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8879 * @param event packet 8880 * @return avdtp_cid 8881 * @note: btstack_type 2 8882 */ 8883 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 8884 return little_endian_read_16(event, 3); 8885 } 8886 /** 8887 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8888 * @param event packet 8889 * @return remote_seid 8890 * @note: btstack_type 1 8891 */ 8892 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 8893 return event[5]; 8894 } 8895 8896 /** 8897 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8898 * @param event packet 8899 * @return avdtp_cid 8900 * @note: btstack_type 2 8901 */ 8902 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 8903 return little_endian_read_16(event, 3); 8904 } 8905 /** 8906 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8907 * @param event packet 8908 * @return local_seid 8909 * @note: btstack_type 1 8910 */ 8911 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 8912 return event[5]; 8913 } 8914 /** 8915 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8916 * @param event packet 8917 * @return remote_seid 8918 * @note: btstack_type 1 8919 */ 8920 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 8921 return event[6]; 8922 } 8923 /** 8924 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8925 * @param event packet 8926 * @return reconfigure 8927 * @note: btstack_type 1 8928 */ 8929 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 8930 return event[7]; 8931 } 8932 /** 8933 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8934 * @param event packet 8935 * @return media_type 8936 * @note: btstack_type 1 8937 */ 8938 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 8939 return event[8]; 8940 } 8941 /** 8942 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8943 * @param event packet 8944 * @return sampling_frequency 8945 * @note: btstack_type 2 8946 */ 8947 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 8948 return little_endian_read_16(event, 9); 8949 } 8950 /** 8951 * @brief Get field channels_num from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8952 * @param event packet 8953 * @return channels_num 8954 * @note: btstack_type 1 8955 */ 8956 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 8957 return event[11]; 8958 } 8959 /** 8960 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8961 * @param event packet 8962 * @return num_channels 8963 * @note: btstack_type 1 8964 */ 8965 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 8966 return event[12]; 8967 } 8968 /** 8969 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8970 * @param event packet 8971 * @return block_length 8972 * @note: btstack_type 1 8973 */ 8974 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 8975 return event[13]; 8976 } 8977 /** 8978 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8979 * @param event packet 8980 * @return subbands 8981 * @note: btstack_type 1 8982 */ 8983 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 8984 return event[14]; 8985 } 8986 /** 8987 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8988 * @param event packet 8989 * @return allocation_method 8990 * @note: btstack_type 1 8991 */ 8992 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 8993 return event[15]; 8994 } 8995 /** 8996 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8997 * @param event packet 8998 * @return min_bitpool_value 8999 * @note: btstack_type 1 9000 */ 9001 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 9002 return event[16]; 9003 } 9004 /** 9005 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9006 * @param event packet 9007 * @return max_bitpool_value 9008 * @note: btstack_type 1 9009 */ 9010 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 9011 return event[17]; 9012 } 9013 9014 /** 9015 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9016 * @param event packet 9017 * @return avdtp_cid 9018 * @note: btstack_type 2 9019 */ 9020 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ 9021 return little_endian_read_16(event, 3); 9022 } 9023 /** 9024 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9025 * @param event packet 9026 * @return local_seid 9027 * @note: btstack_type 1 9028 */ 9029 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 9030 return event[5]; 9031 } 9032 /** 9033 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9034 * @param event packet 9035 * @return remote_seid 9036 * @note: btstack_type 1 9037 */ 9038 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 9039 return event[6]; 9040 } 9041 /** 9042 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9043 * @param event packet 9044 * @return reconfigure 9045 * @note: btstack_type 1 9046 */ 9047 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 9048 return event[7]; 9049 } 9050 /** 9051 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9052 * @param event packet 9053 * @return media_type 9054 * @note: btstack_type 1 9055 */ 9056 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 9057 return event[8]; 9058 } 9059 /** 9060 * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9061 * @param event packet 9062 * @return layer 9063 * @note: btstack_type 1 9064 */ 9065 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 9066 return event[9]; 9067 } 9068 /** 9069 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9070 * @param event packet 9071 * @return crc 9072 * @note: btstack_type 1 9073 */ 9074 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 9075 return event[10]; 9076 } 9077 /** 9078 * @brief Get field channels_num from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9079 * @param event packet 9080 * @return channels_num 9081 * @note: btstack_type 1 9082 */ 9083 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 9084 return event[11]; 9085 } 9086 /** 9087 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9088 * @param event packet 9089 * @return num_channels 9090 * @note: btstack_type 1 9091 */ 9092 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 9093 return event[12]; 9094 } 9095 /** 9096 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9097 * @param event packet 9098 * @return media_payload_format 9099 * @note: btstack_type 1 9100 */ 9101 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 9102 return event[13]; 9103 } 9104 /** 9105 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9106 * @param event packet 9107 * @return sampling_frequency 9108 * @note: btstack_type 2 9109 */ 9110 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 9111 return little_endian_read_16(event, 14); 9112 } 9113 /** 9114 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9115 * @param event packet 9116 * @return vbr 9117 * @note: btstack_type 1 9118 */ 9119 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 9120 return event[16]; 9121 } 9122 /** 9123 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9124 * @param event packet 9125 * @return bit_rate_index 9126 * @note: btstack_type 1 9127 */ 9128 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 9129 return event[17]; 9130 } 9131 9132 /** 9133 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9134 * @param event packet 9135 * @return avdtp_cid 9136 * @note: btstack_type 2 9137 */ 9138 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ 9139 return little_endian_read_16(event, 3); 9140 } 9141 /** 9142 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9143 * @param event packet 9144 * @return local_seid 9145 * @note: btstack_type 1 9146 */ 9147 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 9148 return event[5]; 9149 } 9150 /** 9151 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9152 * @param event packet 9153 * @return remote_seid 9154 * @note: btstack_type 1 9155 */ 9156 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 9157 return event[6]; 9158 } 9159 /** 9160 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9161 * @param event packet 9162 * @return reconfigure 9163 * @note: btstack_type 1 9164 */ 9165 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 9166 return event[7]; 9167 } 9168 /** 9169 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9170 * @param event packet 9171 * @return media_type 9172 * @note: btstack_type 1 9173 */ 9174 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 9175 return event[8]; 9176 } 9177 /** 9178 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9179 * @param event packet 9180 * @return object_type 9181 * @note: btstack_type 1 9182 */ 9183 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 9184 return event[9]; 9185 } 9186 /** 9187 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9188 * @param event packet 9189 * @return sampling_frequency 9190 * @note: btstack_type 3 9191 */ 9192 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 9193 return little_endian_read_24(event, 10); 9194 } 9195 /** 9196 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9197 * @param event packet 9198 * @return num_channels 9199 * @note: btstack_type 1 9200 */ 9201 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9202 return event[13]; 9203 } 9204 /** 9205 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9206 * @param event packet 9207 * @return bit_rate 9208 * @note: btstack_type 3 9209 */ 9210 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9211 return little_endian_read_24(event, 14); 9212 } 9213 /** 9214 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9215 * @param event packet 9216 * @return vbr 9217 * @note: btstack_type 1 9218 */ 9219 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9220 return event[17]; 9221 } 9222 /** 9223 * @brief Get field drc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9224 * @param event packet 9225 * @return drc 9226 * @note: btstack_type 1 9227 */ 9228 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_drc(const uint8_t * event){ 9229 return event[18]; 9230 } 9231 9232 /** 9233 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9234 * @param event packet 9235 * @return avdtp_cid 9236 * @note: btstack_type 2 9237 */ 9238 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ 9239 return little_endian_read_16(event, 3); 9240 } 9241 /** 9242 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9243 * @param event packet 9244 * @return local_seid 9245 * @note: btstack_type 1 9246 */ 9247 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9248 return event[5]; 9249 } 9250 /** 9251 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9252 * @param event packet 9253 * @return remote_seid 9254 * @note: btstack_type 1 9255 */ 9256 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9257 return event[6]; 9258 } 9259 /** 9260 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9261 * @param event packet 9262 * @return reconfigure 9263 * @note: btstack_type 1 9264 */ 9265 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9266 return event[7]; 9267 } 9268 /** 9269 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9270 * @param event packet 9271 * @return media_type 9272 * @note: btstack_type 1 9273 */ 9274 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9275 return event[8]; 9276 } 9277 /** 9278 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9279 * @param event packet 9280 * @return version 9281 * @note: btstack_type 1 9282 */ 9283 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9284 return event[9]; 9285 } 9286 /** 9287 * @brief Get field channels_num from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9288 * @param event packet 9289 * @return channels_num 9290 * @note: btstack_type 1 9291 */ 9292 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9293 return event[10]; 9294 } 9295 /** 9296 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9297 * @param event packet 9298 * @return num_channels 9299 * @note: btstack_type 1 9300 */ 9301 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9302 return event[11]; 9303 } 9304 /** 9305 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9306 * @param event packet 9307 * @return sampling_frequency 9308 * @note: btstack_type 2 9309 */ 9310 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9311 return little_endian_read_16(event, 12); 9312 } 9313 /** 9314 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9315 * @param event packet 9316 * @return vbr 9317 * @note: btstack_type 1 9318 */ 9319 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9320 return event[14]; 9321 } 9322 /** 9323 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9324 * @param event packet 9325 * @return bit_rate_index 9326 * @note: btstack_type 1 9327 */ 9328 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9329 return event[15]; 9330 } 9331 /** 9332 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9333 * @param event packet 9334 * @return maximum_sul 9335 * @note: btstack_type 2 9336 */ 9337 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9338 return little_endian_read_16(event, 16); 9339 } 9340 9341 /** 9342 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9343 * @param event packet 9344 * @return avdtp_cid 9345 * @note: btstack_type 2 9346 */ 9347 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 9348 return little_endian_read_16(event, 3); 9349 } 9350 /** 9351 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9352 * @param event packet 9353 * @return local_seid 9354 * @note: btstack_type 1 9355 */ 9356 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9357 return event[5]; 9358 } 9359 /** 9360 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9361 * @param event packet 9362 * @return remote_seid 9363 * @note: btstack_type 1 9364 */ 9365 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9366 return event[6]; 9367 } 9368 /** 9369 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9370 * @param event packet 9371 * @return reconfigure 9372 * @note: btstack_type 1 9373 */ 9374 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9375 return event[7]; 9376 } 9377 /** 9378 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9379 * @param event packet 9380 * @return media_type 9381 * @note: btstack_type 1 9382 */ 9383 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9384 return event[8]; 9385 } 9386 /** 9387 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9388 * @param event packet 9389 * @return media_codec_type 9390 * @note: btstack_type 2 9391 */ 9392 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9393 return little_endian_read_16(event, 9); 9394 } 9395 /** 9396 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9397 * @param event packet 9398 * @return media_codec_information_len 9399 * @note: btstack_type L 9400 */ 9401 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9402 return little_endian_read_16(event, 11); 9403 } 9404 /** 9405 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9406 * @param event packet 9407 * @return media_codec_information 9408 * @note: btstack_type V 9409 */ 9410 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9411 return &event[13]; 9412 } 9413 9414 /** 9415 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9416 * @param event packet 9417 * @return avdtp_cid 9418 * @note: btstack_type 2 9419 */ 9420 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 9421 return little_endian_read_16(event, 3); 9422 } 9423 /** 9424 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9425 * @param event packet 9426 * @param Pointer to storage for bd_addr 9427 * @note: btstack_type B 9428 */ 9429 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9430 reverse_bytes(&event[5], bd_addr, 6); 9431 } 9432 /** 9433 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9434 * @param event packet 9435 * @return local_seid 9436 * @note: btstack_type 1 9437 */ 9438 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 9439 return event[11]; 9440 } 9441 /** 9442 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9443 * @param event packet 9444 * @return remote_seid 9445 * @note: btstack_type 1 9446 */ 9447 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 9448 return event[12]; 9449 } 9450 /** 9451 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9452 * @param event packet 9453 * @return status 9454 * @note: btstack_type 1 9455 */ 9456 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 9457 return event[13]; 9458 } 9459 9460 /** 9461 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9462 * @param event packet 9463 * @return avdtp_cid 9464 * @note: btstack_type 2 9465 */ 9466 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 9467 return little_endian_read_16(event, 3); 9468 } 9469 /** 9470 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9471 * @param event packet 9472 * @return local_seid 9473 * @note: btstack_type 1 9474 */ 9475 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 9476 return event[5]; 9477 } 9478 9479 /** 9480 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9481 * @param event packet 9482 * @return avdtp_cid 9483 * @note: btstack_type 2 9484 */ 9485 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 9486 return little_endian_read_16(event, 3); 9487 } 9488 /** 9489 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9490 * @param event packet 9491 * @return local_seid 9492 * @note: btstack_type 1 9493 */ 9494 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9495 return event[5]; 9496 } 9497 /** 9498 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9499 * @param event packet 9500 * @return sequence_number 9501 * @note: btstack_type 2 9502 */ 9503 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 9504 return little_endian_read_16(event, 6); 9505 } 9506 9507 /** 9508 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 9509 * @param event packet 9510 * @return avdtp_cid 9511 * @note: btstack_type 2 9512 */ 9513 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 9514 return little_endian_read_16(event, 3); 9515 } 9516 9517 /** 9518 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9519 * @param event packet 9520 * @return avdtp_cid 9521 * @note: btstack_type 2 9522 */ 9523 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 9524 return little_endian_read_16(event, 3); 9525 } 9526 /** 9527 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9528 * @param event packet 9529 * @return local_seid 9530 * @note: btstack_type 1 9531 */ 9532 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 9533 return event[5]; 9534 } 9535 /** 9536 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9537 * @param event packet 9538 * @return delay_100us 9539 * @note: btstack_type 2 9540 */ 9541 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 9542 return little_endian_read_16(event, 6); 9543 } 9544 9545 /** 9546 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CAPABILITY 9547 * @param event packet 9548 * @return avdtp_cid 9549 * @note: btstack_type 2 9550 */ 9551 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_capability_get_avdtp_cid(const uint8_t * event){ 9552 return little_endian_read_16(event, 3); 9553 } 9554 /** 9555 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CAPABILITY 9556 * @param event packet 9557 * @return remote_seid 9558 * @note: btstack_type 1 9559 */ 9560 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_capability_get_remote_seid(const uint8_t * event){ 9561 return event[5]; 9562 } 9563 /** 9564 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CAPABILITY 9565 * @param event packet 9566 * @return media_type 9567 * @note: btstack_type 1 9568 */ 9569 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_capability_get_media_type(const uint8_t * event){ 9570 return event[6]; 9571 } 9572 /** 9573 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CAPABILITY 9574 * @param event packet 9575 * @return object_type 9576 * @note: btstack_type 1 9577 */ 9578 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_capability_get_object_type(const uint8_t * event){ 9579 return event[7]; 9580 } 9581 /** 9582 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CAPABILITY 9583 * @param event packet 9584 * @return sampling_frequency_bitmap 9585 * @note: btstack_type 4 9586 */ 9587 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9588 return little_endian_read_32(event, 8); 9589 } 9590 /** 9591 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CAPABILITY 9592 * @param event packet 9593 * @return channels_bitmap 9594 * @note: btstack_type 1 9595 */ 9596 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_capability_get_channels_bitmap(const uint8_t * event){ 9597 return event[12]; 9598 } 9599 /** 9600 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CAPABILITY 9601 * @param event packet 9602 * @return vbr 9603 * @note: btstack_type 1 9604 */ 9605 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_capability_get_vbr(const uint8_t * event){ 9606 return event[13]; 9607 } 9608 /** 9609 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CAPABILITY 9610 * @param event packet 9611 * @return bit_rate_index_bitmap 9612 * @note: btstack_type 3 9613 */ 9614 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 9615 return little_endian_read_24(event, 14); 9616 } 9617 9618 /** 9619 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CONFIGURATION 9620 * @param event packet 9621 * @return avdtp_cid 9622 * @note: btstack_type 2 9623 */ 9624 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_configuration_get_avdtp_cid(const uint8_t * event){ 9625 return little_endian_read_16(event, 3); 9626 } 9627 /** 9628 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CONFIGURATION 9629 * @param event packet 9630 * @return local_seid 9631 * @note: btstack_type 1 9632 */ 9633 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_configuration_get_local_seid(const uint8_t * event){ 9634 return event[5]; 9635 } 9636 /** 9637 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CONFIGURATION 9638 * @param event packet 9639 * @return remote_seid 9640 * @note: btstack_type 1 9641 */ 9642 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_configuration_get_remote_seid(const uint8_t * event){ 9643 return event[6]; 9644 } 9645 /** 9646 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CONFIGURATION 9647 * @param event packet 9648 * @return reconfigure 9649 * @note: btstack_type 1 9650 */ 9651 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_configuration_get_reconfigure(const uint8_t * event){ 9652 return event[7]; 9653 } 9654 /** 9655 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CONFIGURATION 9656 * @param event packet 9657 * @return media_type 9658 * @note: btstack_type 1 9659 */ 9660 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_configuration_get_media_type(const uint8_t * event){ 9661 return event[8]; 9662 } 9663 /** 9664 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CONFIGURATION 9665 * @param event packet 9666 * @return object_type 9667 * @note: btstack_type 1 9668 */ 9669 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_configuration_get_object_type(const uint8_t * event){ 9670 return event[9]; 9671 } 9672 /** 9673 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CONFIGURATION 9674 * @param event packet 9675 * @return sampling_frequency 9676 * @note: btstack_type 3 9677 */ 9678 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_configuration_get_sampling_frequency(const uint8_t * event){ 9679 return little_endian_read_24(event, 10); 9680 } 9681 /** 9682 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CONFIGURATION 9683 * @param event packet 9684 * @return num_channels 9685 * @note: btstack_type 1 9686 */ 9687 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_configuration_get_num_channels(const uint8_t * event){ 9688 return event[13]; 9689 } 9690 /** 9691 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CONFIGURATION 9692 * @param event packet 9693 * @return vbr 9694 * @note: btstack_type 1 9695 */ 9696 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_configuration_get_vbr(const uint8_t * event){ 9697 return event[14]; 9698 } 9699 /** 9700 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_D_USAC_CONFIGURATION 9701 * @param event packet 9702 * @return bit_rate 9703 * @note: btstack_type 3 9704 */ 9705 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_d_usac_configuration_get_bit_rate(const uint8_t * event){ 9706 return little_endian_read_24(event, 15); 9707 } 9708 9709 /** 9710 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9711 * @param event packet 9712 * @return a2dp_cid 9713 * @note: btstack_type 2 9714 */ 9715 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 9716 return little_endian_read_16(event, 3); 9717 } 9718 /** 9719 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9720 * @param event packet 9721 * @return local_seid 9722 * @note: btstack_type 1 9723 */ 9724 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9725 return event[5]; 9726 } 9727 9728 /** 9729 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9730 * @param event packet 9731 * @return a2dp_cid 9732 * @note: btstack_type 2 9733 */ 9734 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 9735 return little_endian_read_16(event, 3); 9736 } 9737 /** 9738 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9739 * @param event packet 9740 * @return local_seid 9741 * @note: btstack_type 1 9742 */ 9743 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 9744 return event[5]; 9745 } 9746 /** 9747 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9748 * @param event packet 9749 * @return remote_seid 9750 * @note: btstack_type 1 9751 */ 9752 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 9753 return event[6]; 9754 } 9755 /** 9756 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9757 * @param event packet 9758 * @return reconfigure 9759 * @note: btstack_type 1 9760 */ 9761 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 9762 return event[7]; 9763 } 9764 /** 9765 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9766 * @param event packet 9767 * @return media_type 9768 * @note: btstack_type 1 9769 */ 9770 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 9771 return event[8]; 9772 } 9773 /** 9774 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9775 * @param event packet 9776 * @return sampling_frequency 9777 * @note: btstack_type 2 9778 */ 9779 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 9780 return little_endian_read_16(event, 9); 9781 } 9782 /** 9783 * @brief Get field channels_num from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9784 * @param event packet 9785 * @return channels_num 9786 * @note: btstack_type 1 9787 */ 9788 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 9789 return event[11]; 9790 } 9791 /** 9792 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9793 * @param event packet 9794 * @return num_channels 9795 * @note: btstack_type 1 9796 */ 9797 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 9798 return event[12]; 9799 } 9800 /** 9801 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9802 * @param event packet 9803 * @return block_length 9804 * @note: btstack_type 1 9805 */ 9806 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 9807 return event[13]; 9808 } 9809 /** 9810 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9811 * @param event packet 9812 * @return subbands 9813 * @note: btstack_type 1 9814 */ 9815 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 9816 return event[14]; 9817 } 9818 /** 9819 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9820 * @param event packet 9821 * @return allocation_method 9822 * @note: btstack_type 1 9823 */ 9824 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 9825 return event[15]; 9826 } 9827 /** 9828 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9829 * @param event packet 9830 * @return min_bitpool_value 9831 * @note: btstack_type 1 9832 */ 9833 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 9834 return event[16]; 9835 } 9836 /** 9837 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9838 * @param event packet 9839 * @return max_bitpool_value 9840 * @note: btstack_type 1 9841 */ 9842 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 9843 return event[17]; 9844 } 9845 9846 /** 9847 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9848 * @param event packet 9849 * @return a2dp_cid 9850 * @note: btstack_type 2 9851 */ 9852 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_a2dp_cid(const uint8_t * event){ 9853 return little_endian_read_16(event, 3); 9854 } 9855 /** 9856 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9857 * @param event packet 9858 * @return local_seid 9859 * @note: btstack_type 1 9860 */ 9861 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 9862 return event[5]; 9863 } 9864 /** 9865 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9866 * @param event packet 9867 * @return remote_seid 9868 * @note: btstack_type 1 9869 */ 9870 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 9871 return event[6]; 9872 } 9873 /** 9874 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9875 * @param event packet 9876 * @return reconfigure 9877 * @note: btstack_type 1 9878 */ 9879 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 9880 return event[7]; 9881 } 9882 /** 9883 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9884 * @param event packet 9885 * @return media_type 9886 * @note: btstack_type 1 9887 */ 9888 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 9889 return event[8]; 9890 } 9891 /** 9892 * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9893 * @param event packet 9894 * @return layer 9895 * @note: btstack_type 1 9896 */ 9897 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 9898 return event[9]; 9899 } 9900 /** 9901 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9902 * @param event packet 9903 * @return crc 9904 * @note: btstack_type 1 9905 */ 9906 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 9907 return event[10]; 9908 } 9909 /** 9910 * @brief Get field channels_num from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9911 * @param event packet 9912 * @return channels_num 9913 * @note: btstack_type 1 9914 */ 9915 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 9916 return event[11]; 9917 } 9918 /** 9919 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9920 * @param event packet 9921 * @return num_channels 9922 * @note: btstack_type 1 9923 */ 9924 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 9925 return event[12]; 9926 } 9927 /** 9928 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9929 * @param event packet 9930 * @return media_payload_format 9931 * @note: btstack_type 1 9932 */ 9933 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 9934 return event[13]; 9935 } 9936 /** 9937 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9938 * @param event packet 9939 * @return sampling_frequency 9940 * @note: btstack_type 2 9941 */ 9942 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 9943 return little_endian_read_16(event, 14); 9944 } 9945 /** 9946 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9947 * @param event packet 9948 * @return vbr 9949 * @note: btstack_type 1 9950 */ 9951 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 9952 return event[16]; 9953 } 9954 /** 9955 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9956 * @param event packet 9957 * @return bit_rate_index 9958 * @note: btstack_type 1 9959 */ 9960 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 9961 return event[17]; 9962 } 9963 9964 /** 9965 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9966 * @param event packet 9967 * @return a2dp_cid 9968 * @note: btstack_type 2 9969 */ 9970 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_a2dp_cid(const uint8_t * event){ 9971 return little_endian_read_16(event, 3); 9972 } 9973 /** 9974 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9975 * @param event packet 9976 * @return local_seid 9977 * @note: btstack_type 1 9978 */ 9979 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 9980 return event[5]; 9981 } 9982 /** 9983 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9984 * @param event packet 9985 * @return remote_seid 9986 * @note: btstack_type 1 9987 */ 9988 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 9989 return event[6]; 9990 } 9991 /** 9992 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9993 * @param event packet 9994 * @return reconfigure 9995 * @note: btstack_type 1 9996 */ 9997 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 9998 return event[7]; 9999 } 10000 /** 10001 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 10002 * @param event packet 10003 * @return media_type 10004 * @note: btstack_type 1 10005 */ 10006 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 10007 return event[8]; 10008 } 10009 /** 10010 * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 10011 * @param event packet 10012 * @return object_type 10013 * @note: btstack_type 1 10014 */ 10015 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 10016 return event[9]; 10017 } 10018 /** 10019 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 10020 * @param event packet 10021 * @return sampling_frequency 10022 * @note: btstack_type 3 10023 */ 10024 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 10025 return little_endian_read_24(event, 10); 10026 } 10027 /** 10028 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 10029 * @param event packet 10030 * @return num_channels 10031 * @note: btstack_type 1 10032 */ 10033 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 10034 return event[13]; 10035 } 10036 /** 10037 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 10038 * @param event packet 10039 * @return bit_rate 10040 * @note: btstack_type 3 10041 */ 10042 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 10043 return little_endian_read_24(event, 14); 10044 } 10045 /** 10046 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 10047 * @param event packet 10048 * @return vbr 10049 * @note: btstack_type 1 10050 */ 10051 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 10052 return event[17]; 10053 } 10054 /** 10055 * @brief Get field drc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 10056 * @param event packet 10057 * @return drc 10058 * @note: btstack_type 1 10059 */ 10060 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_drc(const uint8_t * event){ 10061 return event[18]; 10062 } 10063 10064 /** 10065 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 10066 * @param event packet 10067 * @return a2dp_cid 10068 * @note: btstack_type 2 10069 */ 10070 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_a2dp_cid(const uint8_t * event){ 10071 return little_endian_read_16(event, 3); 10072 } 10073 /** 10074 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 10075 * @param event packet 10076 * @return local_seid 10077 * @note: btstack_type 1 10078 */ 10079 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 10080 return event[5]; 10081 } 10082 /** 10083 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 10084 * @param event packet 10085 * @return remote_seid 10086 * @note: btstack_type 1 10087 */ 10088 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 10089 return event[6]; 10090 } 10091 /** 10092 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 10093 * @param event packet 10094 * @return reconfigure 10095 * @note: btstack_type 1 10096 */ 10097 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 10098 return event[7]; 10099 } 10100 /** 10101 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 10102 * @param event packet 10103 * @return media_type 10104 * @note: btstack_type 1 10105 */ 10106 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 10107 return event[8]; 10108 } 10109 /** 10110 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 10111 * @param event packet 10112 * @return version 10113 * @note: btstack_type 1 10114 */ 10115 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 10116 return event[9]; 10117 } 10118 /** 10119 * @brief Get field channels_num from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 10120 * @param event packet 10121 * @return channels_num 10122 * @note: btstack_type 1 10123 */ 10124 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 10125 return event[10]; 10126 } 10127 /** 10128 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 10129 * @param event packet 10130 * @return num_channels 10131 * @note: btstack_type 1 10132 */ 10133 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 10134 return event[11]; 10135 } 10136 /** 10137 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 10138 * @param event packet 10139 * @return sampling_frequency 10140 * @note: btstack_type 2 10141 */ 10142 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 10143 return little_endian_read_16(event, 12); 10144 } 10145 /** 10146 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 10147 * @param event packet 10148 * @return vbr 10149 * @note: btstack_type 1 10150 */ 10151 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 10152 return event[14]; 10153 } 10154 /** 10155 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 10156 * @param event packet 10157 * @return bit_rate_index 10158 * @note: btstack_type 1 10159 */ 10160 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 10161 return event[15]; 10162 } 10163 /** 10164 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 10165 * @param event packet 10166 * @return maximum_sul 10167 * @note: btstack_type 2 10168 */ 10169 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 10170 return little_endian_read_16(event, 16); 10171 } 10172 10173 /** 10174 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 10175 * @param event packet 10176 * @return a2dp_cid 10177 * @note: btstack_type 2 10178 */ 10179 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 10180 return little_endian_read_16(event, 3); 10181 } 10182 /** 10183 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 10184 * @param event packet 10185 * @return local_seid 10186 * @note: btstack_type 1 10187 */ 10188 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 10189 return event[5]; 10190 } 10191 /** 10192 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 10193 * @param event packet 10194 * @return remote_seid 10195 * @note: btstack_type 1 10196 */ 10197 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 10198 return event[6]; 10199 } 10200 /** 10201 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 10202 * @param event packet 10203 * @return reconfigure 10204 * @note: btstack_type 1 10205 */ 10206 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 10207 return event[7]; 10208 } 10209 /** 10210 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 10211 * @param event packet 10212 * @return media_type 10213 * @note: btstack_type 1 10214 */ 10215 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 10216 return event[8]; 10217 } 10218 /** 10219 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 10220 * @param event packet 10221 * @return media_codec_type 10222 * @note: btstack_type 2 10223 */ 10224 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 10225 return little_endian_read_16(event, 9); 10226 } 10227 /** 10228 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 10229 * @param event packet 10230 * @return media_codec_information_len 10231 * @note: btstack_type L 10232 */ 10233 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 10234 return little_endian_read_16(event, 11); 10235 } 10236 /** 10237 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 10238 * @param event packet 10239 * @return media_codec_information 10240 * @note: btstack_type V 10241 */ 10242 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 10243 return &event[13]; 10244 } 10245 10246 /** 10247 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 10248 * @param event packet 10249 * @return a2dp_cid 10250 * @note: btstack_type 2 10251 */ 10252 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 10253 return little_endian_read_16(event, 3); 10254 } 10255 /** 10256 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 10257 * @param event packet 10258 * @param Pointer to storage for bd_addr 10259 * @note: btstack_type B 10260 */ 10261 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10262 reverse_bytes(&event[5], bd_addr, 6); 10263 } 10264 /** 10265 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 10266 * @param event packet 10267 * @return local_seid 10268 * @note: btstack_type 1 10269 */ 10270 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 10271 return event[11]; 10272 } 10273 /** 10274 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 10275 * @param event packet 10276 * @return remote_seid 10277 * @note: btstack_type 1 10278 */ 10279 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 10280 return event[12]; 10281 } 10282 /** 10283 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 10284 * @param event packet 10285 * @return status 10286 * @note: btstack_type 1 10287 */ 10288 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 10289 return event[13]; 10290 } 10291 10292 /** 10293 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 10294 * @param event packet 10295 * @return a2dp_cid 10296 * @note: btstack_type 2 10297 */ 10298 static inline uint16_t a2dp_subevent_start_stream_requested_get_a2dp_cid(const uint8_t * event){ 10299 return little_endian_read_16(event, 3); 10300 } 10301 /** 10302 * @brief Get field local_seid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 10303 * @param event packet 10304 * @return local_seid 10305 * @note: btstack_type 1 10306 */ 10307 static inline uint8_t a2dp_subevent_start_stream_requested_get_local_seid(const uint8_t * event){ 10308 return event[5]; 10309 } 10310 10311 /** 10312 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 10313 * @param event packet 10314 * @return a2dp_cid 10315 * @note: btstack_type 2 10316 */ 10317 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 10318 return little_endian_read_16(event, 3); 10319 } 10320 /** 10321 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 10322 * @param event packet 10323 * @return local_seid 10324 * @note: btstack_type 1 10325 */ 10326 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 10327 return event[5]; 10328 } 10329 10330 /** 10331 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 10332 * @param event packet 10333 * @return a2dp_cid 10334 * @note: btstack_type 2 10335 */ 10336 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 10337 return little_endian_read_16(event, 3); 10338 } 10339 /** 10340 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 10341 * @param event packet 10342 * @return local_seid 10343 * @note: btstack_type 1 10344 */ 10345 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 10346 return event[5]; 10347 } 10348 10349 /** 10350 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 10351 * @param event packet 10352 * @return a2dp_cid 10353 * @note: btstack_type 2 10354 */ 10355 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 10356 return little_endian_read_16(event, 3); 10357 } 10358 /** 10359 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 10360 * @param event packet 10361 * @return local_seid 10362 * @note: btstack_type 1 10363 */ 10364 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 10365 return event[5]; 10366 } 10367 10368 /** 10369 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 10370 * @param event packet 10371 * @return a2dp_cid 10372 * @note: btstack_type 2 10373 */ 10374 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 10375 return little_endian_read_16(event, 3); 10376 } 10377 /** 10378 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 10379 * @param event packet 10380 * @return local_seid 10381 * @note: btstack_type 1 10382 */ 10383 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 10384 return event[5]; 10385 } 10386 10387 /** 10388 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10389 * @param event packet 10390 * @return a2dp_cid 10391 * @note: btstack_type 2 10392 */ 10393 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 10394 return little_endian_read_16(event, 3); 10395 } 10396 /** 10397 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10398 * @param event packet 10399 * @return local_seid 10400 * @note: btstack_type 1 10401 */ 10402 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 10403 return event[5]; 10404 } 10405 /** 10406 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10407 * @param event packet 10408 * @return signal_identifier 10409 * @note: btstack_type 1 10410 */ 10411 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 10412 return event[6]; 10413 } 10414 10415 /** 10416 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 10417 * @param event packet 10418 * @return a2dp_cid 10419 * @note: btstack_type 2 10420 */ 10421 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 10422 return little_endian_read_16(event, 3); 10423 } 10424 /** 10425 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 10426 * @param event packet 10427 * @return local_seid 10428 * @note: btstack_type 1 10429 */ 10430 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 10431 return event[5]; 10432 } 10433 /** 10434 * @brief Get field is_initiator from event A2DP_SUBEVENT_COMMAND_REJECTED 10435 * @param event packet 10436 * @return is_initiator 10437 * @note: btstack_type 1 10438 */ 10439 static inline uint8_t a2dp_subevent_command_rejected_get_is_initiator(const uint8_t * event){ 10440 return event[6]; 10441 } 10442 /** 10443 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 10444 * @param event packet 10445 * @return signal_identifier 10446 * @note: btstack_type 1 10447 */ 10448 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 10449 return event[7]; 10450 } 10451 10452 /** 10453 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10454 * @param event packet 10455 * @return a2dp_cid 10456 * @note: btstack_type 2 10457 */ 10458 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 10459 return little_endian_read_16(event, 3); 10460 } 10461 /** 10462 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10463 * @param event packet 10464 * @param Pointer to storage for bd_addr 10465 * @note: btstack_type B 10466 */ 10467 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10468 reverse_bytes(&event[5], bd_addr, 6); 10469 } 10470 /** 10471 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10472 * @param event packet 10473 * @return con_handle 10474 * @note: btstack_type 2 10475 */ 10476 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 10477 return little_endian_read_16(event, 11); 10478 } 10479 /** 10480 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10481 * @param event packet 10482 * @return status 10483 * @note: btstack_type 1 10484 */ 10485 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 10486 return event[13]; 10487 } 10488 10489 /** 10490 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 10491 * @param event packet 10492 * @return a2dp_cid 10493 * @note: btstack_type 2 10494 */ 10495 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 10496 return little_endian_read_16(event, 3); 10497 } 10498 10499 /** 10500 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10501 * @param event packet 10502 * @return a2dp_cid 10503 * @note: btstack_type 2 10504 */ 10505 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 10506 return little_endian_read_16(event, 3); 10507 } 10508 /** 10509 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10510 * @param event packet 10511 * @return local_seid 10512 * @note: btstack_type 1 10513 */ 10514 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 10515 return event[5]; 10516 } 10517 /** 10518 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10519 * @param event packet 10520 * @return status 10521 * @note: btstack_type 1 10522 */ 10523 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 10524 return event[6]; 10525 } 10526 10527 /** 10528 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10529 * @param event packet 10530 * @return a2dp_cid 10531 * @note: btstack_type 2 10532 */ 10533 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_a2dp_cid(const uint8_t * event){ 10534 return little_endian_read_16(event, 3); 10535 } 10536 /** 10537 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10538 * @param event packet 10539 * @return remote_seid 10540 * @note: btstack_type 1 10541 */ 10542 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 10543 return event[5]; 10544 } 10545 /** 10546 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10547 * @param event packet 10548 * @return media_type 10549 * @note: btstack_type 1 10550 */ 10551 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 10552 return event[6]; 10553 } 10554 /** 10555 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10556 * @param event packet 10557 * @return sampling_frequency_bitmap 10558 * @note: btstack_type 1 10559 */ 10560 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10561 return event[7]; 10562 } 10563 /** 10564 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10565 * @param event packet 10566 * @return channel_mode_bitmap 10567 * @note: btstack_type 1 10568 */ 10569 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 10570 return event[8]; 10571 } 10572 /** 10573 * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10574 * @param event packet 10575 * @return block_length_bitmap 10576 * @note: btstack_type 1 10577 */ 10578 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 10579 return event[9]; 10580 } 10581 /** 10582 * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10583 * @param event packet 10584 * @return subbands_bitmap 10585 * @note: btstack_type 1 10586 */ 10587 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 10588 return event[10]; 10589 } 10590 /** 10591 * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10592 * @param event packet 10593 * @return allocation_method_bitmap 10594 * @note: btstack_type 1 10595 */ 10596 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 10597 return event[11]; 10598 } 10599 /** 10600 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10601 * @param event packet 10602 * @return min_bitpool_value 10603 * @note: btstack_type 1 10604 */ 10605 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 10606 return event[12]; 10607 } 10608 /** 10609 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10610 * @param event packet 10611 * @return max_bitpool_value 10612 * @note: btstack_type 1 10613 */ 10614 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 10615 return event[13]; 10616 } 10617 10618 /** 10619 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10620 * @param event packet 10621 * @return a2dp_cid 10622 * @note: btstack_type 2 10623 */ 10624 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_a2dp_cid(const uint8_t * event){ 10625 return little_endian_read_16(event, 3); 10626 } 10627 /** 10628 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10629 * @param event packet 10630 * @return remote_seid 10631 * @note: btstack_type 1 10632 */ 10633 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 10634 return event[5]; 10635 } 10636 /** 10637 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10638 * @param event packet 10639 * @return media_type 10640 * @note: btstack_type 1 10641 */ 10642 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 10643 return event[6]; 10644 } 10645 /** 10646 * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10647 * @param event packet 10648 * @return layer_bitmap 10649 * @note: btstack_type 1 10650 */ 10651 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 10652 return event[7]; 10653 } 10654 /** 10655 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10656 * @param event packet 10657 * @return crc 10658 * @note: btstack_type 1 10659 */ 10660 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 10661 return event[8]; 10662 } 10663 /** 10664 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10665 * @param event packet 10666 * @return channel_mode_bitmap 10667 * @note: btstack_type 1 10668 */ 10669 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 10670 return event[9]; 10671 } 10672 /** 10673 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10674 * @param event packet 10675 * @return media_payload_format 10676 * @note: btstack_type 1 10677 */ 10678 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 10679 return event[10]; 10680 } 10681 /** 10682 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10683 * @param event packet 10684 * @return sampling_frequency_bitmap 10685 * @note: btstack_type 1 10686 */ 10687 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10688 return event[11]; 10689 } 10690 /** 10691 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10692 * @param event packet 10693 * @return vbr 10694 * @note: btstack_type 1 10695 */ 10696 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 10697 return event[12]; 10698 } 10699 /** 10700 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10701 * @param event packet 10702 * @return bit_rate_index_bitmap 10703 * @note: btstack_type 2 10704 */ 10705 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10706 return little_endian_read_16(event, 13); 10707 } 10708 10709 /** 10710 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10711 * @param event packet 10712 * @return a2dp_cid 10713 * @note: btstack_type 2 10714 */ 10715 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_a2dp_cid(const uint8_t * event){ 10716 return little_endian_read_16(event, 3); 10717 } 10718 /** 10719 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10720 * @param event packet 10721 * @return remote_seid 10722 * @note: btstack_type 1 10723 */ 10724 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 10725 return event[5]; 10726 } 10727 /** 10728 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10729 * @param event packet 10730 * @return media_type 10731 * @note: btstack_type 1 10732 */ 10733 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 10734 return event[6]; 10735 } 10736 /** 10737 * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10738 * @param event packet 10739 * @return object_type_bitmap 10740 * @note: btstack_type 1 10741 */ 10742 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 10743 return event[7]; 10744 } 10745 /** 10746 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10747 * @param event packet 10748 * @return sampling_frequency_bitmap 10749 * @note: btstack_type 2 10750 */ 10751 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10752 return little_endian_read_16(event, 8); 10753 } 10754 /** 10755 * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10756 * @param event packet 10757 * @return channels_bitmap 10758 * @note: btstack_type 1 10759 */ 10760 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 10761 return event[10]; 10762 } 10763 /** 10764 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10765 * @param event packet 10766 * @return bit_rate 10767 * @note: btstack_type 3 10768 */ 10769 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 10770 return little_endian_read_24(event, 11); 10771 } 10772 /** 10773 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10774 * @param event packet 10775 * @return vbr 10776 * @note: btstack_type 1 10777 */ 10778 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 10779 return event[14]; 10780 } 10781 /** 10782 * @brief Get field drc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10783 * @param event packet 10784 * @return drc 10785 * @note: btstack_type 1 10786 */ 10787 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_drc(const uint8_t * event){ 10788 return event[15]; 10789 } 10790 10791 /** 10792 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10793 * @param event packet 10794 * @return a2dp_cid 10795 * @note: btstack_type 2 10796 */ 10797 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_a2dp_cid(const uint8_t * event){ 10798 return little_endian_read_16(event, 3); 10799 } 10800 /** 10801 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10802 * @param event packet 10803 * @return remote_seid 10804 * @note: btstack_type 1 10805 */ 10806 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 10807 return event[5]; 10808 } 10809 /** 10810 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10811 * @param event packet 10812 * @return media_type 10813 * @note: btstack_type 1 10814 */ 10815 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 10816 return event[6]; 10817 } 10818 /** 10819 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10820 * @param event packet 10821 * @return version 10822 * @note: btstack_type 1 10823 */ 10824 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 10825 return event[7]; 10826 } 10827 /** 10828 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10829 * @param event packet 10830 * @return channel_mode_bitmap 10831 * @note: btstack_type 1 10832 */ 10833 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 10834 return event[8]; 10835 } 10836 /** 10837 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10838 * @param event packet 10839 * @return sampling_frequency_bitmap 10840 * @note: btstack_type 1 10841 */ 10842 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10843 return event[9]; 10844 } 10845 /** 10846 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10847 * @param event packet 10848 * @return vbr 10849 * @note: btstack_type 1 10850 */ 10851 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 10852 return event[10]; 10853 } 10854 /** 10855 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10856 * @param event packet 10857 * @return bit_rate_index_bitmap 10858 * @note: btstack_type 3 10859 */ 10860 static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10861 return little_endian_read_24(event, 11); 10862 } 10863 /** 10864 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10865 * @param event packet 10866 * @return maximum_sul 10867 * @note: btstack_type 2 10868 */ 10869 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 10870 return little_endian_read_16(event, 14); 10871 } 10872 10873 /** 10874 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10875 * @param event packet 10876 * @return a2dp_cid 10877 * @note: btstack_type 2 10878 */ 10879 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_a2dp_cid(const uint8_t * event){ 10880 return little_endian_read_16(event, 3); 10881 } 10882 /** 10883 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10884 * @param event packet 10885 * @return remote_seid 10886 * @note: btstack_type 1 10887 */ 10888 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 10889 return event[5]; 10890 } 10891 /** 10892 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10893 * @param event packet 10894 * @return media_type 10895 * @note: btstack_type 1 10896 */ 10897 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 10898 return event[6]; 10899 } 10900 /** 10901 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10902 * @param event packet 10903 * @return media_codec_type 10904 * @note: btstack_type 2 10905 */ 10906 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 10907 return little_endian_read_16(event, 7); 10908 } 10909 /** 10910 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10911 * @param event packet 10912 * @return media_codec_information_len 10913 * @note: btstack_type L 10914 */ 10915 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 10916 return little_endian_read_16(event, 9); 10917 } 10918 /** 10919 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10920 * @param event packet 10921 * @return media_codec_information 10922 * @note: btstack_type V 10923 */ 10924 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 10925 return &event[11]; 10926 } 10927 10928 /** 10929 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10930 * @param event packet 10931 * @return a2dp_cid 10932 * @note: btstack_type 2 10933 */ 10934 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_a2dp_cid(const uint8_t * event){ 10935 return little_endian_read_16(event, 3); 10936 } 10937 /** 10938 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10939 * @param event packet 10940 * @return remote_seid 10941 * @note: btstack_type 1 10942 */ 10943 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 10944 return event[5]; 10945 } 10946 10947 /** 10948 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10949 * @param event packet 10950 * @return a2dp_cid 10951 * @note: btstack_type 2 10952 */ 10953 static inline uint16_t a2dp_subevent_signaling_delay_report_get_a2dp_cid(const uint8_t * event){ 10954 return little_endian_read_16(event, 3); 10955 } 10956 /** 10957 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10958 * @param event packet 10959 * @return local_seid 10960 * @note: btstack_type 1 10961 */ 10962 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 10963 return event[5]; 10964 } 10965 /** 10966 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10967 * @param event packet 10968 * @return delay_100us 10969 * @note: btstack_type 2 10970 */ 10971 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 10972 return little_endian_read_16(event, 6); 10973 } 10974 10975 /** 10976 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10977 * @param event packet 10978 * @return a2dp_cid 10979 * @note: btstack_type 2 10980 */ 10981 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_a2dp_cid(const uint8_t * event){ 10982 return little_endian_read_16(event, 3); 10983 } 10984 /** 10985 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10986 * @param event packet 10987 * @return remote_seid 10988 * @note: btstack_type 1 10989 */ 10990 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 10991 return event[5]; 10992 } 10993 10994 /** 10995 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 10996 * @param event packet 10997 * @return a2dp_cid 10998 * @note: btstack_type 2 10999 */ 11000 static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_a2dp_cid(const uint8_t * event){ 11001 return little_endian_read_16(event, 3); 11002 } 11003 11004 /** 11005 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 11006 * @param event packet 11007 * @return avrcp_cid 11008 * @note: btstack_type 2 11009 */ 11010 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 11011 return little_endian_read_16(event, 3); 11012 } 11013 /** 11014 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 11015 * @param event packet 11016 * @return command_type 11017 * @note: btstack_type 1 11018 */ 11019 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 11020 return event[5]; 11021 } 11022 /** 11023 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 11024 * @param event packet 11025 * @return play_status 11026 * @note: btstack_type 1 11027 */ 11028 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 11029 return event[6]; 11030 } 11031 11032 /** 11033 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 11034 * @param event packet 11035 * @return avrcp_cid 11036 * @note: btstack_type 2 11037 */ 11038 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 11039 return little_endian_read_16(event, 3); 11040 } 11041 /** 11042 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 11043 * @param event packet 11044 * @return command_type 11045 * @note: btstack_type 1 11046 */ 11047 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 11048 return event[5]; 11049 } 11050 11051 /** 11052 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 11053 * @param event packet 11054 * @return avrcp_cid 11055 * @note: btstack_type 2 11056 */ 11057 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 11058 return little_endian_read_16(event, 3); 11059 } 11060 /** 11061 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 11062 * @param event packet 11063 * @return command_type 11064 * @note: btstack_type 1 11065 */ 11066 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 11067 return event[5]; 11068 } 11069 11070 /** 11071 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 11072 * @param event packet 11073 * @return avrcp_cid 11074 * @note: btstack_type 2 11075 */ 11076 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){ 11077 return little_endian_read_16(event, 3); 11078 } 11079 /** 11080 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 11081 * @param event packet 11082 * @return command_type 11083 * @note: btstack_type 1 11084 */ 11085 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 11086 return event[5]; 11087 } 11088 11089 /** 11090 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 11091 * @param event packet 11092 * @return avrcp_cid 11093 * @note: btstack_type 2 11094 */ 11095 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 11096 return little_endian_read_16(event, 3); 11097 } 11098 /** 11099 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 11100 * @param event packet 11101 * @return command_type 11102 * @note: btstack_type 1 11103 */ 11104 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 11105 return event[5]; 11106 } 11107 /** 11108 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 11109 * @param event packet 11110 * @return playback_position 11111 * @note: btstack_type 4 11112 */ 11113 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 11114 return little_endian_read_32(event, 6); 11115 } 11116 11117 /** 11118 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 11119 * @param event packet 11120 * @return avrcp_cid 11121 * @note: btstack_type 2 11122 */ 11123 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 11124 return little_endian_read_16(event, 3); 11125 } 11126 /** 11127 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 11128 * @param event packet 11129 * @return command_type 11130 * @note: btstack_type 1 11131 */ 11132 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 11133 return event[5]; 11134 } 11135 /** 11136 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 11137 * @param event packet 11138 * @return battery_status 11139 * @note: btstack_type 1 11140 */ 11141 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 11142 return event[6]; 11143 } 11144 11145 /** 11146 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 11147 * @param event packet 11148 * @return avrcp_cid 11149 * @note: btstack_type 2 11150 */ 11151 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 11152 return little_endian_read_16(event, 3); 11153 } 11154 /** 11155 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 11156 * @param event packet 11157 * @return command_type 11158 * @note: btstack_type 1 11159 */ 11160 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 11161 return event[5]; 11162 } 11163 /** 11164 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 11165 * @param event packet 11166 * @return system_status 11167 * @note: btstack_type 1 11168 */ 11169 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 11170 return event[6]; 11171 } 11172 11173 /** 11174 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 11175 * @param event packet 11176 * @return avrcp_cid 11177 * @note: btstack_type 2 11178 */ 11179 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 11180 return little_endian_read_16(event, 3); 11181 } 11182 /** 11183 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 11184 * @param event packet 11185 * @return command_type 11186 * @note: btstack_type 1 11187 */ 11188 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 11189 return event[5]; 11190 } 11191 11192 /** 11193 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 11194 * @param event packet 11195 * @return avrcp_cid 11196 * @note: btstack_type 2 11197 */ 11198 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 11199 return little_endian_read_16(event, 3); 11200 } 11201 /** 11202 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 11203 * @param event packet 11204 * @return command_type 11205 * @note: btstack_type 1 11206 */ 11207 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 11208 return event[5]; 11209 } 11210 11211 /** 11212 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 11213 * @param event packet 11214 * @return avrcp_cid 11215 * @note: btstack_type 2 11216 */ 11217 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 11218 return little_endian_read_16(event, 3); 11219 } 11220 /** 11221 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 11222 * @param event packet 11223 * @return command_type 11224 * @note: btstack_type 1 11225 */ 11226 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 11227 return event[5]; 11228 } 11229 /** 11230 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 11231 * @param event packet 11232 * @return uid_counter 11233 * @note: btstack_type 2 11234 */ 11235 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 11236 return little_endian_read_16(event, 6); 11237 } 11238 11239 /** 11240 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 11241 * @param event packet 11242 * @return avrcp_cid 11243 * @note: btstack_type 2 11244 */ 11245 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 11246 return little_endian_read_16(event, 3); 11247 } 11248 /** 11249 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 11250 * @param event packet 11251 * @return command_type 11252 * @note: btstack_type 1 11253 */ 11254 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 11255 return event[5]; 11256 } 11257 /** 11258 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 11259 * @param event packet 11260 * @return absolute_volume 11261 * @note: btstack_type 1 11262 */ 11263 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 11264 return event[6]; 11265 } 11266 11267 /** 11268 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 11269 * @param event packet 11270 * @return avrcp_cid 11271 * @note: btstack_type 2 11272 */ 11273 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 11274 return little_endian_read_16(event, 3); 11275 } 11276 /** 11277 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 11278 * @param event packet 11279 * @return command_type 11280 * @note: btstack_type 1 11281 */ 11282 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 11283 return event[5]; 11284 } 11285 /** 11286 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 11287 * @param event packet 11288 * @return absolute_volume 11289 * @note: btstack_type 1 11290 */ 11291 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 11292 return event[6]; 11293 } 11294 11295 /** 11296 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_STATE 11297 * @param event packet 11298 * @return avrcp_cid 11299 * @note: btstack_type 2 11300 */ 11301 static inline uint16_t avrcp_subevent_notification_state_get_avrcp_cid(const uint8_t * event){ 11302 return little_endian_read_16(event, 3); 11303 } 11304 /** 11305 * @brief Get field status from event AVRCP_SUBEVENT_NOTIFICATION_STATE 11306 * @param event packet 11307 * @return status 11308 * @note: btstack_type 1 11309 */ 11310 static inline uint8_t avrcp_subevent_notification_state_get_status(const uint8_t * event){ 11311 return event[5]; 11312 } 11313 /** 11314 * @brief Get field enabled from event AVRCP_SUBEVENT_NOTIFICATION_STATE 11315 * @param event packet 11316 * @return enabled 11317 * @note: btstack_type 1 11318 */ 11319 static inline uint8_t avrcp_subevent_notification_state_get_enabled(const uint8_t * event){ 11320 return event[6]; 11321 } 11322 /** 11323 * @brief Get field event_id from event AVRCP_SUBEVENT_NOTIFICATION_STATE 11324 * @param event packet 11325 * @return event_id 11326 * @note: btstack_type 1 11327 */ 11328 static inline uint8_t avrcp_subevent_notification_state_get_event_id(const uint8_t * event){ 11329 return event[7]; 11330 } 11331 11332 /** 11333 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 11334 * @param event packet 11335 * @return status 11336 * @note: btstack_type 1 11337 */ 11338 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 11339 return event[3]; 11340 } 11341 /** 11342 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 11343 * @param event packet 11344 * @return avrcp_cid 11345 * @note: btstack_type 2 11346 */ 11347 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 11348 return little_endian_read_16(event, 4); 11349 } 11350 /** 11351 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 11352 * @param event packet 11353 * @param Pointer to storage for bd_addr 11354 * @note: btstack_type B 11355 */ 11356 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11357 reverse_bytes(&event[6], bd_addr, 6); 11358 } 11359 /** 11360 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 11361 * @param event packet 11362 * @return con_handle 11363 * @note: btstack_type 2 11364 */ 11365 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 11366 return little_endian_read_16(event, 12); 11367 } 11368 11369 /** 11370 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 11371 * @param event packet 11372 * @return avrcp_cid 11373 * @note: btstack_type 2 11374 */ 11375 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 11376 return little_endian_read_16(event, 3); 11377 } 11378 11379 /** 11380 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11381 * @param event packet 11382 * @return avrcp_cid 11383 * @note: btstack_type 2 11384 */ 11385 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 11386 return little_endian_read_16(event, 3); 11387 } 11388 /** 11389 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11390 * @param event packet 11391 * @return command_type 11392 * @note: btstack_type 1 11393 */ 11394 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 11395 return event[5]; 11396 } 11397 /** 11398 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11399 * @param event packet 11400 * @return repeat_mode 11401 * @note: btstack_type 1 11402 */ 11403 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 11404 return event[6]; 11405 } 11406 /** 11407 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11408 * @param event packet 11409 * @return shuffle_mode 11410 * @note: btstack_type 1 11411 */ 11412 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 11413 return event[7]; 11414 } 11415 11416 /** 11417 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 11418 * @param event packet 11419 * @return avrcp_cid 11420 * @note: btstack_type 2 11421 */ 11422 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 11423 return little_endian_read_16(event, 3); 11424 } 11425 /** 11426 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 11427 * @param event packet 11428 * @return command_type 11429 * @note: btstack_type 1 11430 */ 11431 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 11432 return event[5]; 11433 } 11434 /** 11435 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 11436 * @param event packet 11437 * @return song_length 11438 * @note: btstack_type 4 11439 */ 11440 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 11441 return little_endian_read_32(event, 6); 11442 } 11443 /** 11444 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 11445 * @param event packet 11446 * @return song_position 11447 * @note: btstack_type 4 11448 */ 11449 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 11450 return little_endian_read_32(event, 10); 11451 } 11452 /** 11453 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 11454 * @param event packet 11455 * @return play_status 11456 * @note: btstack_type 1 11457 */ 11458 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 11459 return event[14]; 11460 } 11461 11462 /** 11463 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 11464 * @param event packet 11465 * @return avrcp_cid 11466 * @note: btstack_type 2 11467 */ 11468 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 11469 return little_endian_read_16(event, 3); 11470 } 11471 /** 11472 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 11473 * @param event packet 11474 * @return command_type 11475 * @note: btstack_type 1 11476 */ 11477 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 11478 return event[5]; 11479 } 11480 /** 11481 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 11482 * @param event packet 11483 * @return operation_id 11484 * @note: btstack_type 1 11485 */ 11486 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 11487 return event[6]; 11488 } 11489 11490 /** 11491 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11492 * @param event packet 11493 * @return avrcp_cid 11494 * @note: btstack_type 2 11495 */ 11496 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 11497 return little_endian_read_16(event, 3); 11498 } 11499 /** 11500 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11501 * @param event packet 11502 * @return command_type 11503 * @note: btstack_type 1 11504 */ 11505 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 11506 return event[5]; 11507 } 11508 /** 11509 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11510 * @param event packet 11511 * @return operation_id 11512 * @note: btstack_type 1 11513 */ 11514 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 11515 return event[6]; 11516 } 11517 11518 /** 11519 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 11520 * @param event packet 11521 * @return avrcp_cid 11522 * @note: btstack_type 2 11523 */ 11524 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 11525 return little_endian_read_16(event, 3); 11526 } 11527 /** 11528 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 11529 * @param event packet 11530 * @return command_type 11531 * @note: btstack_type 1 11532 */ 11533 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 11534 return event[5]; 11535 } 11536 11537 /** 11538 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 11539 * @param event packet 11540 * @return avrcp_cid 11541 * @note: btstack_type 2 11542 */ 11543 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 11544 return little_endian_read_16(event, 3); 11545 } 11546 11547 /** 11548 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 11549 * @param event packet 11550 * @return avrcp_cid 11551 * @note: btstack_type 2 11552 */ 11553 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 11554 return little_endian_read_16(event, 3); 11555 } 11556 /** 11557 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 11558 * @param event packet 11559 * @return operation_id 11560 * @note: btstack_type 1 11561 */ 11562 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 11563 return event[5]; 11564 } 11565 /** 11566 * @brief Get field button_pressed from event AVRCP_SUBEVENT_OPERATION 11567 * @param event packet 11568 * @return button_pressed 11569 * @note: btstack_type 1 11570 */ 11571 static inline uint8_t avrcp_subevent_operation_get_button_pressed(const uint8_t * event){ 11572 return event[6]; 11573 } 11574 /** 11575 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 11576 * @param event packet 11577 * @return operands_length 11578 * @note: btstack_type 1 11579 */ 11580 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 11581 return event[7]; 11582 } 11583 /** 11584 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 11585 * @param event packet 11586 * @return operand 11587 * @note: btstack_type 1 11588 */ 11589 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 11590 return event[8]; 11591 } 11592 11593 /** 11594 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11595 * @param event packet 11596 * @return avrcp_cid 11597 * @note: btstack_type 2 11598 */ 11599 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 11600 return little_endian_read_16(event, 3); 11601 } 11602 /** 11603 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11604 * @param event packet 11605 * @return command_type 11606 * @note: btstack_type 1 11607 */ 11608 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 11609 return event[5]; 11610 } 11611 /** 11612 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11613 * @param event packet 11614 * @return track 11615 * @note: btstack_type 1 11616 */ 11617 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 11618 return event[6]; 11619 } 11620 11621 /** 11622 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11623 * @param event packet 11624 * @return avrcp_cid 11625 * @note: btstack_type 2 11626 */ 11627 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 11628 return little_endian_read_16(event, 3); 11629 } 11630 /** 11631 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11632 * @param event packet 11633 * @return command_type 11634 * @note: btstack_type 1 11635 */ 11636 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 11637 return event[5]; 11638 } 11639 /** 11640 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11641 * @param event packet 11642 * @return total_tracks 11643 * @note: btstack_type 1 11644 */ 11645 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 11646 return event[6]; 11647 } 11648 11649 /** 11650 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11651 * @param event packet 11652 * @return avrcp_cid 11653 * @note: btstack_type 2 11654 */ 11655 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 11656 return little_endian_read_16(event, 3); 11657 } 11658 /** 11659 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11660 * @param event packet 11661 * @return command_type 11662 * @note: btstack_type 1 11663 */ 11664 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 11665 return event[5]; 11666 } 11667 /** 11668 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11669 * @param event packet 11670 * @return song_length 11671 * @note: btstack_type 4 11672 */ 11673 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 11674 return little_endian_read_32(event, 6); 11675 } 11676 11677 /** 11678 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11679 * @param event packet 11680 * @return avrcp_cid 11681 * @note: btstack_type 2 11682 */ 11683 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 11684 return little_endian_read_16(event, 3); 11685 } 11686 /** 11687 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11688 * @param event packet 11689 * @return command_type 11690 * @note: btstack_type 1 11691 */ 11692 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 11693 return event[5]; 11694 } 11695 /** 11696 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11697 * @param event packet 11698 * @return value_len 11699 * @note: btstack_type J 11700 */ 11701 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 11702 return event[6]; 11703 } 11704 /** 11705 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11706 * @param event packet 11707 * @return value 11708 * @note: btstack_type V 11709 */ 11710 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 11711 return &event[7]; 11712 } 11713 11714 /** 11715 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11716 * @param event packet 11717 * @return avrcp_cid 11718 * @note: btstack_type 2 11719 */ 11720 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 11721 return little_endian_read_16(event, 3); 11722 } 11723 /** 11724 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11725 * @param event packet 11726 * @return command_type 11727 * @note: btstack_type 1 11728 */ 11729 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 11730 return event[5]; 11731 } 11732 /** 11733 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11734 * @param event packet 11735 * @return value_len 11736 * @note: btstack_type J 11737 */ 11738 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 11739 return event[6]; 11740 } 11741 /** 11742 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11743 * @param event packet 11744 * @return value 11745 * @note: btstack_type V 11746 */ 11747 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 11748 return &event[7]; 11749 } 11750 11751 /** 11752 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11753 * @param event packet 11754 * @return avrcp_cid 11755 * @note: btstack_type 2 11756 */ 11757 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 11758 return little_endian_read_16(event, 3); 11759 } 11760 /** 11761 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11762 * @param event packet 11763 * @return command_type 11764 * @note: btstack_type 1 11765 */ 11766 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 11767 return event[5]; 11768 } 11769 /** 11770 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11771 * @param event packet 11772 * @return value_len 11773 * @note: btstack_type J 11774 */ 11775 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 11776 return event[6]; 11777 } 11778 /** 11779 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11780 * @param event packet 11781 * @return value 11782 * @note: btstack_type V 11783 */ 11784 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 11785 return &event[7]; 11786 } 11787 11788 /** 11789 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11790 * @param event packet 11791 * @return avrcp_cid 11792 * @note: btstack_type 2 11793 */ 11794 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 11795 return little_endian_read_16(event, 3); 11796 } 11797 /** 11798 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11799 * @param event packet 11800 * @return command_type 11801 * @note: btstack_type 1 11802 */ 11803 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 11804 return event[5]; 11805 } 11806 /** 11807 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11808 * @param event packet 11809 * @return value_len 11810 * @note: btstack_type J 11811 */ 11812 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 11813 return event[6]; 11814 } 11815 /** 11816 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11817 * @param event packet 11818 * @return value 11819 * @note: btstack_type V 11820 */ 11821 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 11822 return &event[7]; 11823 } 11824 11825 /** 11826 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11827 * @param event packet 11828 * @return avrcp_cid 11829 * @note: btstack_type 2 11830 */ 11831 static inline uint16_t avrcp_subevent_now_playing_cover_art_info_get_avrcp_cid(const uint8_t * event){ 11832 return little_endian_read_16(event, 3); 11833 } 11834 /** 11835 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11836 * @param event packet 11837 * @return command_type 11838 * @note: btstack_type 1 11839 */ 11840 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_command_type(const uint8_t * event){ 11841 return event[5]; 11842 } 11843 /** 11844 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11845 * @param event packet 11846 * @return value_len 11847 * @note: btstack_type J 11848 */ 11849 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_value_len(const uint8_t * event){ 11850 return event[6]; 11851 } 11852 /** 11853 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11854 * @param event packet 11855 * @return value 11856 * @note: btstack_type V 11857 */ 11858 static inline const uint8_t * avrcp_subevent_now_playing_cover_art_info_get_value(const uint8_t * event){ 11859 return &event[7]; 11860 } 11861 11862 /** 11863 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11864 * @param event packet 11865 * @return avrcp_cid 11866 * @note: btstack_type 2 11867 */ 11868 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 11869 return little_endian_read_16(event, 3); 11870 } 11871 /** 11872 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11873 * @param event packet 11874 * @return command_type 11875 * @note: btstack_type 1 11876 */ 11877 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 11878 return event[5]; 11879 } 11880 /** 11881 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11882 * @param event packet 11883 * @return status 11884 * @note: btstack_type 1 11885 */ 11886 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 11887 return event[6]; 11888 } 11889 11890 /** 11891 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11892 * @param event packet 11893 * @return avrcp_cid 11894 * @note: btstack_type 2 11895 */ 11896 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 11897 return little_endian_read_16(event, 3); 11898 } 11899 /** 11900 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11901 * @param event packet 11902 * @return command_type 11903 * @note: btstack_type 1 11904 */ 11905 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 11906 return event[5]; 11907 } 11908 /** 11909 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11910 * @param event packet 11911 * @return playback_position_ms 11912 * @note: btstack_type 4 11913 */ 11914 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 11915 return little_endian_read_32(event, 6); 11916 } 11917 11918 /** 11919 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11920 * @param event packet 11921 * @return avrcp_cid 11922 * @note: btstack_type 2 11923 */ 11924 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 11925 return little_endian_read_16(event, 3); 11926 } 11927 /** 11928 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11929 * @param event packet 11930 * @return command_type 11931 * @note: btstack_type 1 11932 */ 11933 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 11934 return event[5]; 11935 } 11936 /** 11937 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11938 * @param event packet 11939 * @return status 11940 * @note: btstack_type 1 11941 */ 11942 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 11943 return event[6]; 11944 } 11945 /** 11946 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11947 * @param event packet 11948 * @return event_id 11949 * @note: btstack_type 1 11950 */ 11951 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 11952 return event[7]; 11953 } 11954 11955 /** 11956 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11957 * @param event packet 11958 * @return avrcp_cid 11959 * @note: btstack_type 2 11960 */ 11961 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){ 11962 return little_endian_read_16(event, 3); 11963 } 11964 /** 11965 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11966 * @param event packet 11967 * @return command_type 11968 * @note: btstack_type 1 11969 */ 11970 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 11971 return event[5]; 11972 } 11973 /** 11974 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11975 * @param event packet 11976 * @return status 11977 * @note: btstack_type 1 11978 */ 11979 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 11980 return event[6]; 11981 } 11982 11983 /** 11984 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11985 * @param event packet 11986 * @return avrcp_cid 11987 * @note: btstack_type 2 11988 */ 11989 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 11990 return little_endian_read_16(event, 3); 11991 } 11992 /** 11993 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11994 * @param event packet 11995 * @return command_type 11996 * @note: btstack_type 1 11997 */ 11998 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 11999 return event[5]; 12000 } 12001 /** 12002 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 12003 * @param event packet 12004 * @return status 12005 * @note: btstack_type 1 12006 */ 12007 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 12008 return event[6]; 12009 } 12010 /** 12011 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 12012 * @param event packet 12013 * @return company_id 12014 * @note: btstack_type 3 12015 */ 12016 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 12017 return little_endian_read_24(event, 7); 12018 } 12019 12020 /** 12021 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 12022 * @param event packet 12023 * @return avrcp_cid 12024 * @note: btstack_type 2 12025 */ 12026 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){ 12027 return little_endian_read_16(event, 3); 12028 } 12029 /** 12030 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 12031 * @param event packet 12032 * @return command_type 12033 * @note: btstack_type 1 12034 */ 12035 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 12036 return event[5]; 12037 } 12038 /** 12039 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 12040 * @param event packet 12041 * @return status 12042 * @note: btstack_type 1 12043 */ 12044 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 12045 return event[6]; 12046 } 12047 12048 /** 12049 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 12050 * @param event packet 12051 * @return avrcp_cid 12052 * @note: btstack_type 2 12053 */ 12054 static inline uint16_t avrcp_subevent_custom_command_response_get_avrcp_cid(const uint8_t * event){ 12055 return little_endian_read_16(event, 3); 12056 } 12057 /** 12058 * @brief Get field command_type from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 12059 * @param event packet 12060 * @return command_type 12061 * @note: btstack_type 1 12062 */ 12063 static inline uint8_t avrcp_subevent_custom_command_response_get_command_type(const uint8_t * event){ 12064 return event[5]; 12065 } 12066 /** 12067 * @brief Get field pdu_id from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 12068 * @param event packet 12069 * @return pdu_id 12070 * @note: btstack_type 1 12071 */ 12072 static inline uint8_t avrcp_subevent_custom_command_response_get_pdu_id(const uint8_t * event){ 12073 return event[6]; 12074 } 12075 /** 12076 * @brief Get field params_len from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 12077 * @param event packet 12078 * @return params_len 12079 * @note: btstack_type L 12080 */ 12081 static inline uint16_t avrcp_subevent_custom_command_response_get_params_len(const uint8_t * event){ 12082 return little_endian_read_16(event, 7); 12083 } 12084 /** 12085 * @brief Get field params from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 12086 * @param event packet 12087 * @return params 12088 * @note: btstack_type V 12089 */ 12090 static inline const uint8_t * avrcp_subevent_custom_command_response_get_params(const uint8_t * event){ 12091 return &event[9]; 12092 } 12093 12094 /** 12095 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 12096 * @param event packet 12097 * @param Pointer to storage for bd_addr 12098 * @note: btstack_type B 12099 */ 12100 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12101 reverse_bytes(&event[3], bd_addr, 6); 12102 } 12103 /** 12104 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 12105 * @param event packet 12106 * @return browsing_cid 12107 * @note: btstack_type 2 12108 */ 12109 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 12110 return little_endian_read_16(event, 9); 12111 } 12112 12113 /** 12114 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 12115 * @param event packet 12116 * @return status 12117 * @note: btstack_type 1 12118 */ 12119 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 12120 return event[3]; 12121 } 12122 /** 12123 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 12124 * @param event packet 12125 * @param Pointer to storage for bd_addr 12126 * @note: btstack_type B 12127 */ 12128 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12129 reverse_bytes(&event[4], bd_addr, 6); 12130 } 12131 /** 12132 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 12133 * @param event packet 12134 * @return browsing_cid 12135 * @note: btstack_type 2 12136 */ 12137 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 12138 return little_endian_read_16(event, 10); 12139 } 12140 12141 /** 12142 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 12143 * @param event packet 12144 * @return browsing_cid 12145 * @note: btstack_type 2 12146 */ 12147 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 12148 return little_endian_read_16(event, 3); 12149 } 12150 12151 /** 12152 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 12153 * @param event packet 12154 * @return browsing_cid 12155 * @note: btstack_type 2 12156 */ 12157 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 12158 return little_endian_read_16(event, 3); 12159 } 12160 /** 12161 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 12162 * @param event packet 12163 * @return uid_counter 12164 * @note: btstack_type 2 12165 */ 12166 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 12167 return little_endian_read_16(event, 5); 12168 } 12169 /** 12170 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 12171 * @param event packet 12172 * @return browsing_status 12173 * @note: btstack_type 1 12174 */ 12175 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 12176 return event[7]; 12177 } 12178 /** 12179 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 12180 * @param event packet 12181 * @return bluetooth_status 12182 * @note: btstack_type 1 12183 */ 12184 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 12185 return event[8]; 12186 } 12187 12188 /** 12189 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 12190 * @param event packet 12191 * @return browsing_cid 12192 * @note: btstack_type 2 12193 */ 12194 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 12195 return little_endian_read_16(event, 3); 12196 } 12197 /** 12198 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 12199 * @param event packet 12200 * @return scope 12201 * @note: btstack_type 1 12202 */ 12203 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 12204 return event[5]; 12205 } 12206 /** 12207 * @brief Get field start_item from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 12208 * @param event packet 12209 * @return start_item 12210 * @note: btstack_type 4 12211 */ 12212 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_start_item(const uint8_t * event){ 12213 return little_endian_read_32(event, 6); 12214 } 12215 /** 12216 * @brief Get field end_item from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 12217 * @param event packet 12218 * @return end_item 12219 * @note: btstack_type 4 12220 */ 12221 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_end_item(const uint8_t * event){ 12222 return little_endian_read_32(event, 10); 12223 } 12224 /** 12225 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 12226 * @param event packet 12227 * @return attr_bitmap 12228 * @note: btstack_type 4 12229 */ 12230 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 12231 return little_endian_read_32(event, 14); 12232 } 12233 12234 /** 12235 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 12236 * @param event packet 12237 * @return browsing_cid 12238 * @note: btstack_type 2 12239 */ 12240 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 12241 return little_endian_read_16(event, 3); 12242 } 12243 /** 12244 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 12245 * @param event packet 12246 * @return scope 12247 * @note: btstack_type 1 12248 */ 12249 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 12250 return event[5]; 12251 } 12252 12253 /** 12254 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 12255 * @param event packet 12256 * @return browsing_cid 12257 * @note: btstack_type 2 12258 */ 12259 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_browsing_cid(const uint8_t * event){ 12260 return little_endian_read_16(event, 3); 12261 } 12262 /** 12263 * @brief Get field player_id from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 12264 * @param event packet 12265 * @return player_id 12266 * @note: btstack_type 2 12267 */ 12268 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_player_id(const uint8_t * event){ 12269 return little_endian_read_16(event, 5); 12270 } 12271 12272 /** 12273 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 12274 * @param event packet 12275 * @return status 12276 * @note: btstack_type 1 12277 */ 12278 static inline uint8_t avrcp_subevent_cover_art_connection_established_get_status(const uint8_t * event){ 12279 return event[3]; 12280 } 12281 /** 12282 * @brief Get field bd_addr from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 12283 * @param event packet 12284 * @param Pointer to storage for bd_addr 12285 * @note: btstack_type B 12286 */ 12287 static inline void avrcp_subevent_cover_art_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12288 reverse_bytes(&event[4], bd_addr, 6); 12289 } 12290 /** 12291 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 12292 * @param event packet 12293 * @return avrcp_cid 12294 * @note: btstack_type 2 12295 */ 12296 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_avrcp_cid(const uint8_t * event){ 12297 return little_endian_read_16(event, 10); 12298 } 12299 /** 12300 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 12301 * @param event packet 12302 * @return cover_art_cid 12303 * @note: btstack_type 2 12304 */ 12305 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_cover_art_cid(const uint8_t * event){ 12306 return little_endian_read_16(event, 12); 12307 } 12308 12309 /** 12310 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 12311 * @param event packet 12312 * @return cover_art_cid 12313 * @note: btstack_type 2 12314 */ 12315 static inline uint16_t avrcp_subevent_cover_art_operation_complete_get_cover_art_cid(const uint8_t * event){ 12316 return little_endian_read_16(event, 3); 12317 } 12318 /** 12319 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 12320 * @param event packet 12321 * @return status 12322 * @note: btstack_type 1 12323 */ 12324 static inline uint8_t avrcp_subevent_cover_art_operation_complete_get_status(const uint8_t * event){ 12325 return event[5]; 12326 } 12327 12328 /** 12329 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_RELEASED 12330 * @param event packet 12331 * @return cover_art_cid 12332 * @note: btstack_type 2 12333 */ 12334 static inline uint16_t avrcp_subevent_cover_art_connection_released_get_cover_art_cid(const uint8_t * event){ 12335 return little_endian_read_16(event, 3); 12336 } 12337 12338 /** 12339 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CHANGE_PATH 12340 * @param event packet 12341 * @return browsing_cid 12342 * @note: btstack_type 2 12343 */ 12344 static inline uint16_t avrcp_subevent_browsing_change_path_get_browsing_cid(const uint8_t * event){ 12345 return little_endian_read_16(event, 3); 12346 } 12347 /** 12348 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_CHANGE_PATH 12349 * @param event packet 12350 * @return uid_counter 12351 * @note: btstack_type 2 12352 */ 12353 static inline uint16_t avrcp_subevent_browsing_change_path_get_uid_counter(const uint8_t * event){ 12354 return little_endian_read_16(event, 5); 12355 } 12356 /** 12357 * @brief Get field direction from event AVRCP_SUBEVENT_BROWSING_CHANGE_PATH 12358 * @param event packet 12359 * @return direction 12360 * @note: btstack_type 1 12361 */ 12362 static inline uint8_t avrcp_subevent_browsing_change_path_get_direction(const uint8_t * event){ 12363 return event[7]; 12364 } 12365 /** 12366 * @brief Get field folder_id from event AVRCP_SUBEVENT_BROWSING_CHANGE_PATH 12367 * @param event packet 12368 * @return folder_id 12369 * @note: btstack_type D 12370 */ 12371 static inline const uint8_t * avrcp_subevent_browsing_change_path_get_folder_id(const uint8_t * event){ 12372 return (const uint8_t *) &event[8]; 12373 } 12374 12375 /** 12376 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_ITEM_ATTRIBUTES 12377 * @param event packet 12378 * @return browsing_cid 12379 * @note: btstack_type 2 12380 */ 12381 static inline uint16_t avrcp_subevent_browsing_get_item_attributes_get_browsing_cid(const uint8_t * event){ 12382 return little_endian_read_16(event, 3); 12383 } 12384 /** 12385 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_GET_ITEM_ATTRIBUTES 12386 * @param event packet 12387 * @return uid_counter 12388 * @note: btstack_type 2 12389 */ 12390 static inline uint16_t avrcp_subevent_browsing_get_item_attributes_get_uid_counter(const uint8_t * event){ 12391 return little_endian_read_16(event, 5); 12392 } 12393 /** 12394 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_ITEM_ATTRIBUTES 12395 * @param event packet 12396 * @return scope 12397 * @note: btstack_type 1 12398 */ 12399 static inline uint8_t avrcp_subevent_browsing_get_item_attributes_get_scope(const uint8_t * event){ 12400 return event[7]; 12401 } 12402 /** 12403 * @brief Get field item_id from event AVRCP_SUBEVENT_BROWSING_GET_ITEM_ATTRIBUTES 12404 * @param event packet 12405 * @return item_id 12406 * @note: btstack_type D 12407 */ 12408 static inline const uint8_t * avrcp_subevent_browsing_get_item_attributes_get_item_id(const uint8_t * event){ 12409 return (const uint8_t *) &event[8]; 12410 } 12411 /** 12412 * @brief Get field attributes_len from event AVRCP_SUBEVENT_BROWSING_GET_ITEM_ATTRIBUTES 12413 * @param event packet 12414 * @return attributes_len 12415 * @note: btstack_type J 12416 */ 12417 static inline uint8_t avrcp_subevent_browsing_get_item_attributes_get_attributes_len(const uint8_t * event){ 12418 return event[16]; 12419 } 12420 /** 12421 * @brief Get field attributes from event AVRCP_SUBEVENT_BROWSING_GET_ITEM_ATTRIBUTES 12422 * @param event packet 12423 * @return attributes 12424 * @note: btstack_type V 12425 */ 12426 static inline const uint8_t * avrcp_subevent_browsing_get_item_attributes_get_attributes(const uint8_t * event){ 12427 return &event[17]; 12428 } 12429 12430 /** 12431 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SEARCH 12432 * @param event packet 12433 * @return browsing_cid 12434 * @note: btstack_type 2 12435 */ 12436 static inline uint16_t avrcp_subevent_browsing_search_get_browsing_cid(const uint8_t * event){ 12437 return little_endian_read_16(event, 3); 12438 } 12439 /** 12440 * @brief Get field characterset from event AVRCP_SUBEVENT_BROWSING_SEARCH 12441 * @param event packet 12442 * @return characterset 12443 * @note: btstack_type 2 12444 */ 12445 static inline uint16_t avrcp_subevent_browsing_search_get_characterset(const uint8_t * event){ 12446 return little_endian_read_16(event, 5); 12447 } 12448 /** 12449 * @brief Get field value_length from event AVRCP_SUBEVENT_BROWSING_SEARCH 12450 * @param event packet 12451 * @return value_length 12452 * @note: btstack_type J 12453 */ 12454 static inline uint8_t avrcp_subevent_browsing_search_get_value_length(const uint8_t * event){ 12455 return event[7]; 12456 } 12457 /** 12458 * @brief Get field value from event AVRCP_SUBEVENT_BROWSING_SEARCH 12459 * @param event packet 12460 * @return value 12461 * @note: btstack_type V 12462 */ 12463 static inline const uint8_t * avrcp_subevent_browsing_search_get_value(const uint8_t * event){ 12464 return &event[8]; 12465 } 12466 12467 /** 12468 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_ITEM 12469 * @param event packet 12470 * @return avrcp_cid 12471 * @note: btstack_type 2 12472 */ 12473 static inline uint16_t avrcp_subevent_play_item_get_avrcp_cid(const uint8_t * event){ 12474 return little_endian_read_16(event, 3); 12475 } 12476 /** 12477 * @brief Get field uid_counter from event AVRCP_SUBEVENT_PLAY_ITEM 12478 * @param event packet 12479 * @return uid_counter 12480 * @note: btstack_type 2 12481 */ 12482 static inline uint16_t avrcp_subevent_play_item_get_uid_counter(const uint8_t * event){ 12483 return little_endian_read_16(event, 5); 12484 } 12485 /** 12486 * @brief Get field scope from event AVRCP_SUBEVENT_PLAY_ITEM 12487 * @param event packet 12488 * @return scope 12489 * @note: btstack_type 1 12490 */ 12491 static inline uint8_t avrcp_subevent_play_item_get_scope(const uint8_t * event){ 12492 return event[7]; 12493 } 12494 /** 12495 * @brief Get field item_id from event AVRCP_SUBEVENT_PLAY_ITEM 12496 * @param event packet 12497 * @return item_id 12498 * @note: btstack_type D 12499 */ 12500 static inline const uint8_t * avrcp_subevent_play_item_get_item_id(const uint8_t * event){ 12501 return (const uint8_t *) &event[8]; 12502 } 12503 12504 /** 12505 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_ADD_TO_NOW_PLAYING 12506 * @param event packet 12507 * @return avrcp_cid 12508 * @note: btstack_type 2 12509 */ 12510 static inline uint16_t avrcp_subevent_add_to_now_playing_get_avrcp_cid(const uint8_t * event){ 12511 return little_endian_read_16(event, 3); 12512 } 12513 /** 12514 * @brief Get field uid_counter from event AVRCP_SUBEVENT_ADD_TO_NOW_PLAYING 12515 * @param event packet 12516 * @return uid_counter 12517 * @note: btstack_type 2 12518 */ 12519 static inline uint16_t avrcp_subevent_add_to_now_playing_get_uid_counter(const uint8_t * event){ 12520 return little_endian_read_16(event, 5); 12521 } 12522 /** 12523 * @brief Get field scope from event AVRCP_SUBEVENT_ADD_TO_NOW_PLAYING 12524 * @param event packet 12525 * @return scope 12526 * @note: btstack_type 1 12527 */ 12528 static inline uint8_t avrcp_subevent_add_to_now_playing_get_scope(const uint8_t * event){ 12529 return event[7]; 12530 } 12531 /** 12532 * @brief Get field item_id from event AVRCP_SUBEVENT_ADD_TO_NOW_PLAYING 12533 * @param event packet 12534 * @return item_id 12535 * @note: btstack_type D 12536 */ 12537 static inline const uint8_t * avrcp_subevent_add_to_now_playing_get_item_id(const uint8_t * event){ 12538 return (const uint8_t *) &event[8]; 12539 } 12540 12541 /** 12542 * @brief Get field goep_cid from event GOEP_SUBEVENT_INCOMING_CONNECTION 12543 * @param event packet 12544 * @return goep_cid 12545 * @note: btstack_type 2 12546 */ 12547 static inline uint16_t goep_subevent_incoming_connection_get_goep_cid(const uint8_t * event){ 12548 return little_endian_read_16(event, 3); 12549 } 12550 /** 12551 * @brief Get field address from event GOEP_SUBEVENT_INCOMING_CONNECTION 12552 * @param event packet 12553 * @param Pointer to storage for address 12554 * @note: btstack_type B 12555 */ 12556 static inline void goep_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 12557 reverse_bytes(&event[5], address, 6); 12558 } 12559 /** 12560 * @brief Get field handle from event GOEP_SUBEVENT_INCOMING_CONNECTION 12561 * @param event packet 12562 * @return handle 12563 * @note: btstack_type H 12564 */ 12565 static inline hci_con_handle_t goep_subevent_incoming_connection_get_handle(const uint8_t * event){ 12566 return little_endian_read_16(event, 11); 12567 } 12568 12569 /** 12570 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 12571 * @param event packet 12572 * @return goep_cid 12573 * @note: btstack_type 2 12574 */ 12575 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 12576 return little_endian_read_16(event, 3); 12577 } 12578 /** 12579 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 12580 * @param event packet 12581 * @return status 12582 * @note: btstack_type 1 12583 */ 12584 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 12585 return event[5]; 12586 } 12587 /** 12588 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 12589 * @param event packet 12590 * @param Pointer to storage for bd_addr 12591 * @note: btstack_type B 12592 */ 12593 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12594 reverse_bytes(&event[6], bd_addr, 6); 12595 } 12596 /** 12597 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 12598 * @param event packet 12599 * @return con_handle 12600 * @note: btstack_type H 12601 */ 12602 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12603 return little_endian_read_16(event, 12); 12604 } 12605 /** 12606 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 12607 * @param event packet 12608 * @return incoming 12609 * @note: btstack_type 1 12610 */ 12611 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 12612 return event[14]; 12613 } 12614 12615 /** 12616 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 12617 * @param event packet 12618 * @return goep_cid 12619 * @note: btstack_type 2 12620 */ 12621 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 12622 return little_endian_read_16(event, 3); 12623 } 12624 12625 /** 12626 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 12627 * @param event packet 12628 * @return goep_cid 12629 * @note: btstack_type 2 12630 */ 12631 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 12632 return little_endian_read_16(event, 3); 12633 } 12634 12635 /** 12636 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 12637 * @param event packet 12638 * @return pbap_cid 12639 * @note: btstack_type 2 12640 */ 12641 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 12642 return little_endian_read_16(event, 3); 12643 } 12644 /** 12645 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 12646 * @param event packet 12647 * @return status 12648 * @note: btstack_type 1 12649 */ 12650 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 12651 return event[5]; 12652 } 12653 /** 12654 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 12655 * @param event packet 12656 * @param Pointer to storage for bd_addr 12657 * @note: btstack_type B 12658 */ 12659 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12660 reverse_bytes(&event[6], bd_addr, 6); 12661 } 12662 /** 12663 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 12664 * @param event packet 12665 * @return con_handle 12666 * @note: btstack_type H 12667 */ 12668 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12669 return little_endian_read_16(event, 12); 12670 } 12671 /** 12672 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 12673 * @param event packet 12674 * @return incoming 12675 * @note: btstack_type 1 12676 */ 12677 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 12678 return event[14]; 12679 } 12680 12681 /** 12682 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 12683 * @param event packet 12684 * @return goep_cid 12685 * @note: btstack_type 2 12686 */ 12687 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 12688 return little_endian_read_16(event, 3); 12689 } 12690 12691 /** 12692 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 12693 * @param event packet 12694 * @return goep_cid 12695 * @note: btstack_type 2 12696 */ 12697 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 12698 return little_endian_read_16(event, 3); 12699 } 12700 /** 12701 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 12702 * @param event packet 12703 * @return status 12704 * @note: btstack_type 1 12705 */ 12706 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 12707 return event[5]; 12708 } 12709 12710 /** 12711 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12712 * @param event packet 12713 * @return goep_cid 12714 * @note: btstack_type 2 12715 */ 12716 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 12717 return little_endian_read_16(event, 3); 12718 } 12719 /** 12720 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12721 * @param event packet 12722 * @return status 12723 * @note: btstack_type 1 12724 */ 12725 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 12726 return event[5]; 12727 } 12728 /** 12729 * @brief Get field phonebook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12730 * @param event packet 12731 * @return phonebook_size 12732 * @note: btstack_type 2 12733 */ 12734 static inline uint16_t pbap_subevent_phonebook_size_get_phonebook_size(const uint8_t * event){ 12735 return little_endian_read_16(event, 6); 12736 } 12737 12738 /** 12739 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12740 * @param event packet 12741 * @return goep_cid 12742 * @note: btstack_type 2 12743 */ 12744 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 12745 return little_endian_read_16(event, 3); 12746 } 12747 /** 12748 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12749 * @param event packet 12750 * @return user_id_required 12751 * @note: btstack_type 1 12752 */ 12753 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 12754 return event[5]; 12755 } 12756 /** 12757 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12758 * @param event packet 12759 * @return full_access 12760 * @note: btstack_type 1 12761 */ 12762 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 12763 return event[6]; 12764 } 12765 12766 /** 12767 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 12768 * @param event packet 12769 * @return goep_cid 12770 * @note: btstack_type 2 12771 */ 12772 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 12773 return little_endian_read_16(event, 3); 12774 } 12775 /** 12776 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 12777 * @param event packet 12778 * @return name_len 12779 * @note: btstack_type J 12780 */ 12781 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 12782 return event[5]; 12783 } 12784 /** 12785 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 12786 * @param event packet 12787 * @return name 12788 * @note: btstack_type V 12789 */ 12790 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 12791 return &event[6]; 12792 } 12793 /** 12794 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 12795 * @param event packet 12796 * @return handle_len 12797 * @note: btstack_type J 12798 */ 12799 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 12800 return event[6u + event[5]]; 12801 } 12802 /** 12803 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 12804 * @param event packet 12805 * @return handle 12806 * @note: btstack_type V 12807 */ 12808 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 12809 return &event[6u + event[5] + 1u]; 12810 } 12811 12812 /** 12813 * @brief Get field goep_cid from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12814 * @param event packet 12815 * @return goep_cid 12816 * @note: btstack_type 2 12817 */ 12818 static inline uint16_t pbap_subevent_reset_missed_calls_get_goep_cid(const uint8_t * event){ 12819 return little_endian_read_16(event, 3); 12820 } 12821 /** 12822 * @brief Get field phonebook from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12823 * @param event packet 12824 * @return phonebook 12825 * @note: btstack_type 1 12826 */ 12827 static inline uint8_t pbap_subevent_reset_missed_calls_get_phonebook(const uint8_t * event){ 12828 return event[5]; 12829 } 12830 12831 /** 12832 * @brief Get field goep_cid from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12833 * @param event packet 12834 * @return goep_cid 12835 * @note: btstack_type 2 12836 */ 12837 static inline uint16_t pbap_subevent_query_phonebook_size_get_goep_cid(const uint8_t * event){ 12838 return little_endian_read_16(event, 3); 12839 } 12840 /** 12841 * @brief Get field vcard_selector from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12842 * @param event packet 12843 * @return vcard_selector 12844 * @note: btstack_type 4 12845 */ 12846 static inline uint32_t pbap_subevent_query_phonebook_size_get_vcard_selector(const uint8_t * event){ 12847 return little_endian_read_32(event, 5); 12848 } 12849 /** 12850 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12851 * @param event packet 12852 * @return vcard_selector_operator 12853 * @note: btstack_type 1 12854 */ 12855 static inline uint8_t pbap_subevent_query_phonebook_size_get_vcard_selector_operator(const uint8_t * event){ 12856 return event[9]; 12857 } 12858 /** 12859 * @brief Get field phonebook from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12860 * @param event packet 12861 * @return phonebook 12862 * @note: btstack_type 1 12863 */ 12864 static inline uint8_t pbap_subevent_query_phonebook_size_get_phonebook(const uint8_t * event){ 12865 return event[10]; 12866 } 12867 12868 /** 12869 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_PHONEBOOK 12870 * @param event packet 12871 * @return goep_cid 12872 * @note: btstack_type 2 12873 */ 12874 static inline uint16_t pbap_subevent_pull_phonebook_get_goep_cid(const uint8_t * event){ 12875 return little_endian_read_16(event, 3); 12876 } 12877 /** 12878 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_PHONEBOOK 12879 * @param event packet 12880 * @return continuation 12881 * @note: btstack_type 4 12882 */ 12883 static inline uint32_t pbap_subevent_pull_phonebook_get_continuation(const uint8_t * event){ 12884 return little_endian_read_32(event, 5); 12885 } 12886 /** 12887 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12888 * @param event packet 12889 * @return property_selector 12890 * @note: btstack_type 4 12891 */ 12892 static inline uint32_t pbap_subevent_pull_phonebook_get_property_selector(const uint8_t * event){ 12893 return little_endian_read_32(event, 9); 12894 } 12895 /** 12896 * @brief Get field format from event PBAP_SUBEVENT_PULL_PHONEBOOK 12897 * @param event packet 12898 * @return format 12899 * @note: btstack_type 1 12900 */ 12901 static inline uint8_t pbap_subevent_pull_phonebook_get_format(const uint8_t * event){ 12902 return event[13]; 12903 } 12904 /** 12905 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_PHONEBOOK 12906 * @param event packet 12907 * @return max_list_count 12908 * @note: btstack_type 2 12909 */ 12910 static inline uint16_t pbap_subevent_pull_phonebook_get_max_list_count(const uint8_t * event){ 12911 return little_endian_read_16(event, 14); 12912 } 12913 /** 12914 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_PHONEBOOK 12915 * @param event packet 12916 * @return list_start_offset 12917 * @note: btstack_type 2 12918 */ 12919 static inline uint16_t pbap_subevent_pull_phonebook_get_list_start_offset(const uint8_t * event){ 12920 return little_endian_read_16(event, 16); 12921 } 12922 /** 12923 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12924 * @param event packet 12925 * @return vcard_selector 12926 * @note: btstack_type 4 12927 */ 12928 static inline uint32_t pbap_subevent_pull_phonebook_get_vcard_selector(const uint8_t * event){ 12929 return little_endian_read_32(event, 18); 12930 } 12931 /** 12932 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_PHONEBOOK 12933 * @param event packet 12934 * @return vcard_selector_operator 12935 * @note: btstack_type 1 12936 */ 12937 static inline uint8_t pbap_subevent_pull_phonebook_get_vcard_selector_operator(const uint8_t * event){ 12938 return event[22]; 12939 } 12940 /** 12941 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_PHONEBOOK 12942 * @param event packet 12943 * @return phonebook 12944 * @note: btstack_type 1 12945 */ 12946 static inline uint8_t pbap_subevent_pull_phonebook_get_phonebook(const uint8_t * event){ 12947 return event[23]; 12948 } 12949 12950 /** 12951 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12952 * @param event packet 12953 * @return goep_cid 12954 * @note: btstack_type 2 12955 */ 12956 static inline uint16_t pbap_subevent_pull_vcard_listing_get_goep_cid(const uint8_t * event){ 12957 return little_endian_read_16(event, 3); 12958 } 12959 /** 12960 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12961 * @param event packet 12962 * @return continuation 12963 * @note: btstack_type 4 12964 */ 12965 static inline uint32_t pbap_subevent_pull_vcard_listing_get_continuation(const uint8_t * event){ 12966 return little_endian_read_32(event, 5); 12967 } 12968 /** 12969 * @brief Get field order from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12970 * @param event packet 12971 * @return order 12972 * @note: btstack_type 1 12973 */ 12974 static inline uint8_t pbap_subevent_pull_vcard_listing_get_order(const uint8_t * event){ 12975 return event[9]; 12976 } 12977 /** 12978 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12979 * @param event packet 12980 * @return max_list_count 12981 * @note: btstack_type 2 12982 */ 12983 static inline uint16_t pbap_subevent_pull_vcard_listing_get_max_list_count(const uint8_t * event){ 12984 return little_endian_read_16(event, 10); 12985 } 12986 /** 12987 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12988 * @param event packet 12989 * @return list_start_offset 12990 * @note: btstack_type 2 12991 */ 12992 static inline uint16_t pbap_subevent_pull_vcard_listing_get_list_start_offset(const uint8_t * event){ 12993 return little_endian_read_16(event, 12); 12994 } 12995 /** 12996 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12997 * @param event packet 12998 * @return vcard_selector 12999 * @note: btstack_type 4 13000 */ 13001 static inline uint32_t pbap_subevent_pull_vcard_listing_get_vcard_selector(const uint8_t * event){ 13002 return little_endian_read_32(event, 14); 13003 } 13004 /** 13005 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_VCARD_LISTING 13006 * @param event packet 13007 * @return vcard_selector_operator 13008 * @note: btstack_type 1 13009 */ 13010 static inline uint8_t pbap_subevent_pull_vcard_listing_get_vcard_selector_operator(const uint8_t * event){ 13011 return event[18]; 13012 } 13013 /** 13014 * @brief Get field search_property from event PBAP_SUBEVENT_PULL_VCARD_LISTING 13015 * @param event packet 13016 * @return search_property 13017 * @note: btstack_type 1 13018 */ 13019 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_property(const uint8_t * event){ 13020 return event[19]; 13021 } 13022 /** 13023 * @brief Get field search_value_len from event PBAP_SUBEVENT_PULL_VCARD_LISTING 13024 * @param event packet 13025 * @return search_value_len 13026 * @note: btstack_type J 13027 */ 13028 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_value_len(const uint8_t * event){ 13029 return event[20]; 13030 } 13031 /** 13032 * @brief Get field search_value from event PBAP_SUBEVENT_PULL_VCARD_LISTING 13033 * @param event packet 13034 * @return search_value 13035 * @note: btstack_type V 13036 */ 13037 static inline const uint8_t * pbap_subevent_pull_vcard_listing_get_search_value(const uint8_t * event){ 13038 return &event[21]; 13039 } 13040 /** 13041 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_LISTING 13042 * @param event packet 13043 * @return phonebook 13044 * @note: btstack_type 1 13045 */ 13046 static inline uint8_t pbap_subevent_pull_vcard_listing_get_phonebook(const uint8_t * event){ 13047 return event[21u + event[20]]; 13048 } 13049 13050 /** 13051 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 13052 * @param event packet 13053 * @return goep_cid 13054 * @note: btstack_type 2 13055 */ 13056 static inline uint16_t pbap_subevent_pull_vcard_entry_get_goep_cid(const uint8_t * event){ 13057 return little_endian_read_16(event, 3); 13058 } 13059 /** 13060 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 13061 * @param event packet 13062 * @return continuation 13063 * @note: btstack_type 4 13064 */ 13065 static inline uint32_t pbap_subevent_pull_vcard_entry_get_continuation(const uint8_t * event){ 13066 return little_endian_read_32(event, 5); 13067 } 13068 /** 13069 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 13070 * @param event packet 13071 * @return property_selector 13072 * @note: btstack_type 4 13073 */ 13074 static inline uint32_t pbap_subevent_pull_vcard_entry_get_property_selector(const uint8_t * event){ 13075 return little_endian_read_32(event, 9); 13076 } 13077 /** 13078 * @brief Get field format from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 13079 * @param event packet 13080 * @return format 13081 * @note: btstack_type 1 13082 */ 13083 static inline uint8_t pbap_subevent_pull_vcard_entry_get_format(const uint8_t * event){ 13084 return event[13]; 13085 } 13086 /** 13087 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 13088 * @param event packet 13089 * @return phonebook 13090 * @note: btstack_type 1 13091 */ 13092 static inline uint8_t pbap_subevent_pull_vcard_entry_get_phonebook(const uint8_t * event){ 13093 return event[14]; 13094 } 13095 /** 13096 * @brief Get field name from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 13097 * @param event packet 13098 * @return name 13099 * @note: btstack_type T 13100 */ 13101 static inline const char * pbap_subevent_pull_vcard_entry_get_name(const uint8_t * event){ 13102 return (const char *) &event[15]; 13103 } 13104 13105 /** 13106 * @brief Get field hid_cid from event HID_SUBEVENT_INCOMING_CONNECTION 13107 * @param event packet 13108 * @return hid_cid 13109 * @note: btstack_type 2 13110 */ 13111 static inline uint16_t hid_subevent_incoming_connection_get_hid_cid(const uint8_t * event){ 13112 return little_endian_read_16(event, 3); 13113 } 13114 /** 13115 * @brief Get field address from event HID_SUBEVENT_INCOMING_CONNECTION 13116 * @param event packet 13117 * @param Pointer to storage for address 13118 * @note: btstack_type B 13119 */ 13120 static inline void hid_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 13121 reverse_bytes(&event[5], address, 6); 13122 } 13123 /** 13124 * @brief Get field handle from event HID_SUBEVENT_INCOMING_CONNECTION 13125 * @param event packet 13126 * @return handle 13127 * @note: btstack_type H 13128 */ 13129 static inline hci_con_handle_t hid_subevent_incoming_connection_get_handle(const uint8_t * event){ 13130 return little_endian_read_16(event, 11); 13131 } 13132 13133 /** 13134 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 13135 * @param event packet 13136 * @return hid_cid 13137 * @note: btstack_type 2 13138 */ 13139 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 13140 return little_endian_read_16(event, 3); 13141 } 13142 /** 13143 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 13144 * @param event packet 13145 * @return status 13146 * @note: btstack_type 1 13147 */ 13148 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 13149 return event[5]; 13150 } 13151 /** 13152 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 13153 * @param event packet 13154 * @param Pointer to storage for bd_addr 13155 * @note: btstack_type B 13156 */ 13157 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 13158 reverse_bytes(&event[6], bd_addr, 6); 13159 } 13160 /** 13161 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 13162 * @param event packet 13163 * @return con_handle 13164 * @note: btstack_type H 13165 */ 13166 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 13167 return little_endian_read_16(event, 12); 13168 } 13169 /** 13170 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 13171 * @param event packet 13172 * @return incoming 13173 * @note: btstack_type 1 13174 */ 13175 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 13176 return event[14]; 13177 } 13178 13179 /** 13180 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 13181 * @param event packet 13182 * @return hid_cid 13183 * @note: btstack_type 2 13184 */ 13185 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 13186 return little_endian_read_16(event, 3); 13187 } 13188 13189 /** 13190 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 13191 * @param event packet 13192 * @return hid_cid 13193 * @note: btstack_type 2 13194 */ 13195 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 13196 return little_endian_read_16(event, 3); 13197 } 13198 13199 /** 13200 * @brief Get field hid_cid from event HID_SUBEVENT_SUSPEND 13201 * @param event packet 13202 * @return hid_cid 13203 * @note: btstack_type 2 13204 */ 13205 static inline uint16_t hid_subevent_suspend_get_hid_cid(const uint8_t * event){ 13206 return little_endian_read_16(event, 3); 13207 } 13208 13209 /** 13210 * @brief Get field hid_cid from event HID_SUBEVENT_EXIT_SUSPEND 13211 * @param event packet 13212 * @return hid_cid 13213 * @note: btstack_type 2 13214 */ 13215 static inline uint16_t hid_subevent_exit_suspend_get_hid_cid(const uint8_t * event){ 13216 return little_endian_read_16(event, 3); 13217 } 13218 13219 /** 13220 * @brief Get field hid_cid from event HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 13221 * @param event packet 13222 * @return hid_cid 13223 * @note: btstack_type 2 13224 */ 13225 static inline uint16_t hid_subevent_virtual_cable_unplug_get_hid_cid(const uint8_t * event){ 13226 return little_endian_read_16(event, 3); 13227 } 13228 13229 /** 13230 * @brief Get field hid_cid from event HID_SUBEVENT_GET_REPORT_RESPONSE 13231 * @param event packet 13232 * @return hid_cid 13233 * @note: btstack_type 2 13234 */ 13235 static inline uint16_t hid_subevent_get_report_response_get_hid_cid(const uint8_t * event){ 13236 return little_endian_read_16(event, 3); 13237 } 13238 /** 13239 * @brief Get field handshake_status from event HID_SUBEVENT_GET_REPORT_RESPONSE 13240 * @param event packet 13241 * @return handshake_status 13242 * @note: btstack_type 1 13243 */ 13244 static inline uint8_t hid_subevent_get_report_response_get_handshake_status(const uint8_t * event){ 13245 return event[5]; 13246 } 13247 /** 13248 * @brief Get field report_len from event HID_SUBEVENT_GET_REPORT_RESPONSE 13249 * @param event packet 13250 * @return report_len 13251 * @note: btstack_type L 13252 */ 13253 static inline uint16_t hid_subevent_get_report_response_get_report_len(const uint8_t * event){ 13254 return little_endian_read_16(event, 6); 13255 } 13256 /** 13257 * @brief Get field report from event HID_SUBEVENT_GET_REPORT_RESPONSE 13258 * @param event packet 13259 * @return report 13260 * @note: btstack_type V 13261 */ 13262 static inline const uint8_t * hid_subevent_get_report_response_get_report(const uint8_t * event){ 13263 return &event[8]; 13264 } 13265 13266 /** 13267 * @brief Get field hid_cid from event HID_SUBEVENT_SET_REPORT_RESPONSE 13268 * @param event packet 13269 * @return hid_cid 13270 * @note: btstack_type 2 13271 */ 13272 static inline uint16_t hid_subevent_set_report_response_get_hid_cid(const uint8_t * event){ 13273 return little_endian_read_16(event, 3); 13274 } 13275 /** 13276 * @brief Get field handshake_status from event HID_SUBEVENT_SET_REPORT_RESPONSE 13277 * @param event packet 13278 * @return handshake_status 13279 * @note: btstack_type 1 13280 */ 13281 static inline uint8_t hid_subevent_set_report_response_get_handshake_status(const uint8_t * event){ 13282 return event[5]; 13283 } 13284 13285 /** 13286 * @brief Get field hid_cid from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 13287 * @param event packet 13288 * @return hid_cid 13289 * @note: btstack_type 2 13290 */ 13291 static inline uint16_t hid_subevent_get_protocol_response_get_hid_cid(const uint8_t * event){ 13292 return little_endian_read_16(event, 3); 13293 } 13294 /** 13295 * @brief Get field handshake_status from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 13296 * @param event packet 13297 * @return handshake_status 13298 * @note: btstack_type 1 13299 */ 13300 static inline uint8_t hid_subevent_get_protocol_response_get_handshake_status(const uint8_t * event){ 13301 return event[5]; 13302 } 13303 /** 13304 * @brief Get field protocol_mode from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 13305 * @param event packet 13306 * @return protocol_mode 13307 * @note: btstack_type 1 13308 */ 13309 static inline uint8_t hid_subevent_get_protocol_response_get_protocol_mode(const uint8_t * event){ 13310 return event[6]; 13311 } 13312 13313 /** 13314 * @brief Get field hid_cid from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 13315 * @param event packet 13316 * @return hid_cid 13317 * @note: btstack_type 2 13318 */ 13319 static inline uint16_t hid_subevent_set_protocol_response_get_hid_cid(const uint8_t * event){ 13320 return little_endian_read_16(event, 3); 13321 } 13322 /** 13323 * @brief Get field handshake_status from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 13324 * @param event packet 13325 * @return handshake_status 13326 * @note: btstack_type 1 13327 */ 13328 static inline uint8_t hid_subevent_set_protocol_response_get_handshake_status(const uint8_t * event){ 13329 return event[5]; 13330 } 13331 /** 13332 * @brief Get field protocol_mode from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 13333 * @param event packet 13334 * @return protocol_mode 13335 * @note: btstack_type 1 13336 */ 13337 static inline uint8_t hid_subevent_set_protocol_response_get_protocol_mode(const uint8_t * event){ 13338 return event[6]; 13339 } 13340 13341 /** 13342 * @brief Get field hid_cid from event HID_SUBEVENT_REPORT 13343 * @param event packet 13344 * @return hid_cid 13345 * @note: btstack_type 2 13346 */ 13347 static inline uint16_t hid_subevent_report_get_hid_cid(const uint8_t * event){ 13348 return little_endian_read_16(event, 3); 13349 } 13350 /** 13351 * @brief Get field report_len from event HID_SUBEVENT_REPORT 13352 * @param event packet 13353 * @return report_len 13354 * @note: btstack_type L 13355 */ 13356 static inline uint16_t hid_subevent_report_get_report_len(const uint8_t * event){ 13357 return little_endian_read_16(event, 5); 13358 } 13359 /** 13360 * @brief Get field report from event HID_SUBEVENT_REPORT 13361 * @param event packet 13362 * @return report 13363 * @note: btstack_type V 13364 */ 13365 static inline const uint8_t * hid_subevent_report_get_report(const uint8_t * event){ 13366 return &event[7]; 13367 } 13368 13369 /** 13370 * @brief Get field hid_cid from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 13371 * @param event packet 13372 * @return hid_cid 13373 * @note: btstack_type 2 13374 */ 13375 static inline uint16_t hid_subevent_descriptor_available_get_hid_cid(const uint8_t * event){ 13376 return little_endian_read_16(event, 3); 13377 } 13378 /** 13379 * @brief Get field status from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 13380 * @param event packet 13381 * @return status 13382 * @note: btstack_type 1 13383 */ 13384 static inline uint8_t hid_subevent_descriptor_available_get_status(const uint8_t * event){ 13385 return event[5]; 13386 } 13387 13388 /** 13389 * @brief Get field hid_cid from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 13390 * @param event packet 13391 * @return hid_cid 13392 * @note: btstack_type 2 13393 */ 13394 static inline uint16_t hid_subevent_sniff_subrating_params_get_hid_cid(const uint8_t * event){ 13395 return little_endian_read_16(event, 3); 13396 } 13397 /** 13398 * @brief Get field host_max_latency from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 13399 * @param event packet 13400 * @return host_max_latency 13401 * @note: btstack_type 2 13402 */ 13403 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_max_latency(const uint8_t * event){ 13404 return little_endian_read_16(event, 5); 13405 } 13406 /** 13407 * @brief Get field host_min_timeout from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 13408 * @param event packet 13409 * @return host_min_timeout 13410 * @note: btstack_type 2 13411 */ 13412 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_min_timeout(const uint8_t * event){ 13413 return little_endian_read_16(event, 7); 13414 } 13415 13416 /** 13417 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 13418 * @param event packet 13419 * @return con_handle 13420 * @note: btstack_type 2 13421 */ 13422 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 13423 return little_endian_read_16(event, 3); 13424 } 13425 13426 /** 13427 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 13428 * @param event packet 13429 * @return con_handle 13430 * @note: btstack_type 2 13431 */ 13432 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 13433 return little_endian_read_16(event, 3); 13434 } 13435 /** 13436 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 13437 * @param event packet 13438 * @return protocol_mode 13439 * @note: btstack_type 1 13440 */ 13441 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 13442 return event[5]; 13443 } 13444 13445 /** 13446 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 13447 * @param event packet 13448 * @return con_handle 13449 * @note: btstack_type 2 13450 */ 13451 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 13452 return little_endian_read_16(event, 3); 13453 } 13454 /** 13455 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 13456 * @param event packet 13457 * @return enable 13458 * @note: btstack_type 1 13459 */ 13460 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 13461 return event[5]; 13462 } 13463 13464 /** 13465 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 13466 * @param event packet 13467 * @return con_handle 13468 * @note: btstack_type 2 13469 */ 13470 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 13471 return little_endian_read_16(event, 3); 13472 } 13473 /** 13474 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 13475 * @param event packet 13476 * @return enable 13477 * @note: btstack_type 1 13478 */ 13479 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 13480 return event[5]; 13481 } 13482 13483 /** 13484 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 13485 * @param event packet 13486 * @return con_handle 13487 * @note: btstack_type 2 13488 */ 13489 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 13490 return little_endian_read_16(event, 3); 13491 } 13492 /** 13493 * @brief Get field report_id from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 13494 * @param event packet 13495 * @return report_id 13496 * @note: btstack_type 1 13497 */ 13498 static inline uint8_t hids_subevent_input_report_enable_get_report_id(const uint8_t * event){ 13499 return event[5]; 13500 } 13501 /** 13502 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 13503 * @param event packet 13504 * @return enable 13505 * @note: btstack_type 1 13506 */ 13507 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 13508 return event[6]; 13509 } 13510 13511 /** 13512 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 13513 * @param event packet 13514 * @return con_handle 13515 * @note: btstack_type 2 13516 */ 13517 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 13518 return little_endian_read_16(event, 3); 13519 } 13520 /** 13521 * @brief Get field report_id from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 13522 * @param event packet 13523 * @return report_id 13524 * @note: btstack_type 1 13525 */ 13526 static inline uint8_t hids_subevent_output_report_enable_get_report_id(const uint8_t * event){ 13527 return event[5]; 13528 } 13529 /** 13530 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 13531 * @param event packet 13532 * @return enable 13533 * @note: btstack_type 1 13534 */ 13535 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 13536 return event[6]; 13537 } 13538 13539 /** 13540 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 13541 * @param event packet 13542 * @return con_handle 13543 * @note: btstack_type 2 13544 */ 13545 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 13546 return little_endian_read_16(event, 3); 13547 } 13548 /** 13549 * @brief Get field report_id from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 13550 * @param event packet 13551 * @return report_id 13552 * @note: btstack_type 1 13553 */ 13554 static inline uint8_t hids_subevent_feature_report_enable_get_report_id(const uint8_t * event){ 13555 return event[5]; 13556 } 13557 /** 13558 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 13559 * @param event packet 13560 * @return enable 13561 * @note: btstack_type 1 13562 */ 13563 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 13564 return event[6]; 13565 } 13566 13567 /** 13568 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 13569 * @param event packet 13570 * @return con_handle 13571 * @note: btstack_type 2 13572 */ 13573 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 13574 return little_endian_read_16(event, 3); 13575 } 13576 13577 /** 13578 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 13579 * @param event packet 13580 * @return con_handle 13581 * @note: btstack_type 2 13582 */ 13583 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 13584 return little_endian_read_16(event, 3); 13585 } 13586 13587 /** 13588 * @brief Get field con_handle from event HIDS_SUBEVENT_SET_REPORT 13589 * @param event packet 13590 * @return con_handle 13591 * @note: btstack_type 2 13592 */ 13593 static inline uint16_t hids_subevent_set_report_get_con_handle(const uint8_t * event){ 13594 return little_endian_read_16(event, 3); 13595 } 13596 /** 13597 * @brief Get field report_id from event HIDS_SUBEVENT_SET_REPORT 13598 * @param event packet 13599 * @return report_id 13600 * @note: btstack_type 1 13601 */ 13602 static inline uint8_t hids_subevent_set_report_get_report_id(const uint8_t * event){ 13603 return event[5]; 13604 } 13605 /** 13606 * @brief Get field report_type from event HIDS_SUBEVENT_SET_REPORT 13607 * @param event packet 13608 * @return report_type 13609 * @note: btstack_type 1 13610 */ 13611 static inline uint8_t hids_subevent_set_report_get_report_type(const uint8_t * event){ 13612 return event[6]; 13613 } 13614 /** 13615 * @brief Get field report_length from event HIDS_SUBEVENT_SET_REPORT 13616 * @param event packet 13617 * @return report_length 13618 * @note: btstack_type J 13619 */ 13620 static inline uint8_t hids_subevent_set_report_get_report_length(const uint8_t * event){ 13621 return event[7]; 13622 } 13623 /** 13624 * @brief Get field report_data from event HIDS_SUBEVENT_SET_REPORT 13625 * @param event packet 13626 * @return report_data 13627 * @note: btstack_type V 13628 */ 13629 static inline const uint8_t * hids_subevent_set_report_get_report_data(const uint8_t * event){ 13630 return &event[8]; 13631 } 13632 13633 /** 13634 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13635 * @param event packet 13636 * @return con_handle 13637 * @note: btstack_type 2 13638 */ 13639 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 13640 return little_endian_read_16(event, 3); 13641 } 13642 /** 13643 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13644 * @param event packet 13645 * @return measurement_type 13646 * @note: btstack_type 1 13647 */ 13648 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 13649 return event[5]; 13650 } 13651 /** 13652 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13653 * @param event packet 13654 * @return is_enhanced 13655 * @note: btstack_type 1 13656 */ 13657 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 13658 return event[6]; 13659 } 13660 13661 /** 13662 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 13663 * @param event packet 13664 * @return con_handle 13665 * @note: btstack_type 2 13666 */ 13667 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 13668 return little_endian_read_16(event, 3); 13669 } 13670 13671 /** 13672 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 13673 * @param event packet 13674 * @return con_handle 13675 * @note: btstack_type 2 13676 */ 13677 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 13678 return little_endian_read_16(event, 3); 13679 } 13680 13681 /** 13682 * @brief Get field bas_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13683 * @param event packet 13684 * @return bas_cid 13685 * @note: btstack_type 2 13686 */ 13687 static inline uint16_t gattservice_subevent_battery_service_connected_get_bas_cid(const uint8_t * event){ 13688 return little_endian_read_16(event, 3); 13689 } 13690 /** 13691 * @brief Get field status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13692 * @param event packet 13693 * @return status 13694 * @note: btstack_type 1 13695 */ 13696 static inline uint8_t gattservice_subevent_battery_service_connected_get_status(const uint8_t * event){ 13697 return event[5]; 13698 } 13699 /** 13700 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13701 * @param event packet 13702 * @return num_instances 13703 * @note: btstack_type 1 13704 */ 13705 static inline uint8_t gattservice_subevent_battery_service_connected_get_num_instances(const uint8_t * event){ 13706 return event[6]; 13707 } 13708 /** 13709 * @brief Get field poll_bitmap from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13710 * @param event packet 13711 * @return poll_bitmap 13712 * @note: btstack_type 1 13713 */ 13714 static inline uint8_t gattservice_subevent_battery_service_connected_get_poll_bitmap(const uint8_t * event){ 13715 return event[7]; 13716 } 13717 13718 /** 13719 * @brief Get field bas_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13720 * @param event packet 13721 * @return bas_cid 13722 * @note: btstack_type 2 13723 */ 13724 static inline uint16_t gattservice_subevent_battery_service_level_get_bas_cid(const uint8_t * event){ 13725 return little_endian_read_16(event, 3); 13726 } 13727 /** 13728 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13729 * @param event packet 13730 * @return service_index 13731 * @note: btstack_type 1 13732 */ 13733 static inline uint8_t gattservice_subevent_battery_service_level_get_service_index(const uint8_t * event){ 13734 return event[5]; 13735 } 13736 /** 13737 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13738 * @param event packet 13739 * @return att_status 13740 * @note: btstack_type 1 13741 */ 13742 static inline uint8_t gattservice_subevent_battery_service_level_get_att_status(const uint8_t * event){ 13743 return event[6]; 13744 } 13745 /** 13746 * @brief Get field level from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13747 * @param event packet 13748 * @return level 13749 * @note: btstack_type 1 13750 */ 13751 static inline uint8_t gattservice_subevent_battery_service_level_get_level(const uint8_t * event){ 13752 return event[7]; 13753 } 13754 13755 /** 13756 * @brief Get field service_id from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL_BROADCAST_START 13757 * @param event packet 13758 * @return service_id 13759 * @note: btstack_type 2 13760 */ 13761 static inline uint16_t gattservice_subevent_battery_service_level_broadcast_start_get_service_id(const uint8_t * event){ 13762 return little_endian_read_16(event, 3); 13763 } 13764 13765 /** 13766 * @brief Get field service_id from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL_BROADCAST_STOP 13767 * @param event packet 13768 * @return service_id 13769 * @note: btstack_type 2 13770 */ 13771 static inline uint16_t gattservice_subevent_battery_service_level_broadcast_stop_get_service_id(const uint8_t * event){ 13772 return little_endian_read_16(event, 3); 13773 } 13774 13775 /** 13776 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 13777 * @param event packet 13778 * @return con_handle 13779 * @note: btstack_type H 13780 */ 13781 static inline hci_con_handle_t gattservice_subevent_device_information_done_get_con_handle(const uint8_t * event){ 13782 return little_endian_read_16(event, 3); 13783 } 13784 /** 13785 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 13786 * @param event packet 13787 * @return att_status 13788 * @note: btstack_type 1 13789 */ 13790 static inline uint8_t gattservice_subevent_device_information_done_get_att_status(const uint8_t * event){ 13791 return event[5]; 13792 } 13793 13794 /** 13795 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13796 * @param event packet 13797 * @return con_handle 13798 * @note: btstack_type H 13799 */ 13800 static inline hci_con_handle_t gattservice_subevent_device_information_manufacturer_name_get_con_handle(const uint8_t * event){ 13801 return little_endian_read_16(event, 3); 13802 } 13803 /** 13804 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13805 * @param event packet 13806 * @return att_status 13807 * @note: btstack_type 1 13808 */ 13809 static inline uint8_t gattservice_subevent_device_information_manufacturer_name_get_att_status(const uint8_t * event){ 13810 return event[5]; 13811 } 13812 /** 13813 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13814 * @param event packet 13815 * @return value 13816 * @note: btstack_type T 13817 */ 13818 static inline const char * gattservice_subevent_device_information_manufacturer_name_get_value(const uint8_t * event){ 13819 return (const char *) &event[6]; 13820 } 13821 13822 /** 13823 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13824 * @param event packet 13825 * @return con_handle 13826 * @note: btstack_type H 13827 */ 13828 static inline hci_con_handle_t gattservice_subevent_device_information_model_number_get_con_handle(const uint8_t * event){ 13829 return little_endian_read_16(event, 3); 13830 } 13831 /** 13832 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13833 * @param event packet 13834 * @return att_status 13835 * @note: btstack_type 1 13836 */ 13837 static inline uint8_t gattservice_subevent_device_information_model_number_get_att_status(const uint8_t * event){ 13838 return event[5]; 13839 } 13840 /** 13841 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13842 * @param event packet 13843 * @return value 13844 * @note: btstack_type T 13845 */ 13846 static inline const char * gattservice_subevent_device_information_model_number_get_value(const uint8_t * event){ 13847 return (const char *) &event[6]; 13848 } 13849 13850 /** 13851 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13852 * @param event packet 13853 * @return con_handle 13854 * @note: btstack_type H 13855 */ 13856 static inline hci_con_handle_t gattservice_subevent_device_information_serial_number_get_con_handle(const uint8_t * event){ 13857 return little_endian_read_16(event, 3); 13858 } 13859 /** 13860 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13861 * @param event packet 13862 * @return att_status 13863 * @note: btstack_type 1 13864 */ 13865 static inline uint8_t gattservice_subevent_device_information_serial_number_get_att_status(const uint8_t * event){ 13866 return event[5]; 13867 } 13868 /** 13869 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13870 * @param event packet 13871 * @return value 13872 * @note: btstack_type T 13873 */ 13874 static inline const char * gattservice_subevent_device_information_serial_number_get_value(const uint8_t * event){ 13875 return (const char *) &event[6]; 13876 } 13877 13878 /** 13879 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13880 * @param event packet 13881 * @return con_handle 13882 * @note: btstack_type H 13883 */ 13884 static inline hci_con_handle_t gattservice_subevent_device_information_hardware_revision_get_con_handle(const uint8_t * event){ 13885 return little_endian_read_16(event, 3); 13886 } 13887 /** 13888 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13889 * @param event packet 13890 * @return att_status 13891 * @note: btstack_type 1 13892 */ 13893 static inline uint8_t gattservice_subevent_device_information_hardware_revision_get_att_status(const uint8_t * event){ 13894 return event[5]; 13895 } 13896 /** 13897 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13898 * @param event packet 13899 * @return value 13900 * @note: btstack_type T 13901 */ 13902 static inline const char * gattservice_subevent_device_information_hardware_revision_get_value(const uint8_t * event){ 13903 return (const char *) &event[6]; 13904 } 13905 13906 /** 13907 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13908 * @param event packet 13909 * @return con_handle 13910 * @note: btstack_type H 13911 */ 13912 static inline hci_con_handle_t gattservice_subevent_device_information_firmware_revision_get_con_handle(const uint8_t * event){ 13913 return little_endian_read_16(event, 3); 13914 } 13915 /** 13916 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13917 * @param event packet 13918 * @return att_status 13919 * @note: btstack_type 1 13920 */ 13921 static inline uint8_t gattservice_subevent_device_information_firmware_revision_get_att_status(const uint8_t * event){ 13922 return event[5]; 13923 } 13924 /** 13925 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13926 * @param event packet 13927 * @return value 13928 * @note: btstack_type T 13929 */ 13930 static inline const char * gattservice_subevent_device_information_firmware_revision_get_value(const uint8_t * event){ 13931 return (const char *) &event[6]; 13932 } 13933 13934 /** 13935 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13936 * @param event packet 13937 * @return con_handle 13938 * @note: btstack_type H 13939 */ 13940 static inline hci_con_handle_t gattservice_subevent_device_information_software_revision_get_con_handle(const uint8_t * event){ 13941 return little_endian_read_16(event, 3); 13942 } 13943 /** 13944 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13945 * @param event packet 13946 * @return att_status 13947 * @note: btstack_type 1 13948 */ 13949 static inline uint8_t gattservice_subevent_device_information_software_revision_get_att_status(const uint8_t * event){ 13950 return event[5]; 13951 } 13952 /** 13953 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13954 * @param event packet 13955 * @return value 13956 * @note: btstack_type T 13957 */ 13958 static inline const char * gattservice_subevent_device_information_software_revision_get_value(const uint8_t * event){ 13959 return (const char *) &event[6]; 13960 } 13961 13962 /** 13963 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13964 * @param event packet 13965 * @return con_handle 13966 * @note: btstack_type H 13967 */ 13968 static inline hci_con_handle_t gattservice_subevent_device_information_system_id_get_con_handle(const uint8_t * event){ 13969 return little_endian_read_16(event, 3); 13970 } 13971 /** 13972 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13973 * @param event packet 13974 * @return att_status 13975 * @note: btstack_type 1 13976 */ 13977 static inline uint8_t gattservice_subevent_device_information_system_id_get_att_status(const uint8_t * event){ 13978 return event[5]; 13979 } 13980 /** 13981 * @brief Get field manufacturer_id_low from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13982 * @param event packet 13983 * @return manufacturer_id_low 13984 * @note: btstack_type 4 13985 */ 13986 static inline uint32_t gattservice_subevent_device_information_system_id_get_manufacturer_id_low(const uint8_t * event){ 13987 return little_endian_read_32(event, 6); 13988 } 13989 /** 13990 * @brief Get field manufacturer_id_high from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13991 * @param event packet 13992 * @return manufacturer_id_high 13993 * @note: btstack_type 1 13994 */ 13995 static inline uint8_t gattservice_subevent_device_information_system_id_get_manufacturer_id_high(const uint8_t * event){ 13996 return event[10]; 13997 } 13998 /** 13999 * @brief Get field organizationally_unique_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 14000 * @param event packet 14001 * @return organizationally_unique_id 14002 * @note: btstack_type 3 14003 */ 14004 static inline uint32_t gattservice_subevent_device_information_system_id_get_organizationally_unique_id(const uint8_t * event){ 14005 return little_endian_read_24(event, 11); 14006 } 14007 14008 /** 14009 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 14010 * @param event packet 14011 * @return con_handle 14012 * @note: btstack_type H 14013 */ 14014 static inline hci_con_handle_t gattservice_subevent_device_information_ieee_regulatory_certification_get_con_handle(const uint8_t * event){ 14015 return little_endian_read_16(event, 3); 14016 } 14017 /** 14018 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 14019 * @param event packet 14020 * @return att_status 14021 * @note: btstack_type 1 14022 */ 14023 static inline uint8_t gattservice_subevent_device_information_ieee_regulatory_certification_get_att_status(const uint8_t * event){ 14024 return event[5]; 14025 } 14026 /** 14027 * @brief Get field value_a from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 14028 * @param event packet 14029 * @return value_a 14030 * @note: btstack_type 2 14031 */ 14032 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_a(const uint8_t * event){ 14033 return little_endian_read_16(event, 6); 14034 } 14035 /** 14036 * @brief Get field value_b from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 14037 * @param event packet 14038 * @return value_b 14039 * @note: btstack_type 2 14040 */ 14041 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_b(const uint8_t * event){ 14042 return little_endian_read_16(event, 8); 14043 } 14044 14045 /** 14046 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 14047 * @param event packet 14048 * @return con_handle 14049 * @note: btstack_type H 14050 */ 14051 static inline hci_con_handle_t gattservice_subevent_device_information_pnp_id_get_con_handle(const uint8_t * event){ 14052 return little_endian_read_16(event, 3); 14053 } 14054 /** 14055 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 14056 * @param event packet 14057 * @return att_status 14058 * @note: btstack_type 1 14059 */ 14060 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_att_status(const uint8_t * event){ 14061 return event[5]; 14062 } 14063 /** 14064 * @brief Get field vendor_source_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 14065 * @param event packet 14066 * @return vendor_source_id 14067 * @note: btstack_type 1 14068 */ 14069 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_vendor_source_id(const uint8_t * event){ 14070 return event[6]; 14071 } 14072 /** 14073 * @brief Get field vendor_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 14074 * @param event packet 14075 * @return vendor_id 14076 * @note: btstack_type 2 14077 */ 14078 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_vendor_id(const uint8_t * event){ 14079 return little_endian_read_16(event, 7); 14080 } 14081 /** 14082 * @brief Get field product_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 14083 * @param event packet 14084 * @return product_id 14085 * @note: btstack_type 2 14086 */ 14087 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_id(const uint8_t * event){ 14088 return little_endian_read_16(event, 9); 14089 } 14090 /** 14091 * @brief Get field product_version from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 14092 * @param event packet 14093 * @return product_version 14094 * @note: btstack_type 2 14095 */ 14096 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_version(const uint8_t * event){ 14097 return little_endian_read_16(event, 11); 14098 } 14099 14100 /** 14101 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14102 * @param event packet 14103 * @return con_handle 14104 * @note: btstack_type H 14105 */ 14106 static inline hci_con_handle_t gattservice_subevent_device_information_udi_for_medical_devices_get_con_handle(const uint8_t * event){ 14107 return little_endian_read_16(event, 3); 14108 } 14109 /** 14110 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14111 * @param event packet 14112 * @return att_status 14113 * @note: btstack_type 1 14114 */ 14115 static inline uint8_t gattservice_subevent_device_information_udi_for_medical_devices_get_att_status(const uint8_t * event){ 14116 return event[5]; 14117 } 14118 /** 14119 * @brief Get field label from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14120 * @param event packet 14121 * @return label 14122 * @note: btstack_type T 14123 */ 14124 static inline const char * gattservice_subevent_device_information_udi_for_medical_devices_get_label(const uint8_t * event){ 14125 return (const char *) &event[6]; 14126 } 14127 14128 /** 14129 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 14130 * @param event packet 14131 * @return con_handle 14132 * @note: btstack_type H 14133 */ 14134 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_connected_get_con_handle(const uint8_t * event){ 14135 return little_endian_read_16(event, 3); 14136 } 14137 /** 14138 * @brief Get field status from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 14139 * @param event packet 14140 * @return status 14141 * @note: btstack_type 1 14142 */ 14143 static inline uint8_t gattservice_subevent_scan_parameters_service_connected_get_status(const uint8_t * event){ 14144 return event[5]; 14145 } 14146 14147 /** 14148 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_DISCONNECTED 14149 * @param event packet 14150 * @return con_handle 14151 * @note: btstack_type H 14152 */ 14153 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_disconnected_get_con_handle(const uint8_t * event){ 14154 return little_endian_read_16(event, 3); 14155 } 14156 14157 /** 14158 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 14159 * @param event packet 14160 * @return con_handle 14161 * @note: btstack_type H 14162 */ 14163 static inline hci_con_handle_t gattservice_subevent_spp_service_connected_get_con_handle(const uint8_t * event){ 14164 return little_endian_read_16(event, 3); 14165 } 14166 14167 /** 14168 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 14169 * @param event packet 14170 * @return con_handle 14171 * @note: btstack_type H 14172 */ 14173 static inline hci_con_handle_t gattservice_subevent_spp_service_disconnected_get_con_handle(const uint8_t * event){ 14174 return little_endian_read_16(event, 3); 14175 } 14176 14177 /** 14178 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 14179 * @param event packet 14180 * @return hids_cid 14181 * @note: btstack_type 2 14182 */ 14183 static inline uint16_t gattservice_subevent_hid_service_connected_get_hids_cid(const uint8_t * event){ 14184 return little_endian_read_16(event, 3); 14185 } 14186 /** 14187 * @brief Get field status from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 14188 * @param event packet 14189 * @return status 14190 * @note: btstack_type 1 14191 */ 14192 static inline uint8_t gattservice_subevent_hid_service_connected_get_status(const uint8_t * event){ 14193 return event[5]; 14194 } 14195 /** 14196 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 14197 * @param event packet 14198 * @return protocol_mode 14199 * @note: btstack_type 1 14200 */ 14201 static inline uint8_t gattservice_subevent_hid_service_connected_get_protocol_mode(const uint8_t * event){ 14202 return event[6]; 14203 } 14204 /** 14205 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 14206 * @param event packet 14207 * @return num_instances 14208 * @note: btstack_type 1 14209 */ 14210 static inline uint8_t gattservice_subevent_hid_service_connected_get_num_instances(const uint8_t * event){ 14211 return event[7]; 14212 } 14213 14214 /** 14215 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_DISCONNECTED 14216 * @param event packet 14217 * @return hids_cid 14218 * @note: btstack_type 2 14219 */ 14220 static inline uint16_t gattservice_subevent_hid_service_disconnected_get_hids_cid(const uint8_t * event){ 14221 return little_endian_read_16(event, 3); 14222 } 14223 14224 /** 14225 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT 14226 * @param event packet 14227 * @return hids_cid 14228 * @note: btstack_type 2 14229 */ 14230 static inline uint16_t gattservice_subevent_hid_report_get_hids_cid(const uint8_t * event){ 14231 return little_endian_read_16(event, 3); 14232 } 14233 /** 14234 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT 14235 * @param event packet 14236 * @return service_index 14237 * @note: btstack_type 1 14238 */ 14239 static inline uint8_t gattservice_subevent_hid_report_get_service_index(const uint8_t * event){ 14240 return event[5]; 14241 } 14242 /** 14243 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT 14244 * @param event packet 14245 * @return report_id 14246 * @note: btstack_type 1 14247 */ 14248 static inline uint8_t gattservice_subevent_hid_report_get_report_id(const uint8_t * event){ 14249 return event[6]; 14250 } 14251 /** 14252 * @brief Get field report_len from event GATTSERVICE_SUBEVENT_HID_REPORT 14253 * @param event packet 14254 * @return report_len 14255 * @note: btstack_type L 14256 */ 14257 static inline uint16_t gattservice_subevent_hid_report_get_report_len(const uint8_t * event){ 14258 return little_endian_read_16(event, 7); 14259 } 14260 /** 14261 * @brief Get field report from event GATTSERVICE_SUBEVENT_HID_REPORT 14262 * @param event packet 14263 * @return report 14264 * @note: btstack_type V 14265 */ 14266 static inline const uint8_t * gattservice_subevent_hid_report_get_report(const uint8_t * event){ 14267 return &event[9]; 14268 } 14269 14270 /** 14271 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_INFORMATION 14272 * @param event packet 14273 * @return hids_cid 14274 * @note: btstack_type 2 14275 */ 14276 static inline uint16_t gattservice_subevent_hid_information_get_hids_cid(const uint8_t * event){ 14277 return little_endian_read_16(event, 3); 14278 } 14279 /** 14280 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_INFORMATION 14281 * @param event packet 14282 * @return service_index 14283 * @note: btstack_type 1 14284 */ 14285 static inline uint8_t gattservice_subevent_hid_information_get_service_index(const uint8_t * event){ 14286 return event[5]; 14287 } 14288 /** 14289 * @brief Get field base_usb_hid_version from event GATTSERVICE_SUBEVENT_HID_INFORMATION 14290 * @param event packet 14291 * @return base_usb_hid_version 14292 * @note: btstack_type 2 14293 */ 14294 static inline uint16_t gattservice_subevent_hid_information_get_base_usb_hid_version(const uint8_t * event){ 14295 return little_endian_read_16(event, 6); 14296 } 14297 /** 14298 * @brief Get field country_code from event GATTSERVICE_SUBEVENT_HID_INFORMATION 14299 * @param event packet 14300 * @return country_code 14301 * @note: btstack_type 1 14302 */ 14303 static inline uint8_t gattservice_subevent_hid_information_get_country_code(const uint8_t * event){ 14304 return event[8]; 14305 } 14306 /** 14307 * @brief Get field remote_wake from event GATTSERVICE_SUBEVENT_HID_INFORMATION 14308 * @param event packet 14309 * @return remote_wake 14310 * @note: btstack_type 1 14311 */ 14312 static inline uint8_t gattservice_subevent_hid_information_get_remote_wake(const uint8_t * event){ 14313 return event[9]; 14314 } 14315 /** 14316 * @brief Get field normally_connectable from event GATTSERVICE_SUBEVENT_HID_INFORMATION 14317 * @param event packet 14318 * @return normally_connectable 14319 * @note: btstack_type 1 14320 */ 14321 static inline uint8_t gattservice_subevent_hid_information_get_normally_connectable(const uint8_t * event){ 14322 return event[10]; 14323 } 14324 14325 /** 14326 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 14327 * @param event packet 14328 * @return hids_cid 14329 * @note: btstack_type 2 14330 */ 14331 static inline uint16_t gattservice_subevent_hid_protocol_mode_get_hids_cid(const uint8_t * event){ 14332 return little_endian_read_16(event, 3); 14333 } 14334 /** 14335 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 14336 * @param event packet 14337 * @return service_index 14338 * @note: btstack_type 1 14339 */ 14340 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_service_index(const uint8_t * event){ 14341 return event[5]; 14342 } 14343 /** 14344 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 14345 * @param event packet 14346 * @return protocol_mode 14347 * @note: btstack_type 1 14348 */ 14349 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_protocol_mode(const uint8_t * event){ 14350 return event[6]; 14351 } 14352 14353 /** 14354 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 14355 * @param event packet 14356 * @return hids_cid 14357 * @note: btstack_type 2 14358 */ 14359 static inline uint16_t gattservice_subevent_hid_service_reports_notification_get_hids_cid(const uint8_t * event){ 14360 return little_endian_read_16(event, 3); 14361 } 14362 /** 14363 * @brief Get field configuration from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 14364 * @param event packet 14365 * @return configuration 14366 * @note: btstack_type 1 14367 */ 14368 static inline uint8_t gattservice_subevent_hid_service_reports_notification_get_configuration(const uint8_t * event){ 14369 return event[5]; 14370 } 14371 14372 /** 14373 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 14374 * @param event packet 14375 * @return hids_cid 14376 * @note: btstack_type 2 14377 */ 14378 static inline uint16_t gattservice_subevent_hid_report_written_get_hids_cid(const uint8_t * event){ 14379 return little_endian_read_16(event, 3); 14380 } 14381 /** 14382 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 14383 * @param event packet 14384 * @return service_index 14385 * @note: btstack_type 1 14386 */ 14387 static inline uint8_t gattservice_subevent_hid_report_written_get_service_index(const uint8_t * event){ 14388 return event[5]; 14389 } 14390 /** 14391 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 14392 * @param event packet 14393 * @return report_id 14394 * @note: btstack_type 1 14395 */ 14396 static inline uint8_t gattservice_subevent_hid_report_written_get_report_id(const uint8_t * event){ 14397 return event[6]; 14398 } 14399 14400 /** 14401 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 14402 * @param event packet 14403 * @return con_handle 14404 * @note: btstack_type H 14405 */ 14406 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_con_handle(const uint8_t * event){ 14407 return little_endian_read_16(event, 3); 14408 } 14409 /** 14410 * @brief Get field max_scan_interval from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 14411 * @param event packet 14412 * @return max_scan_interval 14413 * @note: btstack_type 2 14414 */ 14415 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_max_scan_interval(const uint8_t * event){ 14416 return little_endian_read_16(event, 5); 14417 } 14418 /** 14419 * @brief Get field min_scan_window from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 14420 * @param event packet 14421 * @return min_scan_window 14422 * @note: btstack_type 2 14423 */ 14424 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_min_scan_window(const uint8_t * event){ 14425 return little_endian_read_16(event, 7); 14426 } 14427 14428 /** 14429 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 14430 * @param event packet 14431 * @return con_handle 14432 * @note: btstack_type H 14433 */ 14434 static inline hci_con_handle_t gattservice_subevent_gatt_service_changed_get_con_handle(const uint8_t * event){ 14435 return little_endian_read_16(event, 3); 14436 } 14437 /** 14438 * @brief Get field attribute_handle_start from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 14439 * @param event packet 14440 * @return attribute_handle_start 14441 * @note: btstack_type 2 14442 */ 14443 static inline uint16_t gattservice_subevent_gatt_service_changed_get_attribute_handle_start(const uint8_t * event){ 14444 return little_endian_read_16(event, 5); 14445 } 14446 /** 14447 * @brief Get field attribute_handle_end from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 14448 * @param event packet 14449 * @return attribute_handle_end 14450 * @note: btstack_type 2 14451 */ 14452 static inline uint16_t gattservice_subevent_gatt_service_changed_get_attribute_handle_end(const uint8_t * event){ 14453 return little_endian_read_16(event, 7); 14454 } 14455 14456 /** 14457 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_GATT_DATABASE_HASH 14458 * @param event packet 14459 * @return con_handle 14460 * @note: btstack_type H 14461 */ 14462 static inline hci_con_handle_t gattservice_subevent_gatt_database_hash_get_con_handle(const uint8_t * event){ 14463 return little_endian_read_16(event, 3); 14464 } 14465 /** 14466 * @brief Get field database_hash from event GATTSERVICE_SUBEVENT_GATT_DATABASE_HASH 14467 * @param event packet 14468 * @param Pointer to storage for database_hash 14469 * @note: btstack_type K 14470 */ 14471 static inline void gattservice_subevent_gatt_database_hash_get_database_hash(const uint8_t * event, uint8_t * database_hash){ 14472 reverse_bytes(&event[5], database_hash, 16); 14473 } 14474 14475 /** 14476 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 14477 * @param event packet 14478 * @return con_handle 14479 * @note: btstack_type H 14480 */ 14481 static inline hci_con_handle_t gattservice_subevent_client_connected_get_con_handle(const uint8_t * event){ 14482 return little_endian_read_16(event, 3); 14483 } 14484 /** 14485 * @brief Get field cid from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 14486 * @param event packet 14487 * @return cid 14488 * @note: btstack_type 2 14489 */ 14490 static inline uint16_t gattservice_subevent_client_connected_get_cid(const uint8_t * event){ 14491 return little_endian_read_16(event, 5); 14492 } 14493 /** 14494 * @brief Get field num_included_services from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 14495 * @param event packet 14496 * @return num_included_services 14497 * @note: btstack_type 1 14498 */ 14499 static inline uint8_t gattservice_subevent_client_connected_get_num_included_services(const uint8_t * event){ 14500 return event[7]; 14501 } 14502 /** 14503 * @brief Get field status from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 14504 * @param event packet 14505 * @return status 14506 * @note: btstack_type 1 14507 */ 14508 static inline uint8_t gattservice_subevent_client_connected_get_status(const uint8_t * event){ 14509 return event[8]; 14510 } 14511 14512 /** 14513 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CLIENT_DISCONNECTED 14514 * @param event packet 14515 * @return con_handle 14516 * @note: btstack_type H 14517 */ 14518 static inline hci_con_handle_t gattservice_subevent_client_disconnected_get_con_handle(const uint8_t * event){ 14519 return little_endian_read_16(event, 3); 14520 } 14521 /** 14522 * @brief Get field cid from event GATTSERVICE_SUBEVENT_CLIENT_DISCONNECTED 14523 * @param event packet 14524 * @return cid 14525 * @note: btstack_type 2 14526 */ 14527 static inline uint16_t gattservice_subevent_client_disconnected_get_cid(const uint8_t * event){ 14528 return little_endian_read_16(event, 5); 14529 } 14530 14531 /** 14532 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 14533 * @param event packet 14534 * @return con_handle 14535 * @note: btstack_type H 14536 */ 14537 static inline hci_con_handle_t gattservice_subevent_lls_client_connected_get_con_handle(const uint8_t * event){ 14538 return little_endian_read_16(event, 3); 14539 } 14540 /** 14541 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 14542 * @param event packet 14543 * @return lls_cid 14544 * @note: btstack_type 2 14545 */ 14546 static inline uint16_t gattservice_subevent_lls_client_connected_get_lls_cid(const uint8_t * event){ 14547 return little_endian_read_16(event, 5); 14548 } 14549 /** 14550 * @brief Get field status from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 14551 * @param event packet 14552 * @return status 14553 * @note: btstack_type 1 14554 */ 14555 static inline uint8_t gattservice_subevent_lls_client_connected_get_status(const uint8_t * event){ 14556 return event[7]; 14557 } 14558 14559 /** 14560 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_DISCONNECTED 14561 * @param event packet 14562 * @return lls_cid 14563 * @note: btstack_type 2 14564 */ 14565 static inline uint16_t gattservice_subevent_lls_client_disconnected_get_lls_cid(const uint8_t * event){ 14566 return little_endian_read_16(event, 3); 14567 } 14568 14569 /** 14570 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 14571 * @param event packet 14572 * @return lls_cid 14573 * @note: btstack_type 2 14574 */ 14575 static inline uint16_t gattservice_subevent_lls_client_write_done_get_lls_cid(const uint8_t * event){ 14576 return little_endian_read_16(event, 3); 14577 } 14578 /** 14579 * @brief Get field characteristic_uuid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 14580 * @param event packet 14581 * @return characteristic_uuid 14582 * @note: btstack_type 2 14583 */ 14584 static inline uint16_t gattservice_subevent_lls_client_write_done_get_characteristic_uuid(const uint8_t * event){ 14585 return little_endian_read_16(event, 5); 14586 } 14587 /** 14588 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 14589 * @param event packet 14590 * @return att_status 14591 * @note: btstack_type 1 14592 */ 14593 static inline uint8_t gattservice_subevent_lls_client_write_done_get_att_status(const uint8_t * event){ 14594 return event[7]; 14595 } 14596 14597 /** 14598 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_START_ALERTING 14599 * @param event packet 14600 * @return lls_cid 14601 * @note: btstack_type 2 14602 */ 14603 static inline uint16_t gattservice_subevent_lls_client_start_alerting_get_lls_cid(const uint8_t * event){ 14604 return little_endian_read_16(event, 3); 14605 } 14606 14607 /** 14608 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_STOP_ALERTING 14609 * @param event packet 14610 * @return lls_cid 14611 * @note: btstack_type 2 14612 */ 14613 static inline uint16_t gattservice_subevent_lls_client_stop_alerting_get_lls_cid(const uint8_t * event){ 14614 return little_endian_read_16(event, 3); 14615 } 14616 /** 14617 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_LLS_CLIENT_STOP_ALERTING 14618 * @param event packet 14619 * @return timeout 14620 * @note: btstack_type 1 14621 */ 14622 static inline uint8_t gattservice_subevent_lls_client_stop_alerting_get_timeout(const uint8_t * event){ 14623 return event[5]; 14624 } 14625 14626 /** 14627 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_ALERT_LEVEL 14628 * @param event packet 14629 * @return lls_cid 14630 * @note: btstack_type 2 14631 */ 14632 static inline uint16_t gattservice_subevent_lls_client_alert_level_get_lls_cid(const uint8_t * event){ 14633 return little_endian_read_16(event, 3); 14634 } 14635 /** 14636 * @brief Get field value from event GATTSERVICE_SUBEVENT_LLS_CLIENT_ALERT_LEVEL 14637 * @param event packet 14638 * @return value 14639 * @note: btstack_type 1 14640 */ 14641 static inline uint8_t gattservice_subevent_lls_client_alert_level_get_value(const uint8_t * event){ 14642 return event[5]; 14643 } 14644 14645 /** 14646 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14647 * @param event packet 14648 * @return con_handle 14649 * @note: btstack_type H 14650 */ 14651 static inline hci_con_handle_t gattservice_subevent_ias_client_connected_get_con_handle(const uint8_t * event){ 14652 return little_endian_read_16(event, 3); 14653 } 14654 /** 14655 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14656 * @param event packet 14657 * @return ias_cid 14658 * @note: btstack_type 2 14659 */ 14660 static inline uint16_t gattservice_subevent_ias_client_connected_get_ias_cid(const uint8_t * event){ 14661 return little_endian_read_16(event, 5); 14662 } 14663 /** 14664 * @brief Get field status from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14665 * @param event packet 14666 * @return status 14667 * @note: btstack_type 1 14668 */ 14669 static inline uint8_t gattservice_subevent_ias_client_connected_get_status(const uint8_t * event){ 14670 return event[7]; 14671 } 14672 14673 /** 14674 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_DISCONNECTED 14675 * @param event packet 14676 * @return ias_cid 14677 * @note: btstack_type 2 14678 */ 14679 static inline uint16_t gattservice_subevent_ias_client_disconnected_get_ias_cid(const uint8_t * event){ 14680 return little_endian_read_16(event, 3); 14681 } 14682 14683 /** 14684 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_START_ALERTING 14685 * @param event packet 14686 * @return ias_cid 14687 * @note: btstack_type 2 14688 */ 14689 static inline uint16_t gattservice_subevent_ias_client_start_alerting_get_ias_cid(const uint8_t * event){ 14690 return little_endian_read_16(event, 3); 14691 } 14692 14693 /** 14694 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_STOP_ALERTING 14695 * @param event packet 14696 * @return ias_cid 14697 * @note: btstack_type 2 14698 */ 14699 static inline uint16_t gattservice_subevent_ias_client_stop_alerting_get_ias_cid(const uint8_t * event){ 14700 return little_endian_read_16(event, 3); 14701 } 14702 /** 14703 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_IAS_CLIENT_STOP_ALERTING 14704 * @param event packet 14705 * @return timeout 14706 * @note: btstack_type 1 14707 */ 14708 static inline uint8_t gattservice_subevent_ias_client_stop_alerting_get_timeout(const uint8_t * event){ 14709 return event[5]; 14710 } 14711 14712 /** 14713 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14714 * @param event packet 14715 * @return con_handle 14716 * @note: btstack_type H 14717 */ 14718 static inline hci_con_handle_t gattservice_subevent_txps_client_connected_get_con_handle(const uint8_t * event){ 14719 return little_endian_read_16(event, 3); 14720 } 14721 /** 14722 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14723 * @param event packet 14724 * @return tpxs_cid 14725 * @note: btstack_type 2 14726 */ 14727 static inline uint16_t gattservice_subevent_txps_client_connected_get_tpxs_cid(const uint8_t * event){ 14728 return little_endian_read_16(event, 5); 14729 } 14730 /** 14731 * @brief Get field status from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14732 * @param event packet 14733 * @return status 14734 * @note: btstack_type 1 14735 */ 14736 static inline uint8_t gattservice_subevent_txps_client_connected_get_status(const uint8_t * event){ 14737 return event[7]; 14738 } 14739 14740 /** 14741 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_DISCONNECTED 14742 * @param event packet 14743 * @return tpxs_cid 14744 * @note: btstack_type 2 14745 */ 14746 static inline uint16_t gattservice_subevent_txps_client_disconnected_get_tpxs_cid(const uint8_t * event){ 14747 return little_endian_read_16(event, 3); 14748 } 14749 14750 /** 14751 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_TX_POWER_LEVEL 14752 * @param event packet 14753 * @return tpxs_cid 14754 * @note: btstack_type 2 14755 */ 14756 static inline uint16_t gattservice_subevent_txps_client_tx_power_level_get_tpxs_cid(const uint8_t * event){ 14757 return little_endian_read_16(event, 3); 14758 } 14759 /** 14760 * @brief Get field value from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_TX_POWER_LEVEL 14761 * @param event packet 14762 * @return value 14763 * @note: btstack_type 1 14764 */ 14765 static inline uint8_t gattservice_subevent_txps_client_tx_power_level_get_value(const uint8_t * event){ 14766 return event[5]; 14767 } 14768 14769 /** 14770 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_LLS_SERVER_START_ALERTING 14771 * @param event packet 14772 * @return alert_level 14773 * @note: btstack_type 1 14774 */ 14775 static inline uint8_t gattservice_subevent_lls_server_start_alerting_get_alert_level(const uint8_t * event){ 14776 return event[3]; 14777 } 14778 14779 /** 14780 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_LLS_SERVER_STOP_ALERTING 14781 * @param event packet 14782 * @return alert_level 14783 * @note: btstack_type 1 14784 */ 14785 static inline uint8_t gattservice_subevent_lls_server_stop_alerting_get_alert_level(const uint8_t * event){ 14786 return event[3]; 14787 } 14788 /** 14789 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_LLS_SERVER_STOP_ALERTING 14790 * @param event packet 14791 * @return timeout 14792 * @note: btstack_type 1 14793 */ 14794 static inline uint8_t gattservice_subevent_lls_server_stop_alerting_get_timeout(const uint8_t * event){ 14795 return event[4]; 14796 } 14797 14798 /** 14799 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_IAS_SERVER_START_ALERTING 14800 * @param event packet 14801 * @return alert_level 14802 * @note: btstack_type 1 14803 */ 14804 static inline uint8_t gattservice_subevent_ias_server_start_alerting_get_alert_level(const uint8_t * event){ 14805 return event[3]; 14806 } 14807 14808 /** 14809 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_IAS_SERVER_STOP_ALERTING 14810 * @param event packet 14811 * @return alert_level 14812 * @note: btstack_type 1 14813 */ 14814 static inline uint8_t gattservice_subevent_ias_server_stop_alerting_get_alert_level(const uint8_t * event){ 14815 return event[3]; 14816 } 14817 /** 14818 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_IAS_SERVER_STOP_ALERTING 14819 * @param event packet 14820 * @return timeout 14821 * @note: btstack_type 1 14822 */ 14823 static inline uint8_t gattservice_subevent_ias_server_stop_alerting_get_timeout(const uint8_t * event){ 14824 return event[4]; 14825 } 14826 14827 /** 14828 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 14829 * @param event packet 14830 * @return con_handle 14831 * @note: btstack_type H 14832 */ 14833 static inline hci_con_handle_t leaudio_subevent_bass_server_connected_get_con_handle(const uint8_t * event){ 14834 return little_endian_read_16(event, 3); 14835 } 14836 /** 14837 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 14838 * @param event packet 14839 * @return status 14840 * @note: btstack_type 1 14841 */ 14842 static inline uint8_t leaudio_subevent_bass_server_connected_get_status(const uint8_t * event){ 14843 return event[5]; 14844 } 14845 14846 /** 14847 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_DISCONNECTED 14848 * @param event packet 14849 * @return con_handle 14850 * @note: btstack_type H 14851 */ 14852 static inline hci_con_handle_t leaudio_subevent_bass_server_disconnected_get_con_handle(const uint8_t * event){ 14853 return little_endian_read_16(event, 3); 14854 } 14855 14856 /** 14857 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STOPPED 14858 * @param event packet 14859 * @return con_handle 14860 * @note: btstack_type H 14861 */ 14862 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_stopped_get_con_handle(const uint8_t * event){ 14863 return little_endian_read_16(event, 3); 14864 } 14865 14866 /** 14867 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STARTED 14868 * @param event packet 14869 * @return con_handle 14870 * @note: btstack_type H 14871 */ 14872 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_started_get_con_handle(const uint8_t * event){ 14873 return little_endian_read_16(event, 3); 14874 } 14875 14876 /** 14877 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14878 * @param event packet 14879 * @return con_handle 14880 * @note: btstack_type H 14881 */ 14882 static inline hci_con_handle_t leaudio_subevent_bass_server_broadcast_code_get_con_handle(const uint8_t * event){ 14883 return little_endian_read_16(event, 3); 14884 } 14885 /** 14886 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14887 * @param event packet 14888 * @return source_id 14889 * @note: btstack_type 1 14890 */ 14891 static inline uint8_t leaudio_subevent_bass_server_broadcast_code_get_source_id(const uint8_t * event){ 14892 return event[5]; 14893 } 14894 /** 14895 * @brief Get field broadcast_code from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14896 * @param event packet 14897 * @param Pointer to storage for broadcast_code 14898 * @note: btstack_type K 14899 */ 14900 static inline void leaudio_subevent_bass_server_broadcast_code_get_broadcast_code(const uint8_t * event, uint8_t * broadcast_code){ 14901 reverse_bytes(&event[6], broadcast_code, 16); 14902 } 14903 14904 /** 14905 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14906 * @param event packet 14907 * @return con_handle 14908 * @note: btstack_type H 14909 */ 14910 static inline hci_con_handle_t leaudio_subevent_bass_server_source_added_get_con_handle(const uint8_t * event){ 14911 return little_endian_read_16(event, 3); 14912 } 14913 /** 14914 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14915 * @param event packet 14916 * @return source_id 14917 * @note: btstack_type 1 14918 */ 14919 static inline uint8_t leaudio_subevent_bass_server_source_added_get_source_id(const uint8_t * event){ 14920 return event[5]; 14921 } 14922 /** 14923 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14924 * @param event packet 14925 * @return pa_sync 14926 * @note: btstack_type 1 14927 */ 14928 static inline uint8_t leaudio_subevent_bass_server_source_added_get_pa_sync(const uint8_t * event){ 14929 return event[6]; 14930 } 14931 14932 /** 14933 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14934 * @param event packet 14935 * @return con_handle 14936 * @note: btstack_type H 14937 */ 14938 static inline hci_con_handle_t leaudio_subevent_bass_server_source_modified_get_con_handle(const uint8_t * event){ 14939 return little_endian_read_16(event, 3); 14940 } 14941 /** 14942 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14943 * @param event packet 14944 * @return source_id 14945 * @note: btstack_type 1 14946 */ 14947 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_source_id(const uint8_t * event){ 14948 return event[5]; 14949 } 14950 /** 14951 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14952 * @param event packet 14953 * @return pa_sync 14954 * @note: btstack_type 1 14955 */ 14956 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_pa_sync(const uint8_t * event){ 14957 return event[6]; 14958 } 14959 14960 /** 14961 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14962 * @param event packet 14963 * @return con_handle 14964 * @note: btstack_type H 14965 */ 14966 static inline hci_con_handle_t leaudio_subevent_bass_server_source_deleted_get_con_handle(const uint8_t * event){ 14967 return little_endian_read_16(event, 3); 14968 } 14969 /** 14970 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14971 * @param event packet 14972 * @return source_id 14973 * @note: btstack_type 1 14974 */ 14975 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_source_id(const uint8_t * event){ 14976 return event[5]; 14977 } 14978 /** 14979 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14980 * @param event packet 14981 * @return pa_sync 14982 * @note: btstack_type 1 14983 */ 14984 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_pa_sync(const uint8_t * event){ 14985 return event[6]; 14986 } 14987 14988 /** 14989 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14990 * @param event packet 14991 * @return con_handle 14992 * @note: btstack_type H 14993 */ 14994 static inline hci_con_handle_t leaudio_subevent_bass_client_connected_get_con_handle(const uint8_t * event){ 14995 return little_endian_read_16(event, 3); 14996 } 14997 /** 14998 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14999 * @param event packet 15000 * @return bass_cid 15001 * @note: btstack_type 2 15002 */ 15003 static inline uint16_t leaudio_subevent_bass_client_connected_get_bass_cid(const uint8_t * event){ 15004 return little_endian_read_16(event, 5); 15005 } 15006 /** 15007 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 15008 * @param event packet 15009 * @return status 15010 * @note: btstack_type 1 15011 */ 15012 static inline uint8_t leaudio_subevent_bass_client_connected_get_status(const uint8_t * event){ 15013 return event[7]; 15014 } 15015 15016 /** 15017 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_DISCONNECTED 15018 * @param event packet 15019 * @return bass_cid 15020 * @note: btstack_type 2 15021 */ 15022 static inline uint16_t leaudio_subevent_bass_client_disconnected_get_bass_cid(const uint8_t * event){ 15023 return little_endian_read_16(event, 3); 15024 } 15025 15026 /** 15027 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 15028 * @param event packet 15029 * @return bass_cid 15030 * @note: btstack_type 2 15031 */ 15032 static inline uint16_t leaudio_subevent_bass_client_scan_operation_complete_get_bass_cid(const uint8_t * event){ 15033 return little_endian_read_16(event, 3); 15034 } 15035 /** 15036 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 15037 * @param event packet 15038 * @return status 15039 * @note: btstack_type 1 15040 */ 15041 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_status(const uint8_t * event){ 15042 return event[5]; 15043 } 15044 /** 15045 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 15046 * @param event packet 15047 * @return opcode 15048 * @note: btstack_type 1 15049 */ 15050 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_opcode(const uint8_t * event){ 15051 return event[6]; 15052 } 15053 15054 /** 15055 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 15056 * @param event packet 15057 * @return bass_cid 15058 * @note: btstack_type 2 15059 */ 15060 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_base_get_bass_cid(const uint8_t * event){ 15061 return little_endian_read_16(event, 3); 15062 } 15063 /** 15064 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 15065 * @param event packet 15066 * @return source_id 15067 * @note: btstack_type 1 15068 */ 15069 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_id(const uint8_t * event){ 15070 return event[5]; 15071 } 15072 /** 15073 * @brief Get field source_address_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 15074 * @param event packet 15075 * @return source_address_type 15076 * @note: btstack_type 1 15077 */ 15078 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_address_type(const uint8_t * event){ 15079 return event[6]; 15080 } 15081 /** 15082 * @brief Get field source_address from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 15083 * @param event packet 15084 * @param Pointer to storage for source_address 15085 * @note: btstack_type B 15086 */ 15087 static inline void leaudio_subevent_bass_client_notify_receive_state_base_get_source_address(const uint8_t * event, bd_addr_t source_address){ 15088 reverse_bytes(&event[7], source_address, 6); 15089 } 15090 /** 15091 * @brief Get field source_adv_sid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 15092 * @param event packet 15093 * @return source_adv_sid 15094 * @note: btstack_type 1 15095 */ 15096 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_adv_sid(const uint8_t * event){ 15097 return event[13]; 15098 } 15099 /** 15100 * @brief Get field broadcast_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 15101 * @param event packet 15102 * @return broadcast_id 15103 * @note: btstack_type 3 15104 */ 15105 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_base_get_broadcast_id(const uint8_t * event){ 15106 return little_endian_read_24(event, 14); 15107 } 15108 /** 15109 * @brief Get field pa_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 15110 * @param event packet 15111 * @return pa_sync_state 15112 * @note: btstack_type 1 15113 */ 15114 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_pa_sync_state(const uint8_t * event){ 15115 return event[17]; 15116 } 15117 /** 15118 * @brief Get field big_encryption from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 15119 * @param event packet 15120 * @return big_encryption 15121 * @note: btstack_type 1 15122 */ 15123 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_big_encryption(const uint8_t * event){ 15124 return event[18]; 15125 } 15126 /** 15127 * @brief Get field bad_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 15128 * @param event packet 15129 * @return bad_code 15130 * @note: btstack_type P 15131 */ 15132 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_base_get_bad_code(const uint8_t * event){ 15133 return (const uint8_t *) &event[19]; 15134 } 15135 /** 15136 * @brief Get field subgroups_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 15137 * @param event packet 15138 * @return subgroups_num 15139 * @note: btstack_type 1 15140 */ 15141 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_subgroups_num(const uint8_t * event){ 15142 return event[35]; 15143 } 15144 15145 /** 15146 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15147 * @param event packet 15148 * @return bass_cid 15149 * @note: btstack_type 2 15150 */ 15151 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){ 15152 return little_endian_read_16(event, 3); 15153 } 15154 /** 15155 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15156 * @param event packet 15157 * @return source_id 15158 * @note: btstack_type 1 15159 */ 15160 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_source_id(const uint8_t * event){ 15161 return event[5]; 15162 } 15163 /** 15164 * @brief Get field bis_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15165 * @param event packet 15166 * @return bis_sync_state 15167 * @note: btstack_type 4 15168 */ 15169 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){ 15170 return little_endian_read_32(event, 6); 15171 } 15172 /** 15173 * @brief Get field metadata_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15174 * @param event packet 15175 * @return metadata_mask 15176 * @note: btstack_type 1 15177 */ 15178 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){ 15179 return event[10]; 15180 } 15181 /** 15182 * @brief Get field preferred_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15183 * @param event packet 15184 * @return preferred_audio_contexts_mask 15185 * @note: btstack_type 2 15186 */ 15187 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){ 15188 return little_endian_read_16(event, 11); 15189 } 15190 /** 15191 * @brief Get field streaming_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15192 * @param event packet 15193 * @return streaming_audio_contexts_mask 15194 * @note: btstack_type 2 15195 */ 15196 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){ 15197 return little_endian_read_16(event, 13); 15198 } 15199 /** 15200 * @brief Get field program_info_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15201 * @param event packet 15202 * @return program_info_length 15203 * @note: btstack_type J 15204 */ 15205 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){ 15206 return event[15]; 15207 } 15208 /** 15209 * @brief Get field program_info from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15210 * @param event packet 15211 * @return program_info 15212 * @note: btstack_type V 15213 */ 15214 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info(const uint8_t * event){ 15215 return &event[16]; 15216 } 15217 /** 15218 * @brief Get field language_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15219 * @param event packet 15220 * @return language_code 15221 * @note: btstack_type 3 15222 */ 15223 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_language_code(const uint8_t * event){ 15224 uint8_t offset = 16u + event[15]; 15225 return little_endian_read_24(event, (int)(int8_t) offset); 15226 } 15227 /** 15228 * @brief Get field ccids_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15229 * @param event packet 15230 * @return ccids_num 15231 * @note: btstack_type J 15232 */ 15233 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){ 15234 return event[16u + event[15] + 3u]; 15235 } 15236 /** 15237 * @brief Get field ccids from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15238 * @param event packet 15239 * @return ccids 15240 * @note: btstack_type V 15241 */ 15242 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids(const uint8_t * event){ 15243 return &event[16u + event[15] + 3u + 1u]; 15244 } 15245 /** 15246 * @brief Get field parental_rating from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15247 * @param event packet 15248 * @return parental_rating 15249 * @note: btstack_type 1 15250 */ 15251 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){ 15252 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]]; 15253 } 15254 /** 15255 * @brief Get field program_info_uri_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15256 * @param event packet 15257 * @return program_info_uri_length 15258 * @note: btstack_type J 15259 */ 15260 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){ 15261 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; 15262 } 15263 /** 15264 * @brief Get field program_info_uri from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15265 * @param event packet 15266 * @return program_info_uri 15267 * @note: btstack_type V 15268 */ 15269 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){ 15270 return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u]; 15271 } 15272 /** 15273 * @brief Get field extended_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15274 * @param event packet 15275 * @return extended_metadata_type 15276 * @note: btstack_type 2 15277 */ 15278 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){ 15279 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]; 15280 return little_endian_read_16(event, (int)(int8_t) offset); 15281 } 15282 /** 15283 * @brief Get field extended_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15284 * @param event packet 15285 * @return extended_metadata_value_length 15286 * @note: btstack_type J 15287 */ 15288 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){ 15289 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]; 15290 } 15291 /** 15292 * @brief Get field extended_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15293 * @param event packet 15294 * @return extended_metadata_value 15295 * @note: btstack_type V 15296 */ 15297 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){ 15298 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]; 15299 } 15300 /** 15301 * @brief Get field vendor_specific_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15302 * @param event packet 15303 * @return vendor_specific_metadata_type 15304 * @note: btstack_type 2 15305 */ 15306 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){ 15307 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]; 15308 return little_endian_read_16(event, (int)(int8_t) offset); 15309 } 15310 /** 15311 * @brief Get field vendor_specific_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15312 * @param event packet 15313 * @return vendor_specific_metadata_value_length 15314 * @note: btstack_type J 15315 */ 15316 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){ 15317 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]; 15318 } 15319 /** 15320 * @brief Get field vendor_specific_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 15321 * @param event packet 15322 * @return vendor_specific_metadata_value 15323 * @note: btstack_type V 15324 */ 15325 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){ 15326 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]; 15327 } 15328 15329 /** 15330 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 15331 * @param event packet 15332 * @return bass_cid 15333 * @note: btstack_type 2 15334 */ 15335 static inline uint16_t leaudio_subevent_bass_client_notification_complete_get_bass_cid(const uint8_t * event){ 15336 return little_endian_read_16(event, 3); 15337 } 15338 /** 15339 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 15340 * @param event packet 15341 * @return source_id 15342 * @note: btstack_type 1 15343 */ 15344 static inline uint8_t leaudio_subevent_bass_client_notification_complete_get_source_id(const uint8_t * event){ 15345 return event[5]; 15346 } 15347 15348 /** 15349 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 15350 * @param event packet 15351 * @return bass_cid 15352 * @note: btstack_type 2 15353 */ 15354 static inline uint16_t leaudio_subevent_bass_client_source_operation_complete_get_bass_cid(const uint8_t * event){ 15355 return little_endian_read_16(event, 3); 15356 } 15357 /** 15358 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 15359 * @param event packet 15360 * @return status 15361 * @note: btstack_type 1 15362 */ 15363 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_status(const uint8_t * event){ 15364 return event[5]; 15365 } 15366 /** 15367 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 15368 * @param event packet 15369 * @return opcode 15370 * @note: btstack_type 1 15371 */ 15372 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_opcode(const uint8_t * event){ 15373 return event[6]; 15374 } 15375 /** 15376 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 15377 * @param event packet 15378 * @return source_id 15379 * @note: btstack_type 1 15380 */ 15381 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_source_id(const uint8_t * event){ 15382 return event[7]; 15383 } 15384 15385 15386 /** 15387 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 15388 * @param event packet 15389 * @return status 15390 * @note: btstack_type 1 15391 */ 15392 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 15393 return event[3]; 15394 } 15395 15396 /** 15397 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 15398 * @param event packet 15399 * @return status 15400 * @note: btstack_type 1 15401 */ 15402 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 15403 return event[3]; 15404 } 15405 /** 15406 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 15407 * @param event packet 15408 * @return pb_transport_cid 15409 * @note: btstack_type 2 15410 */ 15411 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 15412 return little_endian_read_16(event, 4); 15413 } 15414 /** 15415 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 15416 * @param event packet 15417 * @return pb_type 15418 * @note: btstack_type 1 15419 */ 15420 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 15421 return event[6]; 15422 } 15423 15424 /** 15425 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 15426 * @param event packet 15427 * @return pb_transport_cid 15428 * @note: btstack_type 1 15429 */ 15430 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 15431 return event[3]; 15432 } 15433 /** 15434 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 15435 * @param event packet 15436 * @return reason 15437 * @note: btstack_type 2 15438 */ 15439 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 15440 return little_endian_read_16(event, 4); 15441 } 15442 15443 /** 15444 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 15445 * @param event packet 15446 * @return pb_transport_cid 15447 * @note: btstack_type 2 15448 */ 15449 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 15450 return little_endian_read_16(event, 3); 15451 } 15452 /** 15453 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 15454 * @param event packet 15455 * @return attention_time 15456 * @note: btstack_type 1 15457 */ 15458 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 15459 return event[5]; 15460 } 15461 15462 /** 15463 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 15464 * @param event packet 15465 * @return pb_transport_cid 15466 * @note: btstack_type 2 15467 */ 15468 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 15469 return little_endian_read_16(event, 3); 15470 } 15471 15472 /** 15473 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 15474 * @param event packet 15475 * @return pb_transport_cid 15476 * @note: btstack_type 2 15477 */ 15478 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 15479 return little_endian_read_16(event, 3); 15480 } 15481 15482 /** 15483 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 15484 * @param event packet 15485 * @return pb_transport_cid 15486 * @note: btstack_type 2 15487 */ 15488 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 15489 return little_endian_read_16(event, 3); 15490 } 15491 15492 /** 15493 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 15494 * @param event packet 15495 * @return pb_transport_cid 15496 * @note: btstack_type 2 15497 */ 15498 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 15499 return little_endian_read_16(event, 3); 15500 } 15501 /** 15502 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 15503 * @param event packet 15504 * @return output_oob 15505 * @note: btstack_type 4 15506 */ 15507 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 15508 return little_endian_read_32(event, 5); 15509 } 15510 15511 /** 15512 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 15513 * @param event packet 15514 * @return pb_transport_cid 15515 * @note: btstack_type 2 15516 */ 15517 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 15518 return little_endian_read_16(event, 3); 15519 } 15520 15521 /** 15522 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 15523 * @param event packet 15524 * @return pb_transport_cid 15525 * @note: btstack_type 2 15526 */ 15527 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 15528 return little_endian_read_16(event, 3); 15529 } 15530 15531 /** 15532 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 15533 * @param event packet 15534 * @return pb_transport_cid 15535 * @note: btstack_type 2 15536 */ 15537 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 15538 return little_endian_read_16(event, 3); 15539 } 15540 15541 /** 15542 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 15543 * @param event packet 15544 * @return pb_transport_cid 15545 * @note: btstack_type 2 15546 */ 15547 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 15548 return little_endian_read_16(event, 3); 15549 } 15550 15551 /** 15552 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 15553 * @param event packet 15554 * @return pb_transport_cid 15555 * @note: btstack_type 2 15556 */ 15557 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 15558 return little_endian_read_16(event, 3); 15559 } 15560 /** 15561 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 15562 * @param event packet 15563 * @return output_oob 15564 * @note: btstack_type 4 15565 */ 15566 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 15567 return little_endian_read_32(event, 5); 15568 } 15569 15570 /** 15571 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 15572 * @param event packet 15573 * @return pb_transport_cid 15574 * @note: btstack_type 2 15575 */ 15576 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 15577 return little_endian_read_16(event, 3); 15578 } 15579 15580 /** 15581 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15582 * @param event packet 15583 * @return pb_transport_cid 15584 * @note: btstack_type 2 15585 */ 15586 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 15587 return little_endian_read_16(event, 3); 15588 } 15589 /** 15590 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15591 * @param event packet 15592 * @return num_elements 15593 * @note: btstack_type 1 15594 */ 15595 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 15596 return event[5]; 15597 } 15598 /** 15599 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15600 * @param event packet 15601 * @return algorithms 15602 * @note: btstack_type 2 15603 */ 15604 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 15605 return little_endian_read_16(event, 6); 15606 } 15607 /** 15608 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15609 * @param event packet 15610 * @return public_key 15611 * @note: btstack_type 1 15612 */ 15613 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 15614 return event[8]; 15615 } 15616 /** 15617 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15618 * @param event packet 15619 * @return static_oob_type 15620 * @note: btstack_type 1 15621 */ 15622 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 15623 return event[9]; 15624 } 15625 /** 15626 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15627 * @param event packet 15628 * @return output_oob_size 15629 * @note: btstack_type 1 15630 */ 15631 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 15632 return event[10]; 15633 } 15634 /** 15635 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15636 * @param event packet 15637 * @return output_oob_action 15638 * @note: btstack_type 2 15639 */ 15640 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 15641 return little_endian_read_16(event, 11); 15642 } 15643 /** 15644 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15645 * @param event packet 15646 * @return input_oob_size 15647 * @note: btstack_type 1 15648 */ 15649 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 15650 return event[13]; 15651 } 15652 /** 15653 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15654 * @param event packet 15655 * @return input_oob_action 15656 * @note: btstack_type 2 15657 */ 15658 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 15659 return little_endian_read_16(event, 14); 15660 } 15661 15662 /** 15663 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 15664 * @param event packet 15665 * @return pb_transport_cid 15666 * @note: btstack_type 2 15667 */ 15668 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 15669 return little_endian_read_16(event, 3); 15670 } 15671 15672 /** 15673 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 15674 * @param event packet 15675 * @return attention_time 15676 * @note: btstack_type 1 15677 */ 15678 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 15679 return event[3]; 15680 } 15681 15682 /** 15683 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 15684 * @param event packet 15685 * @return con_handle 15686 * @note: btstack_type H 15687 */ 15688 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 15689 return little_endian_read_16(event, 3); 15690 } 15691 15692 /** 15693 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 15694 * @param event packet 15695 * @return con_handle 15696 * @note: btstack_type H 15697 */ 15698 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 15699 return little_endian_read_16(event, 3); 15700 } 15701 15702 /** 15703 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 15704 * @param event packet 15705 * @return con_handle 15706 * @note: btstack_type H 15707 */ 15708 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 15709 return little_endian_read_16(event, 3); 15710 } 15711 15712 /** 15713 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 15714 * @param event packet 15715 * @return con_handle 15716 * @note: btstack_type H 15717 */ 15718 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 15719 return little_endian_read_16(event, 3); 15720 } 15721 15722 /** 15723 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15724 * @param event packet 15725 * @return element_index 15726 * @note: btstack_type 1 15727 */ 15728 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 15729 return event[3]; 15730 } 15731 /** 15732 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15733 * @param event packet 15734 * @return model_identifier 15735 * @note: btstack_type 4 15736 */ 15737 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 15738 return little_endian_read_32(event, 4); 15739 } 15740 /** 15741 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15742 * @param event packet 15743 * @return state_identifier 15744 * @note: btstack_type 4 15745 */ 15746 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 15747 return little_endian_read_32(event, 8); 15748 } 15749 /** 15750 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15751 * @param event packet 15752 * @return reason 15753 * @note: btstack_type 1 15754 */ 15755 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 15756 return event[12]; 15757 } 15758 /** 15759 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15760 * @param event packet 15761 * @return value 15762 * @note: btstack_type 1 15763 */ 15764 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 15765 return event[13]; 15766 } 15767 15768 /** 15769 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 15770 * @param event packet 15771 * @return element_index 15772 * @note: btstack_type 1 15773 */ 15774 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 15775 return event[3]; 15776 } 15777 /** 15778 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15779 * @param event packet 15780 * @return model_identifier 15781 * @note: btstack_type 4 15782 */ 15783 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 15784 return little_endian_read_32(event, 4); 15785 } 15786 /** 15787 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15788 * @param event packet 15789 * @return state_identifier 15790 * @note: btstack_type 4 15791 */ 15792 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 15793 return little_endian_read_32(event, 8); 15794 } 15795 /** 15796 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 15797 * @param event packet 15798 * @return reason 15799 * @note: btstack_type 1 15800 */ 15801 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 15802 return event[12]; 15803 } 15804 /** 15805 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 15806 * @param event packet 15807 * @return value 15808 * @note: btstack_type 2 15809 */ 15810 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 15811 return little_endian_read_16(event, 13); 15812 } 15813 15814 /** 15815 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15816 * @param event packet 15817 * @return element_index 15818 * @note: btstack_type 1 15819 */ 15820 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 15821 return event[3]; 15822 } 15823 /** 15824 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15825 * @param event packet 15826 * @return model_identifier 15827 * @note: btstack_type 4 15828 */ 15829 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 15830 return little_endian_read_32(event, 4); 15831 } 15832 /** 15833 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15834 * @param event packet 15835 * @return opcode 15836 * @note: btstack_type 4 15837 */ 15838 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 15839 return little_endian_read_32(event, 8); 15840 } 15841 /** 15842 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15843 * @param event packet 15844 * @return dest 15845 * @note: btstack_type 2 15846 */ 15847 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 15848 return little_endian_read_16(event, 12); 15849 } 15850 15851 /** 15852 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 15853 * @param event packet 15854 * @return dest 15855 * @note: btstack_type 2 15856 */ 15857 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 15858 return little_endian_read_16(event, 3); 15859 } 15860 /** 15861 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 15862 * @param event packet 15863 * @return status 15864 * @note: btstack_type 1 15865 */ 15866 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 15867 return event[5]; 15868 } 15869 /** 15870 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15871 * @param event packet 15872 * @return present_value 15873 * @note: btstack_type 1 15874 */ 15875 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 15876 return event[6]; 15877 } 15878 /** 15879 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15880 * @param event packet 15881 * @return target_value 15882 * @note: btstack_type 1 15883 */ 15884 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 15885 return event[7]; 15886 } 15887 /** 15888 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 15889 * @param event packet 15890 * @return remaining_time_ms 15891 * @note: btstack_type 4 15892 */ 15893 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 15894 return little_endian_read_32(event, 8); 15895 } 15896 15897 /** 15898 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 15899 * @param event packet 15900 * @return dest 15901 * @note: btstack_type 2 15902 */ 15903 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 15904 return little_endian_read_16(event, 3); 15905 } 15906 /** 15907 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 15908 * @param event packet 15909 * @return status 15910 * @note: btstack_type 1 15911 */ 15912 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 15913 return event[5]; 15914 } 15915 /** 15916 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 15917 * @param event packet 15918 * @return present_value 15919 * @note: btstack_type 2 15920 */ 15921 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 15922 return little_endian_read_16(event, 6); 15923 } 15924 /** 15925 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 15926 * @param event packet 15927 * @return target_value 15928 * @note: btstack_type 2 15929 */ 15930 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 15931 return little_endian_read_16(event, 8); 15932 } 15933 /** 15934 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 15935 * @param event packet 15936 * @return remaining_time_ms 15937 * @note: btstack_type 4 15938 */ 15939 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 15940 return little_endian_read_32(event, 10); 15941 } 15942 15943 /** 15944 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15945 * @param event packet 15946 * @return dest 15947 * @note: btstack_type 2 15948 */ 15949 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 15950 return little_endian_read_16(event, 3); 15951 } 15952 /** 15953 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15954 * @param event packet 15955 * @return netkey_index 15956 * @note: btstack_type 2 15957 */ 15958 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 15959 return little_endian_read_16(event, 5); 15960 } 15961 /** 15962 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15963 * @param event packet 15964 * @return appkey_index 15965 * @note: btstack_type 2 15966 */ 15967 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 15968 return little_endian_read_16(event, 7); 15969 } 15970 /** 15971 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15972 * @param event packet 15973 * @return company_id 15974 * @note: btstack_type 2 15975 */ 15976 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 15977 return little_endian_read_16(event, 9); 15978 } 15979 /** 15980 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15981 * @param event packet 15982 * @return test_id 15983 * @note: btstack_type 1 15984 */ 15985 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 15986 return event[11]; 15987 } 15988 /** 15989 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15990 * @param event packet 15991 * @return acknowledged 15992 * @note: btstack_type 1 15993 */ 15994 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 15995 return event[12]; 15996 } 15997 15998 /** 15999 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 16000 * @param event packet 16001 * @return element_index 16002 * @note: btstack_type 1 16003 */ 16004 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 16005 return event[3]; 16006 } 16007 16008 /** 16009 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 16010 * @param event packet 16011 * @return dest 16012 * @note: btstack_type 2 16013 */ 16014 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 16015 return little_endian_read_16(event, 3); 16016 } 16017 /** 16018 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 16019 * @param event packet 16020 * @return status 16021 * @note: btstack_type 1 16022 */ 16023 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 16024 return event[5]; 16025 } 16026 /** 16027 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 16028 * @param event packet 16029 * @return transition_time_gdtt 16030 * @note: btstack_type 1 16031 */ 16032 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 16033 return event[6]; 16034 } 16035 16036 /** 16037 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 16038 * @param event packet 16039 * @return dest 16040 * @note: btstack_type 2 16041 */ 16042 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 16043 return little_endian_read_16(event, 3); 16044 } 16045 /** 16046 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 16047 * @param event packet 16048 * @return foundation_status 16049 * @note: btstack_type 1 16050 */ 16051 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 16052 return event[5]; 16053 } 16054 /** 16055 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 16056 * @param event packet 16057 * @return secure_network_beacon_state 16058 * @note: btstack_type 1 16059 */ 16060 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 16061 return event[6]; 16062 } 16063 16064 /** 16065 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 16066 * @param event packet 16067 * @return dest 16068 * @note: btstack_type 2 16069 */ 16070 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 16071 return little_endian_read_16(event, 3); 16072 } 16073 /** 16074 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 16075 * @param event packet 16076 * @return foundation_status 16077 * @note: btstack_type 1 16078 */ 16079 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 16080 return event[5]; 16081 } 16082 /** 16083 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 16084 * @param event packet 16085 * @return default_ttl 16086 * @note: btstack_type 1 16087 */ 16088 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 16089 return event[6]; 16090 } 16091 16092 /** 16093 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 16094 * @param event packet 16095 * @return dest 16096 * @note: btstack_type 2 16097 */ 16098 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 16099 return little_endian_read_16(event, 3); 16100 } 16101 /** 16102 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 16103 * @param event packet 16104 * @return foundation_status 16105 * @note: btstack_type 1 16106 */ 16107 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 16108 return event[5]; 16109 } 16110 /** 16111 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 16112 * @param event packet 16113 * @return gatt_proxy_state 16114 * @note: btstack_type 1 16115 */ 16116 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 16117 return event[6]; 16118 } 16119 16120 /** 16121 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 16122 * @param event packet 16123 * @return dest 16124 * @note: btstack_type 2 16125 */ 16126 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 16127 return little_endian_read_16(event, 3); 16128 } 16129 /** 16130 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 16131 * @param event packet 16132 * @return foundation_status 16133 * @note: btstack_type 1 16134 */ 16135 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 16136 return event[5]; 16137 } 16138 /** 16139 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 16140 * @param event packet 16141 * @return relay 16142 * @note: btstack_type 1 16143 */ 16144 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 16145 return event[6]; 16146 } 16147 /** 16148 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 16149 * @param event packet 16150 * @return retransmit_count 16151 * @note: btstack_type 1 16152 */ 16153 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 16154 return event[7]; 16155 } 16156 /** 16157 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 16158 * @param event packet 16159 * @return retransmit_interval_ms 16160 * @note: btstack_type 1 16161 */ 16162 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 16163 return event[8]; 16164 } 16165 16166 /** 16167 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 16168 * @param event packet 16169 * @return dest 16170 * @note: btstack_type 2 16171 */ 16172 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 16173 return little_endian_read_16(event, 3); 16174 } 16175 /** 16176 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 16177 * @param event packet 16178 * @return foundation_status 16179 * @note: btstack_type 1 16180 */ 16181 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 16182 return event[5]; 16183 } 16184 /** 16185 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 16186 * @param event packet 16187 * @return publish_address 16188 * @note: btstack_type 2 16189 */ 16190 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 16191 return little_endian_read_16(event, 6); 16192 } 16193 /** 16194 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 16195 * @param event packet 16196 * @return appkey_index 16197 * @note: btstack_type 2 16198 */ 16199 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 16200 return little_endian_read_16(event, 8); 16201 } 16202 /** 16203 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 16204 * @param event packet 16205 * @return credential_flag 16206 * @note: btstack_type 1 16207 */ 16208 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 16209 return event[10]; 16210 } 16211 /** 16212 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 16213 * @param event packet 16214 * @return publish_ttl 16215 * @note: btstack_type 1 16216 */ 16217 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 16218 return event[11]; 16219 } 16220 /** 16221 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 16222 * @param event packet 16223 * @return publish_period 16224 * @note: btstack_type 1 16225 */ 16226 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 16227 return event[12]; 16228 } 16229 /** 16230 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 16231 * @param event packet 16232 * @return publish_retransmit_count 16233 * @note: btstack_type 1 16234 */ 16235 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 16236 return event[13]; 16237 } 16238 /** 16239 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 16240 * @param event packet 16241 * @return publish_retransmit_interval_steps 16242 * @note: btstack_type 1 16243 */ 16244 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 16245 return event[14]; 16246 } 16247 /** 16248 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 16249 * @param event packet 16250 * @return model_identifier 16251 * @note: btstack_type 4 16252 */ 16253 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 16254 return little_endian_read_32(event, 15); 16255 } 16256 16257 /** 16258 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 16259 * @param event packet 16260 * @return dest 16261 * @note: btstack_type 2 16262 */ 16263 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 16264 return little_endian_read_16(event, 3); 16265 } 16266 /** 16267 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 16268 * @param event packet 16269 * @return foundation_status 16270 * @note: btstack_type 1 16271 */ 16272 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 16273 return event[5]; 16274 } 16275 /** 16276 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 16277 * @param event packet 16278 * @return address 16279 * @note: btstack_type 2 16280 */ 16281 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 16282 return little_endian_read_16(event, 6); 16283 } 16284 /** 16285 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 16286 * @param event packet 16287 * @return model_identifier 16288 * @note: btstack_type 4 16289 */ 16290 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 16291 return little_endian_read_32(event, 8); 16292 } 16293 16294 /** 16295 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 16296 * @param event packet 16297 * @return dest 16298 * @note: btstack_type 2 16299 */ 16300 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 16301 return little_endian_read_16(event, 3); 16302 } 16303 /** 16304 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 16305 * @param event packet 16306 * @return foundation_status 16307 * @note: btstack_type 1 16308 */ 16309 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 16310 return event[5]; 16311 } 16312 /** 16313 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 16314 * @param event packet 16315 * @return model_identifier 16316 * @note: btstack_type 4 16317 */ 16318 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 16319 return little_endian_read_32(event, 6); 16320 } 16321 /** 16322 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 16323 * @param event packet 16324 * @return num_subscription_addresses 16325 * @note: btstack_type 1 16326 */ 16327 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 16328 return event[10]; 16329 } 16330 /** 16331 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 16332 * @param event packet 16333 * @return subscription_address_pos 16334 * @note: btstack_type 1 16335 */ 16336 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 16337 return event[11]; 16338 } 16339 /** 16340 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 16341 * @param event packet 16342 * @return subscription_address_item 16343 * @note: btstack_type 2 16344 */ 16345 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 16346 return little_endian_read_16(event, 12); 16347 } 16348 16349 /** 16350 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 16351 * @param event packet 16352 * @return dest 16353 * @note: btstack_type 2 16354 */ 16355 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 16356 return little_endian_read_16(event, 3); 16357 } 16358 /** 16359 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 16360 * @param event packet 16361 * @return foundation_status 16362 * @note: btstack_type 1 16363 */ 16364 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 16365 return event[5]; 16366 } 16367 16368 /** 16369 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 16370 * @param event packet 16371 * @return dest 16372 * @note: btstack_type 2 16373 */ 16374 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 16375 return little_endian_read_16(event, 3); 16376 } 16377 /** 16378 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 16379 * @param event packet 16380 * @return foundation_status 16381 * @note: btstack_type 1 16382 */ 16383 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 16384 return event[5]; 16385 } 16386 /** 16387 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 16388 * @param event packet 16389 * @return num_netkey_indexes 16390 * @note: btstack_type 1 16391 */ 16392 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 16393 return event[6]; 16394 } 16395 /** 16396 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 16397 * @param event packet 16398 * @return netkey_index_pos 16399 * @note: btstack_type 1 16400 */ 16401 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 16402 return event[7]; 16403 } 16404 /** 16405 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 16406 * @param event packet 16407 * @return netkey_index_item 16408 * @note: btstack_type 2 16409 */ 16410 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 16411 return little_endian_read_16(event, 8); 16412 } 16413 16414 /** 16415 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 16416 * @param event packet 16417 * @return dest 16418 * @note: btstack_type 2 16419 */ 16420 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 16421 return little_endian_read_16(event, 3); 16422 } 16423 /** 16424 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 16425 * @param event packet 16426 * @return foundation_status 16427 * @note: btstack_type 1 16428 */ 16429 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 16430 return event[5]; 16431 } 16432 /** 16433 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 16434 * @param event packet 16435 * @return netkey_index_item 16436 * @note: btstack_type 2 16437 */ 16438 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 16439 return little_endian_read_16(event, 6); 16440 } 16441 /** 16442 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 16443 * @param event packet 16444 * @return appkey_index_item 16445 * @note: btstack_type 2 16446 */ 16447 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 16448 return little_endian_read_16(event, 8); 16449 } 16450 16451 /** 16452 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16453 * @param event packet 16454 * @return dest 16455 * @note: btstack_type 2 16456 */ 16457 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 16458 return little_endian_read_16(event, 3); 16459 } 16460 /** 16461 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16462 * @param event packet 16463 * @return foundation_status 16464 * @note: btstack_type 1 16465 */ 16466 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 16467 return event[5]; 16468 } 16469 /** 16470 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16471 * @param event packet 16472 * @return netkey_index 16473 * @note: btstack_type 2 16474 */ 16475 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 16476 return little_endian_read_16(event, 6); 16477 } 16478 /** 16479 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16480 * @param event packet 16481 * @return num_appkey_indexes 16482 * @note: btstack_type 1 16483 */ 16484 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 16485 return event[8]; 16486 } 16487 /** 16488 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16489 * @param event packet 16490 * @return appkey_index_pos 16491 * @note: btstack_type 1 16492 */ 16493 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 16494 return event[9]; 16495 } 16496 /** 16497 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16498 * @param event packet 16499 * @return netkey_index_item 16500 * @note: btstack_type 2 16501 */ 16502 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 16503 return little_endian_read_16(event, 10); 16504 } 16505 /** 16506 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16507 * @param event packet 16508 * @return appkey_index_item 16509 * @note: btstack_type 2 16510 */ 16511 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 16512 return little_endian_read_16(event, 12); 16513 } 16514 16515 /** 16516 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 16517 * @param event packet 16518 * @return dest 16519 * @note: btstack_type 2 16520 */ 16521 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 16522 return little_endian_read_16(event, 3); 16523 } 16524 /** 16525 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 16526 * @param event packet 16527 * @return foundation_status 16528 * @note: btstack_type 1 16529 */ 16530 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 16531 return event[5]; 16532 } 16533 /** 16534 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 16535 * @param event packet 16536 * @return netkey_index_item 16537 * @note: btstack_type 2 16538 */ 16539 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 16540 return little_endian_read_16(event, 6); 16541 } 16542 /** 16543 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 16544 * @param event packet 16545 * @return identity_status 16546 * @note: btstack_type 1 16547 */ 16548 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 16549 return event[8]; 16550 } 16551 16552 /** 16553 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16554 * @param event packet 16555 * @return dest 16556 * @note: btstack_type 2 16557 */ 16558 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 16559 return little_endian_read_16(event, 3); 16560 } 16561 /** 16562 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16563 * @param event packet 16564 * @return foundation_status 16565 * @note: btstack_type 1 16566 */ 16567 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 16568 return event[5]; 16569 } 16570 /** 16571 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16572 * @param event packet 16573 * @return appkey_index 16574 * @note: btstack_type 2 16575 */ 16576 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 16577 return little_endian_read_16(event, 6); 16578 } 16579 /** 16580 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16581 * @param event packet 16582 * @return model_identifier 16583 * @note: btstack_type 4 16584 */ 16585 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 16586 return little_endian_read_32(event, 8); 16587 } 16588 16589 /** 16590 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16591 * @param event packet 16592 * @return dest 16593 * @note: btstack_type 2 16594 */ 16595 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 16596 return little_endian_read_16(event, 3); 16597 } 16598 /** 16599 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16600 * @param event packet 16601 * @return foundation_status 16602 * @note: btstack_type 1 16603 */ 16604 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 16605 return event[5]; 16606 } 16607 /** 16608 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16609 * @param event packet 16610 * @return model_id 16611 * @note: btstack_type 4 16612 */ 16613 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 16614 return little_endian_read_32(event, 6); 16615 } 16616 /** 16617 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16618 * @param event packet 16619 * @return num_appkey_indexes 16620 * @note: btstack_type 1 16621 */ 16622 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 16623 return event[10]; 16624 } 16625 /** 16626 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16627 * @param event packet 16628 * @return appkey_index_pos 16629 * @note: btstack_type 1 16630 */ 16631 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 16632 return event[11]; 16633 } 16634 /** 16635 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16636 * @param event packet 16637 * @return appkey_index_item 16638 * @note: btstack_type 2 16639 */ 16640 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 16641 return little_endian_read_16(event, 12); 16642 } 16643 16644 /** 16645 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16646 * @param event packet 16647 * @return dest 16648 * @note: btstack_type 2 16649 */ 16650 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 16651 return little_endian_read_16(event, 3); 16652 } 16653 /** 16654 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16655 * @param event packet 16656 * @return foundation_status 16657 * @note: btstack_type 1 16658 */ 16659 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 16660 return event[5]; 16661 } 16662 16663 /** 16664 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16665 * @param event packet 16666 * @return dest 16667 * @note: btstack_type 2 16668 */ 16669 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 16670 return little_endian_read_16(event, 3); 16671 } 16672 /** 16673 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16674 * @param event packet 16675 * @return foundation_status 16676 * @note: btstack_type 1 16677 */ 16678 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 16679 return event[5]; 16680 } 16681 /** 16682 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16683 * @param event packet 16684 * @return friend_state 16685 * @note: btstack_type 1 16686 */ 16687 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 16688 return event[6]; 16689 } 16690 16691 /** 16692 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16693 * @param event packet 16694 * @return dest 16695 * @note: btstack_type 2 16696 */ 16697 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 16698 return little_endian_read_16(event, 3); 16699 } 16700 /** 16701 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16702 * @param event packet 16703 * @return foundation_status 16704 * @note: btstack_type 1 16705 */ 16706 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 16707 return event[5]; 16708 } 16709 /** 16710 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16711 * @param event packet 16712 * @return netkey_index 16713 * @note: btstack_type 2 16714 */ 16715 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 16716 return little_endian_read_16(event, 6); 16717 } 16718 /** 16719 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16720 * @param event packet 16721 * @return phase 16722 * @note: btstack_type 1 16723 */ 16724 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 16725 return event[8]; 16726 } 16727 16728 /** 16729 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16730 * @param event packet 16731 * @return dest 16732 * @note: btstack_type 2 16733 */ 16734 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 16735 return little_endian_read_16(event, 3); 16736 } 16737 /** 16738 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16739 * @param event packet 16740 * @return foundation_status 16741 * @note: btstack_type 1 16742 */ 16743 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 16744 return event[5]; 16745 } 16746 /** 16747 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16748 * @param event packet 16749 * @return heartbeat_destination 16750 * @note: btstack_type 2 16751 */ 16752 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 16753 return little_endian_read_16(event, 6); 16754 } 16755 /** 16756 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16757 * @param event packet 16758 * @return count_S 16759 * @note: btstack_type 2 16760 */ 16761 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 16762 return little_endian_read_16(event, 8); 16763 } 16764 /** 16765 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16766 * @param event packet 16767 * @return period_S 16768 * @note: btstack_type 2 16769 */ 16770 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 16771 return little_endian_read_16(event, 10); 16772 } 16773 /** 16774 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16775 * @param event packet 16776 * @return ttl 16777 * @note: btstack_type 1 16778 */ 16779 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 16780 return event[12]; 16781 } 16782 /** 16783 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16784 * @param event packet 16785 * @return features 16786 * @note: btstack_type 2 16787 */ 16788 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 16789 return little_endian_read_16(event, 13); 16790 } 16791 /** 16792 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16793 * @param event packet 16794 * @return netkey_index 16795 * @note: btstack_type 2 16796 */ 16797 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 16798 return little_endian_read_16(event, 15); 16799 } 16800 16801 /** 16802 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16803 * @param event packet 16804 * @return dest 16805 * @note: btstack_type 2 16806 */ 16807 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 16808 return little_endian_read_16(event, 3); 16809 } 16810 /** 16811 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16812 * @param event packet 16813 * @return foundation_status 16814 * @note: btstack_type 1 16815 */ 16816 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 16817 return event[5]; 16818 } 16819 /** 16820 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16821 * @param event packet 16822 * @return heartbeat_destination 16823 * @note: btstack_type 2 16824 */ 16825 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 16826 return little_endian_read_16(event, 6); 16827 } 16828 /** 16829 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16830 * @param event packet 16831 * @return heartbeat_source 16832 * @note: btstack_type 2 16833 */ 16834 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 16835 return little_endian_read_16(event, 8); 16836 } 16837 /** 16838 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16839 * @param event packet 16840 * @return count_S 16841 * @note: btstack_type 2 16842 */ 16843 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 16844 return little_endian_read_16(event, 10); 16845 } 16846 /** 16847 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16848 * @param event packet 16849 * @return period_S 16850 * @note: btstack_type 2 16851 */ 16852 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 16853 return little_endian_read_16(event, 12); 16854 } 16855 /** 16856 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16857 * @param event packet 16858 * @return min_hops 16859 * @note: btstack_type 1 16860 */ 16861 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 16862 return event[14]; 16863 } 16864 /** 16865 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16866 * @param event packet 16867 * @return max_hops 16868 * @note: btstack_type 1 16869 */ 16870 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 16871 return event[15]; 16872 } 16873 16874 /** 16875 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16876 * @param event packet 16877 * @return dest 16878 * @note: btstack_type 2 16879 */ 16880 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 16881 return little_endian_read_16(event, 3); 16882 } 16883 /** 16884 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16885 * @param event packet 16886 * @return foundation_status 16887 * @note: btstack_type 1 16888 */ 16889 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 16890 return event[5]; 16891 } 16892 /** 16893 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16894 * @param event packet 16895 * @return lpn_address 16896 * @note: btstack_type 2 16897 */ 16898 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 16899 return little_endian_read_16(event, 6); 16900 } 16901 /** 16902 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16903 * @param event packet 16904 * @return poll_timeout 16905 * @note: btstack_type 3 16906 */ 16907 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 16908 return little_endian_read_24(event, 8); 16909 } 16910 16911 /** 16912 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16913 * @param event packet 16914 * @return dest 16915 * @note: btstack_type 2 16916 */ 16917 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 16918 return little_endian_read_16(event, 3); 16919 } 16920 /** 16921 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16922 * @param event packet 16923 * @return foundation_status 16924 * @note: btstack_type 1 16925 */ 16926 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 16927 return event[5]; 16928 } 16929 /** 16930 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16931 * @param event packet 16932 * @return transmit_count 16933 * @note: btstack_type 1 16934 */ 16935 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 16936 return event[6]; 16937 } 16938 /** 16939 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16940 * @param event packet 16941 * @return transmit_interval_steps_ms 16942 * @note: btstack_type 2 16943 */ 16944 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 16945 return little_endian_read_16(event, 7); 16946 } 16947 16948 16949 16950 /* API_END */ 16951 16952 #if defined __cplusplus 16953 } 16954 #endif 16955 16956 #endif // BTSTACK_EVENT_H 16957