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