1 /* 2 * Copyright (C) 2016 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. Neither the name of the copyright holders nor the names of 14 * contributors may be used to endorse or promote products derived 15 * from this software without specific prior written permission. 16 * 4. Any redistribution, use, or modification is done solely for 17 * personal benefit and not for any commercial purpose or for 18 * monetary gain. 19 * 20 * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS 21 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BLUEKITCHEN 24 * GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 27 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 30 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * Please inquire about commercial licensing options at 34 * [email protected] 35 * 36 */ 37 38 39 /** 40 * HCI Event Getter 41 * 42 * Note: Don't edit this file. It is generated by tool/btstack_event_generator.py 43 * 44 */ 45 46 #ifndef BTSTACK_EVENT_H 47 #define BTSTACK_EVENT_H 48 49 #if defined __cplusplus 50 extern "C" { 51 #endif 52 53 #include "btstack_util.h" 54 #include <stdint.h> 55 56 #ifdef ENABLE_BLE 57 #include "ble/gatt_client.h" 58 #endif 59 60 /* API_START */ 61 62 /** 63 * @brief Get event type 64 * @param event 65 * @return type of event 66 */ 67 static inline uint8_t hci_event_packet_get_type(const uint8_t * event){ 68 return event[0]; 69 } 70 71 typedef uint8_t* btstack_event_iterator_t; 72 73 /*** 74 * @brief Get subevent code for a2dp event 75 * @param event packet 76 * @return subevent_code 77 */ 78 static inline uint8_t hci_event_a2dp_meta_get_subevent_code(const uint8_t * event){ 79 return event[2]; 80 } 81 /*** 82 * @brief Get subevent code for ancs event 83 * @param event packet 84 * @return subevent_code 85 */ 86 static inline uint8_t hci_event_ancs_meta_get_subevent_code(const uint8_t * event){ 87 return event[2]; 88 } 89 /*** 90 * @brief Get subevent code for avdtp event 91 * @param event packet 92 * @return subevent_code 93 */ 94 static inline uint8_t hci_event_avdtp_meta_get_subevent_code(const uint8_t * event){ 95 return event[2]; 96 } 97 /*** 98 * @brief Get subevent code for avrcp event 99 * @param event packet 100 * @return subevent_code 101 */ 102 static inline uint8_t hci_event_avrcp_meta_get_subevent_code(const uint8_t * event){ 103 return event[2]; 104 } 105 /*** 106 * @brief Get subevent code for gap event 107 * @param event packet 108 * @return subevent_code 109 */ 110 static inline uint8_t hci_event_gap_meta_get_subevent_code(const uint8_t * event){ 111 return event[2]; 112 } 113 /*** 114 * @brief Get subevent code for gattservice event 115 * @param event packet 116 * @return subevent_code 117 */ 118 static inline uint8_t hci_event_gattservice_meta_get_subevent_code(const uint8_t * event){ 119 return event[2]; 120 } 121 /*** 122 * @brief Get subevent code for goep event 123 * @param event packet 124 * @return subevent_code 125 */ 126 static inline uint8_t hci_event_goep_meta_get_subevent_code(const uint8_t * event){ 127 return event[2]; 128 } 129 /*** 130 * @brief Get subevent code for hfp event 131 * @param event packet 132 * @return subevent_code 133 */ 134 static inline uint8_t hci_event_hfp_meta_get_subevent_code(const uint8_t * event){ 135 return event[2]; 136 } 137 /*** 138 * @brief Get subevent code for hid event 139 * @param event packet 140 * @return subevent_code 141 */ 142 static inline uint8_t hci_event_hid_meta_get_subevent_code(const uint8_t * event){ 143 return event[2]; 144 } 145 /*** 146 * @brief Get subevent code for hids event 147 * @param event packet 148 * @return subevent_code 149 */ 150 static inline uint8_t hci_event_hids_meta_get_subevent_code(const uint8_t * event){ 151 return event[2]; 152 } 153 /*** 154 * @brief Get subevent code for hsp event 155 * @param event packet 156 * @return subevent_code 157 */ 158 static inline uint8_t hci_event_hsp_meta_get_subevent_code(const uint8_t * event){ 159 return event[2]; 160 } 161 /*** 162 * @brief Get subevent code for le event 163 * @param event packet 164 * @return subevent_code 165 */ 166 static inline uint8_t hci_event_le_meta_get_subevent_code(const uint8_t * event){ 167 return event[2]; 168 } 169 /*** 170 * @brief Get subevent code for leaudio event 171 * @param event packet 172 * @return subevent_code 173 */ 174 static inline uint8_t hci_event_leaudio_meta_get_subevent_code(const uint8_t * event){ 175 return event[2]; 176 } 177 /*** 178 * @brief Get subevent code for map event 179 * @param event packet 180 * @return subevent_code 181 */ 182 static inline uint8_t hci_event_map_meta_get_subevent_code(const uint8_t * event){ 183 return event[2]; 184 } 185 /*** 186 * @brief Get subevent code for mesh event 187 * @param event packet 188 * @return subevent_code 189 */ 190 static inline uint8_t hci_event_mesh_meta_get_subevent_code(const uint8_t * event){ 191 return event[2]; 192 } 193 /*** 194 * @brief Get subevent code for pbap event 195 * @param event packet 196 * @return subevent_code 197 */ 198 static inline uint8_t hci_event_pbap_meta_get_subevent_code(const uint8_t * event){ 199 return event[2]; 200 } 201 /*** 202 * @brief Get subevent code for opp event 203 * @param event packet 204 * @return subevent_code 205 */ 206 static inline uint8_t hci_event_opp_meta_get_subevent_code(const uint8_t * event){ 207 return event[2]; 208 } 209 /** 210 * @brief Get field status from event HCI_EVENT_INQUIRY_COMPLETE 211 * @param event packet 212 * @return status 213 * @note: btstack_type 1 214 */ 215 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){ 216 return event[2]; 217 } 218 219 /** 220 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT 221 * @param event packet 222 * @return num_responses 223 * @note: btstack_type 1 224 */ 225 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){ 226 return event[2]; 227 } 228 /** 229 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT 230 * @param event packet 231 * @param Pointer to storage for bd_addr 232 * @note: btstack_type B 233 */ 234 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 235 reverse_bytes(&event[3], bd_addr, 6); 236 } 237 /** 238 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT 239 * @param event packet 240 * @return page_scan_repetition_mode 241 * @note: btstack_type 1 242 */ 243 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 244 return event[9]; 245 } 246 /** 247 * @brief Get field reserved1 from event HCI_EVENT_INQUIRY_RESULT 248 * @param event packet 249 * @return reserved1 250 * @note: btstack_type 1 251 */ 252 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){ 253 return event[10]; 254 } 255 /** 256 * @brief Get field reserved2 from event HCI_EVENT_INQUIRY_RESULT 257 * @param event packet 258 * @return reserved2 259 * @note: btstack_type 1 260 */ 261 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){ 262 return event[11]; 263 } 264 /** 265 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT 266 * @param event packet 267 * @return class_of_device 268 * @note: btstack_type 3 269 */ 270 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){ 271 return little_endian_read_24(event, 12); 272 } 273 /** 274 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT 275 * @param event packet 276 * @return clock_offset 277 * @note: btstack_type 2 278 */ 279 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){ 280 return little_endian_read_16(event, 15); 281 } 282 283 /** 284 * @brief Get field status from event HCI_EVENT_CONNECTION_COMPLETE 285 * @param event packet 286 * @return status 287 * @note: btstack_type 1 288 */ 289 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){ 290 return event[2]; 291 } 292 /** 293 * @brief Get field connection_handle from event HCI_EVENT_CONNECTION_COMPLETE 294 * @param event packet 295 * @return connection_handle 296 * @note: btstack_type 2 297 */ 298 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){ 299 return little_endian_read_16(event, 3); 300 } 301 /** 302 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_COMPLETE 303 * @param event packet 304 * @param Pointer to storage for bd_addr 305 * @note: btstack_type B 306 */ 307 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 308 reverse_bytes(&event[5], bd_addr, 6); 309 } 310 /** 311 * @brief Get field link_type from event HCI_EVENT_CONNECTION_COMPLETE 312 * @param event packet 313 * @return link_type 314 * @note: btstack_type 1 315 */ 316 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){ 317 return event[11]; 318 } 319 /** 320 * @brief Get field encryption_enabled from event HCI_EVENT_CONNECTION_COMPLETE 321 * @param event packet 322 * @return encryption_enabled 323 * @note: btstack_type 1 324 */ 325 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){ 326 return event[12]; 327 } 328 329 /** 330 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_REQUEST 331 * @param event packet 332 * @param Pointer to storage for bd_addr 333 * @note: btstack_type B 334 */ 335 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 336 reverse_bytes(&event[2], bd_addr, 6); 337 } 338 /** 339 * @brief Get field class_of_device from event HCI_EVENT_CONNECTION_REQUEST 340 * @param event packet 341 * @return class_of_device 342 * @note: btstack_type 3 343 */ 344 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){ 345 return little_endian_read_24(event, 8); 346 } 347 /** 348 * @brief Get field link_type from event HCI_EVENT_CONNECTION_REQUEST 349 * @param event packet 350 * @return link_type 351 * @note: btstack_type 1 352 */ 353 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){ 354 return event[11]; 355 } 356 357 /** 358 * @brief Get field status from event HCI_EVENT_DISCONNECTION_COMPLETE 359 * @param event packet 360 * @return status 361 * @note: btstack_type 1 362 */ 363 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){ 364 return event[2]; 365 } 366 /** 367 * @brief Get field connection_handle from event HCI_EVENT_DISCONNECTION_COMPLETE 368 * @param event packet 369 * @return connection_handle 370 * @note: btstack_type 2 371 */ 372 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){ 373 return little_endian_read_16(event, 3); 374 } 375 /** 376 * @brief Get field reason from event HCI_EVENT_DISCONNECTION_COMPLETE 377 * @param event packet 378 * @return reason 379 * @note: btstack_type 1 380 */ 381 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){ 382 return event[5]; 383 } 384 385 /** 386 * @brief Get field status from event HCI_EVENT_AUTHENTICATION_COMPLETE 387 * @param event packet 388 * @return status 389 * @note: btstack_type 1 390 */ 391 static inline uint8_t hci_event_authentication_complete_get_status(const uint8_t * event){ 392 return event[2]; 393 } 394 /** 395 * @brief Get field connection_handle from event HCI_EVENT_AUTHENTICATION_COMPLETE 396 * @param event packet 397 * @return connection_handle 398 * @note: btstack_type 2 399 */ 400 static inline uint16_t hci_event_authentication_complete_get_connection_handle(const uint8_t * event){ 401 return little_endian_read_16(event, 3); 402 } 403 404 /** 405 * @brief Get field status from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 406 * @param event packet 407 * @return status 408 * @note: btstack_type 1 409 */ 410 static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){ 411 return event[2]; 412 } 413 /** 414 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 415 * @param event packet 416 * @param Pointer to storage for bd_addr 417 * @note: btstack_type B 418 */ 419 static inline void hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 420 reverse_bytes(&event[3], bd_addr, 6); 421 } 422 /** 423 * @brief Get field remote_name from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 424 * @param event packet 425 * @return remote_name 426 * @note: btstack_type N 427 */ 428 static inline const char * hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){ 429 return (const char *) &event[9]; 430 } 431 432 /** 433 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE 434 * @param event packet 435 * @return status 436 * @note: btstack_type 1 437 */ 438 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){ 439 return event[2]; 440 } 441 /** 442 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE 443 * @param event packet 444 * @return connection_handle 445 * @note: btstack_type 2 446 */ 447 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){ 448 return little_endian_read_16(event, 3); 449 } 450 /** 451 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE 452 * @param event packet 453 * @return encryption_enabled 454 * @note: btstack_type 1 455 */ 456 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){ 457 return event[5]; 458 } 459 460 /** 461 * @brief Get field status from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 462 * @param event packet 463 * @return status 464 * @note: btstack_type 1 465 */ 466 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){ 467 return event[2]; 468 } 469 /** 470 * @brief Get field connection_handle from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 471 * @param event packet 472 * @return connection_handle 473 * @note: btstack_type 2 474 */ 475 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){ 476 return little_endian_read_16(event, 3); 477 } 478 479 /** 480 * @brief Get field status from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 481 * @param event packet 482 * @return status 483 * @note: btstack_type 1 484 */ 485 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){ 486 return event[2]; 487 } 488 /** 489 * @brief Get field connection_handle from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 490 * @param event packet 491 * @return connection_handle 492 * @note: btstack_type 2 493 */ 494 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){ 495 return little_endian_read_16(event, 3); 496 } 497 /** 498 * @brief Get field key_flag from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 499 * @param event packet 500 * @return key_flag 501 * @note: btstack_type 1 502 */ 503 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){ 504 return event[5]; 505 } 506 507 /** 508 * @brief Get field status from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 509 * @param event packet 510 * @return status 511 * @note: btstack_type 1 512 */ 513 static inline uint8_t hci_event_read_remote_version_information_complete_get_status(const uint8_t * event){ 514 return event[2]; 515 } 516 /** 517 * @brief Get field connection_handle from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 518 * @param event packet 519 * @return connection_handle 520 * @note: btstack_type 2 521 */ 522 static inline uint16_t hci_event_read_remote_version_information_complete_get_connection_handle(const uint8_t * event){ 523 return little_endian_read_16(event, 3); 524 } 525 /** 526 * @brief Get field version from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 527 * @param event packet 528 * @return version 529 * @note: btstack_type 1 530 */ 531 static inline uint8_t hci_event_read_remote_version_information_complete_get_version(const uint8_t * event){ 532 return event[5]; 533 } 534 /** 535 * @brief Get field manufacturer_name from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 536 * @param event packet 537 * @return manufacturer_name 538 * @note: btstack_type 2 539 */ 540 static inline uint16_t hci_event_read_remote_version_information_complete_get_manufacturer_name(const uint8_t * event){ 541 return little_endian_read_16(event, 6); 542 } 543 /** 544 * @brief Get field subversion from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 545 * @param event packet 546 * @return subversion 547 * @note: btstack_type 2 548 */ 549 static inline uint16_t hci_event_read_remote_version_information_complete_get_subversion(const uint8_t * event){ 550 return little_endian_read_16(event, 8); 551 } 552 553 /** 554 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_COMPLETE 555 * @param event packet 556 * @return num_hci_command_packets 557 * @note: btstack_type 1 558 */ 559 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){ 560 return event[2]; 561 } 562 /** 563 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_COMPLETE 564 * @param event packet 565 * @return command_opcode 566 * @note: btstack_type 2 567 */ 568 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){ 569 return little_endian_read_16(event, 3); 570 } 571 /** 572 * @brief Get field return_parameters from event HCI_EVENT_COMMAND_COMPLETE 573 * @param event packet 574 * @return return_parameters 575 * @note: btstack_type R 576 */ 577 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){ 578 return &event[5]; 579 } 580 581 /** 582 * @brief Get field status from event HCI_EVENT_COMMAND_STATUS 583 * @param event packet 584 * @return status 585 * @note: btstack_type 1 586 */ 587 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){ 588 return event[2]; 589 } 590 /** 591 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_STATUS 592 * @param event packet 593 * @return num_hci_command_packets 594 * @note: btstack_type 1 595 */ 596 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){ 597 return event[3]; 598 } 599 /** 600 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_STATUS 601 * @param event packet 602 * @return command_opcode 603 * @note: btstack_type 2 604 */ 605 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){ 606 return little_endian_read_16(event, 4); 607 } 608 609 /** 610 * @brief Get field hardware_code from event HCI_EVENT_HARDWARE_ERROR 611 * @param event packet 612 * @return hardware_code 613 * @note: btstack_type 1 614 */ 615 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){ 616 return event[2]; 617 } 618 619 /** 620 * @brief Get field handle from event HCI_EVENT_FLUSH_OCCURRED 621 * @param event packet 622 * @return handle 623 * @note: btstack_type H 624 */ 625 static inline hci_con_handle_t hci_event_flush_occurred_get_handle(const uint8_t * event){ 626 return little_endian_read_16(event, 2); 627 } 628 629 /** 630 * @brief Get field status from event HCI_EVENT_ROLE_CHANGE 631 * @param event packet 632 * @return status 633 * @note: btstack_type 1 634 */ 635 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){ 636 return event[2]; 637 } 638 /** 639 * @brief Get field bd_addr from event HCI_EVENT_ROLE_CHANGE 640 * @param event packet 641 * @param Pointer to storage for bd_addr 642 * @note: btstack_type B 643 */ 644 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 645 reverse_bytes(&event[3], bd_addr, 6); 646 } 647 /** 648 * @brief Get field role from event HCI_EVENT_ROLE_CHANGE 649 * @param event packet 650 * @return role 651 * @note: btstack_type 1 652 */ 653 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){ 654 return event[9]; 655 } 656 657 /** 658 * @brief Get field status from event HCI_EVENT_MODE_CHANGE 659 * @param event packet 660 * @return status 661 * @note: btstack_type 1 662 */ 663 static inline uint8_t hci_event_mode_change_get_status(const uint8_t * event){ 664 return event[2]; 665 } 666 /** 667 * @brief Get field handle from event HCI_EVENT_MODE_CHANGE 668 * @param event packet 669 * @return handle 670 * @note: btstack_type H 671 */ 672 static inline hci_con_handle_t hci_event_mode_change_get_handle(const uint8_t * event){ 673 return little_endian_read_16(event, 3); 674 } 675 /** 676 * @brief Get field mode from event HCI_EVENT_MODE_CHANGE 677 * @param event packet 678 * @return mode 679 * @note: btstack_type 1 680 */ 681 static inline uint8_t hci_event_mode_change_get_mode(const uint8_t * event){ 682 return event[5]; 683 } 684 /** 685 * @brief Get field interval from event HCI_EVENT_MODE_CHANGE 686 * @param event packet 687 * @return interval 688 * @note: btstack_type 2 689 */ 690 static inline uint16_t hci_event_mode_change_get_interval(const uint8_t * event){ 691 return little_endian_read_16(event, 6); 692 } 693 694 /** 695 * @brief Get field bd_addr from event HCI_EVENT_PIN_CODE_REQUEST 696 * @param event packet 697 * @param Pointer to storage for bd_addr 698 * @note: btstack_type B 699 */ 700 static inline void hci_event_pin_code_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 701 reverse_bytes(&event[2], bd_addr, 6); 702 } 703 704 /** 705 * @brief Get field bd_addr from event HCI_EVENT_LINK_KEY_REQUEST 706 * @param event packet 707 * @param Pointer to storage for bd_addr 708 * @note: btstack_type B 709 */ 710 static inline void hci_event_link_key_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 711 reverse_bytes(&event[2], bd_addr, 6); 712 } 713 714 /** 715 * @brief Get field link_type from event HCI_EVENT_DATA_BUFFER_OVERFLOW 716 * @param event packet 717 * @return link_type 718 * @note: btstack_type 1 719 */ 720 static inline uint8_t hci_event_data_buffer_overflow_get_link_type(const uint8_t * event){ 721 return event[2]; 722 } 723 724 /** 725 * @brief Get field handle from event HCI_EVENT_MAX_SLOTS_CHANGED 726 * @param event packet 727 * @return handle 728 * @note: btstack_type H 729 */ 730 static inline hci_con_handle_t hci_event_max_slots_changed_get_handle(const uint8_t * event){ 731 return little_endian_read_16(event, 2); 732 } 733 /** 734 * @brief Get field lmp_max_slots from event HCI_EVENT_MAX_SLOTS_CHANGED 735 * @param event packet 736 * @return lmp_max_slots 737 * @note: btstack_type 1 738 */ 739 static inline uint8_t hci_event_max_slots_changed_get_lmp_max_slots(const uint8_t * event){ 740 return event[4]; 741 } 742 743 /** 744 * @brief Get field status from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 745 * @param event packet 746 * @return status 747 * @note: btstack_type 1 748 */ 749 static inline uint8_t hci_event_read_clock_offset_complete_get_status(const uint8_t * event){ 750 return event[2]; 751 } 752 /** 753 * @brief Get field handle from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 754 * @param event packet 755 * @return handle 756 * @note: btstack_type H 757 */ 758 static inline hci_con_handle_t hci_event_read_clock_offset_complete_get_handle(const uint8_t * event){ 759 return little_endian_read_16(event, 3); 760 } 761 /** 762 * @brief Get field clock_offset from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 763 * @param event packet 764 * @return clock_offset 765 * @note: btstack_type 2 766 */ 767 static inline uint16_t hci_event_read_clock_offset_complete_get_clock_offset(const uint8_t * event){ 768 return little_endian_read_16(event, 5); 769 } 770 771 /** 772 * @brief Get field status from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 773 * @param event packet 774 * @return status 775 * @note: btstack_type 1 776 */ 777 static inline uint8_t hci_event_connection_packet_type_changed_get_status(const uint8_t * event){ 778 return event[2]; 779 } 780 /** 781 * @brief Get field handle from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 782 * @param event packet 783 * @return handle 784 * @note: btstack_type H 785 */ 786 static inline hci_con_handle_t hci_event_connection_packet_type_changed_get_handle(const uint8_t * event){ 787 return little_endian_read_16(event, 3); 788 } 789 /** 790 * @brief Get field packet_types from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 791 * @param event packet 792 * @return packet_types 793 * @note: btstack_type 2 794 */ 795 static inline uint16_t hci_event_connection_packet_type_changed_get_packet_types(const uint8_t * event){ 796 return little_endian_read_16(event, 5); 797 } 798 799 /** 800 * @brief Get field handle from event HCI_EVENT_QOS_VIOLATION 801 * @param event packet 802 * @return handle 803 * @note: btstack_type H 804 */ 805 static inline hci_con_handle_t hci_event_qos_violation_get_handle(const uint8_t * event){ 806 return little_endian_read_16(event, 2); 807 } 808 809 /** 810 * @brief Get field handle from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 811 * @param event packet 812 * @return handle 813 * @note: btstack_type H 814 */ 815 static inline hci_con_handle_t hci_event_page_scan_repetition_mode_change_get_handle(const uint8_t * event){ 816 return little_endian_read_16(event, 2); 817 } 818 /** 819 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 820 * @param event packet 821 * @return page_scan_repetition_mode 822 * @note: btstack_type 1 823 */ 824 static inline uint8_t hci_event_page_scan_repetition_mode_change_get_page_scan_repetition_mode(const uint8_t * event){ 825 return event[4]; 826 } 827 828 /** 829 * @brief Get field status from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 830 * @param event packet 831 * @return status 832 * @note: btstack_type 1 833 */ 834 static inline uint8_t hci_event_flow_specification_complete_get_status(const uint8_t * event){ 835 return event[2]; 836 } 837 /** 838 * @brief Get field handle from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 839 * @param event packet 840 * @return handle 841 * @note: btstack_type H 842 */ 843 static inline hci_con_handle_t hci_event_flow_specification_complete_get_handle(const uint8_t * event){ 844 return little_endian_read_16(event, 3); 845 } 846 /** 847 * @brief Get field unused from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 848 * @param event packet 849 * @return unused 850 * @note: btstack_type 1 851 */ 852 static inline uint8_t hci_event_flow_specification_complete_get_unused(const uint8_t * event){ 853 return event[5]; 854 } 855 /** 856 * @brief Get field flow_direction from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 857 * @param event packet 858 * @return flow_direction 859 * @note: btstack_type 1 860 */ 861 static inline uint8_t hci_event_flow_specification_complete_get_flow_direction(const uint8_t * event){ 862 return event[6]; 863 } 864 /** 865 * @brief Get field service_type from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 866 * @param event packet 867 * @return service_type 868 * @note: btstack_type 1 869 */ 870 static inline uint8_t hci_event_flow_specification_complete_get_service_type(const uint8_t * event){ 871 return event[7]; 872 } 873 /** 874 * @brief Get field token_rate from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 875 * @param event packet 876 * @return token_rate 877 * @note: btstack_type 4 878 */ 879 static inline uint32_t hci_event_flow_specification_complete_get_token_rate(const uint8_t * event){ 880 return little_endian_read_32(event, 8); 881 } 882 /** 883 * @brief Get field token_bucket_size from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 884 * @param event packet 885 * @return token_bucket_size 886 * @note: btstack_type 4 887 */ 888 static inline uint32_t hci_event_flow_specification_complete_get_token_bucket_size(const uint8_t * event){ 889 return little_endian_read_32(event, 12); 890 } 891 /** 892 * @brief Get field peak_bandwidth from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 893 * @param event packet 894 * @return peak_bandwidth 895 * @note: btstack_type 4 896 */ 897 static inline uint32_t hci_event_flow_specification_complete_get_peak_bandwidth(const uint8_t * event){ 898 return little_endian_read_32(event, 16); 899 } 900 /** 901 * @brief Get field access_latency from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 902 * @param event packet 903 * @return access_latency 904 * @note: btstack_type 4 905 */ 906 static inline uint32_t hci_event_flow_specification_complete_get_access_latency(const uint8_t * event){ 907 return little_endian_read_32(event, 20); 908 } 909 910 /** 911 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 912 * @param event packet 913 * @return num_responses 914 * @note: btstack_type 1 915 */ 916 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){ 917 return event[2]; 918 } 919 /** 920 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 921 * @param event packet 922 * @param Pointer to storage for bd_addr 923 * @note: btstack_type B 924 */ 925 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 926 reverse_bytes(&event[3], bd_addr, 6); 927 } 928 /** 929 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 930 * @param event packet 931 * @return page_scan_repetition_mode 932 * @note: btstack_type 1 933 */ 934 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){ 935 return event[9]; 936 } 937 /** 938 * @brief Get field reserved from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 939 * @param event packet 940 * @return reserved 941 * @note: btstack_type 1 942 */ 943 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){ 944 return event[10]; 945 } 946 /** 947 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 948 * @param event packet 949 * @return class_of_device 950 * @note: btstack_type 3 951 */ 952 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){ 953 return little_endian_read_24(event, 11); 954 } 955 /** 956 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 957 * @param event packet 958 * @return clock_offset 959 * @note: btstack_type 2 960 */ 961 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){ 962 return little_endian_read_16(event, 14); 963 } 964 /** 965 * @brief Get field rssi from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 966 * @param event packet 967 * @return rssi 968 * @note: btstack_type 1 969 */ 970 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){ 971 return event[16]; 972 } 973 974 /** 975 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 976 * @param event packet 977 * @return status 978 * @note: btstack_type 1 979 */ 980 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){ 981 return event[2]; 982 } 983 /** 984 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 985 * @param event packet 986 * @return handle 987 * @note: btstack_type H 988 */ 989 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){ 990 return little_endian_read_16(event, 3); 991 } 992 /** 993 * @brief Get field bd_addr from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 994 * @param event packet 995 * @param Pointer to storage for bd_addr 996 * @note: btstack_type B 997 */ 998 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 999 reverse_bytes(&event[5], bd_addr, 6); 1000 } 1001 /** 1002 * @brief Get field link_type from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1003 * @param event packet 1004 * @return link_type 1005 * @note: btstack_type 1 1006 */ 1007 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){ 1008 return event[11]; 1009 } 1010 /** 1011 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1012 * @param event packet 1013 * @return transmission_interval 1014 * @note: btstack_type 1 1015 */ 1016 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){ 1017 return event[12]; 1018 } 1019 /** 1020 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1021 * @param event packet 1022 * @return retransmission_interval 1023 * @note: btstack_type 1 1024 */ 1025 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){ 1026 return event[13]; 1027 } 1028 /** 1029 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1030 * @param event packet 1031 * @return rx_packet_length 1032 * @note: btstack_type 2 1033 */ 1034 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){ 1035 return little_endian_read_16(event, 14); 1036 } 1037 /** 1038 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1039 * @param event packet 1040 * @return tx_packet_length 1041 * @note: btstack_type 2 1042 */ 1043 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){ 1044 return little_endian_read_16(event, 16); 1045 } 1046 /** 1047 * @brief Get field air_mode from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1048 * @param event packet 1049 * @return air_mode 1050 * @note: btstack_type 1 1051 */ 1052 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){ 1053 return event[18]; 1054 } 1055 1056 /** 1057 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1058 * @param event packet 1059 * @return status 1060 * @note: btstack_type 1 1061 */ 1062 static inline uint8_t hci_event_synchronous_connection_changed_get_status(const uint8_t * event){ 1063 return event[2]; 1064 } 1065 /** 1066 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1067 * @param event packet 1068 * @return handle 1069 * @note: btstack_type H 1070 */ 1071 static inline hci_con_handle_t hci_event_synchronous_connection_changed_get_handle(const uint8_t * event){ 1072 return little_endian_read_16(event, 3); 1073 } 1074 /** 1075 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1076 * @param event packet 1077 * @return transmission_interval 1078 * @note: btstack_type 1 1079 */ 1080 static inline uint8_t hci_event_synchronous_connection_changed_get_transmission_interval(const uint8_t * event){ 1081 return event[5]; 1082 } 1083 /** 1084 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1085 * @param event packet 1086 * @return retransmission_interval 1087 * @note: btstack_type 1 1088 */ 1089 static inline uint8_t hci_event_synchronous_connection_changed_get_retransmission_interval(const uint8_t * event){ 1090 return event[6]; 1091 } 1092 /** 1093 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1094 * @param event packet 1095 * @return rx_packet_length 1096 * @note: btstack_type 2 1097 */ 1098 static inline uint16_t hci_event_synchronous_connection_changed_get_rx_packet_length(const uint8_t * event){ 1099 return little_endian_read_16(event, 7); 1100 } 1101 /** 1102 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1103 * @param event packet 1104 * @return tx_packet_length 1105 * @note: btstack_type 2 1106 */ 1107 static inline uint16_t hci_event_synchronous_connection_changed_get_tx_packet_length(const uint8_t * event){ 1108 return little_endian_read_16(event, 9); 1109 } 1110 1111 /** 1112 * @brief Get field status from event HCI_EVENT_SNIFF_SUBRATING 1113 * @param event packet 1114 * @return status 1115 * @note: btstack_type 1 1116 */ 1117 static inline uint8_t hci_event_sniff_subrating_get_status(const uint8_t * event){ 1118 return event[2]; 1119 } 1120 /** 1121 * @brief Get field handle from event HCI_EVENT_SNIFF_SUBRATING 1122 * @param event packet 1123 * @return handle 1124 * @note: btstack_type H 1125 */ 1126 static inline hci_con_handle_t hci_event_sniff_subrating_get_handle(const uint8_t * event){ 1127 return little_endian_read_16(event, 3); 1128 } 1129 /** 1130 * @brief Get field max_tx_latency from event HCI_EVENT_SNIFF_SUBRATING 1131 * @param event packet 1132 * @return max_tx_latency 1133 * @note: btstack_type 2 1134 */ 1135 static inline uint16_t hci_event_sniff_subrating_get_max_tx_latency(const uint8_t * event){ 1136 return little_endian_read_16(event, 5); 1137 } 1138 /** 1139 * @brief Get field max_rx_latency from event HCI_EVENT_SNIFF_SUBRATING 1140 * @param event packet 1141 * @return max_rx_latency 1142 * @note: btstack_type 2 1143 */ 1144 static inline uint16_t hci_event_sniff_subrating_get_max_rx_latency(const uint8_t * event){ 1145 return little_endian_read_16(event, 7); 1146 } 1147 /** 1148 * @brief Get field min_remote_timeout from event HCI_EVENT_SNIFF_SUBRATING 1149 * @param event packet 1150 * @return min_remote_timeout 1151 * @note: btstack_type 2 1152 */ 1153 static inline uint16_t hci_event_sniff_subrating_get_min_remote_timeout(const uint8_t * event){ 1154 return little_endian_read_16(event, 9); 1155 } 1156 /** 1157 * @brief Get field min_local_timeout from event HCI_EVENT_SNIFF_SUBRATING 1158 * @param event packet 1159 * @return min_local_timeout 1160 * @note: btstack_type 2 1161 */ 1162 static inline uint16_t hci_event_sniff_subrating_get_min_local_timeout(const uint8_t * event){ 1163 return little_endian_read_16(event, 11); 1164 } 1165 1166 /** 1167 * @brief Get field num_responses from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1168 * @param event packet 1169 * @return num_responses 1170 * @note: btstack_type 1 1171 */ 1172 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){ 1173 return event[2]; 1174 } 1175 /** 1176 * @brief Get field bd_addr from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1177 * @param event packet 1178 * @param Pointer to storage for bd_addr 1179 * @note: btstack_type B 1180 */ 1181 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1182 reverse_bytes(&event[3], bd_addr, 6); 1183 } 1184 /** 1185 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1186 * @param event packet 1187 * @return page_scan_repetition_mode 1188 * @note: btstack_type 1 1189 */ 1190 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){ 1191 return event[9]; 1192 } 1193 /** 1194 * @brief Get field reserved from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1195 * @param event packet 1196 * @return reserved 1197 * @note: btstack_type 1 1198 */ 1199 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){ 1200 return event[10]; 1201 } 1202 /** 1203 * @brief Get field class_of_device from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1204 * @param event packet 1205 * @return class_of_device 1206 * @note: btstack_type 3 1207 */ 1208 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){ 1209 return little_endian_read_24(event, 11); 1210 } 1211 /** 1212 * @brief Get field clock_offset from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1213 * @param event packet 1214 * @return clock_offset 1215 * @note: btstack_type 2 1216 */ 1217 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){ 1218 return little_endian_read_16(event, 14); 1219 } 1220 /** 1221 * @brief Get field rssi from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1222 * @param event packet 1223 * @return rssi 1224 * @note: btstack_type 1 1225 */ 1226 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){ 1227 return event[16]; 1228 } 1229 1230 /** 1231 * @brief Get field status from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1232 * @param event packet 1233 * @return status 1234 * @note: btstack_type 1 1235 */ 1236 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){ 1237 return event[2]; 1238 } 1239 /** 1240 * @brief Get field handle from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1241 * @param event packet 1242 * @return handle 1243 * @note: btstack_type H 1244 */ 1245 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){ 1246 return little_endian_read_16(event, 3); 1247 } 1248 1249 /** 1250 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_REQUEST 1251 * @param event packet 1252 * @param Pointer to storage for bd_addr 1253 * @note: btstack_type B 1254 */ 1255 static inline void hci_event_io_capability_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1256 reverse_bytes(&event[2], bd_addr, 6); 1257 } 1258 1259 /** 1260 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1261 * @param event packet 1262 * @param Pointer to storage for bd_addr 1263 * @note: btstack_type B 1264 */ 1265 static inline void hci_event_io_capability_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1266 reverse_bytes(&event[2], bd_addr, 6); 1267 } 1268 /** 1269 * @brief Get field io_capability from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1270 * @param event packet 1271 * @return io_capability 1272 * @note: btstack_type 1 1273 */ 1274 static inline uint8_t hci_event_io_capability_response_get_io_capability(const uint8_t * event){ 1275 return event[8]; 1276 } 1277 /** 1278 * @brief Get field oob_data_present from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1279 * @param event packet 1280 * @return oob_data_present 1281 * @note: btstack_type 1 1282 */ 1283 static inline uint8_t hci_event_io_capability_response_get_oob_data_present(const uint8_t * event){ 1284 return event[9]; 1285 } 1286 /** 1287 * @brief Get field authentication_requirements from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1288 * @param event packet 1289 * @return authentication_requirements 1290 * @note: btstack_type 1 1291 */ 1292 static inline uint8_t hci_event_io_capability_response_get_authentication_requirements(const uint8_t * event){ 1293 return event[10]; 1294 } 1295 1296 /** 1297 * @brief Get field bd_addr from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1298 * @param event packet 1299 * @param Pointer to storage for bd_addr 1300 * @note: btstack_type B 1301 */ 1302 static inline void hci_event_user_confirmation_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1303 reverse_bytes(&event[2], bd_addr, 6); 1304 } 1305 /** 1306 * @brief Get field numeric_value from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1307 * @param event packet 1308 * @return numeric_value 1309 * @note: btstack_type 4 1310 */ 1311 static inline uint32_t hci_event_user_confirmation_request_get_numeric_value(const uint8_t * event){ 1312 return little_endian_read_32(event, 8); 1313 } 1314 1315 /** 1316 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_REQUEST 1317 * @param event packet 1318 * @param Pointer to storage for bd_addr 1319 * @note: btstack_type B 1320 */ 1321 static inline void hci_event_user_passkey_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1322 reverse_bytes(&event[2], bd_addr, 6); 1323 } 1324 1325 /** 1326 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_OOB_DATA_REQUEST 1327 * @param event packet 1328 * @param Pointer to storage for bd_addr 1329 * @note: btstack_type B 1330 */ 1331 static inline void hci_event_remote_oob_data_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1332 reverse_bytes(&event[2], bd_addr, 6); 1333 } 1334 1335 /** 1336 * @brief Get field status from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1337 * @param event packet 1338 * @return status 1339 * @note: btstack_type 1 1340 */ 1341 static inline uint8_t hci_event_simple_pairing_complete_get_status(const uint8_t * event){ 1342 return event[2]; 1343 } 1344 /** 1345 * @brief Get field bd_addr from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1346 * @param event packet 1347 * @param Pointer to storage for bd_addr 1348 * @note: btstack_type B 1349 */ 1350 static inline void hci_event_simple_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1351 reverse_bytes(&event[3], bd_addr, 6); 1352 } 1353 1354 /** 1355 * @brief Get field handle from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1356 * @param event packet 1357 * @return handle 1358 * @note: btstack_type H 1359 */ 1360 static inline hci_con_handle_t hci_event_link_supervision_timeout_changed_get_handle(const uint8_t * event){ 1361 return little_endian_read_16(event, 2); 1362 } 1363 /** 1364 * @brief Get field link_supervision_timeout from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1365 * @param event packet 1366 * @return link_supervision_timeout 1367 * @note: btstack_type 2 1368 */ 1369 static inline uint16_t hci_event_link_supervision_timeout_changed_get_link_supervision_timeout(const uint8_t * event){ 1370 return little_endian_read_16(event, 4); 1371 } 1372 1373 /** 1374 * @brief Get field handle from event HCI_EVENT_ENHANCED_FLUSH_COMPLETE 1375 * @param event packet 1376 * @return handle 1377 * @note: btstack_type H 1378 */ 1379 static inline hci_con_handle_t hci_event_enhanced_flush_complete_get_handle(const uint8_t * event){ 1380 return little_endian_read_16(event, 2); 1381 } 1382 1383 /** 1384 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1385 * @param event packet 1386 * @param Pointer to storage for bd_addr 1387 * @note: btstack_type B 1388 */ 1389 static inline void hci_event_user_passkey_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1390 reverse_bytes(&event[2], bd_addr, 6); 1391 } 1392 /** 1393 * @brief Get field numeric_value from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1394 * @param event packet 1395 * @return numeric_value 1396 * @note: btstack_type 4 1397 */ 1398 static inline uint32_t hci_event_user_passkey_notification_get_numeric_value(const uint8_t * event){ 1399 return little_endian_read_32(event, 8); 1400 } 1401 1402 /** 1403 * @brief Get field bd_addr from event HCI_EVENT_KEYPRESS_NOTIFICATION 1404 * @param event packet 1405 * @param Pointer to storage for bd_addr 1406 * @note: btstack_type B 1407 */ 1408 static inline void hci_event_keypress_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1409 reverse_bytes(&event[2], bd_addr, 6); 1410 } 1411 /** 1412 * @brief Get field notification_type from event HCI_EVENT_KEYPRESS_NOTIFICATION 1413 * @param event packet 1414 * @return notification_type 1415 * @note: btstack_type 1 1416 */ 1417 static inline uint8_t hci_event_keypress_notification_get_notification_type(const uint8_t * event){ 1418 return event[8]; 1419 } 1420 1421 /** 1422 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1423 * @param event packet 1424 * @return status 1425 * @note: btstack_type 1 1426 */ 1427 static inline uint8_t hci_event_encryption_change_v2_get_status(const uint8_t * event){ 1428 return event[2]; 1429 } 1430 /** 1431 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1432 * @param event packet 1433 * @return connection_handle 1434 * @note: btstack_type 2 1435 */ 1436 static inline uint16_t hci_event_encryption_change_v2_get_connection_handle(const uint8_t * event){ 1437 return little_endian_read_16(event, 3); 1438 } 1439 /** 1440 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1441 * @param event packet 1442 * @return encryption_enabled 1443 * @note: btstack_type 1 1444 */ 1445 static inline uint8_t hci_event_encryption_change_v2_get_encryption_enabled(const uint8_t * event){ 1446 return event[5]; 1447 } 1448 /** 1449 * @brief Get field encryption_key_size from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1450 * @param event packet 1451 * @return encryption_key_size 1452 * @note: btstack_type 1 1453 */ 1454 static inline uint8_t hci_event_encryption_change_v2_get_encryption_key_size(const uint8_t * event){ 1455 return event[6]; 1456 } 1457 1458 /** 1459 * @brief Get field state from event BTSTACK_EVENT_STATE 1460 * @param event packet 1461 * @return state 1462 * @note: btstack_type 1 1463 */ 1464 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){ 1465 return event[2]; 1466 } 1467 1468 /** 1469 * @brief Get field number_connections from event BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 1470 * @param event packet 1471 * @return number_connections 1472 * @note: btstack_type 1 1473 */ 1474 static inline uint8_t btstack_event_nr_connections_changed_get_number_connections(const uint8_t * event){ 1475 return event[2]; 1476 } 1477 1478 1479 /** 1480 * @brief Get field discoverable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1481 * @param event packet 1482 * @return discoverable 1483 * @note: btstack_type 1 1484 */ 1485 static inline uint8_t btstack_event_scan_mode_changed_get_discoverable(const uint8_t * event){ 1486 return event[2]; 1487 } 1488 /** 1489 * @brief Get field connectable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1490 * @param event packet 1491 * @return connectable 1492 * @note: btstack_type 1 1493 */ 1494 static inline uint8_t btstack_event_scan_mode_changed_get_connectable(const uint8_t * event){ 1495 return event[3]; 1496 } 1497 1498 /** 1499 * @brief Get field major from event DAEMON_EVENT_VERSION 1500 * @param event packet 1501 * @return major 1502 * @note: btstack_type 1 1503 */ 1504 static inline uint8_t daemon_event_version_get_major(const uint8_t * event){ 1505 return event[2]; 1506 } 1507 /** 1508 * @brief Get field minor from event DAEMON_EVENT_VERSION 1509 * @param event packet 1510 * @return minor 1511 * @note: btstack_type 1 1512 */ 1513 static inline uint8_t daemon_event_version_get_minor(const uint8_t * event){ 1514 return event[3]; 1515 } 1516 /** 1517 * @brief Get field revision from event DAEMON_EVENT_VERSION 1518 * @param event packet 1519 * @return revision 1520 * @note: btstack_type 2 1521 */ 1522 static inline uint16_t daemon_event_version_get_revision(const uint8_t * event){ 1523 return little_endian_read_16(event, 4); 1524 } 1525 1526 /** 1527 * @brief Get field system_bluetooth_enabled from event DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED 1528 * @param event packet 1529 * @return system_bluetooth_enabled 1530 * @note: btstack_type 1 1531 */ 1532 static inline uint8_t daemon_event_system_bluetooth_enabled_get_system_bluetooth_enabled(const uint8_t * event){ 1533 return event[2]; 1534 } 1535 1536 /** 1537 * @brief Get field status from event DAEMON_EVENT_REMOTE_NAME_CACHED 1538 * @param event packet 1539 * @return status 1540 * @note: btstack_type 1 1541 */ 1542 static inline uint8_t daemon_event_remote_name_cached_get_status(const uint8_t * event){ 1543 return event[2]; 1544 } 1545 /** 1546 * @brief Get field address from event DAEMON_EVENT_REMOTE_NAME_CACHED 1547 * @param event packet 1548 * @param Pointer to storage for address 1549 * @note: btstack_type B 1550 */ 1551 static inline void daemon_event_remote_name_cached_get_address(const uint8_t * event, bd_addr_t address){ 1552 reverse_bytes(&event[3], address, 6); 1553 } 1554 /** 1555 * @brief Get field name from event DAEMON_EVENT_REMOTE_NAME_CACHED 1556 * @param event packet 1557 * @return name 1558 * @note: btstack_type T 1559 */ 1560 static inline const char * daemon_event_remote_name_cached_get_name(const uint8_t * event){ 1561 return (const char *) &event[9]; 1562 } 1563 1564 /** 1565 * @brief Get field status from event DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 1566 * @param event packet 1567 * @return status 1568 * @note: btstack_type 1 1569 */ 1570 static inline uint8_t daemon_event_l2cap_service_registered_get_status(const uint8_t * event){ 1571 return event[2]; 1572 } 1573 /** 1574 * @brief Get field psm from event DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 1575 * @param event packet 1576 * @return psm 1577 * @note: btstack_type 2 1578 */ 1579 static inline uint16_t daemon_event_l2cap_service_registered_get_psm(const uint8_t * event){ 1580 return little_endian_read_16(event, 3); 1581 } 1582 1583 /** 1584 * @brief Get field status from event DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 1585 * @param event packet 1586 * @return status 1587 * @note: btstack_type 1 1588 */ 1589 static inline uint8_t daemon_event_rfcomm_service_registered_get_status(const uint8_t * event){ 1590 return event[2]; 1591 } 1592 /** 1593 * @brief Get field channel_id from event DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 1594 * @param event packet 1595 * @return channel_id 1596 * @note: btstack_type 1 1597 */ 1598 static inline uint8_t daemon_event_rfcomm_service_registered_get_channel_id(const uint8_t * event){ 1599 return event[3]; 1600 } 1601 1602 /** 1603 * @brief Get field status from event DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 1604 * @param event packet 1605 * @return status 1606 * @note: btstack_type 1 1607 */ 1608 static inline uint8_t daemon_event_rfcomm_persistent_channel_get_status(const uint8_t * event){ 1609 return event[2]; 1610 } 1611 /** 1612 * @brief Get field server_channel_id from event DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 1613 * @param event packet 1614 * @return server_channel_id 1615 * @note: btstack_type 1 1616 */ 1617 static inline uint8_t daemon_event_rfcomm_persistent_channel_get_server_channel_id(const uint8_t * event){ 1618 return event[3]; 1619 } 1620 1621 /** 1622 * @brief Get field status from event DAEMON_EVENT_SDP_SERVICE_REGISTERED 1623 * @param event packet 1624 * @return status 1625 * @note: btstack_type 1 1626 */ 1627 static inline uint8_t daemon_event_sdp_service_registered_get_status(const uint8_t * event){ 1628 return event[2]; 1629 } 1630 /** 1631 * @brief Get field service_record_handle from event DAEMON_EVENT_SDP_SERVICE_REGISTERED 1632 * @param event packet 1633 * @return service_record_handle 1634 * @note: btstack_type 4 1635 */ 1636 static inline uint32_t daemon_event_sdp_service_registered_get_service_record_handle(const uint8_t * event){ 1637 return little_endian_read_32(event, 3); 1638 } 1639 1640 /** 1641 * @brief Get field active from event HCI_EVENT_TRANSPORT_SLEEP_MODE 1642 * @param event packet 1643 * @return active 1644 * @note: btstack_type 1 1645 */ 1646 static inline uint8_t hci_event_transport_sleep_mode_get_active(const uint8_t * event){ 1647 return event[2]; 1648 } 1649 1650 /** 1651 * @brief Get field vendor_id from event HCI_EVENT_TRANSPORT_USB_INFO 1652 * @param event packet 1653 * @return vendor_id 1654 * @note: btstack_type 2 1655 */ 1656 static inline uint16_t hci_event_transport_usb_info_get_vendor_id(const uint8_t * event){ 1657 return little_endian_read_16(event, 2); 1658 } 1659 /** 1660 * @brief Get field product_id from event HCI_EVENT_TRANSPORT_USB_INFO 1661 * @param event packet 1662 * @return product_id 1663 * @note: btstack_type 2 1664 */ 1665 static inline uint16_t hci_event_transport_usb_info_get_product_id(const uint8_t * event){ 1666 return little_endian_read_16(event, 4); 1667 } 1668 /** 1669 * @brief Get field path_len from event HCI_EVENT_TRANSPORT_USB_INFO 1670 * @param event packet 1671 * @return path_len 1672 * @note: btstack_type J 1673 */ 1674 static inline uint8_t hci_event_transport_usb_info_get_path_len(const uint8_t * event){ 1675 return event[6]; 1676 } 1677 /** 1678 * @brief Get field path from event HCI_EVENT_TRANSPORT_USB_INFO 1679 * @param event packet 1680 * @return path 1681 * @note: btstack_type V 1682 */ 1683 static inline const uint8_t * hci_event_transport_usb_info_get_path(const uint8_t * event){ 1684 return &event[7]; 1685 } 1686 1687 /** 1688 * @brief Get field big_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1689 * @param event packet 1690 * @return big_handle 1691 * @note: btstack_type 1 1692 */ 1693 static inline uint8_t hci_event_bis_can_send_now_get_big_handle(const uint8_t * event){ 1694 return event[2]; 1695 } 1696 /** 1697 * @brief Get field bis_index from event HCI_EVENT_BIS_CAN_SEND_NOW 1698 * @param event packet 1699 * @return bis_index 1700 * @note: btstack_type 1 1701 */ 1702 static inline uint8_t hci_event_bis_can_send_now_get_bis_index(const uint8_t * event){ 1703 return event[3]; 1704 } 1705 /** 1706 * @brief Get field con_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1707 * @param event packet 1708 * @return con_handle 1709 * @note: btstack_type H 1710 */ 1711 static inline hci_con_handle_t hci_event_bis_can_send_now_get_con_handle(const uint8_t * event){ 1712 return little_endian_read_16(event, 4); 1713 } 1714 1715 /** 1716 * @brief Get field cis_con_handle from event HCI_EVENT_CIS_CAN_SEND_NOW 1717 * @param event packet 1718 * @return cis_con_handle 1719 * @note: btstack_type H 1720 */ 1721 static inline hci_con_handle_t hci_event_cis_can_send_now_get_cis_con_handle(const uint8_t * event){ 1722 return little_endian_read_16(event, 2); 1723 } 1724 1725 1726 /** 1727 * @brief Get field status from event L2CAP_EVENT_CHANNEL_OPENED 1728 * @param event packet 1729 * @return status 1730 * @note: btstack_type 1 1731 */ 1732 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){ 1733 return event[2]; 1734 } 1735 /** 1736 * @brief Get field address from event L2CAP_EVENT_CHANNEL_OPENED 1737 * @param event packet 1738 * @param Pointer to storage for address 1739 * @note: btstack_type B 1740 */ 1741 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1742 reverse_bytes(&event[3], address, 6); 1743 } 1744 /** 1745 * @brief Get field handle from event L2CAP_EVENT_CHANNEL_OPENED 1746 * @param event packet 1747 * @return handle 1748 * @note: btstack_type H 1749 */ 1750 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){ 1751 return little_endian_read_16(event, 9); 1752 } 1753 /** 1754 * @brief Get field psm from event L2CAP_EVENT_CHANNEL_OPENED 1755 * @param event packet 1756 * @return psm 1757 * @note: btstack_type 2 1758 */ 1759 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){ 1760 return little_endian_read_16(event, 11); 1761 } 1762 /** 1763 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_OPENED 1764 * @param event packet 1765 * @return local_cid 1766 * @note: btstack_type 2 1767 */ 1768 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){ 1769 return little_endian_read_16(event, 13); 1770 } 1771 /** 1772 * @brief Get field remote_cid from event L2CAP_EVENT_CHANNEL_OPENED 1773 * @param event packet 1774 * @return remote_cid 1775 * @note: btstack_type 2 1776 */ 1777 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){ 1778 return little_endian_read_16(event, 15); 1779 } 1780 /** 1781 * @brief Get field local_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1782 * @param event packet 1783 * @return local_mtu 1784 * @note: btstack_type 2 1785 */ 1786 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){ 1787 return little_endian_read_16(event, 17); 1788 } 1789 /** 1790 * @brief Get field remote_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1791 * @param event packet 1792 * @return remote_mtu 1793 * @note: btstack_type 2 1794 */ 1795 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){ 1796 return little_endian_read_16(event, 19); 1797 } 1798 /** 1799 * @brief Get field flush_timeout from event L2CAP_EVENT_CHANNEL_OPENED 1800 * @param event packet 1801 * @return flush_timeout 1802 * @note: btstack_type 2 1803 */ 1804 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){ 1805 return little_endian_read_16(event, 21); 1806 } 1807 /** 1808 * @brief Get field incoming from event L2CAP_EVENT_CHANNEL_OPENED 1809 * @param event packet 1810 * @return incoming 1811 * @note: btstack_type 1 1812 */ 1813 static inline uint8_t l2cap_event_channel_opened_get_incoming(const uint8_t * event){ 1814 return event[23]; 1815 } 1816 /** 1817 * @brief Get field mode from event L2CAP_EVENT_CHANNEL_OPENED 1818 * @param event packet 1819 * @return mode 1820 * @note: btstack_type 1 1821 */ 1822 static inline uint8_t l2cap_event_channel_opened_get_mode(const uint8_t * event){ 1823 return event[24]; 1824 } 1825 /** 1826 * @brief Get field fcs from event L2CAP_EVENT_CHANNEL_OPENED 1827 * @param event packet 1828 * @return fcs 1829 * @note: btstack_type 1 1830 */ 1831 static inline uint8_t l2cap_event_channel_opened_get_fcs(const uint8_t * event){ 1832 return event[25]; 1833 } 1834 1835 /** 1836 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_CLOSED 1837 * @param event packet 1838 * @return local_cid 1839 * @note: btstack_type 2 1840 */ 1841 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){ 1842 return little_endian_read_16(event, 2); 1843 } 1844 1845 /** 1846 * @brief Get field address from event L2CAP_EVENT_INCOMING_CONNECTION 1847 * @param event packet 1848 * @param Pointer to storage for address 1849 * @note: btstack_type B 1850 */ 1851 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1852 reverse_bytes(&event[2], address, 6); 1853 } 1854 /** 1855 * @brief Get field handle from event L2CAP_EVENT_INCOMING_CONNECTION 1856 * @param event packet 1857 * @return handle 1858 * @note: btstack_type H 1859 */ 1860 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){ 1861 return little_endian_read_16(event, 8); 1862 } 1863 /** 1864 * @brief Get field psm from event L2CAP_EVENT_INCOMING_CONNECTION 1865 * @param event packet 1866 * @return psm 1867 * @note: btstack_type 2 1868 */ 1869 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){ 1870 return little_endian_read_16(event, 10); 1871 } 1872 /** 1873 * @brief Get field local_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1874 * @param event packet 1875 * @return local_cid 1876 * @note: btstack_type 2 1877 */ 1878 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){ 1879 return little_endian_read_16(event, 12); 1880 } 1881 /** 1882 * @brief Get field remote_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1883 * @param event packet 1884 * @return remote_cid 1885 * @note: btstack_type 2 1886 */ 1887 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){ 1888 return little_endian_read_16(event, 14); 1889 } 1890 1891 /** 1892 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1893 * @param event packet 1894 * @return handle 1895 * @note: btstack_type H 1896 */ 1897 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){ 1898 return little_endian_read_16(event, 2); 1899 } 1900 /** 1901 * @brief Get field interval_min from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1902 * @param event packet 1903 * @return interval_min 1904 * @note: btstack_type 2 1905 */ 1906 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){ 1907 return little_endian_read_16(event, 4); 1908 } 1909 /** 1910 * @brief Get field interval_max from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1911 * @param event packet 1912 * @return interval_max 1913 * @note: btstack_type 2 1914 */ 1915 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){ 1916 return little_endian_read_16(event, 6); 1917 } 1918 /** 1919 * @brief Get field latency from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1920 * @param event packet 1921 * @return latency 1922 * @note: btstack_type 2 1923 */ 1924 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latency(const uint8_t * event){ 1925 return little_endian_read_16(event, 8); 1926 } 1927 /** 1928 * @brief Get field timeout_multiplier from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1929 * @param event packet 1930 * @return timeout_multiplier 1931 * @note: btstack_type 2 1932 */ 1933 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){ 1934 return little_endian_read_16(event, 10); 1935 } 1936 1937 /** 1938 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1939 * @param event packet 1940 * @return handle 1941 * @note: btstack_type H 1942 */ 1943 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){ 1944 return little_endian_read_16(event, 2); 1945 } 1946 /** 1947 * @brief Get field result from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1948 * @param event packet 1949 * @return result 1950 * @note: btstack_type 2 1951 */ 1952 static inline uint16_t l2cap_event_connection_parameter_update_response_get_result(const uint8_t * event){ 1953 return little_endian_read_16(event, 4); 1954 } 1955 1956 /** 1957 * @brief Get field con_handle from event L2CAP_EVENT_INFORMATION_RESPONSE 1958 * @param event packet 1959 * @return con_handle 1960 * @note: btstack_type H 1961 */ 1962 static inline hci_con_handle_t l2cap_event_information_response_get_con_handle(const uint8_t * event){ 1963 return little_endian_read_16(event, 2); 1964 } 1965 /** 1966 * @brief Get field extended_feature_mask from event L2CAP_EVENT_INFORMATION_RESPONSE 1967 * @param event packet 1968 * @return extended_feature_mask 1969 * @note: btstack_type 2 1970 */ 1971 static inline uint16_t l2cap_event_information_response_get_extended_feature_mask(const uint8_t * event){ 1972 return little_endian_read_16(event, 4); 1973 } 1974 /** 1975 * @brief Get field fixed_channels_supported from event L2CAP_EVENT_INFORMATION_RESPONSE 1976 * @param event packet 1977 * @return fixed_channels_supported 1978 * @note: btstack_type 2 1979 */ 1980 static inline uint16_t l2cap_event_information_response_get_fixed_channels_supported(const uint8_t * event){ 1981 return little_endian_read_16(event, 6); 1982 } 1983 1984 /** 1985 * @brief Get field local_cid from event L2CAP_EVENT_CAN_SEND_NOW 1986 * @param event packet 1987 * @return local_cid 1988 * @note: btstack_type 2 1989 */ 1990 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){ 1991 return little_endian_read_16(event, 2); 1992 } 1993 1994 /** 1995 * @brief Get field local_cid from event L2CAP_EVENT_PACKET_SENT 1996 * @param event packet 1997 * @return local_cid 1998 * @note: btstack_type 2 1999 */ 2000 static inline uint16_t l2cap_event_packet_sent_get_local_cid(const uint8_t * event){ 2001 return little_endian_read_16(event, 2); 2002 } 2003 2004 /** 2005 * @brief Get field local_cid from event L2CAP_EVENT_ERTM_BUFFER_RELEASED 2006 * @param event packet 2007 * @return local_cid 2008 * @note: btstack_type 2 2009 */ 2010 static inline uint16_t l2cap_event_ertm_buffer_released_get_local_cid(const uint8_t * event){ 2011 return little_endian_read_16(event, 2); 2012 } 2013 2014 /** 2015 * @brief Get field address_type from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2016 * @param event packet 2017 * @return address_type 2018 * @note: btstack_type 1 2019 */ 2020 static inline uint8_t l2cap_event_cbm_incoming_connection_get_address_type(const uint8_t * event){ 2021 return event[2]; 2022 } 2023 /** 2024 * @brief Get field address from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2025 * @param event packet 2026 * @param Pointer to storage for address 2027 * @note: btstack_type B 2028 */ 2029 static inline void l2cap_event_cbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 2030 reverse_bytes(&event[3], address, 6); 2031 } 2032 /** 2033 * @brief Get field handle from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2034 * @param event packet 2035 * @return handle 2036 * @note: btstack_type H 2037 */ 2038 static inline hci_con_handle_t l2cap_event_cbm_incoming_connection_get_handle(const uint8_t * event){ 2039 return little_endian_read_16(event, 9); 2040 } 2041 /** 2042 * @brief Get field psm from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2043 * @param event packet 2044 * @return psm 2045 * @note: btstack_type 2 2046 */ 2047 static inline uint16_t l2cap_event_cbm_incoming_connection_get_psm(const uint8_t * event){ 2048 return little_endian_read_16(event, 11); 2049 } 2050 /** 2051 * @brief Get field local_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2052 * @param event packet 2053 * @return local_cid 2054 * @note: btstack_type 2 2055 */ 2056 static inline uint16_t l2cap_event_cbm_incoming_connection_get_local_cid(const uint8_t * event){ 2057 return little_endian_read_16(event, 13); 2058 } 2059 /** 2060 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2061 * @param event packet 2062 * @return remote_cid 2063 * @note: btstack_type 2 2064 */ 2065 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_cid(const uint8_t * event){ 2066 return little_endian_read_16(event, 15); 2067 } 2068 /** 2069 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2070 * @param event packet 2071 * @return remote_mtu 2072 * @note: btstack_type 2 2073 */ 2074 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_mtu(const uint8_t * event){ 2075 return little_endian_read_16(event, 17); 2076 } 2077 2078 /** 2079 * @brief Get field status from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2080 * @param event packet 2081 * @return status 2082 * @note: btstack_type 1 2083 */ 2084 static inline uint8_t l2cap_event_cbm_channel_opened_get_status(const uint8_t * event){ 2085 return event[2]; 2086 } 2087 /** 2088 * @brief Get field address_type from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2089 * @param event packet 2090 * @return address_type 2091 * @note: btstack_type 1 2092 */ 2093 static inline uint8_t l2cap_event_cbm_channel_opened_get_address_type(const uint8_t * event){ 2094 return event[3]; 2095 } 2096 /** 2097 * @brief Get field address from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2098 * @param event packet 2099 * @param Pointer to storage for address 2100 * @note: btstack_type B 2101 */ 2102 static inline void l2cap_event_cbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 2103 reverse_bytes(&event[4], address, 6); 2104 } 2105 /** 2106 * @brief Get field handle from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2107 * @param event packet 2108 * @return handle 2109 * @note: btstack_type H 2110 */ 2111 static inline hci_con_handle_t l2cap_event_cbm_channel_opened_get_handle(const uint8_t * event){ 2112 return little_endian_read_16(event, 10); 2113 } 2114 /** 2115 * @brief Get field incoming from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2116 * @param event packet 2117 * @return incoming 2118 * @note: btstack_type 1 2119 */ 2120 static inline uint8_t l2cap_event_cbm_channel_opened_get_incoming(const uint8_t * event){ 2121 return event[12]; 2122 } 2123 /** 2124 * @brief Get field psm from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2125 * @param event packet 2126 * @return psm 2127 * @note: btstack_type 2 2128 */ 2129 static inline uint16_t l2cap_event_cbm_channel_opened_get_psm(const uint8_t * event){ 2130 return little_endian_read_16(event, 13); 2131 } 2132 /** 2133 * @brief Get field local_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2134 * @param event packet 2135 * @return local_cid 2136 * @note: btstack_type 2 2137 */ 2138 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_cid(const uint8_t * event){ 2139 return little_endian_read_16(event, 15); 2140 } 2141 /** 2142 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2143 * @param event packet 2144 * @return remote_cid 2145 * @note: btstack_type 2 2146 */ 2147 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_cid(const uint8_t * event){ 2148 return little_endian_read_16(event, 17); 2149 } 2150 /** 2151 * @brief Get field local_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2152 * @param event packet 2153 * @return local_mtu 2154 * @note: btstack_type 2 2155 */ 2156 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_mtu(const uint8_t * event){ 2157 return little_endian_read_16(event, 19); 2158 } 2159 /** 2160 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2161 * @param event packet 2162 * @return remote_mtu 2163 * @note: btstack_type 2 2164 */ 2165 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2166 return little_endian_read_16(event, 21); 2167 } 2168 2169 2170 /** 2171 * @brief Get field address_type from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2172 * @param event packet 2173 * @return address_type 2174 * @note: btstack_type 1 2175 */ 2176 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_address_type(const uint8_t * event){ 2177 return event[2]; 2178 } 2179 /** 2180 * @brief Get field address from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2181 * @param event packet 2182 * @param Pointer to storage for address 2183 * @note: btstack_type B 2184 */ 2185 static inline void l2cap_event_ecbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 2186 reverse_bytes(&event[3], address, 6); 2187 } 2188 /** 2189 * @brief Get field handle from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2190 * @param event packet 2191 * @return handle 2192 * @note: btstack_type H 2193 */ 2194 static inline hci_con_handle_t l2cap_event_ecbm_incoming_connection_get_handle(const uint8_t * event){ 2195 return little_endian_read_16(event, 9); 2196 } 2197 /** 2198 * @brief Get field psm from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2199 * @param event packet 2200 * @return psm 2201 * @note: btstack_type 2 2202 */ 2203 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_psm(const uint8_t * event){ 2204 return little_endian_read_16(event, 11); 2205 } 2206 /** 2207 * @brief Get field num_channels from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2208 * @param event packet 2209 * @return num_channels 2210 * @note: btstack_type 1 2211 */ 2212 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_num_channels(const uint8_t * event){ 2213 return event[13]; 2214 } 2215 /** 2216 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2217 * @param event packet 2218 * @return local_cid 2219 * @note: btstack_type 2 2220 */ 2221 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_local_cid(const uint8_t * event){ 2222 return little_endian_read_16(event, 14); 2223 } 2224 2225 /** 2226 * @brief Get field status from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2227 * @param event packet 2228 * @return status 2229 * @note: btstack_type 1 2230 */ 2231 static inline uint8_t l2cap_event_ecbm_channel_opened_get_status(const uint8_t * event){ 2232 return event[2]; 2233 } 2234 /** 2235 * @brief Get field address_type from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2236 * @param event packet 2237 * @return address_type 2238 * @note: btstack_type 1 2239 */ 2240 static inline uint8_t l2cap_event_ecbm_channel_opened_get_address_type(const uint8_t * event){ 2241 return event[3]; 2242 } 2243 /** 2244 * @brief Get field address from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2245 * @param event packet 2246 * @param Pointer to storage for address 2247 * @note: btstack_type B 2248 */ 2249 static inline void l2cap_event_ecbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 2250 reverse_bytes(&event[4], address, 6); 2251 } 2252 /** 2253 * @brief Get field handle from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2254 * @param event packet 2255 * @return handle 2256 * @note: btstack_type H 2257 */ 2258 static inline hci_con_handle_t l2cap_event_ecbm_channel_opened_get_handle(const uint8_t * event){ 2259 return little_endian_read_16(event, 10); 2260 } 2261 /** 2262 * @brief Get field incoming from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2263 * @param event packet 2264 * @return incoming 2265 * @note: btstack_type 1 2266 */ 2267 static inline uint8_t l2cap_event_ecbm_channel_opened_get_incoming(const uint8_t * event){ 2268 return event[12]; 2269 } 2270 /** 2271 * @brief Get field psm from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2272 * @param event packet 2273 * @return psm 2274 * @note: btstack_type 2 2275 */ 2276 static inline uint16_t l2cap_event_ecbm_channel_opened_get_psm(const uint8_t * event){ 2277 return little_endian_read_16(event, 13); 2278 } 2279 /** 2280 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2281 * @param event packet 2282 * @return local_cid 2283 * @note: btstack_type 2 2284 */ 2285 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_cid(const uint8_t * event){ 2286 return little_endian_read_16(event, 15); 2287 } 2288 /** 2289 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2290 * @param event packet 2291 * @return remote_cid 2292 * @note: btstack_type 2 2293 */ 2294 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_cid(const uint8_t * event){ 2295 return little_endian_read_16(event, 17); 2296 } 2297 /** 2298 * @brief Get field local_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2299 * @param event packet 2300 * @return local_mtu 2301 * @note: btstack_type 2 2302 */ 2303 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_mtu(const uint8_t * event){ 2304 return little_endian_read_16(event, 19); 2305 } 2306 /** 2307 * @brief Get field remote_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2308 * @param event packet 2309 * @return remote_mtu 2310 * @note: btstack_type 2 2311 */ 2312 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2313 return little_endian_read_16(event, 21); 2314 } 2315 2316 /** 2317 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_RECONFIGURED 2318 * @param event packet 2319 * @return remote_cid 2320 * @note: btstack_type 2 2321 */ 2322 static inline uint16_t l2cap_event_ecbm_reconfigured_get_remote_cid(const uint8_t * event){ 2323 return little_endian_read_16(event, 2); 2324 } 2325 /** 2326 * @brief Get field mtu from event L2CAP_EVENT_ECBM_RECONFIGURED 2327 * @param event packet 2328 * @return mtu 2329 * @note: btstack_type 2 2330 */ 2331 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mtu(const uint8_t * event){ 2332 return little_endian_read_16(event, 4); 2333 } 2334 /** 2335 * @brief Get field mps from event L2CAP_EVENT_ECBM_RECONFIGURED 2336 * @param event packet 2337 * @return mps 2338 * @note: btstack_type 2 2339 */ 2340 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mps(const uint8_t * event){ 2341 return little_endian_read_16(event, 6); 2342 } 2343 2344 /** 2345 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2346 * @param event packet 2347 * @return local_cid 2348 * @note: btstack_type 2 2349 */ 2350 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_local_cid(const uint8_t * event){ 2351 return little_endian_read_16(event, 2); 2352 } 2353 /** 2354 * @brief Get field reconfigure_result from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2355 * @param event packet 2356 * @return reconfigure_result 2357 * @note: btstack_type 2 2358 */ 2359 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_reconfigure_result(const uint8_t * event){ 2360 return little_endian_read_16(event, 4); 2361 } 2362 2363 /** 2364 * @brief Get field status from event RFCOMM_EVENT_CHANNEL_OPENED 2365 * @param event packet 2366 * @return status 2367 * @note: btstack_type 1 2368 */ 2369 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){ 2370 return event[2]; 2371 } 2372 /** 2373 * @brief Get field bd_addr from event RFCOMM_EVENT_CHANNEL_OPENED 2374 * @param event packet 2375 * @param Pointer to storage for bd_addr 2376 * @note: btstack_type B 2377 */ 2378 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2379 reverse_bytes(&event[3], bd_addr, 6); 2380 } 2381 /** 2382 * @brief Get field con_handle from event RFCOMM_EVENT_CHANNEL_OPENED 2383 * @param event packet 2384 * @return con_handle 2385 * @note: btstack_type 2 2386 */ 2387 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){ 2388 return little_endian_read_16(event, 9); 2389 } 2390 /** 2391 * @brief Get field server_channel from event RFCOMM_EVENT_CHANNEL_OPENED 2392 * @param event packet 2393 * @return server_channel 2394 * @note: btstack_type 1 2395 */ 2396 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){ 2397 return event[11]; 2398 } 2399 /** 2400 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_OPENED 2401 * @param event packet 2402 * @return rfcomm_cid 2403 * @note: btstack_type 2 2404 */ 2405 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){ 2406 return little_endian_read_16(event, 12); 2407 } 2408 /** 2409 * @brief Get field max_frame_size from event RFCOMM_EVENT_CHANNEL_OPENED 2410 * @param event packet 2411 * @return max_frame_size 2412 * @note: btstack_type 2 2413 */ 2414 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){ 2415 return little_endian_read_16(event, 14); 2416 } 2417 /** 2418 * @brief Get field incoming from event RFCOMM_EVENT_CHANNEL_OPENED 2419 * @param event packet 2420 * @return incoming 2421 * @note: btstack_type 1 2422 */ 2423 static inline uint8_t rfcomm_event_channel_opened_get_incoming(const uint8_t * event){ 2424 return event[16]; 2425 } 2426 2427 /** 2428 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_CLOSED 2429 * @param event packet 2430 * @return rfcomm_cid 2431 * @note: btstack_type 2 2432 */ 2433 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){ 2434 return little_endian_read_16(event, 2); 2435 } 2436 2437 /** 2438 * @brief Get field bd_addr from event RFCOMM_EVENT_INCOMING_CONNECTION 2439 * @param event packet 2440 * @param Pointer to storage for bd_addr 2441 * @note: btstack_type B 2442 */ 2443 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2444 reverse_bytes(&event[2], bd_addr, 6); 2445 } 2446 /** 2447 * @brief Get field server_channel from event RFCOMM_EVENT_INCOMING_CONNECTION 2448 * @param event packet 2449 * @return server_channel 2450 * @note: btstack_type 1 2451 */ 2452 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){ 2453 return event[8]; 2454 } 2455 /** 2456 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_INCOMING_CONNECTION 2457 * @param event packet 2458 * @return rfcomm_cid 2459 * @note: btstack_type 2 2460 */ 2461 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){ 2462 return little_endian_read_16(event, 9); 2463 } 2464 /** 2465 * @brief Get field con_handle from event RFCOMM_EVENT_INCOMING_CONNECTION 2466 * @param event packet 2467 * @return con_handle 2468 * @note: btstack_type H 2469 */ 2470 static inline hci_con_handle_t rfcomm_event_incoming_connection_get_con_handle(const uint8_t * event){ 2471 return little_endian_read_16(event, 11); 2472 } 2473 2474 /** 2475 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2476 * @param event packet 2477 * @return rfcomm_cid 2478 * @note: btstack_type 2 2479 */ 2480 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){ 2481 return little_endian_read_16(event, 2); 2482 } 2483 /** 2484 * @brief Get field line_status from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2485 * @param event packet 2486 * @return line_status 2487 * @note: btstack_type 1 2488 */ 2489 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){ 2490 return event[4]; 2491 } 2492 2493 /** 2494 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2495 * @param event packet 2496 * @return rfcomm_cid 2497 * @note: btstack_type 2 2498 */ 2499 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){ 2500 return little_endian_read_16(event, 2); 2501 } 2502 /** 2503 * @brief Get field modem_status from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2504 * @param event packet 2505 * @return modem_status 2506 * @note: btstack_type 1 2507 */ 2508 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){ 2509 return event[4]; 2510 } 2511 2512 /** 2513 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CAN_SEND_NOW 2514 * @param event packet 2515 * @return rfcomm_cid 2516 * @note: btstack_type 2 2517 */ 2518 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){ 2519 return little_endian_read_16(event, 2); 2520 } 2521 2522 /** 2523 * @brief Get field status from event SDP_EVENT_QUERY_COMPLETE 2524 * @param event packet 2525 * @return status 2526 * @note: btstack_type 1 2527 */ 2528 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){ 2529 return event[2]; 2530 } 2531 2532 /** 2533 * @brief Get field rfcomm_channel from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2534 * @param event packet 2535 * @return rfcomm_channel 2536 * @note: btstack_type 1 2537 */ 2538 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){ 2539 return event[2]; 2540 } 2541 /** 2542 * @brief Get field name from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2543 * @param event packet 2544 * @return name 2545 * @note: btstack_type T 2546 */ 2547 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){ 2548 return (const char *) &event[3]; 2549 } 2550 2551 /** 2552 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2553 * @param event packet 2554 * @return record_id 2555 * @note: btstack_type 2 2556 */ 2557 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){ 2558 return little_endian_read_16(event, 2); 2559 } 2560 /** 2561 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2562 * @param event packet 2563 * @return attribute_id 2564 * @note: btstack_type 2 2565 */ 2566 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){ 2567 return little_endian_read_16(event, 4); 2568 } 2569 /** 2570 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2571 * @param event packet 2572 * @return attribute_length 2573 * @note: btstack_type 2 2574 */ 2575 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){ 2576 return little_endian_read_16(event, 6); 2577 } 2578 /** 2579 * @brief Get field data_offset from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2580 * @param event packet 2581 * @return data_offset 2582 * @note: btstack_type 2 2583 */ 2584 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){ 2585 return little_endian_read_16(event, 8); 2586 } 2587 /** 2588 * @brief Get field data from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2589 * @param event packet 2590 * @return data 2591 * @note: btstack_type 1 2592 */ 2593 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){ 2594 return event[10]; 2595 } 2596 2597 /** 2598 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2599 * @param event packet 2600 * @return record_id 2601 * @note: btstack_type 2 2602 */ 2603 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){ 2604 return little_endian_read_16(event, 2); 2605 } 2606 /** 2607 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2608 * @param event packet 2609 * @return attribute_id 2610 * @note: btstack_type 2 2611 */ 2612 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){ 2613 return little_endian_read_16(event, 4); 2614 } 2615 /** 2616 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2617 * @param event packet 2618 * @return attribute_length 2619 * @note: btstack_type L 2620 */ 2621 static inline uint16_t sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){ 2622 return little_endian_read_16(event, 6); 2623 } 2624 /** 2625 * @brief Get field attribute_value from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2626 * @param event packet 2627 * @return attribute_value 2628 * @note: btstack_type V 2629 */ 2630 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){ 2631 return &event[8]; 2632 } 2633 2634 /** 2635 * @brief Get field total_count from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2636 * @param event packet 2637 * @return total_count 2638 * @note: btstack_type 2 2639 */ 2640 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){ 2641 return little_endian_read_16(event, 2); 2642 } 2643 /** 2644 * @brief Get field record_index from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2645 * @param event packet 2646 * @return record_index 2647 * @note: btstack_type 2 2648 */ 2649 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){ 2650 return little_endian_read_16(event, 4); 2651 } 2652 /** 2653 * @brief Get field record_handle from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2654 * @param event packet 2655 * @return record_handle 2656 * @note: btstack_type 4 2657 */ 2658 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){ 2659 return little_endian_read_32(event, 6); 2660 } 2661 2662 #ifdef ENABLE_BLE 2663 /** 2664 * @brief Get field handle from event GATT_EVENT_QUERY_COMPLETE 2665 * @param event packet 2666 * @return handle 2667 * @note: btstack_type H 2668 */ 2669 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){ 2670 return little_endian_read_16(event, 2); 2671 } 2672 /** 2673 * @brief Get field service_id from event GATT_EVENT_QUERY_COMPLETE 2674 * @param event packet 2675 * @return service_id 2676 * @note: btstack_type 2 2677 */ 2678 static inline uint16_t gatt_event_query_complete_get_service_id(const uint8_t * event){ 2679 return little_endian_read_16(event, 4); 2680 } 2681 /** 2682 * @brief Get field connection_id from event GATT_EVENT_QUERY_COMPLETE 2683 * @param event packet 2684 * @return connection_id 2685 * @note: btstack_type 2 2686 */ 2687 static inline uint16_t gatt_event_query_complete_get_connection_id(const uint8_t * event){ 2688 return little_endian_read_16(event, 6); 2689 } 2690 /** 2691 * @brief Get field att_status from event GATT_EVENT_QUERY_COMPLETE 2692 * @param event packet 2693 * @return att_status 2694 * @note: btstack_type 1 2695 */ 2696 static inline uint8_t gatt_event_query_complete_get_att_status(const uint8_t * event){ 2697 return event[8]; 2698 } 2699 #endif 2700 2701 #ifdef ENABLE_BLE 2702 /** 2703 * @brief Get field handle from event GATT_EVENT_SERVICE_QUERY_RESULT 2704 * @param event packet 2705 * @return handle 2706 * @note: btstack_type H 2707 */ 2708 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){ 2709 return little_endian_read_16(event, 2); 2710 } 2711 /** 2712 * @brief Get field service_id from event GATT_EVENT_SERVICE_QUERY_RESULT 2713 * @param event packet 2714 * @return service_id 2715 * @note: btstack_type 2 2716 */ 2717 static inline uint16_t gatt_event_service_query_result_get_service_id(const uint8_t * event){ 2718 return little_endian_read_16(event, 4); 2719 } 2720 /** 2721 * @brief Get field connection_id from event GATT_EVENT_SERVICE_QUERY_RESULT 2722 * @param event packet 2723 * @return connection_id 2724 * @note: btstack_type 2 2725 */ 2726 static inline uint16_t gatt_event_service_query_result_get_connection_id(const uint8_t * event){ 2727 return little_endian_read_16(event, 6); 2728 } 2729 /** 2730 * @brief Get field service from event GATT_EVENT_SERVICE_QUERY_RESULT 2731 * @param event packet 2732 * @param Pointer to storage for service 2733 * @note: btstack_type X 2734 */ 2735 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2736 gatt_client_deserialize_service(event, 8, service); 2737 } 2738 #endif 2739 2740 #ifdef ENABLE_BLE 2741 /** 2742 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2743 * @param event packet 2744 * @return handle 2745 * @note: btstack_type H 2746 */ 2747 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){ 2748 return little_endian_read_16(event, 2); 2749 } 2750 /** 2751 * @brief Get field service_id from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2752 * @param event packet 2753 * @return service_id 2754 * @note: btstack_type 2 2755 */ 2756 static inline uint16_t gatt_event_characteristic_query_result_get_service_id(const uint8_t * event){ 2757 return little_endian_read_16(event, 4); 2758 } 2759 /** 2760 * @brief Get field connection_id from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2761 * @param event packet 2762 * @return connection_id 2763 * @note: btstack_type 2 2764 */ 2765 static inline uint16_t gatt_event_characteristic_query_result_get_connection_id(const uint8_t * event){ 2766 return little_endian_read_16(event, 6); 2767 } 2768 /** 2769 * @brief Get field characteristic from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2770 * @param event packet 2771 * @param Pointer to storage for characteristic 2772 * @note: btstack_type Y 2773 */ 2774 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){ 2775 gatt_client_deserialize_characteristic(event, 8, characteristic); 2776 } 2777 #endif 2778 2779 #ifdef ENABLE_BLE 2780 /** 2781 * @brief Get field handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2782 * @param event packet 2783 * @return handle 2784 * @note: btstack_type H 2785 */ 2786 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){ 2787 return little_endian_read_16(event, 2); 2788 } 2789 /** 2790 * @brief Get field service_id from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2791 * @param event packet 2792 * @return service_id 2793 * @note: btstack_type 2 2794 */ 2795 static inline uint16_t gatt_event_included_service_query_result_get_service_id(const uint8_t * event){ 2796 return little_endian_read_16(event, 4); 2797 } 2798 /** 2799 * @brief Get field connection_id from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2800 * @param event packet 2801 * @return connection_id 2802 * @note: btstack_type 2 2803 */ 2804 static inline uint16_t gatt_event_included_service_query_result_get_connection_id(const uint8_t * event){ 2805 return little_endian_read_16(event, 6); 2806 } 2807 /** 2808 * @brief Get field include_handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2809 * @param event packet 2810 * @return include_handle 2811 * @note: btstack_type 2 2812 */ 2813 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){ 2814 return little_endian_read_16(event, 8); 2815 } 2816 /** 2817 * @brief Get field service from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2818 * @param event packet 2819 * @param Pointer to storage for service 2820 * @note: btstack_type X 2821 */ 2822 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2823 gatt_client_deserialize_service(event, 10, service); 2824 } 2825 #endif 2826 2827 #ifdef ENABLE_BLE 2828 /** 2829 * @brief Get field handle from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2830 * @param event packet 2831 * @return handle 2832 * @note: btstack_type H 2833 */ 2834 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){ 2835 return little_endian_read_16(event, 2); 2836 } 2837 /** 2838 * @brief Get field service_id from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2839 * @param event packet 2840 * @return service_id 2841 * @note: btstack_type 2 2842 */ 2843 static inline uint16_t gatt_event_all_characteristic_descriptors_query_result_get_service_id(const uint8_t * event){ 2844 return little_endian_read_16(event, 4); 2845 } 2846 /** 2847 * @brief Get field connection_id from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2848 * @param event packet 2849 * @return connection_id 2850 * @note: btstack_type 2 2851 */ 2852 static inline uint16_t gatt_event_all_characteristic_descriptors_query_result_get_connection_id(const uint8_t * event){ 2853 return little_endian_read_16(event, 6); 2854 } 2855 /** 2856 * @brief Get field characteristic_descriptor from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2857 * @param event packet 2858 * @param Pointer to storage for characteristic_descriptor 2859 * @note: btstack_type Z 2860 */ 2861 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){ 2862 gatt_client_deserialize_characteristic_descriptor(event, 8, characteristic_descriptor); 2863 } 2864 #endif 2865 2866 #ifdef ENABLE_BLE 2867 /** 2868 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2869 * @param event packet 2870 * @return handle 2871 * @note: btstack_type H 2872 */ 2873 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){ 2874 return little_endian_read_16(event, 2); 2875 } 2876 /** 2877 * @brief Get field value_handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2878 * @param event packet 2879 * @return value_handle 2880 * @note: btstack_type 2 2881 */ 2882 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2883 return little_endian_read_16(event, 4); 2884 } 2885 /** 2886 * @brief Get field value_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2887 * @param event packet 2888 * @return value_length 2889 * @note: btstack_type L 2890 */ 2891 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2892 return little_endian_read_16(event, 6); 2893 } 2894 /** 2895 * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2896 * @param event packet 2897 * @return value 2898 * @note: btstack_type V 2899 */ 2900 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){ 2901 return &event[8]; 2902 } 2903 #endif 2904 2905 #ifdef ENABLE_BLE 2906 /** 2907 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2908 * @param event packet 2909 * @return handle 2910 * @note: btstack_type H 2911 */ 2912 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){ 2913 return little_endian_read_16(event, 2); 2914 } 2915 /** 2916 * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2917 * @param event packet 2918 * @return value_handle 2919 * @note: btstack_type 2 2920 */ 2921 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2922 return little_endian_read_16(event, 4); 2923 } 2924 /** 2925 * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2926 * @param event packet 2927 * @return value_offset 2928 * @note: btstack_type 2 2929 */ 2930 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){ 2931 return little_endian_read_16(event, 6); 2932 } 2933 /** 2934 * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2935 * @param event packet 2936 * @return value_length 2937 * @note: btstack_type L 2938 */ 2939 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2940 return little_endian_read_16(event, 8); 2941 } 2942 /** 2943 * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2944 * @param event packet 2945 * @return value 2946 * @note: btstack_type V 2947 */ 2948 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){ 2949 return &event[10]; 2950 } 2951 #endif 2952 2953 #ifdef ENABLE_BLE 2954 /** 2955 * @brief Get field handle from event GATT_EVENT_NOTIFICATION 2956 * @param event packet 2957 * @return handle 2958 * @note: btstack_type H 2959 */ 2960 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){ 2961 return little_endian_read_16(event, 2); 2962 } 2963 /** 2964 * @brief Get field value_handle from event GATT_EVENT_NOTIFICATION 2965 * @param event packet 2966 * @return value_handle 2967 * @note: btstack_type 2 2968 */ 2969 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){ 2970 return little_endian_read_16(event, 4); 2971 } 2972 /** 2973 * @brief Get field value_length from event GATT_EVENT_NOTIFICATION 2974 * @param event packet 2975 * @return value_length 2976 * @note: btstack_type L 2977 */ 2978 static inline uint16_t gatt_event_notification_get_value_length(const uint8_t * event){ 2979 return little_endian_read_16(event, 6); 2980 } 2981 /** 2982 * @brief Get field value from event GATT_EVENT_NOTIFICATION 2983 * @param event packet 2984 * @return value 2985 * @note: btstack_type V 2986 */ 2987 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){ 2988 return &event[8]; 2989 } 2990 #endif 2991 2992 #ifdef ENABLE_BLE 2993 /** 2994 * @brief Get field handle from event GATT_EVENT_INDICATION 2995 * @param event packet 2996 * @return handle 2997 * @note: btstack_type H 2998 */ 2999 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){ 3000 return little_endian_read_16(event, 2); 3001 } 3002 /** 3003 * @brief Get field value_handle from event GATT_EVENT_INDICATION 3004 * @param event packet 3005 * @return value_handle 3006 * @note: btstack_type 2 3007 */ 3008 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){ 3009 return little_endian_read_16(event, 4); 3010 } 3011 /** 3012 * @brief Get field value_length from event GATT_EVENT_INDICATION 3013 * @param event packet 3014 * @return value_length 3015 * @note: btstack_type L 3016 */ 3017 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){ 3018 return little_endian_read_16(event, 6); 3019 } 3020 /** 3021 * @brief Get field value from event GATT_EVENT_INDICATION 3022 * @param event packet 3023 * @return value 3024 * @note: btstack_type V 3025 */ 3026 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){ 3027 return &event[8]; 3028 } 3029 #endif 3030 3031 #ifdef ENABLE_BLE 3032 /** 3033 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3034 * @param event packet 3035 * @return handle 3036 * @note: btstack_type H 3037 */ 3038 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 3039 return little_endian_read_16(event, 2); 3040 } 3041 /** 3042 * @brief Get field descriptor_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3043 * @param event packet 3044 * @return descriptor_handle 3045 * @note: btstack_type 2 3046 */ 3047 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 3048 return little_endian_read_16(event, 4); 3049 } 3050 /** 3051 * @brief Get field descriptor_length from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3052 * @param event packet 3053 * @return descriptor_length 3054 * @note: btstack_type L 3055 */ 3056 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 3057 return little_endian_read_16(event, 6); 3058 } 3059 /** 3060 * @brief Get field descriptor from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3061 * @param event packet 3062 * @return descriptor 3063 * @note: btstack_type V 3064 */ 3065 static inline const uint8_t * gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 3066 return &event[8]; 3067 } 3068 #endif 3069 3070 #ifdef ENABLE_BLE 3071 /** 3072 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3073 * @param event packet 3074 * @return handle 3075 * @note: btstack_type H 3076 */ 3077 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 3078 return little_endian_read_16(event, 2); 3079 } 3080 /** 3081 * @brief Get field descriptor_handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3082 * @param event packet 3083 * @return descriptor_handle 3084 * @note: btstack_type 2 3085 */ 3086 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 3087 return little_endian_read_16(event, 4); 3088 } 3089 /** 3090 * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3091 * @param event packet 3092 * @return descriptor_offset 3093 * @note: btstack_type 2 3094 */ 3095 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){ 3096 return little_endian_read_16(event, 6); 3097 } 3098 /** 3099 * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3100 * @param event packet 3101 * @return descriptor_length 3102 * @note: btstack_type L 3103 */ 3104 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 3105 return little_endian_read_16(event, 8); 3106 } 3107 /** 3108 * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3109 * @param event packet 3110 * @return descriptor 3111 * @note: btstack_type V 3112 */ 3113 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 3114 return &event[10]; 3115 } 3116 #endif 3117 3118 #ifdef ENABLE_BLE 3119 /** 3120 * @brief Get field handle from event GATT_EVENT_MTU 3121 * @param event packet 3122 * @return handle 3123 * @note: btstack_type H 3124 */ 3125 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){ 3126 return little_endian_read_16(event, 2); 3127 } 3128 /** 3129 * @brief Get field MTU from event GATT_EVENT_MTU 3130 * @param event packet 3131 * @return MTU 3132 * @note: btstack_type 2 3133 */ 3134 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){ 3135 return little_endian_read_16(event, 4); 3136 } 3137 #endif 3138 3139 #ifdef ENABLE_BLE 3140 /** 3141 * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 3142 * @param event packet 3143 * @return handle 3144 * @note: btstack_type H 3145 */ 3146 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){ 3147 return little_endian_read_16(event, 2); 3148 } 3149 #endif 3150 3151 #ifdef ENABLE_BLE 3152 /** 3153 * @brief Get field status from event GATT_EVENT_CONNECTED 3154 * @param event packet 3155 * @return status 3156 * @note: btstack_type 1 3157 */ 3158 static inline uint8_t gatt_event_connected_get_status(const uint8_t * event){ 3159 return event[2]; 3160 } 3161 /** 3162 * @brief Get field address_type from event GATT_EVENT_CONNECTED 3163 * @param event packet 3164 * @return address_type 3165 * @note: btstack_type 1 3166 */ 3167 static inline uint8_t gatt_event_connected_get_address_type(const uint8_t * event){ 3168 return event[3]; 3169 } 3170 /** 3171 * @brief Get field address from event GATT_EVENT_CONNECTED 3172 * @param event packet 3173 * @param Pointer to storage for address 3174 * @note: btstack_type B 3175 */ 3176 static inline void gatt_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 3177 reverse_bytes(&event[4], address, 6); 3178 } 3179 /** 3180 * @brief Get field handle from event GATT_EVENT_CONNECTED 3181 * @param event packet 3182 * @return handle 3183 * @note: btstack_type H 3184 */ 3185 static inline hci_con_handle_t gatt_event_connected_get_handle(const uint8_t * event){ 3186 return little_endian_read_16(event, 10); 3187 } 3188 #endif 3189 3190 #ifdef ENABLE_BLE 3191 /** 3192 * @brief Get field handle from event GATT_EVENT_DISCONNECTED 3193 * @param event packet 3194 * @return handle 3195 * @note: btstack_type H 3196 */ 3197 static inline hci_con_handle_t gatt_event_disconnected_get_handle(const uint8_t * event){ 3198 return little_endian_read_16(event, 2); 3199 } 3200 #endif 3201 3202 #ifdef ENABLE_BLE 3203 /** 3204 * @brief Get field handle from event GATT_EVENT_SERVICE_CHANGED 3205 * @param event packet 3206 * @return handle 3207 * @note: btstack_type H 3208 */ 3209 static inline hci_con_handle_t gatt_event_service_changed_get_handle(const uint8_t * event){ 3210 return little_endian_read_16(event, 2); 3211 } 3212 /** 3213 * @brief Get field attribute_handle_start from event GATT_EVENT_SERVICE_CHANGED 3214 * @param event packet 3215 * @return attribute_handle_start 3216 * @note: btstack_type 2 3217 */ 3218 static inline uint16_t gatt_event_service_changed_get_attribute_handle_start(const uint8_t * event){ 3219 return little_endian_read_16(event, 4); 3220 } 3221 /** 3222 * @brief Get field attribute_handle_end from event GATT_EVENT_SERVICE_CHANGED 3223 * @param event packet 3224 * @return attribute_handle_end 3225 * @note: btstack_type 2 3226 */ 3227 static inline uint16_t gatt_event_service_changed_get_attribute_handle_end(const uint8_t * event){ 3228 return little_endian_read_16(event, 6); 3229 } 3230 #endif 3231 3232 /** 3233 * @brief Get field address_type from event ATT_EVENT_CONNECTED 3234 * @param event packet 3235 * @return address_type 3236 * @note: btstack_type 1 3237 */ 3238 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){ 3239 return event[2]; 3240 } 3241 /** 3242 * @brief Get field address from event ATT_EVENT_CONNECTED 3243 * @param event packet 3244 * @param Pointer to storage for address 3245 * @note: btstack_type B 3246 */ 3247 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 3248 reverse_bytes(&event[3], address, 6); 3249 } 3250 /** 3251 * @brief Get field handle from event ATT_EVENT_CONNECTED 3252 * @param event packet 3253 * @return handle 3254 * @note: btstack_type H 3255 */ 3256 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){ 3257 return little_endian_read_16(event, 9); 3258 } 3259 3260 /** 3261 * @brief Get field handle from event ATT_EVENT_DISCONNECTED 3262 * @param event packet 3263 * @return handle 3264 * @note: btstack_type H 3265 */ 3266 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){ 3267 return little_endian_read_16(event, 2); 3268 } 3269 3270 /** 3271 * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 3272 * @param event packet 3273 * @return handle 3274 * @note: btstack_type H 3275 */ 3276 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){ 3277 return little_endian_read_16(event, 2); 3278 } 3279 /** 3280 * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 3281 * @param event packet 3282 * @return MTU 3283 * @note: btstack_type 2 3284 */ 3285 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){ 3286 return little_endian_read_16(event, 4); 3287 } 3288 3289 /** 3290 * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3291 * @param event packet 3292 * @return status 3293 * @note: btstack_type 1 3294 */ 3295 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){ 3296 return event[2]; 3297 } 3298 /** 3299 * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3300 * @param event packet 3301 * @return conn_handle 3302 * @note: btstack_type H 3303 */ 3304 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){ 3305 return little_endian_read_16(event, 3); 3306 } 3307 /** 3308 * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3309 * @param event packet 3310 * @return attribute_handle 3311 * @note: btstack_type 2 3312 */ 3313 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){ 3314 return little_endian_read_16(event, 5); 3315 } 3316 3317 3318 /** 3319 * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED 3320 * @param event packet 3321 * @return status 3322 * @note: btstack_type 1 3323 */ 3324 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){ 3325 return event[2]; 3326 } 3327 /** 3328 * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED 3329 * @param event packet 3330 * @return service_uuid 3331 * @note: btstack_type 2 3332 */ 3333 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){ 3334 return little_endian_read_16(event, 3); 3335 } 3336 3337 /** 3338 * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED 3339 * @param event packet 3340 * @return status 3341 * @note: btstack_type 1 3342 */ 3343 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){ 3344 return event[2]; 3345 } 3346 /** 3347 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED 3348 * @param event packet 3349 * @return bnep_cid 3350 * @note: btstack_type 2 3351 */ 3352 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){ 3353 return little_endian_read_16(event, 3); 3354 } 3355 /** 3356 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED 3357 * @param event packet 3358 * @return source_uuid 3359 * @note: btstack_type 2 3360 */ 3361 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){ 3362 return little_endian_read_16(event, 5); 3363 } 3364 /** 3365 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED 3366 * @param event packet 3367 * @return destination_uuid 3368 * @note: btstack_type 2 3369 */ 3370 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){ 3371 return little_endian_read_16(event, 7); 3372 } 3373 /** 3374 * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED 3375 * @param event packet 3376 * @return mtu 3377 * @note: btstack_type 2 3378 */ 3379 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){ 3380 return little_endian_read_16(event, 9); 3381 } 3382 /** 3383 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED 3384 * @param event packet 3385 * @param Pointer to storage for remote_address 3386 * @note: btstack_type B 3387 */ 3388 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3389 reverse_bytes(&event[11], remote_address, 6); 3390 } 3391 /** 3392 * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED 3393 * @param event packet 3394 * @return con_handle 3395 * @note: btstack_type H 3396 */ 3397 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){ 3398 return little_endian_read_16(event, 17); 3399 } 3400 3401 /** 3402 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED 3403 * @param event packet 3404 * @return bnep_cid 3405 * @note: btstack_type 2 3406 */ 3407 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){ 3408 return little_endian_read_16(event, 2); 3409 } 3410 /** 3411 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3412 * @param event packet 3413 * @return source_uuid 3414 * @note: btstack_type 2 3415 */ 3416 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){ 3417 return little_endian_read_16(event, 4); 3418 } 3419 /** 3420 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3421 * @param event packet 3422 * @return destination_uuid 3423 * @note: btstack_type 2 3424 */ 3425 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){ 3426 return little_endian_read_16(event, 6); 3427 } 3428 /** 3429 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED 3430 * @param event packet 3431 * @param Pointer to storage for remote_address 3432 * @note: btstack_type B 3433 */ 3434 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3435 reverse_bytes(&event[8], remote_address, 6); 3436 } 3437 3438 /** 3439 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT 3440 * @param event packet 3441 * @return bnep_cid 3442 * @note: btstack_type 2 3443 */ 3444 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){ 3445 return little_endian_read_16(event, 2); 3446 } 3447 /** 3448 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3449 * @param event packet 3450 * @return source_uuid 3451 * @note: btstack_type 2 3452 */ 3453 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){ 3454 return little_endian_read_16(event, 4); 3455 } 3456 /** 3457 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3458 * @param event packet 3459 * @return destination_uuid 3460 * @note: btstack_type 2 3461 */ 3462 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){ 3463 return little_endian_read_16(event, 6); 3464 } 3465 /** 3466 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT 3467 * @param event packet 3468 * @param Pointer to storage for remote_address 3469 * @note: btstack_type B 3470 */ 3471 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3472 reverse_bytes(&event[8], remote_address, 6); 3473 } 3474 /** 3475 * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT 3476 * @param event packet 3477 * @return channel_state 3478 * @note: btstack_type 1 3479 */ 3480 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){ 3481 return event[14]; 3482 } 3483 3484 /** 3485 * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW 3486 * @param event packet 3487 * @return bnep_cid 3488 * @note: btstack_type 2 3489 */ 3490 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){ 3491 return little_endian_read_16(event, 2); 3492 } 3493 /** 3494 * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW 3495 * @param event packet 3496 * @return source_uuid 3497 * @note: btstack_type 2 3498 */ 3499 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){ 3500 return little_endian_read_16(event, 4); 3501 } 3502 /** 3503 * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW 3504 * @param event packet 3505 * @return destination_uuid 3506 * @note: btstack_type 2 3507 */ 3508 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){ 3509 return little_endian_read_16(event, 6); 3510 } 3511 /** 3512 * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW 3513 * @param event packet 3514 * @param Pointer to storage for remote_address 3515 * @note: btstack_type B 3516 */ 3517 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3518 reverse_bytes(&event[8], remote_address, 6); 3519 } 3520 3521 #ifdef ENABLE_BLE 3522 /** 3523 * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST 3524 * @param event packet 3525 * @return handle 3526 * @note: btstack_type H 3527 */ 3528 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ 3529 return little_endian_read_16(event, 2); 3530 } 3531 /** 3532 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST 3533 * @param event packet 3534 * @return addr_type 3535 * @note: btstack_type 1 3536 */ 3537 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ 3538 return event[4]; 3539 } 3540 /** 3541 * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST 3542 * @param event packet 3543 * @param Pointer to storage for address 3544 * @note: btstack_type B 3545 */ 3546 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ 3547 reverse_bytes(&event[5], address, 6); 3548 } 3549 /** 3550 * @brief Get field secure_connection from event SM_EVENT_JUST_WORKS_REQUEST 3551 * @param event packet 3552 * @return secure_connection 3553 * @note: btstack_type 1 3554 */ 3555 static inline uint8_t sm_event_just_works_request_get_secure_connection(const uint8_t * event){ 3556 return event[11]; 3557 } 3558 #endif 3559 3560 #ifdef ENABLE_BLE 3561 /** 3562 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3563 * @param event packet 3564 * @return handle 3565 * @note: btstack_type H 3566 */ 3567 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ 3568 return little_endian_read_16(event, 2); 3569 } 3570 /** 3571 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3572 * @param event packet 3573 * @return addr_type 3574 * @note: btstack_type 1 3575 */ 3576 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ 3577 return event[4]; 3578 } 3579 /** 3580 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3581 * @param event packet 3582 * @param Pointer to storage for address 3583 * @note: btstack_type B 3584 */ 3585 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ 3586 reverse_bytes(&event[5], address, 6); 3587 } 3588 /** 3589 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3590 * @param event packet 3591 * @return secure_connection 3592 * @note: btstack_type 1 3593 */ 3594 static inline uint8_t sm_event_passkey_display_number_get_secure_connection(const uint8_t * event){ 3595 return event[11]; 3596 } 3597 /** 3598 * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3599 * @param event packet 3600 * @return passkey 3601 * @note: btstack_type 4 3602 */ 3603 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ 3604 return little_endian_read_32(event, 12); 3605 } 3606 #endif 3607 3608 #ifdef ENABLE_BLE 3609 /** 3610 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3611 * @param event packet 3612 * @return handle 3613 * @note: btstack_type H 3614 */ 3615 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ 3616 return little_endian_read_16(event, 2); 3617 } 3618 /** 3619 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3620 * @param event packet 3621 * @return addr_type 3622 * @note: btstack_type 1 3623 */ 3624 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ 3625 return event[4]; 3626 } 3627 /** 3628 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3629 * @param event packet 3630 * @param Pointer to storage for address 3631 * @note: btstack_type B 3632 */ 3633 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ 3634 reverse_bytes(&event[5], address, 6); 3635 } 3636 #endif 3637 3638 #ifdef ENABLE_BLE 3639 /** 3640 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER 3641 * @param event packet 3642 * @return handle 3643 * @note: btstack_type H 3644 */ 3645 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ 3646 return little_endian_read_16(event, 2); 3647 } 3648 /** 3649 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER 3650 * @param event packet 3651 * @return addr_type 3652 * @note: btstack_type 1 3653 */ 3654 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ 3655 return event[4]; 3656 } 3657 /** 3658 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER 3659 * @param event packet 3660 * @param Pointer to storage for address 3661 * @note: btstack_type B 3662 */ 3663 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ 3664 reverse_bytes(&event[5], address, 6); 3665 } 3666 /** 3667 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_INPUT_NUMBER 3668 * @param event packet 3669 * @return secure_connection 3670 * @note: btstack_type 1 3671 */ 3672 static inline uint8_t sm_event_passkey_input_number_get_secure_connection(const uint8_t * event){ 3673 return event[11]; 3674 } 3675 #endif 3676 3677 #ifdef ENABLE_BLE 3678 /** 3679 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3680 * @param event packet 3681 * @return handle 3682 * @note: btstack_type H 3683 */ 3684 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){ 3685 return little_endian_read_16(event, 2); 3686 } 3687 /** 3688 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3689 * @param event packet 3690 * @return addr_type 3691 * @note: btstack_type 1 3692 */ 3693 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){ 3694 return event[4]; 3695 } 3696 /** 3697 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3698 * @param event packet 3699 * @param Pointer to storage for address 3700 * @note: btstack_type B 3701 */ 3702 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){ 3703 reverse_bytes(&event[5], address, 6); 3704 } 3705 /** 3706 * @brief Get field secure_connection from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3707 * @param event packet 3708 * @return secure_connection 3709 * @note: btstack_type 1 3710 */ 3711 static inline uint8_t sm_event_numeric_comparison_request_get_secure_connection(const uint8_t * event){ 3712 return event[11]; 3713 } 3714 /** 3715 * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3716 * @param event packet 3717 * @return passkey 3718 * @note: btstack_type 4 3719 */ 3720 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){ 3721 return little_endian_read_32(event, 12); 3722 } 3723 #endif 3724 3725 #ifdef ENABLE_BLE 3726 /** 3727 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3728 * @param event packet 3729 * @return handle 3730 * @note: btstack_type H 3731 */ 3732 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ 3733 return little_endian_read_16(event, 2); 3734 } 3735 /** 3736 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3737 * @param event packet 3738 * @return addr_type 3739 * @note: btstack_type 1 3740 */ 3741 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ 3742 return event[4]; 3743 } 3744 /** 3745 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3746 * @param event packet 3747 * @param Pointer to storage for address 3748 * @note: btstack_type B 3749 */ 3750 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ 3751 reverse_bytes(&event[5], address, 6); 3752 } 3753 #endif 3754 3755 #ifdef ENABLE_BLE 3756 /** 3757 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3758 * @param event packet 3759 * @return handle 3760 * @note: btstack_type H 3761 */ 3762 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ 3763 return little_endian_read_16(event, 2); 3764 } 3765 /** 3766 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3767 * @param event packet 3768 * @return addr_type 3769 * @note: btstack_type 1 3770 */ 3771 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ 3772 return event[4]; 3773 } 3774 /** 3775 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3776 * @param event packet 3777 * @param Pointer to storage for address 3778 * @note: btstack_type B 3779 */ 3780 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ 3781 reverse_bytes(&event[5], address, 6); 3782 } 3783 #endif 3784 3785 #ifdef ENABLE_BLE 3786 /** 3787 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3788 * @param event packet 3789 * @return handle 3790 * @note: btstack_type H 3791 */ 3792 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ 3793 return little_endian_read_16(event, 2); 3794 } 3795 /** 3796 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3797 * @param event packet 3798 * @return addr_type 3799 * @note: btstack_type 1 3800 */ 3801 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ 3802 return event[4]; 3803 } 3804 /** 3805 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3806 * @param event packet 3807 * @param Pointer to storage for address 3808 * @note: btstack_type B 3809 */ 3810 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ 3811 reverse_bytes(&event[5], address, 6); 3812 } 3813 /** 3814 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3815 * @param event packet 3816 * @return identity_addr_type 3817 * @note: btstack_type 1 3818 */ 3819 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){ 3820 return event[11]; 3821 } 3822 /** 3823 * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3824 * @param event packet 3825 * @param Pointer to storage for identity_address 3826 * @note: btstack_type B 3827 */ 3828 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3829 reverse_bytes(&event[12], identity_address, 6); 3830 } 3831 /** 3832 * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3833 * @param event packet 3834 * @return index 3835 * @note: btstack_type 2 3836 */ 3837 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){ 3838 return little_endian_read_16(event, 18); 3839 } 3840 #endif 3841 3842 #ifdef ENABLE_BLE 3843 /** 3844 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST 3845 * @param event packet 3846 * @return handle 3847 * @note: btstack_type H 3848 */ 3849 static inline hci_con_handle_t sm_event_authorization_request_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_AUTHORIZATION_REQUEST 3854 * @param event packet 3855 * @return addr_type 3856 * @note: btstack_type 1 3857 */ 3858 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ 3859 return event[4]; 3860 } 3861 /** 3862 * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST 3863 * @param event packet 3864 * @param Pointer to storage for address 3865 * @note: btstack_type B 3866 */ 3867 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ 3868 reverse_bytes(&event[5], address, 6); 3869 } 3870 #endif 3871 3872 #ifdef ENABLE_BLE 3873 /** 3874 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT 3875 * @param event packet 3876 * @return handle 3877 * @note: btstack_type H 3878 */ 3879 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ 3880 return little_endian_read_16(event, 2); 3881 } 3882 /** 3883 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT 3884 * @param event packet 3885 * @return addr_type 3886 * @note: btstack_type 1 3887 */ 3888 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ 3889 return event[4]; 3890 } 3891 /** 3892 * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT 3893 * @param event packet 3894 * @param Pointer to storage for address 3895 * @note: btstack_type B 3896 */ 3897 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ 3898 reverse_bytes(&event[5], address, 6); 3899 } 3900 /** 3901 * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT 3902 * @param event packet 3903 * @return authorization_result 3904 * @note: btstack_type 1 3905 */ 3906 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ 3907 return event[11]; 3908 } 3909 #endif 3910 3911 #ifdef ENABLE_BLE 3912 /** 3913 * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION 3914 * @param event packet 3915 * @return handle 3916 * @note: btstack_type H 3917 */ 3918 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){ 3919 return little_endian_read_16(event, 2); 3920 } 3921 /** 3922 * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION 3923 * @param event packet 3924 * @return action 3925 * @note: btstack_type 1 3926 */ 3927 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){ 3928 return event[4]; 3929 } 3930 #endif 3931 3932 #ifdef ENABLE_BLE 3933 /** 3934 * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED 3935 * @param event packet 3936 * @return handle 3937 * @note: btstack_type H 3938 */ 3939 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){ 3940 return little_endian_read_16(event, 2); 3941 } 3942 /** 3943 * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED 3944 * @param event packet 3945 * @return addr_type 3946 * @note: btstack_type 1 3947 */ 3948 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){ 3949 return event[4]; 3950 } 3951 /** 3952 * @brief Get field address from event SM_EVENT_IDENTITY_CREATED 3953 * @param event packet 3954 * @param Pointer to storage for address 3955 * @note: btstack_type B 3956 */ 3957 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){ 3958 reverse_bytes(&event[5], address, 6); 3959 } 3960 /** 3961 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED 3962 * @param event packet 3963 * @return identity_addr_type 3964 * @note: btstack_type 1 3965 */ 3966 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){ 3967 return event[11]; 3968 } 3969 /** 3970 * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED 3971 * @param event packet 3972 * @param Pointer to storage for identity_address 3973 * @note: btstack_type B 3974 */ 3975 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3976 reverse_bytes(&event[12], identity_address, 6); 3977 } 3978 /** 3979 * @brief Get field index from event SM_EVENT_IDENTITY_CREATED 3980 * @param event packet 3981 * @return index 3982 * @note: btstack_type 2 3983 */ 3984 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){ 3985 return little_endian_read_16(event, 18); 3986 } 3987 #endif 3988 3989 #ifdef ENABLE_BLE 3990 /** 3991 * @brief Get field handle from event SM_EVENT_PAIRING_STARTED 3992 * @param event packet 3993 * @return handle 3994 * @note: btstack_type H 3995 */ 3996 static inline hci_con_handle_t sm_event_pairing_started_get_handle(const uint8_t * event){ 3997 return little_endian_read_16(event, 2); 3998 } 3999 /** 4000 * @brief Get field addr_type from event SM_EVENT_PAIRING_STARTED 4001 * @param event packet 4002 * @return addr_type 4003 * @note: btstack_type 1 4004 */ 4005 static inline uint8_t sm_event_pairing_started_get_addr_type(const uint8_t * event){ 4006 return event[4]; 4007 } 4008 /** 4009 * @brief Get field address from event SM_EVENT_PAIRING_STARTED 4010 * @param event packet 4011 * @param Pointer to storage for address 4012 * @note: btstack_type B 4013 */ 4014 static inline void sm_event_pairing_started_get_address(const uint8_t * event, bd_addr_t address){ 4015 reverse_bytes(&event[5], address, 6); 4016 } 4017 #endif 4018 4019 #ifdef ENABLE_BLE 4020 /** 4021 * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE 4022 * @param event packet 4023 * @return handle 4024 * @note: btstack_type H 4025 */ 4026 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){ 4027 return little_endian_read_16(event, 2); 4028 } 4029 /** 4030 * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE 4031 * @param event packet 4032 * @return addr_type 4033 * @note: btstack_type 1 4034 */ 4035 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){ 4036 return event[4]; 4037 } 4038 /** 4039 * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE 4040 * @param event packet 4041 * @param Pointer to storage for address 4042 * @note: btstack_type B 4043 */ 4044 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){ 4045 reverse_bytes(&event[5], address, 6); 4046 } 4047 /** 4048 * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE 4049 * @param event packet 4050 * @return status 4051 * @note: btstack_type 1 4052 */ 4053 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){ 4054 return event[11]; 4055 } 4056 /** 4057 * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE 4058 * @param event packet 4059 * @return reason 4060 * @note: btstack_type 1 4061 */ 4062 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){ 4063 return event[12]; 4064 } 4065 #endif 4066 4067 #ifdef ENABLE_BLE 4068 /** 4069 * @brief Get field handle from event SM_EVENT_REENCRYPTION_STARTED 4070 * @param event packet 4071 * @return handle 4072 * @note: btstack_type H 4073 */ 4074 static inline hci_con_handle_t sm_event_reencryption_started_get_handle(const uint8_t * event){ 4075 return little_endian_read_16(event, 2); 4076 } 4077 /** 4078 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_STARTED 4079 * @param event packet 4080 * @return addr_type 4081 * @note: btstack_type 1 4082 */ 4083 static inline uint8_t sm_event_reencryption_started_get_addr_type(const uint8_t * event){ 4084 return event[4]; 4085 } 4086 /** 4087 * @brief Get field address from event SM_EVENT_REENCRYPTION_STARTED 4088 * @param event packet 4089 * @param Pointer to storage for address 4090 * @note: btstack_type B 4091 */ 4092 static inline void sm_event_reencryption_started_get_address(const uint8_t * event, bd_addr_t address){ 4093 reverse_bytes(&event[5], address, 6); 4094 } 4095 #endif 4096 4097 #ifdef ENABLE_BLE 4098 /** 4099 * @brief Get field handle from event SM_EVENT_REENCRYPTION_COMPLETE 4100 * @param event packet 4101 * @return handle 4102 * @note: btstack_type H 4103 */ 4104 static inline hci_con_handle_t sm_event_reencryption_complete_get_handle(const uint8_t * event){ 4105 return little_endian_read_16(event, 2); 4106 } 4107 /** 4108 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_COMPLETE 4109 * @param event packet 4110 * @return addr_type 4111 * @note: btstack_type 1 4112 */ 4113 static inline uint8_t sm_event_reencryption_complete_get_addr_type(const uint8_t * event){ 4114 return event[4]; 4115 } 4116 /** 4117 * @brief Get field address from event SM_EVENT_REENCRYPTION_COMPLETE 4118 * @param event packet 4119 * @param Pointer to storage for address 4120 * @note: btstack_type B 4121 */ 4122 static inline void sm_event_reencryption_complete_get_address(const uint8_t * event, bd_addr_t address){ 4123 reverse_bytes(&event[5], address, 6); 4124 } 4125 /** 4126 * @brief Get field status from event SM_EVENT_REENCRYPTION_COMPLETE 4127 * @param event packet 4128 * @return status 4129 * @note: btstack_type 1 4130 */ 4131 static inline uint8_t sm_event_reencryption_complete_get_status(const uint8_t * event){ 4132 return event[11]; 4133 } 4134 #endif 4135 4136 /** 4137 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 4138 * @param event packet 4139 * @return handle 4140 * @note: btstack_type H 4141 */ 4142 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 4143 return little_endian_read_16(event, 2); 4144 } 4145 /** 4146 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 4147 * @param event packet 4148 * @return security_level 4149 * @note: btstack_type 1 4150 */ 4151 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 4152 return event[4]; 4153 } 4154 4155 /** 4156 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 4157 * @param event packet 4158 * @return status 4159 * @note: btstack_type 1 4160 */ 4161 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 4162 return event[2]; 4163 } 4164 /** 4165 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 4166 * @param event packet 4167 * @param Pointer to storage for address 4168 * @note: btstack_type B 4169 */ 4170 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 4171 reverse_bytes(&event[3], address, 6); 4172 } 4173 4174 /** 4175 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 4176 * @param event packet 4177 * @return advertising_event_type 4178 * @note: btstack_type 1 4179 */ 4180 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 4181 return event[2]; 4182 } 4183 /** 4184 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 4185 * @param event packet 4186 * @return address_type 4187 * @note: btstack_type 1 4188 */ 4189 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 4190 return event[3]; 4191 } 4192 /** 4193 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 4194 * @param event packet 4195 * @param Pointer to storage for address 4196 * @note: btstack_type B 4197 */ 4198 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 4199 reverse_bytes(&event[4], address, 6); 4200 } 4201 /** 4202 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 4203 * @param event packet 4204 * @return rssi 4205 * @note: btstack_type 1 4206 */ 4207 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 4208 return event[10]; 4209 } 4210 /** 4211 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 4212 * @param event packet 4213 * @return data_length 4214 * @note: btstack_type J 4215 */ 4216 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 4217 return event[11]; 4218 } 4219 /** 4220 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 4221 * @param event packet 4222 * @return data 4223 * @note: btstack_type V 4224 */ 4225 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 4226 return &event[12]; 4227 } 4228 4229 /** 4230 * @brief Get field advertising_event_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4231 * @param event packet 4232 * @return advertising_event_type 4233 * @note: btstack_type 2 4234 */ 4235 static inline uint16_t gap_event_extended_advertising_report_get_advertising_event_type(const uint8_t * event){ 4236 return little_endian_read_16(event, 2); 4237 } 4238 /** 4239 * @brief Get field address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4240 * @param event packet 4241 * @return address_type 4242 * @note: btstack_type 1 4243 */ 4244 static inline uint8_t gap_event_extended_advertising_report_get_address_type(const uint8_t * event){ 4245 return event[4]; 4246 } 4247 /** 4248 * @brief Get field address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4249 * @param event packet 4250 * @param Pointer to storage for address 4251 * @note: btstack_type B 4252 */ 4253 static inline void gap_event_extended_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 4254 reverse_bytes(&event[5], address, 6); 4255 } 4256 /** 4257 * @brief Get field primary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4258 * @param event packet 4259 * @return primary_phy 4260 * @note: btstack_type 1 4261 */ 4262 static inline uint8_t gap_event_extended_advertising_report_get_primary_phy(const uint8_t * event){ 4263 return event[11]; 4264 } 4265 /** 4266 * @brief Get field secondary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4267 * @param event packet 4268 * @return secondary_phy 4269 * @note: btstack_type 1 4270 */ 4271 static inline uint8_t gap_event_extended_advertising_report_get_secondary_phy(const uint8_t * event){ 4272 return event[12]; 4273 } 4274 /** 4275 * @brief Get field advertising_sid from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4276 * @param event packet 4277 * @return advertising_sid 4278 * @note: btstack_type 1 4279 */ 4280 static inline uint8_t gap_event_extended_advertising_report_get_advertising_sid(const uint8_t * event){ 4281 return event[13]; 4282 } 4283 /** 4284 * @brief Get field tx_power from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4285 * @param event packet 4286 * @return tx_power 4287 * @note: btstack_type 1 4288 */ 4289 static inline uint8_t gap_event_extended_advertising_report_get_tx_power(const uint8_t * event){ 4290 return event[14]; 4291 } 4292 /** 4293 * @brief Get field rssi from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4294 * @param event packet 4295 * @return rssi 4296 * @note: btstack_type 1 4297 */ 4298 static inline uint8_t gap_event_extended_advertising_report_get_rssi(const uint8_t * event){ 4299 return event[15]; 4300 } 4301 /** 4302 * @brief Get field periodic_advertising_interval from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4303 * @param event packet 4304 * @return periodic_advertising_interval 4305 * @note: btstack_type 2 4306 */ 4307 static inline uint16_t gap_event_extended_advertising_report_get_periodic_advertising_interval(const uint8_t * event){ 4308 return little_endian_read_16(event, 16); 4309 } 4310 /** 4311 * @brief Get field direct_address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4312 * @param event packet 4313 * @return direct_address_type 4314 * @note: btstack_type 1 4315 */ 4316 static inline uint8_t gap_event_extended_advertising_report_get_direct_address_type(const uint8_t * event){ 4317 return event[18]; 4318 } 4319 /** 4320 * @brief Get field direct_address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4321 * @param event packet 4322 * @param Pointer to storage for direct_address 4323 * @note: btstack_type B 4324 */ 4325 static inline void gap_event_extended_advertising_report_get_direct_address(const uint8_t * event, bd_addr_t direct_address){ 4326 reverse_bytes(&event[19], direct_address, 6); 4327 } 4328 /** 4329 * @brief Get field data_length from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4330 * @param event packet 4331 * @return data_length 4332 * @note: btstack_type J 4333 */ 4334 static inline uint8_t gap_event_extended_advertising_report_get_data_length(const uint8_t * event){ 4335 return event[25]; 4336 } 4337 /** 4338 * @brief Get field data from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4339 * @param event packet 4340 * @return data 4341 * @note: btstack_type V 4342 */ 4343 static inline const uint8_t * gap_event_extended_advertising_report_get_data(const uint8_t * event){ 4344 return &event[26]; 4345 } 4346 4347 /** 4348 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 4349 * @param event packet 4350 * @param Pointer to storage for bd_addr 4351 * @note: btstack_type B 4352 */ 4353 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4354 reverse_bytes(&event[2], bd_addr, 6); 4355 } 4356 /** 4357 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 4358 * @param event packet 4359 * @return page_scan_repetition_mode 4360 * @note: btstack_type 1 4361 */ 4362 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 4363 return event[8]; 4364 } 4365 /** 4366 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 4367 * @param event packet 4368 * @return class_of_device 4369 * @note: btstack_type 3 4370 */ 4371 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 4372 return little_endian_read_24(event, 9); 4373 } 4374 /** 4375 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 4376 * @param event packet 4377 * @return clock_offset 4378 * @note: btstack_type 2 4379 */ 4380 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 4381 return little_endian_read_16(event, 12); 4382 } 4383 /** 4384 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 4385 * @param event packet 4386 * @return rssi_available 4387 * @note: btstack_type 1 4388 */ 4389 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 4390 return event[14]; 4391 } 4392 /** 4393 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 4394 * @param event packet 4395 * @return rssi 4396 * @note: btstack_type 1 4397 */ 4398 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 4399 return event[15]; 4400 } 4401 /** 4402 * @brief Get field device_id_available from event GAP_EVENT_INQUIRY_RESULT 4403 * @param event packet 4404 * @return device_id_available 4405 * @note: btstack_type 1 4406 */ 4407 static inline uint8_t gap_event_inquiry_result_get_device_id_available(const uint8_t * event){ 4408 return event[16]; 4409 } 4410 /** 4411 * @brief Get field device_id_vendor_id_source from event GAP_EVENT_INQUIRY_RESULT 4412 * @param event packet 4413 * @return device_id_vendor_id_source 4414 * @note: btstack_type 2 4415 */ 4416 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id_source(const uint8_t * event){ 4417 return little_endian_read_16(event, 17); 4418 } 4419 /** 4420 * @brief Get field device_id_vendor_id from event GAP_EVENT_INQUIRY_RESULT 4421 * @param event packet 4422 * @return device_id_vendor_id 4423 * @note: btstack_type 2 4424 */ 4425 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id(const uint8_t * event){ 4426 return little_endian_read_16(event, 19); 4427 } 4428 /** 4429 * @brief Get field device_id_product_id from event GAP_EVENT_INQUIRY_RESULT 4430 * @param event packet 4431 * @return device_id_product_id 4432 * @note: btstack_type 2 4433 */ 4434 static inline uint16_t gap_event_inquiry_result_get_device_id_product_id(const uint8_t * event){ 4435 return little_endian_read_16(event, 21); 4436 } 4437 /** 4438 * @brief Get field device_id_version from event GAP_EVENT_INQUIRY_RESULT 4439 * @param event packet 4440 * @return device_id_version 4441 * @note: btstack_type 2 4442 */ 4443 static inline uint16_t gap_event_inquiry_result_get_device_id_version(const uint8_t * event){ 4444 return little_endian_read_16(event, 23); 4445 } 4446 /** 4447 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 4448 * @param event packet 4449 * @return name_available 4450 * @note: btstack_type 1 4451 */ 4452 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 4453 return event[25]; 4454 } 4455 /** 4456 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 4457 * @param event packet 4458 * @return name_len 4459 * @note: btstack_type J 4460 */ 4461 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 4462 return event[26]; 4463 } 4464 /** 4465 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 4466 * @param event packet 4467 * @return name 4468 * @note: btstack_type V 4469 */ 4470 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 4471 return &event[27]; 4472 } 4473 4474 /** 4475 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 4476 * @param event packet 4477 * @return status 4478 * @note: btstack_type 1 4479 */ 4480 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 4481 return event[2]; 4482 } 4483 4484 /** 4485 * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT 4486 * @param event packet 4487 * @return con_handle 4488 * @note: btstack_type H 4489 */ 4490 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){ 4491 return little_endian_read_16(event, 2); 4492 } 4493 /** 4494 * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT 4495 * @param event packet 4496 * @return rssi 4497 * @note: btstack_type 1 4498 */ 4499 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){ 4500 return event[4]; 4501 } 4502 4503 /** 4504 * @brief Get field oob_data_present from event GAP_EVENT_LOCAL_OOB_DATA 4505 * @param event packet 4506 * @return oob_data_present 4507 * @note: btstack_type 1 4508 */ 4509 static inline uint8_t gap_event_local_oob_data_get_oob_data_present(const uint8_t * event){ 4510 return event[2]; 4511 } 4512 /** 4513 * @brief Get field c_192 from event GAP_EVENT_LOCAL_OOB_DATA 4514 * @param event packet 4515 * @param Pointer to storage for c_192 4516 * @note: btstack_type K 4517 */ 4518 static inline void gap_event_local_oob_data_get_c_192(const uint8_t * event, uint8_t * c_192){ 4519 reverse_bytes(&event[3], c_192, 16); 4520 } 4521 /** 4522 * @brief Get field r_192 from event GAP_EVENT_LOCAL_OOB_DATA 4523 * @param event packet 4524 * @param Pointer to storage for r_192 4525 * @note: btstack_type K 4526 */ 4527 static inline void gap_event_local_oob_data_get_r_192(const uint8_t * event, uint8_t * r_192){ 4528 reverse_bytes(&event[19], r_192, 16); 4529 } 4530 /** 4531 * @brief Get field c_256 from event GAP_EVENT_LOCAL_OOB_DATA 4532 * @param event packet 4533 * @param Pointer to storage for c_256 4534 * @note: btstack_type K 4535 */ 4536 static inline void gap_event_local_oob_data_get_c_256(const uint8_t * event, uint8_t * c_256){ 4537 reverse_bytes(&event[35], c_256, 16); 4538 } 4539 /** 4540 * @brief Get field r_256 from event GAP_EVENT_LOCAL_OOB_DATA 4541 * @param event packet 4542 * @param Pointer to storage for r_256 4543 * @note: btstack_type K 4544 */ 4545 static inline void gap_event_local_oob_data_get_r_256(const uint8_t * event, uint8_t * r_256){ 4546 reverse_bytes(&event[51], r_256, 16); 4547 } 4548 4549 /** 4550 * @brief Get field con_handle from event GAP_EVENT_PAIRING_STARTED 4551 * @param event packet 4552 * @return con_handle 4553 * @note: btstack_type H 4554 */ 4555 static inline hci_con_handle_t gap_event_pairing_started_get_con_handle(const uint8_t * event){ 4556 return little_endian_read_16(event, 2); 4557 } 4558 /** 4559 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_STARTED 4560 * @param event packet 4561 * @param Pointer to storage for bd_addr 4562 * @note: btstack_type B 4563 */ 4564 static inline void gap_event_pairing_started_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4565 reverse_bytes(&event[4], bd_addr, 6); 4566 } 4567 /** 4568 * @brief Get field ssp from event GAP_EVENT_PAIRING_STARTED 4569 * @param event packet 4570 * @return ssp 4571 * @note: btstack_type 1 4572 */ 4573 static inline uint8_t gap_event_pairing_started_get_ssp(const uint8_t * event){ 4574 return event[10]; 4575 } 4576 /** 4577 * @brief Get field initiator from event GAP_EVENT_PAIRING_STARTED 4578 * @param event packet 4579 * @return initiator 4580 * @note: btstack_type 1 4581 */ 4582 static inline uint8_t gap_event_pairing_started_get_initiator(const uint8_t * event){ 4583 return event[11]; 4584 } 4585 4586 /** 4587 * @brief Get field con_handle from event GAP_EVENT_PAIRING_COMPLETE 4588 * @param event packet 4589 * @return con_handle 4590 * @note: btstack_type H 4591 */ 4592 static inline hci_con_handle_t gap_event_pairing_complete_get_con_handle(const uint8_t * event){ 4593 return little_endian_read_16(event, 2); 4594 } 4595 /** 4596 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_COMPLETE 4597 * @param event packet 4598 * @param Pointer to storage for bd_addr 4599 * @note: btstack_type B 4600 */ 4601 static inline void gap_event_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4602 reverse_bytes(&event[4], bd_addr, 6); 4603 } 4604 /** 4605 * @brief Get field status from event GAP_EVENT_PAIRING_COMPLETE 4606 * @param event packet 4607 * @return status 4608 * @note: btstack_type 1 4609 */ 4610 static inline uint8_t gap_event_pairing_complete_get_status(const uint8_t * event){ 4611 return event[10]; 4612 } 4613 4614 /** 4615 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4616 * @param event packet 4617 * @return status 4618 * @note: btstack_type 1 4619 */ 4620 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 4621 return event[3]; 4622 } 4623 /** 4624 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4625 * @param event packet 4626 * @return connection_handle 4627 * @note: btstack_type H 4628 */ 4629 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 4630 return little_endian_read_16(event, 4); 4631 } 4632 /** 4633 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4634 * @param event packet 4635 * @return role 4636 * @note: btstack_type 1 4637 */ 4638 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 4639 return event[6]; 4640 } 4641 /** 4642 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4643 * @param event packet 4644 * @return peer_address_type 4645 * @note: btstack_type 1 4646 */ 4647 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 4648 return event[7]; 4649 } 4650 /** 4651 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4652 * @param event packet 4653 * @param Pointer to storage for peer_address 4654 * @note: btstack_type B 4655 */ 4656 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 4657 reverse_bytes(&event[8], peer_address, 6); 4658 } 4659 /** 4660 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4661 * @param event packet 4662 * @return conn_interval 4663 * @note: btstack_type 2 4664 */ 4665 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 4666 return little_endian_read_16(event, 14); 4667 } 4668 /** 4669 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4670 * @param event packet 4671 * @return conn_latency 4672 * @note: btstack_type 2 4673 */ 4674 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 4675 return little_endian_read_16(event, 16); 4676 } 4677 /** 4678 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4679 * @param event packet 4680 * @return supervision_timeout 4681 * @note: btstack_type 2 4682 */ 4683 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 4684 return little_endian_read_16(event, 18); 4685 } 4686 /** 4687 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4688 * @param event packet 4689 * @return master_clock_accuracy 4690 * @note: btstack_type 1 4691 */ 4692 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 4693 return event[20]; 4694 } 4695 4696 /** 4697 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4698 * @param event packet 4699 * @return status 4700 * @note: btstack_type 1 4701 */ 4702 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 4703 return event[3]; 4704 } 4705 /** 4706 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4707 * @param event packet 4708 * @return connection_handle 4709 * @note: btstack_type H 4710 */ 4711 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 4712 return little_endian_read_16(event, 4); 4713 } 4714 /** 4715 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4716 * @param event packet 4717 * @return conn_interval 4718 * @note: btstack_type 2 4719 */ 4720 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 4721 return little_endian_read_16(event, 6); 4722 } 4723 /** 4724 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4725 * @param event packet 4726 * @return conn_latency 4727 * @note: btstack_type 2 4728 */ 4729 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 4730 return little_endian_read_16(event, 8); 4731 } 4732 /** 4733 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4734 * @param event packet 4735 * @return supervision_timeout 4736 * @note: btstack_type 2 4737 */ 4738 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 4739 return little_endian_read_16(event, 10); 4740 } 4741 4742 /** 4743 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4744 * @param event packet 4745 * @return connection_handle 4746 * @note: btstack_type H 4747 */ 4748 static inline hci_con_handle_t hci_subevent_le_read_remote_features_complete_get_connection_handle(const uint8_t * event){ 4749 return little_endian_read_16(event, 3); 4750 } 4751 /** 4752 * @brief Get field le_features from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4753 * @param event packet 4754 * @return le_features 4755 * @note: btstack_type D 4756 */ 4757 static inline const uint8_t * hci_subevent_le_read_remote_features_complete_get_le_features(const uint8_t * event){ 4758 return (const uint8_t *) &event[5]; 4759 } 4760 4761 /** 4762 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4763 * @param event packet 4764 * @return connection_handle 4765 * @note: btstack_type H 4766 */ 4767 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 4768 return little_endian_read_16(event, 3); 4769 } 4770 /** 4771 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4772 * @param event packet 4773 * @return random_number 4774 * @note: btstack_type D 4775 */ 4776 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 4777 return (const uint8_t *) &event[5]; 4778 } 4779 /** 4780 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4781 * @param event packet 4782 * @return encryption_diversifier 4783 * @note: btstack_type 2 4784 */ 4785 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 4786 return little_endian_read_16(event, 13); 4787 } 4788 4789 /** 4790 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4791 * @param event packet 4792 * @return connection_handle 4793 * @note: btstack_type H 4794 */ 4795 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 4796 return little_endian_read_16(event, 3); 4797 } 4798 /** 4799 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4800 * @param event packet 4801 * @return interval_min 4802 * @note: btstack_type 2 4803 */ 4804 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 4805 return little_endian_read_16(event, 5); 4806 } 4807 /** 4808 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4809 * @param event packet 4810 * @return interval_max 4811 * @note: btstack_type 2 4812 */ 4813 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 4814 return little_endian_read_16(event, 7); 4815 } 4816 /** 4817 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4818 * @param event packet 4819 * @return latency 4820 * @note: btstack_type 2 4821 */ 4822 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 4823 return little_endian_read_16(event, 9); 4824 } 4825 /** 4826 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4827 * @param event packet 4828 * @return timeout 4829 * @note: btstack_type 2 4830 */ 4831 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 4832 return little_endian_read_16(event, 11); 4833 } 4834 4835 /** 4836 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4837 * @param event packet 4838 * @return connection_handle 4839 * @note: btstack_type H 4840 */ 4841 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 4842 return little_endian_read_16(event, 3); 4843 } 4844 /** 4845 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4846 * @param event packet 4847 * @return max_tx_octets 4848 * @note: btstack_type 2 4849 */ 4850 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 4851 return little_endian_read_16(event, 5); 4852 } 4853 /** 4854 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4855 * @param event packet 4856 * @return max_tx_time 4857 * @note: btstack_type 2 4858 */ 4859 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 4860 return little_endian_read_16(event, 7); 4861 } 4862 /** 4863 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4864 * @param event packet 4865 * @return max_rx_octets 4866 * @note: btstack_type 2 4867 */ 4868 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 4869 return little_endian_read_16(event, 9); 4870 } 4871 /** 4872 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4873 * @param event packet 4874 * @return max_rx_time 4875 * @note: btstack_type 2 4876 */ 4877 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 4878 return little_endian_read_16(event, 11); 4879 } 4880 4881 /** 4882 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4883 * @param event packet 4884 * @return status 4885 * @note: btstack_type 1 4886 */ 4887 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 4888 return event[3]; 4889 } 4890 /** 4891 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4892 * @param event packet 4893 * @param Pointer to storage for dhkey_x 4894 * @note: btstack_type Q 4895 */ 4896 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 4897 reverse_bytes(&event[4], dhkey_x, 32); 4898 } 4899 /** 4900 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4901 * @param event packet 4902 * @param Pointer to storage for dhkey_y 4903 * @note: btstack_type Q 4904 */ 4905 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 4906 reverse_bytes(&event[36], dhkey_y, 32); 4907 } 4908 4909 /** 4910 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4911 * @param event packet 4912 * @return status 4913 * @note: btstack_type 1 4914 */ 4915 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 4916 return event[3]; 4917 } 4918 /** 4919 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4920 * @param event packet 4921 * @param Pointer to storage for dhkey 4922 * @note: btstack_type Q 4923 */ 4924 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 4925 reverse_bytes(&event[4], dhkey, 32); 4926 } 4927 4928 /** 4929 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4930 * @param event packet 4931 * @return status 4932 * @note: btstack_type 1 4933 */ 4934 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_status(const uint8_t * event){ 4935 return event[3]; 4936 } 4937 /** 4938 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4939 * @param event packet 4940 * @return connection_handle 4941 * @note: btstack_type H 4942 */ 4943 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v1_get_connection_handle(const uint8_t * event){ 4944 return little_endian_read_16(event, 4); 4945 } 4946 /** 4947 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4948 * @param event packet 4949 * @return role 4950 * @note: btstack_type 1 4951 */ 4952 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_role(const uint8_t * event){ 4953 return event[6]; 4954 } 4955 /** 4956 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4957 * @param event packet 4958 * @return peer_address_type 4959 * @note: btstack_type 1 4960 */ 4961 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_peer_address_type(const uint8_t * event){ 4962 return event[7]; 4963 } 4964 /** 4965 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4966 * @param event packet 4967 * @param Pointer to storage for peer_addresss 4968 * @note: btstack_type B 4969 */ 4970 static inline void hci_subevent_le_enhanced_connection_complete_v1_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 4971 reverse_bytes(&event[8], peer_addresss, 6); 4972 } 4973 /** 4974 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4975 * @param event packet 4976 * @param Pointer to storage for local_resolvable_private_address 4977 * @note: btstack_type B 4978 */ 4979 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){ 4980 reverse_bytes(&event[14], local_resolvable_private_address, 6); 4981 } 4982 /** 4983 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4984 * @param event packet 4985 * @param Pointer to storage for peer_resolvable_private_address 4986 * @note: btstack_type B 4987 */ 4988 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){ 4989 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 4990 } 4991 /** 4992 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4993 * @param event packet 4994 * @return conn_interval 4995 * @note: btstack_type 2 4996 */ 4997 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_interval(const uint8_t * event){ 4998 return little_endian_read_16(event, 26); 4999 } 5000 /** 5001 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5002 * @param event packet 5003 * @return conn_latency 5004 * @note: btstack_type 2 5005 */ 5006 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_latency(const uint8_t * event){ 5007 return little_endian_read_16(event, 28); 5008 } 5009 /** 5010 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5011 * @param event packet 5012 * @return supervision_timeout 5013 * @note: btstack_type 2 5014 */ 5015 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_supervision_timeout(const uint8_t * event){ 5016 return little_endian_read_16(event, 30); 5017 } 5018 /** 5019 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 5020 * @param event packet 5021 * @return master_clock_accuracy 5022 * @note: btstack_type 1 5023 */ 5024 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_master_clock_accuracy(const uint8_t * event){ 5025 return event[32]; 5026 } 5027 5028 /** 5029 * @brief Get field status from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 5030 * @param event packet 5031 * @return status 5032 * @note: btstack_type 1 5033 */ 5034 static inline uint8_t hci_subevent_le_phy_update_complete_get_status(const uint8_t * event){ 5035 return event[3]; 5036 } 5037 /** 5038 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 5039 * @param event packet 5040 * @return connection_handle 5041 * @note: btstack_type H 5042 */ 5043 static inline hci_con_handle_t hci_subevent_le_phy_update_complete_get_connection_handle(const uint8_t * event){ 5044 return little_endian_read_16(event, 4); 5045 } 5046 /** 5047 * @brief Get field tx_phy from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 5048 * @param event packet 5049 * @return tx_phy 5050 * @note: btstack_type 1 5051 */ 5052 static inline uint8_t hci_subevent_le_phy_update_complete_get_tx_phy(const uint8_t * event){ 5053 return event[6]; 5054 } 5055 5056 /** 5057 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5058 * @param event packet 5059 * @return status 5060 * @note: btstack_type 1 5061 */ 5062 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_status(const uint8_t * event){ 5063 return event[3]; 5064 } 5065 /** 5066 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5067 * @param event packet 5068 * @return sync_handle 5069 * @note: btstack_type H 5070 */ 5071 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_establishment_get_sync_handle(const uint8_t * event){ 5072 return little_endian_read_16(event, 4); 5073 } 5074 /** 5075 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5076 * @param event packet 5077 * @return advertising_sid 5078 * @note: btstack_type 1 5079 */ 5080 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertising_sid(const uint8_t * event){ 5081 return event[6]; 5082 } 5083 /** 5084 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5085 * @param event packet 5086 * @return advertiser_address_type 5087 * @note: btstack_type 1 5088 */ 5089 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address_type(const uint8_t * event){ 5090 return event[7]; 5091 } 5092 /** 5093 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5094 * @param event packet 5095 * @param Pointer to storage for advertiser_address 5096 * @note: btstack_type B 5097 */ 5098 static inline void hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5099 reverse_bytes(&event[8], advertiser_address, 6); 5100 } 5101 /** 5102 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5103 * @param event packet 5104 * @return advertiser_phy 5105 * @note: btstack_type 1 5106 */ 5107 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_phy(const uint8_t * event){ 5108 return event[14]; 5109 } 5110 /** 5111 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5112 * @param event packet 5113 * @return periodic_advertising_interval 5114 * @note: btstack_type 2 5115 */ 5116 static inline uint16_t hci_subevent_le_periodic_advertising_sync_establishment_get_periodic_advertising_interval(const uint8_t * event){ 5117 return little_endian_read_16(event, 15); 5118 } 5119 /** 5120 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5121 * @param event packet 5122 * @return advertiser_clock_accuracy 5123 * @note: btstack_type 1 5124 */ 5125 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_clock_accuracy(const uint8_t * event){ 5126 return event[17]; 5127 } 5128 5129 /** 5130 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5131 * @param event packet 5132 * @return sync_handle 5133 * @note: btstack_type H 5134 */ 5135 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_report_get_sync_handle(const uint8_t * event){ 5136 return little_endian_read_16(event, 3); 5137 } 5138 /** 5139 * @brief Get field tx_power from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5140 * @param event packet 5141 * @return tx_power 5142 * @note: btstack_type 1 5143 */ 5144 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_tx_power(const uint8_t * event){ 5145 return event[5]; 5146 } 5147 /** 5148 * @brief Get field rssi from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5149 * @param event packet 5150 * @return rssi 5151 * @note: btstack_type 1 5152 */ 5153 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_rssi(const uint8_t * event){ 5154 return event[6]; 5155 } 5156 /** 5157 * @brief Get field cte_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5158 * @param event packet 5159 * @return cte_type 5160 * @note: btstack_type 1 5161 */ 5162 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_cte_type(const uint8_t * event){ 5163 return event[7]; 5164 } 5165 /** 5166 * @brief Get field data_status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5167 * @param event packet 5168 * @return data_status 5169 * @note: btstack_type 1 5170 */ 5171 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_status(const uint8_t * event){ 5172 return event[8]; 5173 } 5174 /** 5175 * @brief Get field data_length from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5176 * @param event packet 5177 * @return data_length 5178 * @note: btstack_type J 5179 */ 5180 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_length(const uint8_t * event){ 5181 return event[9]; 5182 } 5183 /** 5184 * @brief Get field data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5185 * @param event packet 5186 * @return data 5187 * @note: btstack_type V 5188 */ 5189 static inline const uint8_t * hci_subevent_le_periodic_advertising_report_get_data(const uint8_t * event){ 5190 return &event[10]; 5191 } 5192 5193 /** 5194 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_LOST 5195 * @param event packet 5196 * @return sync_handle 5197 * @note: btstack_type H 5198 */ 5199 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_lost_get_sync_handle(const uint8_t * event){ 5200 return little_endian_read_16(event, 3); 5201 } 5202 5203 5204 /** 5205 * @brief Get field status from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5206 * @param event packet 5207 * @return status 5208 * @note: btstack_type 1 5209 */ 5210 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_status(const uint8_t * event){ 5211 return event[3]; 5212 } 5213 /** 5214 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5215 * @param event packet 5216 * @return advertising_handle 5217 * @note: btstack_type 1 5218 */ 5219 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_advertising_handle(const uint8_t * event){ 5220 return event[4]; 5221 } 5222 /** 5223 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5224 * @param event packet 5225 * @return connection_handle 5226 * @note: btstack_type H 5227 */ 5228 static inline hci_con_handle_t hci_subevent_le_advertising_set_terminated_get_connection_handle(const uint8_t * event){ 5229 return little_endian_read_16(event, 5); 5230 } 5231 /** 5232 * @brief Get field num_completed_exteneded_advertising_events from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5233 * @param event packet 5234 * @return num_completed_exteneded_advertising_events 5235 * @note: btstack_type 1 5236 */ 5237 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_num_completed_exteneded_advertising_events(const uint8_t * event){ 5238 return event[7]; 5239 } 5240 5241 /** 5242 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5243 * @param event packet 5244 * @return advertising_handle 5245 * @note: btstack_type 1 5246 */ 5247 static inline uint8_t hci_subevent_le_scan_request_received_get_advertising_handle(const uint8_t * event){ 5248 return event[3]; 5249 } 5250 /** 5251 * @brief Get field scanner_address_type from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5252 * @param event packet 5253 * @return scanner_address_type 5254 * @note: btstack_type 1 5255 */ 5256 static inline uint8_t hci_subevent_le_scan_request_received_get_scanner_address_type(const uint8_t * event){ 5257 return event[4]; 5258 } 5259 /** 5260 * @brief Get field scanner_address from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5261 * @param event packet 5262 * @param Pointer to storage for scanner_address 5263 * @note: btstack_type B 5264 */ 5265 static inline void hci_subevent_le_scan_request_received_get_scanner_address(const uint8_t * event, bd_addr_t scanner_address){ 5266 reverse_bytes(&event[5], scanner_address, 6); 5267 } 5268 5269 /** 5270 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 5271 * @param event packet 5272 * @return connection_handle 5273 * @note: btstack_type H 5274 */ 5275 static inline hci_con_handle_t hci_subevent_le_channel_selection_algorithm_get_connection_handle(const uint8_t * event){ 5276 return little_endian_read_16(event, 3); 5277 } 5278 /** 5279 * @brief Get field channel_selection_algorithm from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 5280 * @param event packet 5281 * @return channel_selection_algorithm 5282 * @note: btstack_type 1 5283 */ 5284 static inline uint8_t hci_subevent_le_channel_selection_algorithm_get_channel_selection_algorithm(const uint8_t * event){ 5285 return event[5]; 5286 } 5287 5288 /** 5289 * @brief Get field status from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5290 * @param event packet 5291 * @return status 5292 * @note: btstack_type 1 5293 */ 5294 static inline uint8_t hci_subevent_le_le_cte_request_failed_get_status(const uint8_t * event){ 5295 return event[3]; 5296 } 5297 /** 5298 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5299 * @param event packet 5300 * @return connection_handle 5301 * @note: btstack_type H 5302 */ 5303 static inline hci_con_handle_t hci_subevent_le_le_cte_request_failed_get_connection_handle(const uint8_t * event){ 5304 return little_endian_read_16(event, 4); 5305 } 5306 5307 /** 5308 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5309 * @param event packet 5310 * @return status 5311 * @note: btstack_type 1 5312 */ 5313 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_status(const uint8_t * event){ 5314 return event[3]; 5315 } 5316 /** 5317 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5318 * @param event packet 5319 * @return connection_handle 5320 * @note: btstack_type H 5321 */ 5322 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_connection_handle(const uint8_t * event){ 5323 return little_endian_read_16(event, 4); 5324 } 5325 /** 5326 * @brief Get field service_data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5327 * @param event packet 5328 * @return service_data 5329 * @note: btstack_type 2 5330 */ 5331 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_service_data(const uint8_t * event){ 5332 return little_endian_read_16(event, 6); 5333 } 5334 /** 5335 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5336 * @param event packet 5337 * @return sync_handle 5338 * @note: btstack_type H 5339 */ 5340 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_sync_handle(const uint8_t * event){ 5341 return little_endian_read_16(event, 8); 5342 } 5343 /** 5344 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5345 * @param event packet 5346 * @return advertising_sid 5347 * @note: btstack_type 1 5348 */ 5349 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertising_sid(const uint8_t * event){ 5350 return event[10]; 5351 } 5352 /** 5353 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5354 * @param event packet 5355 * @return advertiser_address_type 5356 * @note: btstack_type 1 5357 */ 5358 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address_type(const uint8_t * event){ 5359 return event[11]; 5360 } 5361 /** 5362 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5363 * @param event packet 5364 * @param Pointer to storage for advertiser_address 5365 * @note: btstack_type B 5366 */ 5367 static inline void hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5368 reverse_bytes(&event[12], advertiser_address, 6); 5369 } 5370 /** 5371 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5372 * @param event packet 5373 * @return advertiser_phy 5374 * @note: btstack_type 1 5375 */ 5376 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_phy(const uint8_t * event){ 5377 return event[18]; 5378 } 5379 /** 5380 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5381 * @param event packet 5382 * @return periodic_advertising_interval 5383 * @note: btstack_type 2 5384 */ 5385 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_periodic_advertising_interval(const uint8_t * event){ 5386 return little_endian_read_16(event, 19); 5387 } 5388 /** 5389 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5390 * @param event packet 5391 * @return advertiser_clock_accuracy 5392 * @note: btstack_type 1 5393 */ 5394 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_clock_accuracy(const uint8_t * event){ 5395 return event[21]; 5396 } 5397 5398 /** 5399 * @brief Get field status from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5400 * @param event packet 5401 * @return status 5402 * @note: btstack_type 1 5403 */ 5404 static inline uint8_t hci_subevent_le_cis_established_get_status(const uint8_t * event){ 5405 return event[3]; 5406 } 5407 /** 5408 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5409 * @param event packet 5410 * @return connection_handle 5411 * @note: btstack_type H 5412 */ 5413 static inline hci_con_handle_t hci_subevent_le_cis_established_get_connection_handle(const uint8_t * event){ 5414 return little_endian_read_16(event, 4); 5415 } 5416 /** 5417 * @brief Get field cig_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5418 * @param event packet 5419 * @return cig_sync_delay 5420 * @note: btstack_type 3 5421 */ 5422 static inline uint32_t hci_subevent_le_cis_established_get_cig_sync_delay(const uint8_t * event){ 5423 return little_endian_read_24(event, 6); 5424 } 5425 /** 5426 * @brief Get field cis_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5427 * @param event packet 5428 * @return cis_sync_delay 5429 * @note: btstack_type 3 5430 */ 5431 static inline uint32_t hci_subevent_le_cis_established_get_cis_sync_delay(const uint8_t * event){ 5432 return little_endian_read_24(event, 9); 5433 } 5434 /** 5435 * @brief Get field transport_latency_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5436 * @param event packet 5437 * @return transport_latency_c_to_p 5438 * @note: btstack_type 3 5439 */ 5440 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_c_to_p(const uint8_t * event){ 5441 return little_endian_read_24(event, 12); 5442 } 5443 /** 5444 * @brief Get field transport_latency_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5445 * @param event packet 5446 * @return transport_latency_p_to_c 5447 * @note: btstack_type 3 5448 */ 5449 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_p_to_c(const uint8_t * event){ 5450 return little_endian_read_24(event, 15); 5451 } 5452 /** 5453 * @brief Get field phy_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5454 * @param event packet 5455 * @return phy_c_to_p 5456 * @note: btstack_type 1 5457 */ 5458 static inline uint8_t hci_subevent_le_cis_established_get_phy_c_to_p(const uint8_t * event){ 5459 return event[18]; 5460 } 5461 /** 5462 * @brief Get field phy_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5463 * @param event packet 5464 * @return phy_p_to_c 5465 * @note: btstack_type 1 5466 */ 5467 static inline uint8_t hci_subevent_le_cis_established_get_phy_p_to_c(const uint8_t * event){ 5468 return event[19]; 5469 } 5470 /** 5471 * @brief Get field nse from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5472 * @param event packet 5473 * @return nse 5474 * @note: btstack_type 1 5475 */ 5476 static inline uint8_t hci_subevent_le_cis_established_get_nse(const uint8_t * event){ 5477 return event[20]; 5478 } 5479 /** 5480 * @brief Get field bn_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5481 * @param event packet 5482 * @return bn_c_to_p 5483 * @note: btstack_type 1 5484 */ 5485 static inline uint8_t hci_subevent_le_cis_established_get_bn_c_to_p(const uint8_t * event){ 5486 return event[21]; 5487 } 5488 /** 5489 * @brief Get field bn_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5490 * @param event packet 5491 * @return bn_p_to_c 5492 * @note: btstack_type 1 5493 */ 5494 static inline uint8_t hci_subevent_le_cis_established_get_bn_p_to_c(const uint8_t * event){ 5495 return event[22]; 5496 } 5497 /** 5498 * @brief Get field ft_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5499 * @param event packet 5500 * @return ft_c_to_p 5501 * @note: btstack_type 1 5502 */ 5503 static inline uint8_t hci_subevent_le_cis_established_get_ft_c_to_p(const uint8_t * event){ 5504 return event[23]; 5505 } 5506 /** 5507 * @brief Get field ft_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5508 * @param event packet 5509 * @return ft_p_to_c 5510 * @note: btstack_type 1 5511 */ 5512 static inline uint8_t hci_subevent_le_cis_established_get_ft_p_to_c(const uint8_t * event){ 5513 return event[24]; 5514 } 5515 /** 5516 * @brief Get field max_pdu_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5517 * @param event packet 5518 * @return max_pdu_c_to_p 5519 * @note: btstack_type 2 5520 */ 5521 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_c_to_p(const uint8_t * event){ 5522 return little_endian_read_16(event, 25); 5523 } 5524 /** 5525 * @brief Get field max_pdu_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5526 * @param event packet 5527 * @return max_pdu_p_to_c 5528 * @note: btstack_type 2 5529 */ 5530 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_p_to_c(const uint8_t * event){ 5531 return little_endian_read_16(event, 27); 5532 } 5533 /** 5534 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5535 * @param event packet 5536 * @return iso_interval 5537 * @note: btstack_type 2 5538 */ 5539 static inline uint16_t hci_subevent_le_cis_established_get_iso_interval(const uint8_t * event){ 5540 return little_endian_read_16(event, 29); 5541 } 5542 5543 /** 5544 * @brief Get field acl_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5545 * @param event packet 5546 * @return acl_connection_handle 5547 * @note: btstack_type H 5548 */ 5549 static inline hci_con_handle_t hci_subevent_le_cis_request_get_acl_connection_handle(const uint8_t * event){ 5550 return little_endian_read_16(event, 3); 5551 } 5552 /** 5553 * @brief Get field cis_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5554 * @param event packet 5555 * @return cis_connection_handle 5556 * @note: btstack_type H 5557 */ 5558 static inline hci_con_handle_t hci_subevent_le_cis_request_get_cis_connection_handle(const uint8_t * event){ 5559 return little_endian_read_16(event, 5); 5560 } 5561 /** 5562 * @brief Get field cig_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5563 * @param event packet 5564 * @return cig_id 5565 * @note: btstack_type 1 5566 */ 5567 static inline uint8_t hci_subevent_le_cis_request_get_cig_id(const uint8_t * event){ 5568 return event[7]; 5569 } 5570 /** 5571 * @brief Get field cis_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5572 * @param event packet 5573 * @return cis_id 5574 * @note: btstack_type 1 5575 */ 5576 static inline uint8_t hci_subevent_le_cis_request_get_cis_id(const uint8_t * event){ 5577 return event[8]; 5578 } 5579 5580 /** 5581 * @brief Get field big_handle from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5582 * @param event packet 5583 * @return big_handle 5584 * @note: btstack_type 1 5585 */ 5586 static inline uint8_t hci_subevent_le_terminate_big_complete_get_big_handle(const uint8_t * event){ 5587 return event[3]; 5588 } 5589 /** 5590 * @brief Get field reason from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5591 * @param event packet 5592 * @return reason 5593 * @note: btstack_type 1 5594 */ 5595 static inline uint8_t hci_subevent_le_terminate_big_complete_get_reason(const uint8_t * event){ 5596 return event[4]; 5597 } 5598 5599 /** 5600 * @brief Get field big_handle from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5601 * @param event packet 5602 * @return big_handle 5603 * @note: btstack_type 1 5604 */ 5605 static inline uint8_t hci_subevent_le_big_sync_lost_get_big_handle(const uint8_t * event){ 5606 return event[3]; 5607 } 5608 /** 5609 * @brief Get field reason from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5610 * @param event packet 5611 * @return reason 5612 * @note: btstack_type 1 5613 */ 5614 static inline uint8_t hci_subevent_le_big_sync_lost_get_reason(const uint8_t * event){ 5615 return event[4]; 5616 } 5617 5618 /** 5619 * @brief Get field status from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5620 * @param event packet 5621 * @return status 5622 * @note: btstack_type 1 5623 */ 5624 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_status(const uint8_t * event){ 5625 return event[3]; 5626 } 5627 /** 5628 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5629 * @param event packet 5630 * @return connection_handle 5631 * @note: btstack_type H 5632 */ 5633 static inline hci_con_handle_t hci_subevent_le_request_peer_sca_complete_get_connection_handle(const uint8_t * event){ 5634 return little_endian_read_16(event, 4); 5635 } 5636 /** 5637 * @brief Get field peer_clock_accuracy from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5638 * @param event packet 5639 * @return peer_clock_accuracy 5640 * @note: btstack_type 1 5641 */ 5642 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_peer_clock_accuracy(const uint8_t * event){ 5643 return event[6]; 5644 } 5645 5646 /** 5647 * @brief Get field status from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5648 * @param event packet 5649 * @return status 5650 * @note: btstack_type 1 5651 */ 5652 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_status(const uint8_t * event){ 5653 return event[3]; 5654 } 5655 /** 5656 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5657 * @param event packet 5658 * @return connection_handle 5659 * @note: btstack_type H 5660 */ 5661 static inline hci_con_handle_t hci_subevent_le_transmit_power_reporting_get_connection_handle(const uint8_t * event){ 5662 return little_endian_read_16(event, 4); 5663 } 5664 /** 5665 * @brief Get field reason from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5666 * @param event packet 5667 * @return reason 5668 * @note: btstack_type 1 5669 */ 5670 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_reason(const uint8_t * event){ 5671 return event[6]; 5672 } 5673 /** 5674 * @brief Get field phy from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5675 * @param event packet 5676 * @return phy 5677 * @note: btstack_type 1 5678 */ 5679 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_phy(const uint8_t * event){ 5680 return event[7]; 5681 } 5682 /** 5683 * @brief Get field tx_power_level from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5684 * @param event packet 5685 * @return tx_power_level 5686 * @note: btstack_type 1 5687 */ 5688 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level(const uint8_t * event){ 5689 return event[8]; 5690 } 5691 /** 5692 * @brief Get field tx_power_level_flag from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5693 * @param event packet 5694 * @return tx_power_level_flag 5695 * @note: btstack_type 1 5696 */ 5697 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level_flag(const uint8_t * event){ 5698 return event[9]; 5699 } 5700 /** 5701 * @brief Get field delta from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5702 * @param event packet 5703 * @return delta 5704 * @note: btstack_type 1 5705 */ 5706 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_delta(const uint8_t * event){ 5707 return event[10]; 5708 } 5709 5710 /** 5711 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5712 * @param event packet 5713 * @return sync_handle 5714 * @note: btstack_type H 5715 */ 5716 static inline hci_con_handle_t hci_subevent_le_biginfo_advertising_report_get_sync_handle(const uint8_t * event){ 5717 return little_endian_read_16(event, 3); 5718 } 5719 /** 5720 * @brief Get field num_bis from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5721 * @param event packet 5722 * @return num_bis 5723 * @note: btstack_type 1 5724 */ 5725 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_num_bis(const uint8_t * event){ 5726 return event[5]; 5727 } 5728 /** 5729 * @brief Get field nse from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5730 * @param event packet 5731 * @return nse 5732 * @note: btstack_type 1 5733 */ 5734 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_nse(const uint8_t * event){ 5735 return event[6]; 5736 } 5737 /** 5738 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5739 * @param event packet 5740 * @return iso_interval 5741 * @note: btstack_type 2 5742 */ 5743 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_iso_interval(const uint8_t * event){ 5744 return little_endian_read_16(event, 7); 5745 } 5746 /** 5747 * @brief Get field bn from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5748 * @param event packet 5749 * @return bn 5750 * @note: btstack_type 1 5751 */ 5752 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_bn(const uint8_t * event){ 5753 return event[9]; 5754 } 5755 /** 5756 * @brief Get field pto from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5757 * @param event packet 5758 * @return pto 5759 * @note: btstack_type 1 5760 */ 5761 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_pto(const uint8_t * event){ 5762 return event[10]; 5763 } 5764 /** 5765 * @brief Get field irc from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5766 * @param event packet 5767 * @return irc 5768 * @note: btstack_type 1 5769 */ 5770 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_irc(const uint8_t * event){ 5771 return event[11]; 5772 } 5773 /** 5774 * @brief Get field max_pdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5775 * @param event packet 5776 * @return max_pdu 5777 * @note: btstack_type 2 5778 */ 5779 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_pdu(const uint8_t * event){ 5780 return little_endian_read_16(event, 12); 5781 } 5782 /** 5783 * @brief Get field sdu_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5784 * @param event packet 5785 * @return sdu_interval 5786 * @note: btstack_type 3 5787 */ 5788 static inline uint32_t hci_subevent_le_biginfo_advertising_report_get_sdu_interval(const uint8_t * event){ 5789 return little_endian_read_24(event, 14); 5790 } 5791 /** 5792 * @brief Get field max_sdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5793 * @param event packet 5794 * @return max_sdu 5795 * @note: btstack_type 2 5796 */ 5797 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_sdu(const uint8_t * event){ 5798 return little_endian_read_16(event, 17); 5799 } 5800 /** 5801 * @brief Get field phy from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5802 * @param event packet 5803 * @return phy 5804 * @note: btstack_type 1 5805 */ 5806 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_phy(const uint8_t * event){ 5807 return event[19]; 5808 } 5809 /** 5810 * @brief Get field framing from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5811 * @param event packet 5812 * @return framing 5813 * @note: btstack_type 1 5814 */ 5815 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_framing(const uint8_t * event){ 5816 return event[20]; 5817 } 5818 /** 5819 * @brief Get field encryption from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5820 * @param event packet 5821 * @return encryption 5822 * @note: btstack_type 1 5823 */ 5824 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_encryption(const uint8_t * event){ 5825 return event[21]; 5826 } 5827 5828 /** 5829 * @brief Get field status from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5830 * @param event packet 5831 * @return status 5832 * @note: btstack_type 1 5833 */ 5834 static inline uint8_t hci_subevent_le_subrate_change_get_status(const uint8_t * event){ 5835 return event[3]; 5836 } 5837 /** 5838 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5839 * @param event packet 5840 * @return connection_handle 5841 * @note: btstack_type H 5842 */ 5843 static inline hci_con_handle_t hci_subevent_le_subrate_change_get_connection_handle(const uint8_t * event){ 5844 return little_endian_read_16(event, 4); 5845 } 5846 /** 5847 * @brief Get field subrate_factor from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5848 * @param event packet 5849 * @return subrate_factor 5850 * @note: btstack_type 2 5851 */ 5852 static inline uint16_t hci_subevent_le_subrate_change_get_subrate_factor(const uint8_t * event){ 5853 return little_endian_read_16(event, 6); 5854 } 5855 /** 5856 * @brief Get field peripheral_latency from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5857 * @param event packet 5858 * @return peripheral_latency 5859 * @note: btstack_type 2 5860 */ 5861 static inline uint16_t hci_subevent_le_subrate_change_get_peripheral_latency(const uint8_t * event){ 5862 return little_endian_read_16(event, 8); 5863 } 5864 /** 5865 * @brief Get field continuation_number from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5866 * @param event packet 5867 * @return continuation_number 5868 * @note: btstack_type 2 5869 */ 5870 static inline uint16_t hci_subevent_le_subrate_change_get_continuation_number(const uint8_t * event){ 5871 return little_endian_read_16(event, 10); 5872 } 5873 /** 5874 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5875 * @param event packet 5876 * @return supervision_timeout 5877 * @note: btstack_type 2 5878 */ 5879 static inline uint16_t hci_subevent_le_subrate_change_get_supervision_timeout(const uint8_t * event){ 5880 return little_endian_read_16(event, 12); 5881 } 5882 5883 /** 5884 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5885 * @param event packet 5886 * @return advertising_handle 5887 * @note: btstack_type 1 5888 */ 5889 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_advertising_handle(const uint8_t * event){ 5890 return event[3]; 5891 } 5892 /** 5893 * @brief Get field subevent_start from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5894 * @param event packet 5895 * @return subevent_start 5896 * @note: btstack_type 1 5897 */ 5898 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_start(const uint8_t * event){ 5899 return event[4]; 5900 } 5901 /** 5902 * @brief Get field subevent_data_count from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5903 * @param event packet 5904 * @return subevent_data_count 5905 * @note: btstack_type 1 5906 */ 5907 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_data_count(const uint8_t * event){ 5908 return event[5]; 5909 } 5910 5911 /** 5912 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5913 * @param event packet 5914 * @return status 5915 * @note: btstack_type 1 5916 */ 5917 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_status(const uint8_t * event){ 5918 return event[3]; 5919 } 5920 /** 5921 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5922 * @param event packet 5923 * @return connection_handle 5924 * @note: btstack_type H 5925 */ 5926 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_connection_handle(const uint8_t * event){ 5927 return little_endian_read_16(event, 4); 5928 } 5929 /** 5930 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5931 * @param event packet 5932 * @return role 5933 * @note: btstack_type 1 5934 */ 5935 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_role(const uint8_t * event){ 5936 return event[6]; 5937 } 5938 /** 5939 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5940 * @param event packet 5941 * @return peer_address_type 5942 * @note: btstack_type 1 5943 */ 5944 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_peer_address_type(const uint8_t * event){ 5945 return event[7]; 5946 } 5947 /** 5948 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5949 * @param event packet 5950 * @param Pointer to storage for peer_addresss 5951 * @note: btstack_type B 5952 */ 5953 static inline void hci_subevent_le_enhanced_connection_complete_v2_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 5954 reverse_bytes(&event[8], peer_addresss, 6); 5955 } 5956 /** 5957 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5958 * @param event packet 5959 * @param Pointer to storage for local_resolvable_private_address 5960 * @note: btstack_type B 5961 */ 5962 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){ 5963 reverse_bytes(&event[14], local_resolvable_private_address, 6); 5964 } 5965 /** 5966 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5967 * @param event packet 5968 * @param Pointer to storage for peer_resolvable_private_address 5969 * @note: btstack_type B 5970 */ 5971 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){ 5972 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 5973 } 5974 /** 5975 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5976 * @param event packet 5977 * @return conn_interval 5978 * @note: btstack_type 2 5979 */ 5980 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_interval(const uint8_t * event){ 5981 return little_endian_read_16(event, 26); 5982 } 5983 /** 5984 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5985 * @param event packet 5986 * @return conn_latency 5987 * @note: btstack_type 2 5988 */ 5989 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_latency(const uint8_t * event){ 5990 return little_endian_read_16(event, 28); 5991 } 5992 /** 5993 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5994 * @param event packet 5995 * @return supervision_timeout 5996 * @note: btstack_type 2 5997 */ 5998 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_supervision_timeout(const uint8_t * event){ 5999 return little_endian_read_16(event, 30); 6000 } 6001 /** 6002 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6003 * @param event packet 6004 * @return master_clock_accuracy 6005 * @note: btstack_type 1 6006 */ 6007 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_master_clock_accuracy(const uint8_t * event){ 6008 return event[32]; 6009 } 6010 /** 6011 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6012 * @param event packet 6013 * @return advertising_handle 6014 * @note: btstack_type 1 6015 */ 6016 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_advertising_handle(const uint8_t * event){ 6017 return event[33]; 6018 } 6019 /** 6020 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 6021 * @param event packet 6022 * @return sync_handle 6023 * @note: btstack_type H 6024 */ 6025 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_sync_handle(const uint8_t * event){ 6026 return little_endian_read_16(event, 34); 6027 } 6028 6029 /** 6030 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 6031 * @param event packet 6032 * @return advertisement_handle 6033 * @note: btstack_type 1 6034 */ 6035 static inline uint8_t gap_subevent_advertising_set_installed_get_advertisement_handle(const uint8_t * event){ 6036 return event[3]; 6037 } 6038 /** 6039 * @brief Get field status from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 6040 * @param event packet 6041 * @return status 6042 * @note: btstack_type 1 6043 */ 6044 static inline uint8_t gap_subevent_advertising_set_installed_get_status(const uint8_t * event){ 6045 return event[4]; 6046 } 6047 /** 6048 * @brief Get field selected_tx_power from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 6049 * @param event packet 6050 * @return selected_tx_power 6051 * @note: btstack_type 1 6052 */ 6053 static inline uint8_t gap_subevent_advertising_set_installed_get_selected_tx_power(const uint8_t * event){ 6054 return event[5]; 6055 } 6056 6057 /** 6058 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_REMOVED 6059 * @param event packet 6060 * @return advertisement_handle 6061 * @note: btstack_type 1 6062 */ 6063 static inline uint8_t gap_subevent_advertising_set_removed_get_advertisement_handle(const uint8_t * event){ 6064 return event[3]; 6065 } 6066 6067 /** 6068 * @brief Get field status from event GAP_SUBEVENT_BIG_CREATED 6069 * @param event packet 6070 * @return status 6071 * @note: btstack_type 1 6072 */ 6073 static inline uint8_t gap_subevent_big_created_get_status(const uint8_t * event){ 6074 return event[3]; 6075 } 6076 /** 6077 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_CREATED 6078 * @param event packet 6079 * @return big_handle 6080 * @note: btstack_type 1 6081 */ 6082 static inline uint8_t gap_subevent_big_created_get_big_handle(const uint8_t * event){ 6083 return event[4]; 6084 } 6085 /** 6086 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_CREATED 6087 * @param event packet 6088 * @return num_bis 6089 * @note: btstack_type 1 6090 */ 6091 static inline uint8_t gap_subevent_big_created_get_num_bis(const uint8_t * event){ 6092 return event[5]; 6093 } 6094 /** 6095 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_CREATED 6096 * @param event packet 6097 * @param index 6098 * @return bis_con_handles 6099 * @note: btstack_type C 6100 */ 6101 static inline uint16_t gap_subevent_big_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 6102 return little_endian_read_16(event, 6 + (2 * (int) index)); 6103 } 6104 6105 /** 6106 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_TERMINATED 6107 * @param event packet 6108 * @return big_handle 6109 * @note: btstack_type 1 6110 */ 6111 static inline uint8_t gap_subevent_big_terminated_get_big_handle(const uint8_t * event){ 6112 return event[3]; 6113 } 6114 6115 /** 6116 * @brief Get field status from event GAP_SUBEVENT_BIG_SYNC_CREATED 6117 * @param event packet 6118 * @return status 6119 * @note: btstack_type 1 6120 */ 6121 static inline uint8_t gap_subevent_big_sync_created_get_status(const uint8_t * event){ 6122 return event[3]; 6123 } 6124 /** 6125 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_CREATED 6126 * @param event packet 6127 * @return big_handle 6128 * @note: btstack_type 1 6129 */ 6130 static inline uint8_t gap_subevent_big_sync_created_get_big_handle(const uint8_t * event){ 6131 return event[4]; 6132 } 6133 /** 6134 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_SYNC_CREATED 6135 * @param event packet 6136 * @return num_bis 6137 * @note: btstack_type 1 6138 */ 6139 static inline uint8_t gap_subevent_big_sync_created_get_num_bis(const uint8_t * event){ 6140 return event[5]; 6141 } 6142 /** 6143 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_SYNC_CREATED 6144 * @param event packet 6145 * @param index 6146 * @return bis_con_handles 6147 * @note: btstack_type C 6148 */ 6149 static inline uint16_t gap_subevent_big_sync_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 6150 return little_endian_read_16(event, 6 + (2 * (int) index)); 6151 } 6152 6153 /** 6154 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_STOPPED 6155 * @param event packet 6156 * @return big_handle 6157 * @note: btstack_type 1 6158 */ 6159 static inline uint8_t gap_subevent_big_sync_stopped_get_big_handle(const uint8_t * event){ 6160 return event[3]; 6161 } 6162 6163 /** 6164 * @brief Get field status from event GAP_SUBEVENT_CIG_CREATED 6165 * @param event packet 6166 * @return status 6167 * @note: btstack_type 1 6168 */ 6169 static inline uint8_t gap_subevent_cig_created_get_status(const uint8_t * event){ 6170 return event[3]; 6171 } 6172 /** 6173 * @brief Get field cig_id from event GAP_SUBEVENT_CIG_CREATED 6174 * @param event packet 6175 * @return cig_id 6176 * @note: btstack_type 1 6177 */ 6178 static inline uint8_t gap_subevent_cig_created_get_cig_id(const uint8_t * event){ 6179 return event[4]; 6180 } 6181 /** 6182 * @brief Get field num_cis from event GAP_SUBEVENT_CIG_CREATED 6183 * @param event packet 6184 * @return num_cis 6185 * @note: btstack_type 1 6186 */ 6187 static inline uint8_t gap_subevent_cig_created_get_num_cis(const uint8_t * event){ 6188 return event[5]; 6189 } 6190 /** 6191 * @brief Get element of array field cis_con_handles from event GAP_SUBEVENT_CIG_CREATED 6192 * @param event packet 6193 * @param index 6194 * @return cis_con_handles 6195 * @note: btstack_type C 6196 */ 6197 static inline uint16_t gap_subevent_cig_created_get_cis_con_handles(const uint8_t * event, uint8_t index){ 6198 return little_endian_read_16(event, 6 + (2 * (int) index)); 6199 } 6200 6201 /** 6202 * @brief Get field status from event GAP_SUBEVENT_CIS_CREATED 6203 * @param event packet 6204 * @return status 6205 * @note: btstack_type 1 6206 */ 6207 static inline uint8_t gap_subevent_cis_created_get_status(const uint8_t * event){ 6208 return event[3]; 6209 } 6210 /** 6211 * @brief Get field cig_id from event GAP_SUBEVENT_CIS_CREATED 6212 * @param event packet 6213 * @return cig_id 6214 * @note: btstack_type 1 6215 */ 6216 static inline uint8_t gap_subevent_cis_created_get_cig_id(const uint8_t * event){ 6217 return event[4]; 6218 } 6219 /** 6220 * @brief Get field cis_id from event GAP_SUBEVENT_CIS_CREATED 6221 * @param event packet 6222 * @return cis_id 6223 * @note: btstack_type 1 6224 */ 6225 static inline uint8_t gap_subevent_cis_created_get_cis_id(const uint8_t * event){ 6226 return event[5]; 6227 } 6228 /** 6229 * @brief Get field cis_con_handle from event GAP_SUBEVENT_CIS_CREATED 6230 * @param event packet 6231 * @return cis_con_handle 6232 * @note: btstack_type H 6233 */ 6234 static inline hci_con_handle_t gap_subevent_cis_created_get_cis_con_handle(const uint8_t * event){ 6235 return little_endian_read_16(event, 6); 6236 } 6237 /** 6238 * @brief Get field acl_con_handle from event GAP_SUBEVENT_CIS_CREATED 6239 * @param event packet 6240 * @return acl_con_handle 6241 * @note: btstack_type H 6242 */ 6243 static inline hci_con_handle_t gap_subevent_cis_created_get_acl_con_handle(const uint8_t * event){ 6244 return little_endian_read_16(event, 8); 6245 } 6246 /** 6247 * @brief Get field iso_interval_1250us from event GAP_SUBEVENT_CIS_CREATED 6248 * @param event packet 6249 * @return iso_interval_1250us 6250 * @note: btstack_type 2 6251 */ 6252 static inline uint16_t gap_subevent_cis_created_get_iso_interval_1250us(const uint8_t * event){ 6253 return little_endian_read_16(event, 10); 6254 } 6255 /** 6256 * @brief Get field number_of_subevents from event GAP_SUBEVENT_CIS_CREATED 6257 * @param event packet 6258 * @return number_of_subevents 6259 * @note: btstack_type 1 6260 */ 6261 static inline uint8_t gap_subevent_cis_created_get_number_of_subevents(const uint8_t * event){ 6262 return event[12]; 6263 } 6264 /** 6265 * @brief Get field burst_number_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6266 * @param event packet 6267 * @return burst_number_c_to_p 6268 * @note: btstack_type 1 6269 */ 6270 static inline uint8_t gap_subevent_cis_created_get_burst_number_c_to_p(const uint8_t * event){ 6271 return event[13]; 6272 } 6273 /** 6274 * @brief Get field burst_number_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6275 * @param event packet 6276 * @return burst_number_p_to_c 6277 * @note: btstack_type 1 6278 */ 6279 static inline uint8_t gap_subevent_cis_created_get_burst_number_p_to_c(const uint8_t * event){ 6280 return event[14]; 6281 } 6282 /** 6283 * @brief Get field flush_timeout_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6284 * @param event packet 6285 * @return flush_timeout_c_to_p 6286 * @note: btstack_type 1 6287 */ 6288 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_c_to_p(const uint8_t * event){ 6289 return event[15]; 6290 } 6291 /** 6292 * @brief Get field flush_timeout_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6293 * @param event packet 6294 * @return flush_timeout_p_to_c 6295 * @note: btstack_type 1 6296 */ 6297 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_p_to_c(const uint8_t * event){ 6298 return event[16]; 6299 } 6300 6301 /** 6302 * @brief Get field status from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6303 * @param event packet 6304 * @return status 6305 * @note: btstack_type 1 6306 */ 6307 static inline uint8_t gap_subevent_le_connection_complete_get_status(const uint8_t * event){ 6308 return event[3]; 6309 } 6310 /** 6311 * @brief Get field connection_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6312 * @param event packet 6313 * @return connection_handle 6314 * @note: btstack_type H 6315 */ 6316 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 6317 return little_endian_read_16(event, 4); 6318 } 6319 /** 6320 * @brief Get field role from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6321 * @param event packet 6322 * @return role 6323 * @note: btstack_type 1 6324 */ 6325 static inline uint8_t gap_subevent_le_connection_complete_get_role(const uint8_t * event){ 6326 return event[6]; 6327 } 6328 /** 6329 * @brief Get field peer_address_type from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6330 * @param event packet 6331 * @return peer_address_type 6332 * @note: btstack_type 1 6333 */ 6334 static inline uint8_t gap_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 6335 return event[7]; 6336 } 6337 /** 6338 * @brief Get field peer_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6339 * @param event packet 6340 * @param Pointer to storage for peer_address 6341 * @note: btstack_type B 6342 */ 6343 static inline void gap_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 6344 reverse_bytes(&event[8], peer_address, 6); 6345 } 6346 /** 6347 * @brief Get field local_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6348 * @param event packet 6349 * @param Pointer to storage for local_resolvable_private_address 6350 * @note: btstack_type B 6351 */ 6352 static inline void gap_subevent_le_connection_complete_get_local_resolvable_private_address(const uint8_t * event, bd_addr_t local_resolvable_private_address){ 6353 reverse_bytes(&event[14], local_resolvable_private_address, 6); 6354 } 6355 /** 6356 * @brief Get field peer_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6357 * @param event packet 6358 * @param Pointer to storage for peer_resolvable_private_address 6359 * @note: btstack_type B 6360 */ 6361 static inline void gap_subevent_le_connection_complete_get_peer_resolvable_private_address(const uint8_t * event, bd_addr_t peer_resolvable_private_address){ 6362 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 6363 } 6364 /** 6365 * @brief Get field conn_interval from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6366 * @param event packet 6367 * @return conn_interval 6368 * @note: btstack_type 2 6369 */ 6370 static inline uint16_t gap_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 6371 return little_endian_read_16(event, 26); 6372 } 6373 /** 6374 * @brief Get field conn_latency from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6375 * @param event packet 6376 * @return conn_latency 6377 * @note: btstack_type 2 6378 */ 6379 static inline uint16_t gap_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 6380 return little_endian_read_16(event, 28); 6381 } 6382 /** 6383 * @brief Get field supervision_timeout from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6384 * @param event packet 6385 * @return supervision_timeout 6386 * @note: btstack_type 2 6387 */ 6388 static inline uint16_t gap_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 6389 return little_endian_read_16(event, 30); 6390 } 6391 /** 6392 * @brief Get field master_clock_accuracy from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6393 * @param event packet 6394 * @return master_clock_accuracy 6395 * @note: btstack_type 1 6396 */ 6397 static inline uint8_t gap_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 6398 return event[32]; 6399 } 6400 /** 6401 * @brief Get field advertising_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6402 * @param event packet 6403 * @return advertising_handle 6404 * @note: btstack_type 1 6405 */ 6406 static inline uint8_t gap_subevent_le_connection_complete_get_advertising_handle(const uint8_t * event){ 6407 return event[33]; 6408 } 6409 /** 6410 * @brief Get field sync_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6411 * @param event packet 6412 * @return sync_handle 6413 * @note: btstack_type H 6414 */ 6415 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_sync_handle(const uint8_t * event){ 6416 return little_endian_read_16(event, 34); 6417 } 6418 6419 /** 6420 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6421 * @param event packet 6422 * @return acl_handle 6423 * @note: btstack_type H 6424 */ 6425 static inline hci_con_handle_t hsp_subevent_rfcomm_connection_complete_get_acl_handle(const uint8_t * event){ 6426 return little_endian_read_16(event, 3); 6427 } 6428 /** 6429 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6430 * @param event packet 6431 * @return status 6432 * @note: btstack_type 1 6433 */ 6434 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 6435 return event[5]; 6436 } 6437 /** 6438 * @brief Get field bd_addr from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6439 * @param event packet 6440 * @param Pointer to storage for bd_addr 6441 * @note: btstack_type B 6442 */ 6443 static inline void hsp_subevent_rfcomm_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6444 reverse_bytes(&event[6], bd_addr, 6); 6445 } 6446 6447 /** 6448 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 6449 * @param event packet 6450 * @return acl_handle 6451 * @note: btstack_type H 6452 */ 6453 static inline hci_con_handle_t hsp_subevent_rfcomm_disconnection_complete_get_acl_handle(const uint8_t * event){ 6454 return little_endian_read_16(event, 3); 6455 } 6456 6457 /** 6458 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6459 * @param event packet 6460 * @return acl_handle 6461 * @note: btstack_type H 6462 */ 6463 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_acl_handle(const uint8_t * event){ 6464 return little_endian_read_16(event, 3); 6465 } 6466 /** 6467 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6468 * @param event packet 6469 * @return status 6470 * @note: btstack_type 1 6471 */ 6472 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 6473 return event[5]; 6474 } 6475 /** 6476 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6477 * @param event packet 6478 * @return sco_handle 6479 * @note: btstack_type H 6480 */ 6481 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_sco_handle(const uint8_t * event){ 6482 return little_endian_read_16(event, 6); 6483 } 6484 6485 /** 6486 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6487 * @param event packet 6488 * @return acl_handle 6489 * @note: btstack_type H 6490 */ 6491 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_acl_handle(const uint8_t * event){ 6492 return little_endian_read_16(event, 3); 6493 } 6494 /** 6495 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6496 * @param event packet 6497 * @return sco_handle 6498 * @note: btstack_type H 6499 */ 6500 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_sco_handle(const uint8_t * event){ 6501 return little_endian_read_16(event, 5); 6502 } 6503 6504 /** 6505 * @brief Get field acl_handle from event HSP_SUBEVENT_RING 6506 * @param event packet 6507 * @return acl_handle 6508 * @note: btstack_type H 6509 */ 6510 static inline hci_con_handle_t hsp_subevent_ring_get_acl_handle(const uint8_t * event){ 6511 return little_endian_read_16(event, 3); 6512 } 6513 6514 /** 6515 * @brief Get field acl_handle from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6516 * @param event packet 6517 * @return acl_handle 6518 * @note: btstack_type H 6519 */ 6520 static inline hci_con_handle_t hsp_subevent_microphone_gain_changed_get_acl_handle(const uint8_t * event){ 6521 return little_endian_read_16(event, 3); 6522 } 6523 /** 6524 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6525 * @param event packet 6526 * @return gain 6527 * @note: btstack_type 1 6528 */ 6529 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 6530 return event[5]; 6531 } 6532 6533 /** 6534 * @brief Get field acl_handle from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6535 * @param event packet 6536 * @return acl_handle 6537 * @note: btstack_type H 6538 */ 6539 static inline hci_con_handle_t hsp_subevent_speaker_gain_changed_get_acl_handle(const uint8_t * event){ 6540 return little_endian_read_16(event, 3); 6541 } 6542 /** 6543 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6544 * @param event packet 6545 * @return gain 6546 * @note: btstack_type 1 6547 */ 6548 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 6549 return event[5]; 6550 } 6551 6552 /** 6553 * @brief Get field acl_handle from event HSP_SUBEVENT_HS_COMMAND 6554 * @param event packet 6555 * @return acl_handle 6556 * @note: btstack_type H 6557 */ 6558 static inline hci_con_handle_t hsp_subevent_hs_command_get_acl_handle(const uint8_t * event){ 6559 return little_endian_read_16(event, 3); 6560 } 6561 /** 6562 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 6563 * @param event packet 6564 * @return value_length 6565 * @note: btstack_type J 6566 */ 6567 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 6568 return event[5]; 6569 } 6570 /** 6571 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 6572 * @param event packet 6573 * @return value 6574 * @note: btstack_type V 6575 */ 6576 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 6577 return &event[6]; 6578 } 6579 6580 /** 6581 * @brief Get field acl_handle from event HSP_SUBEVENT_AG_INDICATION 6582 * @param event packet 6583 * @return acl_handle 6584 * @note: btstack_type H 6585 */ 6586 static inline hci_con_handle_t hsp_subevent_ag_indication_get_acl_handle(const uint8_t * event){ 6587 return little_endian_read_16(event, 3); 6588 } 6589 /** 6590 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 6591 * @param event packet 6592 * @return value_length 6593 * @note: btstack_type J 6594 */ 6595 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 6596 return event[5]; 6597 } 6598 /** 6599 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 6600 * @param event packet 6601 * @return value 6602 * @note: btstack_type V 6603 */ 6604 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 6605 return &event[6]; 6606 } 6607 6608 /** 6609 * @brief Get field acl_handle from event HSP_SUBEVENT_BUTTON_PRESSED 6610 * @param event packet 6611 * @return acl_handle 6612 * @note: btstack_type H 6613 */ 6614 static inline hci_con_handle_t hsp_subevent_button_pressed_get_acl_handle(const uint8_t * event){ 6615 return little_endian_read_16(event, 3); 6616 } 6617 6618 /** 6619 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6620 * @param event packet 6621 * @return acl_handle 6622 * @note: btstack_type H 6623 */ 6624 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_acl_handle(const uint8_t * event){ 6625 return little_endian_read_16(event, 3); 6626 } 6627 /** 6628 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6629 * @param event packet 6630 * @return status 6631 * @note: btstack_type 1 6632 */ 6633 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 6634 return event[5]; 6635 } 6636 /** 6637 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6638 * @param event packet 6639 * @param Pointer to storage for bd_addr 6640 * @note: btstack_type B 6641 */ 6642 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6643 reverse_bytes(&event[6], bd_addr, 6); 6644 } 6645 6646 /** 6647 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 6648 * @param event packet 6649 * @return acl_handle 6650 * @note: btstack_type H 6651 */ 6652 static inline hci_con_handle_t hfp_subevent_service_level_connection_released_get_acl_handle(const uint8_t * event){ 6653 return little_endian_read_16(event, 3); 6654 } 6655 6656 /** 6657 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6658 * @param event packet 6659 * @return acl_handle 6660 * @note: btstack_type H 6661 */ 6662 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_acl_handle(const uint8_t * event){ 6663 return little_endian_read_16(event, 3); 6664 } 6665 /** 6666 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6667 * @param event packet 6668 * @return status 6669 * @note: btstack_type 1 6670 */ 6671 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 6672 return event[5]; 6673 } 6674 /** 6675 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6676 * @param event packet 6677 * @return sco_handle 6678 * @note: btstack_type H 6679 */ 6680 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_sco_handle(const uint8_t * event){ 6681 return little_endian_read_16(event, 6); 6682 } 6683 /** 6684 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6685 * @param event packet 6686 * @param Pointer to storage for bd_addr 6687 * @note: btstack_type B 6688 */ 6689 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6690 reverse_bytes(&event[8], bd_addr, 6); 6691 } 6692 /** 6693 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6694 * @param event packet 6695 * @return negotiated_codec 6696 * @note: btstack_type 1 6697 */ 6698 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 6699 return event[14]; 6700 } 6701 /** 6702 * @brief Get field sco_packet_types from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6703 * @param event packet 6704 * @return sco_packet_types 6705 * @note: btstack_type 2 6706 */ 6707 static inline uint16_t hfp_subevent_audio_connection_established_get_sco_packet_types(const uint8_t * event){ 6708 return little_endian_read_16(event, 15); 6709 } 6710 /** 6711 * @brief Get field rx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6712 * @param event packet 6713 * @return rx_packet_length 6714 * @note: btstack_type 2 6715 */ 6716 static inline uint16_t hfp_subevent_audio_connection_established_get_rx_packet_length(const uint8_t * event){ 6717 return little_endian_read_16(event, 17); 6718 } 6719 /** 6720 * @brief Get field tx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6721 * @param event packet 6722 * @return tx_packet_length 6723 * @note: btstack_type 2 6724 */ 6725 static inline uint16_t hfp_subevent_audio_connection_established_get_tx_packet_length(const uint8_t * event){ 6726 return little_endian_read_16(event, 19); 6727 } 6728 6729 /** 6730 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6731 * @param event packet 6732 * @return acl_handle 6733 * @note: btstack_type H 6734 */ 6735 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_acl_handle(const uint8_t * event){ 6736 return little_endian_read_16(event, 3); 6737 } 6738 /** 6739 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6740 * @param event packet 6741 * @return sco_handle 6742 * @note: btstack_type H 6743 */ 6744 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_sco_handle(const uint8_t * event){ 6745 return little_endian_read_16(event, 5); 6746 } 6747 6748 /** 6749 * @brief Get field acl_handle from event HFP_SUBEVENT_COMPLETE 6750 * @param event packet 6751 * @return acl_handle 6752 * @note: btstack_type H 6753 */ 6754 static inline hci_con_handle_t hfp_subevent_complete_get_acl_handle(const uint8_t * event){ 6755 return little_endian_read_16(event, 3); 6756 } 6757 /** 6758 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 6759 * @param event packet 6760 * @return status 6761 * @note: btstack_type 1 6762 */ 6763 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 6764 return event[5]; 6765 } 6766 6767 /** 6768 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6769 * @param event packet 6770 * @return acl_handle 6771 * @note: btstack_type H 6772 */ 6773 static inline hci_con_handle_t hfp_subevent_ag_indicator_mapping_get_acl_handle(const uint8_t * event){ 6774 return little_endian_read_16(event, 3); 6775 } 6776 /** 6777 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6778 * @param event packet 6779 * @return indicator_index 6780 * @note: btstack_type 1 6781 */ 6782 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_index(const uint8_t * event){ 6783 return event[5]; 6784 } 6785 /** 6786 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6787 * @param event packet 6788 * @return indicator_min_range 6789 * @note: btstack_type 1 6790 */ 6791 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_min_range(const uint8_t * event){ 6792 return event[6]; 6793 } 6794 /** 6795 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6796 * @param event packet 6797 * @return indicator_max_range 6798 * @note: btstack_type 1 6799 */ 6800 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_max_range(const uint8_t * event){ 6801 return event[7]; 6802 } 6803 /** 6804 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6805 * @param event packet 6806 * @return indicator_name 6807 * @note: btstack_type T 6808 */ 6809 static inline const char * hfp_subevent_ag_indicator_mapping_get_indicator_name(const uint8_t * event){ 6810 return (const char *) &event[8]; 6811 } 6812 6813 /** 6814 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6815 * @param event packet 6816 * @return acl_handle 6817 * @note: btstack_type H 6818 */ 6819 static inline hci_con_handle_t hfp_subevent_ag_indicator_status_changed_get_acl_handle(const uint8_t * event){ 6820 return little_endian_read_16(event, 3); 6821 } 6822 /** 6823 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6824 * @param event packet 6825 * @return indicator_index 6826 * @note: btstack_type 1 6827 */ 6828 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 6829 return event[5]; 6830 } 6831 /** 6832 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6833 * @param event packet 6834 * @return indicator_status 6835 * @note: btstack_type 1 6836 */ 6837 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 6838 return event[6]; 6839 } 6840 /** 6841 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6842 * @param event packet 6843 * @return indicator_min_range 6844 * @note: btstack_type 1 6845 */ 6846 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 6847 return event[7]; 6848 } 6849 /** 6850 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6851 * @param event packet 6852 * @return indicator_max_range 6853 * @note: btstack_type 1 6854 */ 6855 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 6856 return event[8]; 6857 } 6858 /** 6859 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6860 * @param event packet 6861 * @return indicator_mandatory 6862 * @note: btstack_type 1 6863 */ 6864 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 6865 return event[9]; 6866 } 6867 /** 6868 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6869 * @param event packet 6870 * @return indicator_enabled 6871 * @note: btstack_type 1 6872 */ 6873 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 6874 return event[10]; 6875 } 6876 /** 6877 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6878 * @param event packet 6879 * @return indicator_status_changed 6880 * @note: btstack_type 1 6881 */ 6882 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 6883 return event[11]; 6884 } 6885 /** 6886 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6887 * @param event packet 6888 * @return indicator_name 6889 * @note: btstack_type T 6890 */ 6891 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 6892 return (const char *) &event[12]; 6893 } 6894 6895 /** 6896 * @brief Get field acl_handle from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6897 * @param event packet 6898 * @return acl_handle 6899 * @note: btstack_type H 6900 */ 6901 static inline hci_con_handle_t hfp_subevent_network_operator_changed_get_acl_handle(const uint8_t * event){ 6902 return little_endian_read_16(event, 3); 6903 } 6904 /** 6905 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6906 * @param event packet 6907 * @return network_operator_mode 6908 * @note: btstack_type 1 6909 */ 6910 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 6911 return event[5]; 6912 } 6913 /** 6914 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6915 * @param event packet 6916 * @return network_operator_format 6917 * @note: btstack_type 1 6918 */ 6919 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 6920 return event[6]; 6921 } 6922 /** 6923 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6924 * @param event packet 6925 * @return network_operator_name 6926 * @note: btstack_type T 6927 */ 6928 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 6929 return (const char *) &event[7]; 6930 } 6931 6932 /** 6933 * @brief Get field acl_handle from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6934 * @param event packet 6935 * @return acl_handle 6936 * @note: btstack_type H 6937 */ 6938 static inline hci_con_handle_t hfp_subevent_extended_audio_gateway_error_get_acl_handle(const uint8_t * event){ 6939 return little_endian_read_16(event, 3); 6940 } 6941 /** 6942 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6943 * @param event packet 6944 * @return error 6945 * @note: btstack_type 1 6946 */ 6947 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 6948 return event[5]; 6949 } 6950 6951 /** 6952 * @brief Get field acl_handle from event HFP_SUBEVENT_START_RINGING 6953 * @param event packet 6954 * @return acl_handle 6955 * @note: btstack_type H 6956 */ 6957 static inline hci_con_handle_t hfp_subevent_start_ringing_get_acl_handle(const uint8_t * event){ 6958 return little_endian_read_16(event, 3); 6959 } 6960 6961 /** 6962 * @brief Get field acl_handle from event HFP_SUBEVENT_RING 6963 * @param event packet 6964 * @return acl_handle 6965 * @note: btstack_type H 6966 */ 6967 static inline hci_con_handle_t hfp_subevent_ring_get_acl_handle(const uint8_t * event){ 6968 return little_endian_read_16(event, 3); 6969 } 6970 6971 /** 6972 * @brief Get field acl_handle from event HFP_SUBEVENT_STOP_RINGING 6973 * @param event packet 6974 * @return acl_handle 6975 * @note: btstack_type H 6976 */ 6977 static inline hci_con_handle_t hfp_subevent_stop_ringing_get_acl_handle(const uint8_t * event){ 6978 return little_endian_read_16(event, 3); 6979 } 6980 6981 /** 6982 * @brief Get field acl_handle from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6983 * @param event packet 6984 * @return acl_handle 6985 * @note: btstack_type H 6986 */ 6987 static inline hci_con_handle_t hfp_subevent_place_call_with_number_get_acl_handle(const uint8_t * event){ 6988 return little_endian_read_16(event, 3); 6989 } 6990 /** 6991 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6992 * @param event packet 6993 * @return number 6994 * @note: btstack_type T 6995 */ 6996 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 6997 return (const char *) &event[5]; 6998 } 6999 7000 /** 7001 * @brief Get field acl_handle from event HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 7002 * @param event packet 7003 * @return acl_handle 7004 * @note: btstack_type H 7005 */ 7006 static inline hci_con_handle_t hfp_subevent_attach_number_to_voice_tag_get_acl_handle(const uint8_t * event){ 7007 return little_endian_read_16(event, 3); 7008 } 7009 7010 /** 7011 * @brief Get field acl_handle from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 7012 * @param event packet 7013 * @return acl_handle 7014 * @note: btstack_type H 7015 */ 7016 static inline hci_con_handle_t hfp_subevent_number_for_voice_tag_get_acl_handle(const uint8_t * event){ 7017 return little_endian_read_16(event, 3); 7018 } 7019 /** 7020 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 7021 * @param event packet 7022 * @return number 7023 * @note: btstack_type T 7024 */ 7025 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 7026 return (const char *) &event[5]; 7027 } 7028 7029 /** 7030 * @brief Get field acl_handle from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 7031 * @param event packet 7032 * @return acl_handle 7033 * @note: btstack_type H 7034 */ 7035 static inline hci_con_handle_t hfp_subevent_transmit_dtmf_codes_get_acl_handle(const uint8_t * event){ 7036 return little_endian_read_16(event, 3); 7037 } 7038 /** 7039 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 7040 * @param event packet 7041 * @return dtmf 7042 * @note: btstack_type T 7043 */ 7044 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 7045 return (const char *) &event[5]; 7046 } 7047 7048 /** 7049 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_ANSWERED 7050 * @param event packet 7051 * @return acl_handle 7052 * @note: btstack_type H 7053 */ 7054 static inline hci_con_handle_t hfp_subevent_call_answered_get_acl_handle(const uint8_t * event){ 7055 return little_endian_read_16(event, 3); 7056 } 7057 7058 /** 7059 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_TERMINATED 7060 * @param event packet 7061 * @return acl_handle 7062 * @note: btstack_type H 7063 */ 7064 static inline hci_con_handle_t hfp_subevent_call_terminated_get_acl_handle(const uint8_t * event){ 7065 return little_endian_read_16(event, 3); 7066 } 7067 7068 /** 7069 * @brief Get field acl_handle from event HFP_SUBEVENT_CONFERENCE_CALL 7070 * @param event packet 7071 * @return acl_handle 7072 * @note: btstack_type H 7073 */ 7074 static inline hci_con_handle_t hfp_subevent_conference_call_get_acl_handle(const uint8_t * event){ 7075 return little_endian_read_16(event, 3); 7076 } 7077 7078 /** 7079 * @brief Get field acl_handle from event HFP_SUBEVENT_SPEAKER_VOLUME 7080 * @param event packet 7081 * @return acl_handle 7082 * @note: btstack_type H 7083 */ 7084 static inline hci_con_handle_t hfp_subevent_speaker_volume_get_acl_handle(const uint8_t * event){ 7085 return little_endian_read_16(event, 3); 7086 } 7087 /** 7088 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 7089 * @param event packet 7090 * @return gain 7091 * @note: btstack_type 1 7092 */ 7093 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 7094 return event[5]; 7095 } 7096 7097 /** 7098 * @brief Get field acl_handle from event HFP_SUBEVENT_MICROPHONE_VOLUME 7099 * @param event packet 7100 * @return acl_handle 7101 * @note: btstack_type H 7102 */ 7103 static inline hci_con_handle_t hfp_subevent_microphone_volume_get_acl_handle(const uint8_t * event){ 7104 return little_endian_read_16(event, 3); 7105 } 7106 /** 7107 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 7108 * @param event packet 7109 * @return gain 7110 * @note: btstack_type 1 7111 */ 7112 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 7113 return event[5]; 7114 } 7115 7116 /** 7117 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7118 * @param event packet 7119 * @return acl_handle 7120 * @note: btstack_type H 7121 */ 7122 static inline hci_con_handle_t hfp_subevent_call_waiting_notification_get_acl_handle(const uint8_t * event){ 7123 return little_endian_read_16(event, 3); 7124 } 7125 /** 7126 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7127 * @param event packet 7128 * @return type 7129 * @note: btstack_type 1 7130 */ 7131 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 7132 return event[5]; 7133 } 7134 /** 7135 * @brief Get field number_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7136 * @param event packet 7137 * @return number_length 7138 * @note: btstack_type J 7139 */ 7140 static inline uint8_t hfp_subevent_call_waiting_notification_get_number_length(const uint8_t * event){ 7141 return event[6]; 7142 } 7143 /** 7144 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7145 * @param event packet 7146 * @return number 7147 * @note: btstack_type V 7148 */ 7149 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 7150 return &event[7]; 7151 } 7152 /** 7153 * @brief Get field alpha_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7154 * @param event packet 7155 * @return alpha_length 7156 * @note: btstack_type J 7157 */ 7158 static inline uint8_t hfp_subevent_call_waiting_notification_get_alpha_length(const uint8_t * event){ 7159 return event[7u + event[6]]; 7160 } 7161 /** 7162 * @brief Get field alpha from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7163 * @param event packet 7164 * @return alpha 7165 * @note: btstack_type V 7166 */ 7167 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_alpha(const uint8_t * event){ 7168 return &event[7u + event[6] + 1u]; 7169 } 7170 7171 /** 7172 * @brief Get field acl_handle from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7173 * @param event packet 7174 * @return acl_handle 7175 * @note: btstack_type H 7176 */ 7177 static inline hci_con_handle_t hfp_subevent_calling_line_identification_notification_get_acl_handle(const uint8_t * event){ 7178 return little_endian_read_16(event, 3); 7179 } 7180 /** 7181 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7182 * @param event packet 7183 * @return type 7184 * @note: btstack_type 1 7185 */ 7186 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 7187 return event[5]; 7188 } 7189 /** 7190 * @brief Get field number_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7191 * @param event packet 7192 * @return number_length 7193 * @note: btstack_type J 7194 */ 7195 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_number_length(const uint8_t * event){ 7196 return event[6]; 7197 } 7198 /** 7199 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7200 * @param event packet 7201 * @return number 7202 * @note: btstack_type V 7203 */ 7204 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 7205 return &event[7]; 7206 } 7207 /** 7208 * @brief Get field alpha_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7209 * @param event packet 7210 * @return alpha_length 7211 * @note: btstack_type J 7212 */ 7213 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_alpha_length(const uint8_t * event){ 7214 return event[7u + event[6]]; 7215 } 7216 /** 7217 * @brief Get field alpha from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7218 * @param event packet 7219 * @return alpha 7220 * @note: btstack_type V 7221 */ 7222 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_alpha(const uint8_t * event){ 7223 return &event[7u + event[6] + 1u]; 7224 } 7225 7226 /** 7227 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7228 * @param event packet 7229 * @return acl_handle 7230 * @note: btstack_type H 7231 */ 7232 static inline hci_con_handle_t hfp_subevent_enhanced_call_status_get_acl_handle(const uint8_t * event){ 7233 return little_endian_read_16(event, 3); 7234 } 7235 /** 7236 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7237 * @param event packet 7238 * @return clcc_idx 7239 * @note: btstack_type 1 7240 */ 7241 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 7242 return event[5]; 7243 } 7244 /** 7245 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7246 * @param event packet 7247 * @return clcc_dir 7248 * @note: btstack_type 1 7249 */ 7250 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 7251 return event[6]; 7252 } 7253 /** 7254 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7255 * @param event packet 7256 * @return clcc_status 7257 * @note: btstack_type 1 7258 */ 7259 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 7260 return event[7]; 7261 } 7262 /** 7263 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7264 * @param event packet 7265 * @return clcc_mode 7266 * @note: btstack_type 1 7267 */ 7268 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 7269 return event[8]; 7270 } 7271 /** 7272 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7273 * @param event packet 7274 * @return clcc_mpty 7275 * @note: btstack_type 1 7276 */ 7277 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 7278 return event[9]; 7279 } 7280 /** 7281 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7282 * @param event packet 7283 * @return bnip_type 7284 * @note: btstack_type 1 7285 */ 7286 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 7287 return event[10]; 7288 } 7289 /** 7290 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7291 * @param event packet 7292 * @return bnip_number 7293 * @note: btstack_type T 7294 */ 7295 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 7296 return (const char *) &event[11]; 7297 } 7298 7299 /** 7300 * @brief Get field acl_handle from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7301 * @param event packet 7302 * @return acl_handle 7303 * @note: btstack_type H 7304 */ 7305 static inline hci_con_handle_t hfp_subevent_subscriber_number_information_get_acl_handle(const uint8_t * event){ 7306 return little_endian_read_16(event, 3); 7307 } 7308 /** 7309 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7310 * @param event packet 7311 * @return status 7312 * @note: btstack_type 1 7313 */ 7314 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 7315 return event[5]; 7316 } 7317 /** 7318 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7319 * @param event packet 7320 * @return bnip_type 7321 * @note: btstack_type 1 7322 */ 7323 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 7324 return event[6]; 7325 } 7326 /** 7327 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7328 * @param event packet 7329 * @return bnip_number 7330 * @note: btstack_type T 7331 */ 7332 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 7333 return (const char *) &event[7]; 7334 } 7335 7336 /** 7337 * @brief Get field acl_handle from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7338 * @param event packet 7339 * @return acl_handle 7340 * @note: btstack_type H 7341 */ 7342 static inline hci_con_handle_t hfp_subevent_response_and_hold_status_get_acl_handle(const uint8_t * event){ 7343 return little_endian_read_16(event, 3); 7344 } 7345 /** 7346 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7347 * @param event packet 7348 * @return value 7349 * @note: btstack_type T 7350 */ 7351 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 7352 return (const char *) &event[5]; 7353 } 7354 7355 /** 7356 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_SENT 7357 * @param event packet 7358 * @return acl_handle 7359 * @note: btstack_type H 7360 */ 7361 static inline hci_con_handle_t hfp_subevent_at_message_sent_get_acl_handle(const uint8_t * event){ 7362 return little_endian_read_16(event, 3); 7363 } 7364 /** 7365 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_SENT 7366 * @param event packet 7367 * @return command 7368 * @note: btstack_type T 7369 */ 7370 static inline const char * hfp_subevent_at_message_sent_get_command(const uint8_t * event){ 7371 return (const char *) &event[5]; 7372 } 7373 7374 /** 7375 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7376 * @param event packet 7377 * @return acl_handle 7378 * @note: btstack_type H 7379 */ 7380 static inline hci_con_handle_t hfp_subevent_at_message_received_get_acl_handle(const uint8_t * event){ 7381 return little_endian_read_16(event, 3); 7382 } 7383 /** 7384 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7385 * @param event packet 7386 * @return command 7387 * @note: btstack_type T 7388 */ 7389 static inline const char * hfp_subevent_at_message_received_get_command(const uint8_t * event){ 7390 return (const char *) &event[5]; 7391 } 7392 7393 /** 7394 * @brief Get field acl_handle from event HFP_SUBEVENT_IN_BAND_RING_TONE 7395 * @param event packet 7396 * @return acl_handle 7397 * @note: btstack_type H 7398 */ 7399 static inline hci_con_handle_t hfp_subevent_in_band_ring_tone_get_acl_handle(const uint8_t * event){ 7400 return little_endian_read_16(event, 3); 7401 } 7402 /** 7403 * @brief Get field status from event HFP_SUBEVENT_IN_BAND_RING_TONE 7404 * @param event packet 7405 * @return status 7406 * @note: btstack_type 1 7407 */ 7408 static inline uint8_t hfp_subevent_in_band_ring_tone_get_status(const uint8_t * event){ 7409 return event[5]; 7410 } 7411 7412 /** 7413 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7414 * @param event packet 7415 * @return acl_handle 7416 * @note: btstack_type H 7417 */ 7418 static inline hci_con_handle_t hfp_subevent_voice_recognition_activated_get_acl_handle(const uint8_t * event){ 7419 return little_endian_read_16(event, 3); 7420 } 7421 /** 7422 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7423 * @param event packet 7424 * @return status 7425 * @note: btstack_type 1 7426 */ 7427 static inline uint8_t hfp_subevent_voice_recognition_activated_get_status(const uint8_t * event){ 7428 return event[5]; 7429 } 7430 /** 7431 * @brief Get field enhanced from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7432 * @param event packet 7433 * @return enhanced 7434 * @note: btstack_type 1 7435 */ 7436 static inline uint8_t hfp_subevent_voice_recognition_activated_get_enhanced(const uint8_t * event){ 7437 return event[6]; 7438 } 7439 7440 /** 7441 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7442 * @param event packet 7443 * @return acl_handle 7444 * @note: btstack_type H 7445 */ 7446 static inline hci_con_handle_t hfp_subevent_voice_recognition_deactivated_get_acl_handle(const uint8_t * event){ 7447 return little_endian_read_16(event, 3); 7448 } 7449 /** 7450 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7451 * @param event packet 7452 * @return status 7453 * @note: btstack_type 1 7454 */ 7455 static inline uint8_t hfp_subevent_voice_recognition_deactivated_get_status(const uint8_t * event){ 7456 return event[5]; 7457 } 7458 7459 /** 7460 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7461 * @param event packet 7462 * @return acl_handle 7463 * @note: btstack_type H 7464 */ 7465 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_acl_handle(const uint8_t * event){ 7466 return little_endian_read_16(event, 3); 7467 } 7468 /** 7469 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7470 * @param event packet 7471 * @return status 7472 * @note: btstack_type 1 7473 */ 7474 static inline uint8_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_status(const uint8_t * event){ 7475 return event[5]; 7476 } 7477 7478 /** 7479 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7480 * @param event packet 7481 * @return acl_handle 7482 * @note: btstack_type H 7483 */ 7484 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_acl_handle(const uint8_t * event){ 7485 return little_endian_read_16(event, 3); 7486 } 7487 /** 7488 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7489 * @param event packet 7490 * @return status 7491 * @note: btstack_type 1 7492 */ 7493 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_status(const uint8_t * event){ 7494 return event[5]; 7495 } 7496 7497 /** 7498 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7499 * @param event packet 7500 * @return acl_handle 7501 * @note: btstack_type H 7502 */ 7503 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_acl_handle(const uint8_t * event){ 7504 return little_endian_read_16(event, 3); 7505 } 7506 /** 7507 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7508 * @param event packet 7509 * @return status 7510 * @note: btstack_type 1 7511 */ 7512 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_status(const uint8_t * event){ 7513 return event[5]; 7514 } 7515 7516 /** 7517 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7518 * @param event packet 7519 * @return acl_handle 7520 * @note: btstack_type H 7521 */ 7522 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_acl_handle(const uint8_t * event){ 7523 return little_endian_read_16(event, 3); 7524 } 7525 /** 7526 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7527 * @param event packet 7528 * @return status 7529 * @note: btstack_type 1 7530 */ 7531 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_status(const uint8_t * event){ 7532 return event[5]; 7533 } 7534 7535 /** 7536 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7537 * @param event packet 7538 * @return acl_handle 7539 * @note: btstack_type H 7540 */ 7541 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_acl_handle(const uint8_t * event){ 7542 return little_endian_read_16(event, 3); 7543 } 7544 /** 7545 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7546 * @param event packet 7547 * @return status 7548 * @note: btstack_type 1 7549 */ 7550 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_status(const uint8_t * event){ 7551 return event[5]; 7552 } 7553 7554 /** 7555 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7556 * @param event packet 7557 * @return acl_handle 7558 * @note: btstack_type H 7559 */ 7560 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_get_acl_handle(const uint8_t * event){ 7561 return little_endian_read_16(event, 3); 7562 } 7563 /** 7564 * @brief Get field text_id from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7565 * @param event packet 7566 * @return text_id 7567 * @note: btstack_type 2 7568 */ 7569 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_id(const uint8_t * event){ 7570 return little_endian_read_16(event, 5); 7571 } 7572 /** 7573 * @brief Get field text_type from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7574 * @param event packet 7575 * @return text_type 7576 * @note: btstack_type 1 7577 */ 7578 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_type(const uint8_t * event){ 7579 return event[7]; 7580 } 7581 /** 7582 * @brief Get field text_operation from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7583 * @param event packet 7584 * @return text_operation 7585 * @note: btstack_type 1 7586 */ 7587 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_operation(const uint8_t * event){ 7588 return event[8]; 7589 } 7590 /** 7591 * @brief Get field text_length from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7592 * @param event packet 7593 * @return text_length 7594 * @note: btstack_type L 7595 */ 7596 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_length(const uint8_t * event){ 7597 return little_endian_read_16(event, 9); 7598 } 7599 /** 7600 * @brief Get field text from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7601 * @param event packet 7602 * @return text 7603 * @note: btstack_type V 7604 */ 7605 static inline const uint8_t * hfp_subevent_enhanced_voice_recognition_ag_message_get_text(const uint8_t * event){ 7606 return &event[11]; 7607 } 7608 7609 /** 7610 * @brief Get field acl_handle from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7611 * @param event packet 7612 * @return acl_handle 7613 * @note: btstack_type H 7614 */ 7615 static inline hci_con_handle_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_acl_handle(const uint8_t * event){ 7616 return little_endian_read_16(event, 3); 7617 } 7618 /** 7619 * @brief Get field status from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7620 * @param event packet 7621 * @return status 7622 * @note: btstack_type 1 7623 */ 7624 static inline uint8_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_status(const uint8_t * event){ 7625 return event[5]; 7626 } 7627 7628 /** 7629 * @brief Get field acl_handle from event HFP_SUBEVENT_HF_INDICATOR 7630 * @param event packet 7631 * @return acl_handle 7632 * @note: btstack_type H 7633 */ 7634 static inline hci_con_handle_t hfp_subevent_hf_indicator_get_acl_handle(const uint8_t * event){ 7635 return little_endian_read_16(event, 3); 7636 } 7637 /** 7638 * @brief Get field uuid from event HFP_SUBEVENT_HF_INDICATOR 7639 * @param event packet 7640 * @return uuid 7641 * @note: btstack_type 2 7642 */ 7643 static inline uint16_t hfp_subevent_hf_indicator_get_uuid(const uint8_t * event){ 7644 return little_endian_read_16(event, 5); 7645 } 7646 /** 7647 * @brief Get field value from event HFP_SUBEVENT_HF_INDICATOR 7648 * @param event packet 7649 * @return value 7650 * @note: btstack_type 1 7651 */ 7652 static inline uint8_t hfp_subevent_hf_indicator_get_value(const uint8_t * event){ 7653 return event[7]; 7654 } 7655 7656 /** 7657 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7658 * @param event packet 7659 * @return acl_handle 7660 * @note: btstack_type H 7661 */ 7662 static inline hci_con_handle_t hfp_subevent_custom_at_command_get_acl_handle(const uint8_t * event){ 7663 return little_endian_read_16(event, 3); 7664 } 7665 /** 7666 * @brief Get field command_id from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7667 * @param event packet 7668 * @return command_id 7669 * @note: btstack_type 2 7670 */ 7671 static inline uint16_t hfp_subevent_custom_at_command_get_command_id(const uint8_t * event){ 7672 return little_endian_read_16(event, 5); 7673 } 7674 /** 7675 * @brief Get field command_string from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7676 * @param event packet 7677 * @return command_string 7678 * @note: btstack_type T 7679 */ 7680 static inline const char * hfp_subevent_custom_at_command_get_command_string(const uint8_t * event){ 7681 return (const char *) &event[7]; 7682 } 7683 7684 /** 7685 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7686 * @param event packet 7687 * @return acl_handle 7688 * @note: btstack_type H 7689 */ 7690 static inline hci_con_handle_t hfp_subevent_custom_at_message_sent_get_acl_handle(const uint8_t * event){ 7691 return little_endian_read_16(event, 3); 7692 } 7693 /** 7694 * @brief Get field status from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7695 * @param event packet 7696 * @return status 7697 * @note: btstack_type 1 7698 */ 7699 static inline uint8_t hfp_subevent_custom_at_message_sent_get_status(const uint8_t * event){ 7700 return event[5]; 7701 } 7702 7703 /** 7704 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7705 * @param event packet 7706 * @return acl_handle 7707 * @note: btstack_type H 7708 */ 7709 static inline hci_con_handle_t hfp_subevent_apple_extension_supported_get_acl_handle(const uint8_t * event){ 7710 return little_endian_read_16(event, 3); 7711 } 7712 /** 7713 * @brief Get field supported from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7714 * @param event packet 7715 * @return supported 7716 * @note: btstack_type 1 7717 */ 7718 static inline uint8_t hfp_subevent_apple_extension_supported_get_supported(const uint8_t * event){ 7719 return event[5]; 7720 } 7721 7722 /** 7723 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7724 * @param event packet 7725 * @return acl_handle 7726 * @note: btstack_type H 7727 */ 7728 static inline hci_con_handle_t hfp_subevent_apple_accessory_information_get_acl_handle(const uint8_t * event){ 7729 return little_endian_read_16(event, 3); 7730 } 7731 /** 7732 * @brief Get field vendor_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7733 * @param event packet 7734 * @return vendor_id 7735 * @note: btstack_type 2 7736 */ 7737 static inline uint16_t hfp_subevent_apple_accessory_information_get_vendor_id(const uint8_t * event){ 7738 return little_endian_read_16(event, 5); 7739 } 7740 /** 7741 * @brief Get field product_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7742 * @param event packet 7743 * @return product_id 7744 * @note: btstack_type 2 7745 */ 7746 static inline uint16_t hfp_subevent_apple_accessory_information_get_product_id(const uint8_t * event){ 7747 return little_endian_read_16(event, 7); 7748 } 7749 /** 7750 * @brief Get field features from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7751 * @param event packet 7752 * @return features 7753 * @note: btstack_type 1 7754 */ 7755 static inline uint8_t hfp_subevent_apple_accessory_information_get_features(const uint8_t * event){ 7756 return event[9]; 7757 } 7758 /** 7759 * @brief Get field version_len from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7760 * @param event packet 7761 * @return version_len 7762 * @note: btstack_type J 7763 */ 7764 static inline uint8_t hfp_subevent_apple_accessory_information_get_version_len(const uint8_t * event){ 7765 return event[10]; 7766 } 7767 /** 7768 * @brief Get field version from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7769 * @param event packet 7770 * @return version 7771 * @note: btstack_type V 7772 */ 7773 static inline const uint8_t * hfp_subevent_apple_accessory_information_get_version(const uint8_t * event){ 7774 return &event[11]; 7775 } 7776 7777 /** 7778 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7779 * @param event packet 7780 * @return acl_handle 7781 * @note: btstack_type H 7782 */ 7783 static inline hci_con_handle_t hfp_subevent_apple_battery_level_get_acl_handle(const uint8_t * event){ 7784 return little_endian_read_16(event, 3); 7785 } 7786 /** 7787 * @brief Get field battery_level from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7788 * @param event packet 7789 * @return battery_level 7790 * @note: btstack_type 1 7791 */ 7792 static inline uint8_t hfp_subevent_apple_battery_level_get_battery_level(const uint8_t * event){ 7793 return event[5]; 7794 } 7795 7796 /** 7797 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7798 * @param event packet 7799 * @return acl_handle 7800 * @note: btstack_type H 7801 */ 7802 static inline hci_con_handle_t hfp_subevent_apple_docked_state_get_acl_handle(const uint8_t * event){ 7803 return little_endian_read_16(event, 3); 7804 } 7805 /** 7806 * @brief Get field docket from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7807 * @param event packet 7808 * @return docket 7809 * @note: btstack_type 1 7810 */ 7811 static inline uint8_t hfp_subevent_apple_docked_state_get_docket(const uint8_t * event){ 7812 return event[5]; 7813 } 7814 7815 #ifdef ENABLE_BLE 7816 /** 7817 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 7818 * @param event packet 7819 * @return handle 7820 * @note: btstack_type H 7821 */ 7822 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 7823 return little_endian_read_16(event, 3); 7824 } 7825 #endif 7826 7827 #ifdef ENABLE_BLE 7828 /** 7829 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7830 * @param event packet 7831 * @return handle 7832 * @note: btstack_type H 7833 */ 7834 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 7835 return little_endian_read_16(event, 3); 7836 } 7837 /** 7838 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7839 * @param event packet 7840 * @return attribute_id 7841 * @note: btstack_type 2 7842 */ 7843 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 7844 return little_endian_read_16(event, 5); 7845 } 7846 /** 7847 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7848 * @param event packet 7849 * @return text 7850 * @note: btstack_type T 7851 */ 7852 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 7853 return (const char *) &event[7]; 7854 } 7855 #endif 7856 7857 #ifdef ENABLE_BLE 7858 /** 7859 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 7860 * @param event packet 7861 * @return handle 7862 * @note: btstack_type H 7863 */ 7864 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 7865 return little_endian_read_16(event, 3); 7866 } 7867 #endif 7868 7869 /** 7870 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7871 * @param event packet 7872 * @return avdtp_cid 7873 * @note: btstack_type 2 7874 */ 7875 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 7876 return little_endian_read_16(event, 3); 7877 } 7878 /** 7879 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7880 * @param event packet 7881 * @return local_seid 7882 * @note: btstack_type 1 7883 */ 7884 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 7885 return event[5]; 7886 } 7887 /** 7888 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7889 * @param event packet 7890 * @return is_initiator 7891 * @note: btstack_type 1 7892 */ 7893 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 7894 return event[6]; 7895 } 7896 /** 7897 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7898 * @param event packet 7899 * @return signal_identifier 7900 * @note: btstack_type 1 7901 */ 7902 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 7903 return event[7]; 7904 } 7905 7906 /** 7907 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7908 * @param event packet 7909 * @return avdtp_cid 7910 * @note: btstack_type 2 7911 */ 7912 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 7913 return little_endian_read_16(event, 3); 7914 } 7915 /** 7916 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7917 * @param event packet 7918 * @return local_seid 7919 * @note: btstack_type 1 7920 */ 7921 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 7922 return event[5]; 7923 } 7924 /** 7925 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 7926 * @param event packet 7927 * @return is_initiator 7928 * @note: btstack_type 1 7929 */ 7930 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 7931 return event[6]; 7932 } 7933 /** 7934 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 7935 * @param event packet 7936 * @return signal_identifier 7937 * @note: btstack_type 1 7938 */ 7939 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 7940 return event[7]; 7941 } 7942 7943 /** 7944 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7945 * @param event packet 7946 * @return avdtp_cid 7947 * @note: btstack_type 2 7948 */ 7949 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 7950 return little_endian_read_16(event, 3); 7951 } 7952 /** 7953 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7954 * @param event packet 7955 * @return local_seid 7956 * @note: btstack_type 1 7957 */ 7958 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 7959 return event[5]; 7960 } 7961 /** 7962 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7963 * @param event packet 7964 * @return is_initiator 7965 * @note: btstack_type 1 7966 */ 7967 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 7968 return event[6]; 7969 } 7970 /** 7971 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7972 * @param event packet 7973 * @return signal_identifier 7974 * @note: btstack_type 1 7975 */ 7976 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 7977 return event[7]; 7978 } 7979 7980 /** 7981 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7982 * @param event packet 7983 * @return avdtp_cid 7984 * @note: btstack_type 2 7985 */ 7986 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 7987 return little_endian_read_16(event, 3); 7988 } 7989 /** 7990 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7991 * @param event packet 7992 * @param Pointer to storage for bd_addr 7993 * @note: btstack_type B 7994 */ 7995 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7996 reverse_bytes(&event[5], bd_addr, 6); 7997 } 7998 /** 7999 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 8000 * @param event packet 8001 * @return con_handle 8002 * @note: btstack_type 2 8003 */ 8004 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 8005 return little_endian_read_16(event, 11); 8006 } 8007 /** 8008 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 8009 * @param event packet 8010 * @return status 8011 * @note: btstack_type 1 8012 */ 8013 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 8014 return event[13]; 8015 } 8016 8017 /** 8018 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 8019 * @param event packet 8020 * @return avdtp_cid 8021 * @note: btstack_type 2 8022 */ 8023 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 8024 return little_endian_read_16(event, 3); 8025 } 8026 8027 /** 8028 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8029 * @param event packet 8030 * @return avdtp_cid 8031 * @note: btstack_type 2 8032 */ 8033 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 8034 return little_endian_read_16(event, 3); 8035 } 8036 /** 8037 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8038 * @param event packet 8039 * @return remote_seid 8040 * @note: btstack_type 1 8041 */ 8042 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 8043 return event[5]; 8044 } 8045 /** 8046 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8047 * @param event packet 8048 * @return in_use 8049 * @note: btstack_type 1 8050 */ 8051 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 8052 return event[6]; 8053 } 8054 /** 8055 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8056 * @param event packet 8057 * @return media_type 8058 * @note: btstack_type 1 8059 */ 8060 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 8061 return event[7]; 8062 } 8063 /** 8064 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8065 * @param event packet 8066 * @return sep_type 8067 * @note: btstack_type 1 8068 */ 8069 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 8070 return event[8]; 8071 } 8072 8073 /** 8074 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8075 * @param event packet 8076 * @return avdtp_cid 8077 * @note: btstack_type 2 8078 */ 8079 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 8080 return little_endian_read_16(event, 3); 8081 } 8082 /** 8083 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8084 * @param event packet 8085 * @return remote_seid 8086 * @note: btstack_type 1 8087 */ 8088 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 8089 return event[5]; 8090 } 8091 /** 8092 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8093 * @param event packet 8094 * @return media_type 8095 * @note: btstack_type 1 8096 */ 8097 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 8098 return event[6]; 8099 } 8100 /** 8101 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8102 * @param event packet 8103 * @return sampling_frequency_bitmap 8104 * @note: btstack_type 1 8105 */ 8106 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8107 return event[7]; 8108 } 8109 /** 8110 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8111 * @param event packet 8112 * @return channel_mode_bitmap 8113 * @note: btstack_type 1 8114 */ 8115 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 8116 return event[8]; 8117 } 8118 /** 8119 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8120 * @param event packet 8121 * @return block_length_bitmap 8122 * @note: btstack_type 1 8123 */ 8124 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 8125 return event[9]; 8126 } 8127 /** 8128 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8129 * @param event packet 8130 * @return subbands_bitmap 8131 * @note: btstack_type 1 8132 */ 8133 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 8134 return event[10]; 8135 } 8136 /** 8137 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8138 * @param event packet 8139 * @return allocation_method_bitmap 8140 * @note: btstack_type 1 8141 */ 8142 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 8143 return event[11]; 8144 } 8145 /** 8146 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8147 * @param event packet 8148 * @return min_bitpool_value 8149 * @note: btstack_type 1 8150 */ 8151 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 8152 return event[12]; 8153 } 8154 /** 8155 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8156 * @param event packet 8157 * @return max_bitpool_value 8158 * @note: btstack_type 1 8159 */ 8160 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 8161 return event[13]; 8162 } 8163 8164 /** 8165 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8166 * @param event packet 8167 * @return avdtp_cid 8168 * @note: btstack_type 2 8169 */ 8170 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ 8171 return little_endian_read_16(event, 3); 8172 } 8173 /** 8174 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8175 * @param event packet 8176 * @return remote_seid 8177 * @note: btstack_type 1 8178 */ 8179 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 8180 return event[5]; 8181 } 8182 /** 8183 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8184 * @param event packet 8185 * @return media_type 8186 * @note: btstack_type 1 8187 */ 8188 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 8189 return event[6]; 8190 } 8191 /** 8192 * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8193 * @param event packet 8194 * @return layer_bitmap 8195 * @note: btstack_type 1 8196 */ 8197 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 8198 return event[7]; 8199 } 8200 /** 8201 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8202 * @param event packet 8203 * @return crc 8204 * @note: btstack_type 1 8205 */ 8206 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 8207 return event[8]; 8208 } 8209 /** 8210 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8211 * @param event packet 8212 * @return channel_mode_bitmap 8213 * @note: btstack_type 1 8214 */ 8215 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 8216 return event[9]; 8217 } 8218 /** 8219 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8220 * @param event packet 8221 * @return media_payload_format 8222 * @note: btstack_type 1 8223 */ 8224 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 8225 return event[10]; 8226 } 8227 /** 8228 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8229 * @param event packet 8230 * @return sampling_frequency_bitmap 8231 * @note: btstack_type 1 8232 */ 8233 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8234 return event[11]; 8235 } 8236 /** 8237 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8238 * @param event packet 8239 * @return vbr 8240 * @note: btstack_type 1 8241 */ 8242 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 8243 return event[12]; 8244 } 8245 /** 8246 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8247 * @param event packet 8248 * @return bit_rate_index_bitmap 8249 * @note: btstack_type 2 8250 */ 8251 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8252 return little_endian_read_16(event, 13); 8253 } 8254 8255 /** 8256 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8257 * @param event packet 8258 * @return avdtp_cid 8259 * @note: btstack_type 2 8260 */ 8261 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ 8262 return little_endian_read_16(event, 3); 8263 } 8264 /** 8265 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8266 * @param event packet 8267 * @return remote_seid 8268 * @note: btstack_type 1 8269 */ 8270 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 8271 return event[5]; 8272 } 8273 /** 8274 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8275 * @param event packet 8276 * @return media_type 8277 * @note: btstack_type 1 8278 */ 8279 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 8280 return event[6]; 8281 } 8282 /** 8283 * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8284 * @param event packet 8285 * @return object_type_bitmap 8286 * @note: btstack_type 1 8287 */ 8288 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 8289 return event[7]; 8290 } 8291 /** 8292 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8293 * @param event packet 8294 * @return sampling_frequency_bitmap 8295 * @note: btstack_type 2 8296 */ 8297 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8298 return little_endian_read_16(event, 8); 8299 } 8300 /** 8301 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8302 * @param event packet 8303 * @return channels_bitmap 8304 * @note: btstack_type 1 8305 */ 8306 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 8307 return event[10]; 8308 } 8309 /** 8310 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8311 * @param event packet 8312 * @return bit_rate 8313 * @note: btstack_type 3 8314 */ 8315 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 8316 return little_endian_read_24(event, 11); 8317 } 8318 /** 8319 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8320 * @param event packet 8321 * @return vbr 8322 * @note: btstack_type 1 8323 */ 8324 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 8325 return event[14]; 8326 } 8327 8328 /** 8329 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8330 * @param event packet 8331 * @return avdtp_cid 8332 * @note: btstack_type 2 8333 */ 8334 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ 8335 return little_endian_read_16(event, 3); 8336 } 8337 /** 8338 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8339 * @param event packet 8340 * @return remote_seid 8341 * @note: btstack_type 1 8342 */ 8343 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 8344 return event[5]; 8345 } 8346 /** 8347 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8348 * @param event packet 8349 * @return media_type 8350 * @note: btstack_type 1 8351 */ 8352 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 8353 return event[6]; 8354 } 8355 /** 8356 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8357 * @param event packet 8358 * @return version 8359 * @note: btstack_type 1 8360 */ 8361 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 8362 return event[7]; 8363 } 8364 /** 8365 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8366 * @param event packet 8367 * @return channel_mode_bitmap 8368 * @note: btstack_type 1 8369 */ 8370 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 8371 return event[8]; 8372 } 8373 /** 8374 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8375 * @param event packet 8376 * @return sampling_frequency_bitmap 8377 * @note: btstack_type 1 8378 */ 8379 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8380 return event[9]; 8381 } 8382 /** 8383 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8384 * @param event packet 8385 * @return vbr 8386 * @note: btstack_type 1 8387 */ 8388 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 8389 return event[10]; 8390 } 8391 /** 8392 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8393 * @param event packet 8394 * @return bit_rate_index_bitmap 8395 * @note: btstack_type 3 8396 */ 8397 static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8398 return little_endian_read_24(event, 11); 8399 } 8400 /** 8401 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8402 * @param event packet 8403 * @return maximum_sul 8404 * @note: btstack_type 2 8405 */ 8406 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 8407 return little_endian_read_16(event, 14); 8408 } 8409 8410 /** 8411 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8412 * @param event packet 8413 * @return avdtp_cid 8414 * @note: btstack_type 2 8415 */ 8416 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 8417 return little_endian_read_16(event, 3); 8418 } 8419 /** 8420 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8421 * @param event packet 8422 * @return remote_seid 8423 * @note: btstack_type 1 8424 */ 8425 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 8426 return event[5]; 8427 } 8428 /** 8429 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8430 * @param event packet 8431 * @return media_type 8432 * @note: btstack_type 1 8433 */ 8434 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 8435 return event[6]; 8436 } 8437 /** 8438 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8439 * @param event packet 8440 * @return media_codec_type 8441 * @note: btstack_type 2 8442 */ 8443 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 8444 return little_endian_read_16(event, 7); 8445 } 8446 /** 8447 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8448 * @param event packet 8449 * @return media_codec_information_len 8450 * @note: btstack_type L 8451 */ 8452 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 8453 return little_endian_read_16(event, 9); 8454 } 8455 /** 8456 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8457 * @param event packet 8458 * @return media_codec_information 8459 * @note: btstack_type V 8460 */ 8461 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 8462 return &event[11]; 8463 } 8464 8465 /** 8466 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8467 * @param event packet 8468 * @return avdtp_cid 8469 * @note: btstack_type 2 8470 */ 8471 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 8472 return little_endian_read_16(event, 3); 8473 } 8474 /** 8475 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8476 * @param event packet 8477 * @return remote_seid 8478 * @note: btstack_type 1 8479 */ 8480 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 8481 return event[5]; 8482 } 8483 8484 /** 8485 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8486 * @param event packet 8487 * @return avdtp_cid 8488 * @note: btstack_type 2 8489 */ 8490 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8491 return little_endian_read_16(event, 3); 8492 } 8493 /** 8494 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8495 * @param event packet 8496 * @return remote_seid 8497 * @note: btstack_type 1 8498 */ 8499 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 8500 return event[5]; 8501 } 8502 8503 /** 8504 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8505 * @param event packet 8506 * @return avdtp_cid 8507 * @note: btstack_type 2 8508 */ 8509 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 8510 return little_endian_read_16(event, 3); 8511 } 8512 /** 8513 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8514 * @param event packet 8515 * @return remote_seid 8516 * @note: btstack_type 1 8517 */ 8518 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 8519 return event[5]; 8520 } 8521 /** 8522 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8523 * @param event packet 8524 * @return recovery_type 8525 * @note: btstack_type 1 8526 */ 8527 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 8528 return event[6]; 8529 } 8530 /** 8531 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8532 * @param event packet 8533 * @return maximum_recovery_window_size 8534 * @note: btstack_type 1 8535 */ 8536 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 8537 return event[7]; 8538 } 8539 /** 8540 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8541 * @param event packet 8542 * @return maximum_number_media_packets 8543 * @note: btstack_type 1 8544 */ 8545 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 8546 return event[8]; 8547 } 8548 8549 /** 8550 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8551 * @param event packet 8552 * @return avdtp_cid 8553 * @note: btstack_type 2 8554 */ 8555 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 8556 return little_endian_read_16(event, 3); 8557 } 8558 /** 8559 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8560 * @param event packet 8561 * @return remote_seid 8562 * @note: btstack_type 1 8563 */ 8564 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 8565 return event[5]; 8566 } 8567 /** 8568 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8569 * @param event packet 8570 * @return cp_type 8571 * @note: btstack_type 2 8572 */ 8573 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 8574 return little_endian_read_16(event, 6); 8575 } 8576 /** 8577 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8578 * @param event packet 8579 * @return cp_type_value_len 8580 * @note: btstack_type L 8581 */ 8582 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 8583 return little_endian_read_16(event, 8); 8584 } 8585 /** 8586 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8587 * @param event packet 8588 * @return cp_type_value 8589 * @note: btstack_type V 8590 */ 8591 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 8592 return &event[10]; 8593 } 8594 8595 /** 8596 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8597 * @param event packet 8598 * @return avdtp_cid 8599 * @note: btstack_type 2 8600 */ 8601 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 8602 return little_endian_read_16(event, 3); 8603 } 8604 /** 8605 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8606 * @param event packet 8607 * @return remote_seid 8608 * @note: btstack_type 1 8609 */ 8610 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 8611 return event[5]; 8612 } 8613 /** 8614 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8615 * @param event packet 8616 * @return fragmentation 8617 * @note: btstack_type 1 8618 */ 8619 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 8620 return event[6]; 8621 } 8622 /** 8623 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8624 * @param event packet 8625 * @return transport_identifiers_num 8626 * @note: btstack_type 1 8627 */ 8628 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 8629 return event[7]; 8630 } 8631 /** 8632 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8633 * @param event packet 8634 * @return transport_session_identifier_1 8635 * @note: btstack_type 1 8636 */ 8637 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 8638 return event[8]; 8639 } 8640 /** 8641 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8642 * @param event packet 8643 * @return transport_session_identifier_2 8644 * @note: btstack_type 1 8645 */ 8646 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 8647 return event[9]; 8648 } 8649 /** 8650 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8651 * @param event packet 8652 * @return transport_session_identifier_3 8653 * @note: btstack_type 1 8654 */ 8655 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 8656 return event[10]; 8657 } 8658 /** 8659 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8660 * @param event packet 8661 * @return tcid_1 8662 * @note: btstack_type 1 8663 */ 8664 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 8665 return event[11]; 8666 } 8667 /** 8668 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8669 * @param event packet 8670 * @return tcid_2 8671 * @note: btstack_type 1 8672 */ 8673 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 8674 return event[12]; 8675 } 8676 /** 8677 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8678 * @param event packet 8679 * @return tcid_3 8680 * @note: btstack_type 1 8681 */ 8682 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 8683 return event[13]; 8684 } 8685 8686 /** 8687 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8688 * @param event packet 8689 * @return avdtp_cid 8690 * @note: btstack_type 2 8691 */ 8692 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8693 return little_endian_read_16(event, 3); 8694 } 8695 /** 8696 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8697 * @param event packet 8698 * @return remote_seid 8699 * @note: btstack_type 1 8700 */ 8701 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 8702 return event[5]; 8703 } 8704 8705 /** 8706 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8707 * @param event packet 8708 * @return avdtp_cid 8709 * @note: btstack_type 2 8710 */ 8711 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 8712 return little_endian_read_16(event, 3); 8713 } 8714 /** 8715 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8716 * @param event packet 8717 * @return remote_seid 8718 * @note: btstack_type 1 8719 */ 8720 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 8721 return event[5]; 8722 } 8723 /** 8724 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8725 * @param event packet 8726 * @return back_ch 8727 * @note: btstack_type 1 8728 */ 8729 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 8730 return event[6]; 8731 } 8732 /** 8733 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8734 * @param event packet 8735 * @return media 8736 * @note: btstack_type 1 8737 */ 8738 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 8739 return event[7]; 8740 } 8741 /** 8742 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8743 * @param event packet 8744 * @return recovery 8745 * @note: btstack_type 1 8746 */ 8747 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 8748 return event[8]; 8749 } 8750 8751 /** 8752 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8753 * @param event packet 8754 * @return avdtp_cid 8755 * @note: btstack_type 2 8756 */ 8757 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 8758 return little_endian_read_16(event, 3); 8759 } 8760 /** 8761 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8762 * @param event packet 8763 * @return remote_seid 8764 * @note: btstack_type 1 8765 */ 8766 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 8767 return event[5]; 8768 } 8769 8770 /** 8771 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8772 * @param event packet 8773 * @return avdtp_cid 8774 * @note: btstack_type 2 8775 */ 8776 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 8777 return little_endian_read_16(event, 3); 8778 } 8779 /** 8780 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8781 * @param event packet 8782 * @return local_seid 8783 * @note: btstack_type 1 8784 */ 8785 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 8786 return event[5]; 8787 } 8788 /** 8789 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8790 * @param event packet 8791 * @return remote_seid 8792 * @note: btstack_type 1 8793 */ 8794 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 8795 return event[6]; 8796 } 8797 /** 8798 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8799 * @param event packet 8800 * @return reconfigure 8801 * @note: btstack_type 1 8802 */ 8803 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 8804 return event[7]; 8805 } 8806 /** 8807 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8808 * @param event packet 8809 * @return media_type 8810 * @note: btstack_type 1 8811 */ 8812 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 8813 return event[8]; 8814 } 8815 /** 8816 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8817 * @param event packet 8818 * @return sampling_frequency 8819 * @note: btstack_type 2 8820 */ 8821 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 8822 return little_endian_read_16(event, 9); 8823 } 8824 /** 8825 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8826 * @param event packet 8827 * @return channel_mode 8828 * @note: btstack_type 1 8829 */ 8830 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 8831 return event[11]; 8832 } 8833 /** 8834 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8835 * @param event packet 8836 * @return num_channels 8837 * @note: btstack_type 1 8838 */ 8839 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 8840 return event[12]; 8841 } 8842 /** 8843 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8844 * @param event packet 8845 * @return block_length 8846 * @note: btstack_type 1 8847 */ 8848 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 8849 return event[13]; 8850 } 8851 /** 8852 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8853 * @param event packet 8854 * @return subbands 8855 * @note: btstack_type 1 8856 */ 8857 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 8858 return event[14]; 8859 } 8860 /** 8861 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8862 * @param event packet 8863 * @return allocation_method 8864 * @note: btstack_type 1 8865 */ 8866 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 8867 return event[15]; 8868 } 8869 /** 8870 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8871 * @param event packet 8872 * @return min_bitpool_value 8873 * @note: btstack_type 1 8874 */ 8875 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 8876 return event[16]; 8877 } 8878 /** 8879 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8880 * @param event packet 8881 * @return max_bitpool_value 8882 * @note: btstack_type 1 8883 */ 8884 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 8885 return event[17]; 8886 } 8887 8888 /** 8889 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8890 * @param event packet 8891 * @return avdtp_cid 8892 * @note: btstack_type 2 8893 */ 8894 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ 8895 return little_endian_read_16(event, 3); 8896 } 8897 /** 8898 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8899 * @param event packet 8900 * @return local_seid 8901 * @note: btstack_type 1 8902 */ 8903 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 8904 return event[5]; 8905 } 8906 /** 8907 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8908 * @param event packet 8909 * @return remote_seid 8910 * @note: btstack_type 1 8911 */ 8912 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 8913 return event[6]; 8914 } 8915 /** 8916 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8917 * @param event packet 8918 * @return reconfigure 8919 * @note: btstack_type 1 8920 */ 8921 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 8922 return event[7]; 8923 } 8924 /** 8925 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8926 * @param event packet 8927 * @return media_type 8928 * @note: btstack_type 1 8929 */ 8930 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 8931 return event[8]; 8932 } 8933 /** 8934 * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8935 * @param event packet 8936 * @return layer 8937 * @note: btstack_type 1 8938 */ 8939 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 8940 return event[9]; 8941 } 8942 /** 8943 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8944 * @param event packet 8945 * @return crc 8946 * @note: btstack_type 1 8947 */ 8948 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 8949 return event[10]; 8950 } 8951 /** 8952 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8953 * @param event packet 8954 * @return channel_mode 8955 * @note: btstack_type 1 8956 */ 8957 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 8958 return event[11]; 8959 } 8960 /** 8961 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8962 * @param event packet 8963 * @return num_channels 8964 * @note: btstack_type 1 8965 */ 8966 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 8967 return event[12]; 8968 } 8969 /** 8970 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8971 * @param event packet 8972 * @return media_payload_format 8973 * @note: btstack_type 1 8974 */ 8975 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 8976 return event[13]; 8977 } 8978 /** 8979 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8980 * @param event packet 8981 * @return sampling_frequency 8982 * @note: btstack_type 2 8983 */ 8984 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 8985 return little_endian_read_16(event, 14); 8986 } 8987 /** 8988 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8989 * @param event packet 8990 * @return vbr 8991 * @note: btstack_type 1 8992 */ 8993 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 8994 return event[16]; 8995 } 8996 /** 8997 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8998 * @param event packet 8999 * @return bit_rate_index 9000 * @note: btstack_type 1 9001 */ 9002 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 9003 return event[17]; 9004 } 9005 9006 /** 9007 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9008 * @param event packet 9009 * @return avdtp_cid 9010 * @note: btstack_type 2 9011 */ 9012 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ 9013 return little_endian_read_16(event, 3); 9014 } 9015 /** 9016 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9017 * @param event packet 9018 * @return local_seid 9019 * @note: btstack_type 1 9020 */ 9021 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 9022 return event[5]; 9023 } 9024 /** 9025 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9026 * @param event packet 9027 * @return remote_seid 9028 * @note: btstack_type 1 9029 */ 9030 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 9031 return event[6]; 9032 } 9033 /** 9034 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9035 * @param event packet 9036 * @return reconfigure 9037 * @note: btstack_type 1 9038 */ 9039 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 9040 return event[7]; 9041 } 9042 /** 9043 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9044 * @param event packet 9045 * @return media_type 9046 * @note: btstack_type 1 9047 */ 9048 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 9049 return event[8]; 9050 } 9051 /** 9052 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9053 * @param event packet 9054 * @return object_type 9055 * @note: btstack_type 1 9056 */ 9057 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 9058 return event[9]; 9059 } 9060 /** 9061 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9062 * @param event packet 9063 * @return sampling_frequency 9064 * @note: btstack_type 3 9065 */ 9066 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 9067 return little_endian_read_24(event, 10); 9068 } 9069 /** 9070 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9071 * @param event packet 9072 * @return num_channels 9073 * @note: btstack_type 1 9074 */ 9075 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9076 return event[13]; 9077 } 9078 /** 9079 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9080 * @param event packet 9081 * @return bit_rate 9082 * @note: btstack_type 3 9083 */ 9084 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9085 return little_endian_read_24(event, 14); 9086 } 9087 /** 9088 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9089 * @param event packet 9090 * @return vbr 9091 * @note: btstack_type 1 9092 */ 9093 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9094 return event[17]; 9095 } 9096 9097 /** 9098 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9099 * @param event packet 9100 * @return avdtp_cid 9101 * @note: btstack_type 2 9102 */ 9103 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ 9104 return little_endian_read_16(event, 3); 9105 } 9106 /** 9107 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9108 * @param event packet 9109 * @return local_seid 9110 * @note: btstack_type 1 9111 */ 9112 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9113 return event[5]; 9114 } 9115 /** 9116 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9117 * @param event packet 9118 * @return remote_seid 9119 * @note: btstack_type 1 9120 */ 9121 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9122 return event[6]; 9123 } 9124 /** 9125 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9126 * @param event packet 9127 * @return reconfigure 9128 * @note: btstack_type 1 9129 */ 9130 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9131 return event[7]; 9132 } 9133 /** 9134 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9135 * @param event packet 9136 * @return media_type 9137 * @note: btstack_type 1 9138 */ 9139 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9140 return event[8]; 9141 } 9142 /** 9143 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9144 * @param event packet 9145 * @return version 9146 * @note: btstack_type 1 9147 */ 9148 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9149 return event[9]; 9150 } 9151 /** 9152 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9153 * @param event packet 9154 * @return channel_mode 9155 * @note: btstack_type 1 9156 */ 9157 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9158 return event[10]; 9159 } 9160 /** 9161 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9162 * @param event packet 9163 * @return num_channels 9164 * @note: btstack_type 1 9165 */ 9166 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9167 return event[11]; 9168 } 9169 /** 9170 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9171 * @param event packet 9172 * @return sampling_frequency 9173 * @note: btstack_type 2 9174 */ 9175 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9176 return little_endian_read_16(event, 12); 9177 } 9178 /** 9179 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9180 * @param event packet 9181 * @return vbr 9182 * @note: btstack_type 1 9183 */ 9184 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9185 return event[14]; 9186 } 9187 /** 9188 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9189 * @param event packet 9190 * @return bit_rate_index 9191 * @note: btstack_type 1 9192 */ 9193 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9194 return event[15]; 9195 } 9196 /** 9197 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9198 * @param event packet 9199 * @return maximum_sul 9200 * @note: btstack_type 2 9201 */ 9202 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9203 return little_endian_read_16(event, 16); 9204 } 9205 9206 /** 9207 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9208 * @param event packet 9209 * @return avdtp_cid 9210 * @note: btstack_type 2 9211 */ 9212 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 9213 return little_endian_read_16(event, 3); 9214 } 9215 /** 9216 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9217 * @param event packet 9218 * @return local_seid 9219 * @note: btstack_type 1 9220 */ 9221 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9222 return event[5]; 9223 } 9224 /** 9225 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9226 * @param event packet 9227 * @return remote_seid 9228 * @note: btstack_type 1 9229 */ 9230 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9231 return event[6]; 9232 } 9233 /** 9234 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9235 * @param event packet 9236 * @return reconfigure 9237 * @note: btstack_type 1 9238 */ 9239 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9240 return event[7]; 9241 } 9242 /** 9243 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9244 * @param event packet 9245 * @return media_type 9246 * @note: btstack_type 1 9247 */ 9248 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9249 return event[8]; 9250 } 9251 /** 9252 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9253 * @param event packet 9254 * @return media_codec_type 9255 * @note: btstack_type 2 9256 */ 9257 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9258 return little_endian_read_16(event, 9); 9259 } 9260 /** 9261 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9262 * @param event packet 9263 * @return media_codec_information_len 9264 * @note: btstack_type L 9265 */ 9266 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9267 return little_endian_read_16(event, 11); 9268 } 9269 /** 9270 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9271 * @param event packet 9272 * @return media_codec_information 9273 * @note: btstack_type V 9274 */ 9275 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9276 return &event[13]; 9277 } 9278 9279 /** 9280 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9281 * @param event packet 9282 * @return avdtp_cid 9283 * @note: btstack_type 2 9284 */ 9285 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 9286 return little_endian_read_16(event, 3); 9287 } 9288 /** 9289 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9290 * @param event packet 9291 * @param Pointer to storage for bd_addr 9292 * @note: btstack_type B 9293 */ 9294 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9295 reverse_bytes(&event[5], bd_addr, 6); 9296 } 9297 /** 9298 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9299 * @param event packet 9300 * @return local_seid 9301 * @note: btstack_type 1 9302 */ 9303 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 9304 return event[11]; 9305 } 9306 /** 9307 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9308 * @param event packet 9309 * @return remote_seid 9310 * @note: btstack_type 1 9311 */ 9312 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 9313 return event[12]; 9314 } 9315 /** 9316 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9317 * @param event packet 9318 * @return status 9319 * @note: btstack_type 1 9320 */ 9321 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 9322 return event[13]; 9323 } 9324 9325 /** 9326 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9327 * @param event packet 9328 * @return avdtp_cid 9329 * @note: btstack_type 2 9330 */ 9331 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 9332 return little_endian_read_16(event, 3); 9333 } 9334 /** 9335 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9336 * @param event packet 9337 * @return local_seid 9338 * @note: btstack_type 1 9339 */ 9340 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 9341 return event[5]; 9342 } 9343 9344 /** 9345 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9346 * @param event packet 9347 * @return avdtp_cid 9348 * @note: btstack_type 2 9349 */ 9350 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 9351 return little_endian_read_16(event, 3); 9352 } 9353 /** 9354 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9355 * @param event packet 9356 * @return local_seid 9357 * @note: btstack_type 1 9358 */ 9359 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9360 return event[5]; 9361 } 9362 /** 9363 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9364 * @param event packet 9365 * @return sequence_number 9366 * @note: btstack_type 2 9367 */ 9368 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 9369 return little_endian_read_16(event, 6); 9370 } 9371 9372 /** 9373 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 9374 * @param event packet 9375 * @return avdtp_cid 9376 * @note: btstack_type 2 9377 */ 9378 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 9379 return little_endian_read_16(event, 3); 9380 } 9381 9382 /** 9383 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9384 * @param event packet 9385 * @return avdtp_cid 9386 * @note: btstack_type 2 9387 */ 9388 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 9389 return little_endian_read_16(event, 3); 9390 } 9391 /** 9392 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9393 * @param event packet 9394 * @return local_seid 9395 * @note: btstack_type 1 9396 */ 9397 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 9398 return event[5]; 9399 } 9400 /** 9401 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9402 * @param event packet 9403 * @return delay_100us 9404 * @note: btstack_type 2 9405 */ 9406 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 9407 return little_endian_read_16(event, 6); 9408 } 9409 9410 /** 9411 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9412 * @param event packet 9413 * @return a2dp_cid 9414 * @note: btstack_type 2 9415 */ 9416 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 9417 return little_endian_read_16(event, 3); 9418 } 9419 /** 9420 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9421 * @param event packet 9422 * @return local_seid 9423 * @note: btstack_type 1 9424 */ 9425 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9426 return event[5]; 9427 } 9428 9429 /** 9430 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9431 * @param event packet 9432 * @return a2dp_cid 9433 * @note: btstack_type 2 9434 */ 9435 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 9436 return little_endian_read_16(event, 3); 9437 } 9438 /** 9439 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9440 * @param event packet 9441 * @return local_seid 9442 * @note: btstack_type 1 9443 */ 9444 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 9445 return event[5]; 9446 } 9447 /** 9448 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9449 * @param event packet 9450 * @return remote_seid 9451 * @note: btstack_type 1 9452 */ 9453 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 9454 return event[6]; 9455 } 9456 /** 9457 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9458 * @param event packet 9459 * @return reconfigure 9460 * @note: btstack_type 1 9461 */ 9462 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 9463 return event[7]; 9464 } 9465 /** 9466 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9467 * @param event packet 9468 * @return media_type 9469 * @note: btstack_type 1 9470 */ 9471 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 9472 return event[8]; 9473 } 9474 /** 9475 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9476 * @param event packet 9477 * @return sampling_frequency 9478 * @note: btstack_type 2 9479 */ 9480 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 9481 return little_endian_read_16(event, 9); 9482 } 9483 /** 9484 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9485 * @param event packet 9486 * @return channel_mode 9487 * @note: btstack_type 1 9488 */ 9489 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 9490 return event[11]; 9491 } 9492 /** 9493 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9494 * @param event packet 9495 * @return num_channels 9496 * @note: btstack_type 1 9497 */ 9498 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 9499 return event[12]; 9500 } 9501 /** 9502 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9503 * @param event packet 9504 * @return block_length 9505 * @note: btstack_type 1 9506 */ 9507 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 9508 return event[13]; 9509 } 9510 /** 9511 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9512 * @param event packet 9513 * @return subbands 9514 * @note: btstack_type 1 9515 */ 9516 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 9517 return event[14]; 9518 } 9519 /** 9520 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9521 * @param event packet 9522 * @return allocation_method 9523 * @note: btstack_type 1 9524 */ 9525 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 9526 return event[15]; 9527 } 9528 /** 9529 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9530 * @param event packet 9531 * @return min_bitpool_value 9532 * @note: btstack_type 1 9533 */ 9534 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 9535 return event[16]; 9536 } 9537 /** 9538 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9539 * @param event packet 9540 * @return max_bitpool_value 9541 * @note: btstack_type 1 9542 */ 9543 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 9544 return event[17]; 9545 } 9546 9547 /** 9548 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9549 * @param event packet 9550 * @return a2dp_cid 9551 * @note: btstack_type 2 9552 */ 9553 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_a2dp_cid(const uint8_t * event){ 9554 return little_endian_read_16(event, 3); 9555 } 9556 /** 9557 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9558 * @param event packet 9559 * @return local_seid 9560 * @note: btstack_type 1 9561 */ 9562 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 9563 return event[5]; 9564 } 9565 /** 9566 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9567 * @param event packet 9568 * @return remote_seid 9569 * @note: btstack_type 1 9570 */ 9571 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 9572 return event[6]; 9573 } 9574 /** 9575 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9576 * @param event packet 9577 * @return reconfigure 9578 * @note: btstack_type 1 9579 */ 9580 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 9581 return event[7]; 9582 } 9583 /** 9584 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9585 * @param event packet 9586 * @return media_type 9587 * @note: btstack_type 1 9588 */ 9589 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 9590 return event[8]; 9591 } 9592 /** 9593 * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9594 * @param event packet 9595 * @return layer 9596 * @note: btstack_type 1 9597 */ 9598 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 9599 return event[9]; 9600 } 9601 /** 9602 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9603 * @param event packet 9604 * @return crc 9605 * @note: btstack_type 1 9606 */ 9607 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 9608 return event[10]; 9609 } 9610 /** 9611 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9612 * @param event packet 9613 * @return channel_mode 9614 * @note: btstack_type 1 9615 */ 9616 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 9617 return event[11]; 9618 } 9619 /** 9620 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9621 * @param event packet 9622 * @return num_channels 9623 * @note: btstack_type 1 9624 */ 9625 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 9626 return event[12]; 9627 } 9628 /** 9629 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9630 * @param event packet 9631 * @return media_payload_format 9632 * @note: btstack_type 1 9633 */ 9634 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 9635 return event[13]; 9636 } 9637 /** 9638 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9639 * @param event packet 9640 * @return sampling_frequency 9641 * @note: btstack_type 2 9642 */ 9643 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 9644 return little_endian_read_16(event, 14); 9645 } 9646 /** 9647 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9648 * @param event packet 9649 * @return vbr 9650 * @note: btstack_type 1 9651 */ 9652 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 9653 return event[16]; 9654 } 9655 /** 9656 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9657 * @param event packet 9658 * @return bit_rate_index 9659 * @note: btstack_type 1 9660 */ 9661 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 9662 return event[17]; 9663 } 9664 9665 /** 9666 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9667 * @param event packet 9668 * @return a2dp_cid 9669 * @note: btstack_type 2 9670 */ 9671 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_a2dp_cid(const uint8_t * event){ 9672 return little_endian_read_16(event, 3); 9673 } 9674 /** 9675 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9676 * @param event packet 9677 * @return local_seid 9678 * @note: btstack_type 1 9679 */ 9680 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 9681 return event[5]; 9682 } 9683 /** 9684 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9685 * @param event packet 9686 * @return remote_seid 9687 * @note: btstack_type 1 9688 */ 9689 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 9690 return event[6]; 9691 } 9692 /** 9693 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9694 * @param event packet 9695 * @return reconfigure 9696 * @note: btstack_type 1 9697 */ 9698 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 9699 return event[7]; 9700 } 9701 /** 9702 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9703 * @param event packet 9704 * @return media_type 9705 * @note: btstack_type 1 9706 */ 9707 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 9708 return event[8]; 9709 } 9710 /** 9711 * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9712 * @param event packet 9713 * @return object_type 9714 * @note: btstack_type 1 9715 */ 9716 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 9717 return event[9]; 9718 } 9719 /** 9720 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9721 * @param event packet 9722 * @return sampling_frequency 9723 * @note: btstack_type 3 9724 */ 9725 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 9726 return little_endian_read_24(event, 10); 9727 } 9728 /** 9729 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9730 * @param event packet 9731 * @return num_channels 9732 * @note: btstack_type 1 9733 */ 9734 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9735 return event[13]; 9736 } 9737 /** 9738 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9739 * @param event packet 9740 * @return bit_rate 9741 * @note: btstack_type 3 9742 */ 9743 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9744 return little_endian_read_24(event, 14); 9745 } 9746 /** 9747 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9748 * @param event packet 9749 * @return vbr 9750 * @note: btstack_type 1 9751 */ 9752 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9753 return event[17]; 9754 } 9755 9756 /** 9757 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9758 * @param event packet 9759 * @return a2dp_cid 9760 * @note: btstack_type 2 9761 */ 9762 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_a2dp_cid(const uint8_t * event){ 9763 return little_endian_read_16(event, 3); 9764 } 9765 /** 9766 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9767 * @param event packet 9768 * @return local_seid 9769 * @note: btstack_type 1 9770 */ 9771 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9772 return event[5]; 9773 } 9774 /** 9775 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9776 * @param event packet 9777 * @return remote_seid 9778 * @note: btstack_type 1 9779 */ 9780 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9781 return event[6]; 9782 } 9783 /** 9784 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9785 * @param event packet 9786 * @return reconfigure 9787 * @note: btstack_type 1 9788 */ 9789 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9790 return event[7]; 9791 } 9792 /** 9793 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9794 * @param event packet 9795 * @return media_type 9796 * @note: btstack_type 1 9797 */ 9798 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9799 return event[8]; 9800 } 9801 /** 9802 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9803 * @param event packet 9804 * @return version 9805 * @note: btstack_type 1 9806 */ 9807 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9808 return event[9]; 9809 } 9810 /** 9811 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9812 * @param event packet 9813 * @return channel_mode 9814 * @note: btstack_type 1 9815 */ 9816 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9817 return event[10]; 9818 } 9819 /** 9820 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9821 * @param event packet 9822 * @return num_channels 9823 * @note: btstack_type 1 9824 */ 9825 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9826 return event[11]; 9827 } 9828 /** 9829 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9830 * @param event packet 9831 * @return sampling_frequency 9832 * @note: btstack_type 2 9833 */ 9834 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9835 return little_endian_read_16(event, 12); 9836 } 9837 /** 9838 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9839 * @param event packet 9840 * @return vbr 9841 * @note: btstack_type 1 9842 */ 9843 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9844 return event[14]; 9845 } 9846 /** 9847 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9848 * @param event packet 9849 * @return bit_rate_index 9850 * @note: btstack_type 1 9851 */ 9852 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9853 return event[15]; 9854 } 9855 /** 9856 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9857 * @param event packet 9858 * @return maximum_sul 9859 * @note: btstack_type 2 9860 */ 9861 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9862 return little_endian_read_16(event, 16); 9863 } 9864 9865 /** 9866 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9867 * @param event packet 9868 * @return a2dp_cid 9869 * @note: btstack_type 2 9870 */ 9871 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 9872 return little_endian_read_16(event, 3); 9873 } 9874 /** 9875 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9876 * @param event packet 9877 * @return local_seid 9878 * @note: btstack_type 1 9879 */ 9880 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9881 return event[5]; 9882 } 9883 /** 9884 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9885 * @param event packet 9886 * @return remote_seid 9887 * @note: btstack_type 1 9888 */ 9889 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9890 return event[6]; 9891 } 9892 /** 9893 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9894 * @param event packet 9895 * @return reconfigure 9896 * @note: btstack_type 1 9897 */ 9898 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9899 return event[7]; 9900 } 9901 /** 9902 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9903 * @param event packet 9904 * @return media_type 9905 * @note: btstack_type 1 9906 */ 9907 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9908 return event[8]; 9909 } 9910 /** 9911 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9912 * @param event packet 9913 * @return media_codec_type 9914 * @note: btstack_type 2 9915 */ 9916 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9917 return little_endian_read_16(event, 9); 9918 } 9919 /** 9920 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9921 * @param event packet 9922 * @return media_codec_information_len 9923 * @note: btstack_type L 9924 */ 9925 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9926 return little_endian_read_16(event, 11); 9927 } 9928 /** 9929 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9930 * @param event packet 9931 * @return media_codec_information 9932 * @note: btstack_type V 9933 */ 9934 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9935 return &event[13]; 9936 } 9937 9938 /** 9939 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9940 * @param event packet 9941 * @return a2dp_cid 9942 * @note: btstack_type 2 9943 */ 9944 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 9945 return little_endian_read_16(event, 3); 9946 } 9947 /** 9948 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9949 * @param event packet 9950 * @param Pointer to storage for bd_addr 9951 * @note: btstack_type B 9952 */ 9953 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9954 reverse_bytes(&event[5], bd_addr, 6); 9955 } 9956 /** 9957 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9958 * @param event packet 9959 * @return local_seid 9960 * @note: btstack_type 1 9961 */ 9962 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 9963 return event[11]; 9964 } 9965 /** 9966 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9967 * @param event packet 9968 * @return remote_seid 9969 * @note: btstack_type 1 9970 */ 9971 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 9972 return event[12]; 9973 } 9974 /** 9975 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9976 * @param event packet 9977 * @return status 9978 * @note: btstack_type 1 9979 */ 9980 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 9981 return event[13]; 9982 } 9983 9984 /** 9985 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9986 * @param event packet 9987 * @return a2dp_cid 9988 * @note: btstack_type 2 9989 */ 9990 static inline uint16_t a2dp_subevent_start_stream_requested_get_a2dp_cid(const uint8_t * event){ 9991 return little_endian_read_16(event, 3); 9992 } 9993 /** 9994 * @brief Get field local_seid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9995 * @param event packet 9996 * @return local_seid 9997 * @note: btstack_type 1 9998 */ 9999 static inline uint8_t a2dp_subevent_start_stream_requested_get_local_seid(const uint8_t * event){ 10000 return event[5]; 10001 } 10002 10003 /** 10004 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 10005 * @param event packet 10006 * @return a2dp_cid 10007 * @note: btstack_type 2 10008 */ 10009 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 10010 return little_endian_read_16(event, 3); 10011 } 10012 /** 10013 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 10014 * @param event packet 10015 * @return local_seid 10016 * @note: btstack_type 1 10017 */ 10018 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 10019 return event[5]; 10020 } 10021 10022 /** 10023 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 10024 * @param event packet 10025 * @return a2dp_cid 10026 * @note: btstack_type 2 10027 */ 10028 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 10029 return little_endian_read_16(event, 3); 10030 } 10031 /** 10032 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 10033 * @param event packet 10034 * @return local_seid 10035 * @note: btstack_type 1 10036 */ 10037 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 10038 return event[5]; 10039 } 10040 10041 /** 10042 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 10043 * @param event packet 10044 * @return a2dp_cid 10045 * @note: btstack_type 2 10046 */ 10047 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 10048 return little_endian_read_16(event, 3); 10049 } 10050 /** 10051 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 10052 * @param event packet 10053 * @return local_seid 10054 * @note: btstack_type 1 10055 */ 10056 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 10057 return event[5]; 10058 } 10059 10060 /** 10061 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 10062 * @param event packet 10063 * @return a2dp_cid 10064 * @note: btstack_type 2 10065 */ 10066 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 10067 return little_endian_read_16(event, 3); 10068 } 10069 /** 10070 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 10071 * @param event packet 10072 * @return local_seid 10073 * @note: btstack_type 1 10074 */ 10075 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 10076 return event[5]; 10077 } 10078 10079 /** 10080 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10081 * @param event packet 10082 * @return a2dp_cid 10083 * @note: btstack_type 2 10084 */ 10085 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 10086 return little_endian_read_16(event, 3); 10087 } 10088 /** 10089 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10090 * @param event packet 10091 * @return local_seid 10092 * @note: btstack_type 1 10093 */ 10094 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 10095 return event[5]; 10096 } 10097 /** 10098 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10099 * @param event packet 10100 * @return signal_identifier 10101 * @note: btstack_type 1 10102 */ 10103 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 10104 return event[6]; 10105 } 10106 10107 /** 10108 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 10109 * @param event packet 10110 * @return a2dp_cid 10111 * @note: btstack_type 2 10112 */ 10113 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 10114 return little_endian_read_16(event, 3); 10115 } 10116 /** 10117 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 10118 * @param event packet 10119 * @return local_seid 10120 * @note: btstack_type 1 10121 */ 10122 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 10123 return event[5]; 10124 } 10125 /** 10126 * @brief Get field is_initiator from event A2DP_SUBEVENT_COMMAND_REJECTED 10127 * @param event packet 10128 * @return is_initiator 10129 * @note: btstack_type 1 10130 */ 10131 static inline uint8_t a2dp_subevent_command_rejected_get_is_initiator(const uint8_t * event){ 10132 return event[6]; 10133 } 10134 /** 10135 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 10136 * @param event packet 10137 * @return signal_identifier 10138 * @note: btstack_type 1 10139 */ 10140 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 10141 return event[7]; 10142 } 10143 10144 /** 10145 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10146 * @param event packet 10147 * @return a2dp_cid 10148 * @note: btstack_type 2 10149 */ 10150 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 10151 return little_endian_read_16(event, 3); 10152 } 10153 /** 10154 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10155 * @param event packet 10156 * @param Pointer to storage for bd_addr 10157 * @note: btstack_type B 10158 */ 10159 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10160 reverse_bytes(&event[5], bd_addr, 6); 10161 } 10162 /** 10163 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10164 * @param event packet 10165 * @return con_handle 10166 * @note: btstack_type 2 10167 */ 10168 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 10169 return little_endian_read_16(event, 11); 10170 } 10171 /** 10172 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10173 * @param event packet 10174 * @return status 10175 * @note: btstack_type 1 10176 */ 10177 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 10178 return event[13]; 10179 } 10180 10181 /** 10182 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 10183 * @param event packet 10184 * @return a2dp_cid 10185 * @note: btstack_type 2 10186 */ 10187 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 10188 return little_endian_read_16(event, 3); 10189 } 10190 10191 /** 10192 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10193 * @param event packet 10194 * @return a2dp_cid 10195 * @note: btstack_type 2 10196 */ 10197 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 10198 return little_endian_read_16(event, 3); 10199 } 10200 /** 10201 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10202 * @param event packet 10203 * @return local_seid 10204 * @note: btstack_type 1 10205 */ 10206 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 10207 return event[5]; 10208 } 10209 /** 10210 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10211 * @param event packet 10212 * @return status 10213 * @note: btstack_type 1 10214 */ 10215 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 10216 return event[6]; 10217 } 10218 10219 /** 10220 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10221 * @param event packet 10222 * @return a2dp_cid 10223 * @note: btstack_type 2 10224 */ 10225 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_a2dp_cid(const uint8_t * event){ 10226 return little_endian_read_16(event, 3); 10227 } 10228 /** 10229 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10230 * @param event packet 10231 * @return remote_seid 10232 * @note: btstack_type 1 10233 */ 10234 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 10235 return event[5]; 10236 } 10237 /** 10238 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10239 * @param event packet 10240 * @return media_type 10241 * @note: btstack_type 1 10242 */ 10243 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 10244 return event[6]; 10245 } 10246 /** 10247 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10248 * @param event packet 10249 * @return sampling_frequency_bitmap 10250 * @note: btstack_type 1 10251 */ 10252 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10253 return event[7]; 10254 } 10255 /** 10256 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10257 * @param event packet 10258 * @return channel_mode_bitmap 10259 * @note: btstack_type 1 10260 */ 10261 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 10262 return event[8]; 10263 } 10264 /** 10265 * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10266 * @param event packet 10267 * @return block_length_bitmap 10268 * @note: btstack_type 1 10269 */ 10270 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 10271 return event[9]; 10272 } 10273 /** 10274 * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10275 * @param event packet 10276 * @return subbands_bitmap 10277 * @note: btstack_type 1 10278 */ 10279 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 10280 return event[10]; 10281 } 10282 /** 10283 * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10284 * @param event packet 10285 * @return allocation_method_bitmap 10286 * @note: btstack_type 1 10287 */ 10288 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 10289 return event[11]; 10290 } 10291 /** 10292 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10293 * @param event packet 10294 * @return min_bitpool_value 10295 * @note: btstack_type 1 10296 */ 10297 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 10298 return event[12]; 10299 } 10300 /** 10301 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10302 * @param event packet 10303 * @return max_bitpool_value 10304 * @note: btstack_type 1 10305 */ 10306 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 10307 return event[13]; 10308 } 10309 10310 /** 10311 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10312 * @param event packet 10313 * @return a2dp_cid 10314 * @note: btstack_type 2 10315 */ 10316 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_a2dp_cid(const uint8_t * event){ 10317 return little_endian_read_16(event, 3); 10318 } 10319 /** 10320 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10321 * @param event packet 10322 * @return remote_seid 10323 * @note: btstack_type 1 10324 */ 10325 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 10326 return event[5]; 10327 } 10328 /** 10329 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10330 * @param event packet 10331 * @return media_type 10332 * @note: btstack_type 1 10333 */ 10334 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 10335 return event[6]; 10336 } 10337 /** 10338 * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10339 * @param event packet 10340 * @return layer_bitmap 10341 * @note: btstack_type 1 10342 */ 10343 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 10344 return event[7]; 10345 } 10346 /** 10347 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10348 * @param event packet 10349 * @return crc 10350 * @note: btstack_type 1 10351 */ 10352 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 10353 return event[8]; 10354 } 10355 /** 10356 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10357 * @param event packet 10358 * @return channel_mode_bitmap 10359 * @note: btstack_type 1 10360 */ 10361 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 10362 return event[9]; 10363 } 10364 /** 10365 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10366 * @param event packet 10367 * @return media_payload_format 10368 * @note: btstack_type 1 10369 */ 10370 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 10371 return event[10]; 10372 } 10373 /** 10374 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10375 * @param event packet 10376 * @return sampling_frequency_bitmap 10377 * @note: btstack_type 1 10378 */ 10379 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10380 return event[11]; 10381 } 10382 /** 10383 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10384 * @param event packet 10385 * @return vbr 10386 * @note: btstack_type 1 10387 */ 10388 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 10389 return event[12]; 10390 } 10391 /** 10392 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10393 * @param event packet 10394 * @return bit_rate_index_bitmap 10395 * @note: btstack_type 2 10396 */ 10397 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10398 return little_endian_read_16(event, 13); 10399 } 10400 10401 /** 10402 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10403 * @param event packet 10404 * @return a2dp_cid 10405 * @note: btstack_type 2 10406 */ 10407 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_a2dp_cid(const uint8_t * event){ 10408 return little_endian_read_16(event, 3); 10409 } 10410 /** 10411 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10412 * @param event packet 10413 * @return remote_seid 10414 * @note: btstack_type 1 10415 */ 10416 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 10417 return event[5]; 10418 } 10419 /** 10420 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10421 * @param event packet 10422 * @return media_type 10423 * @note: btstack_type 1 10424 */ 10425 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 10426 return event[6]; 10427 } 10428 /** 10429 * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10430 * @param event packet 10431 * @return object_type_bitmap 10432 * @note: btstack_type 1 10433 */ 10434 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 10435 return event[7]; 10436 } 10437 /** 10438 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10439 * @param event packet 10440 * @return sampling_frequency_bitmap 10441 * @note: btstack_type 2 10442 */ 10443 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10444 return little_endian_read_16(event, 8); 10445 } 10446 /** 10447 * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10448 * @param event packet 10449 * @return channels_bitmap 10450 * @note: btstack_type 1 10451 */ 10452 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 10453 return event[10]; 10454 } 10455 /** 10456 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10457 * @param event packet 10458 * @return bit_rate 10459 * @note: btstack_type 3 10460 */ 10461 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 10462 return little_endian_read_24(event, 11); 10463 } 10464 /** 10465 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10466 * @param event packet 10467 * @return vbr 10468 * @note: btstack_type 1 10469 */ 10470 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 10471 return event[14]; 10472 } 10473 10474 /** 10475 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10476 * @param event packet 10477 * @return a2dp_cid 10478 * @note: btstack_type 2 10479 */ 10480 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_a2dp_cid(const uint8_t * event){ 10481 return little_endian_read_16(event, 3); 10482 } 10483 /** 10484 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10485 * @param event packet 10486 * @return remote_seid 10487 * @note: btstack_type 1 10488 */ 10489 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 10490 return event[5]; 10491 } 10492 /** 10493 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10494 * @param event packet 10495 * @return media_type 10496 * @note: btstack_type 1 10497 */ 10498 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 10499 return event[6]; 10500 } 10501 /** 10502 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10503 * @param event packet 10504 * @return version 10505 * @note: btstack_type 1 10506 */ 10507 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 10508 return event[7]; 10509 } 10510 /** 10511 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10512 * @param event packet 10513 * @return channel_mode_bitmap 10514 * @note: btstack_type 1 10515 */ 10516 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 10517 return event[8]; 10518 } 10519 /** 10520 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10521 * @param event packet 10522 * @return sampling_frequency_bitmap 10523 * @note: btstack_type 1 10524 */ 10525 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10526 return event[9]; 10527 } 10528 /** 10529 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10530 * @param event packet 10531 * @return vbr 10532 * @note: btstack_type 1 10533 */ 10534 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 10535 return event[10]; 10536 } 10537 /** 10538 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10539 * @param event packet 10540 * @return bit_rate_index_bitmap 10541 * @note: btstack_type 3 10542 */ 10543 static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10544 return little_endian_read_24(event, 11); 10545 } 10546 /** 10547 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10548 * @param event packet 10549 * @return maximum_sul 10550 * @note: btstack_type 2 10551 */ 10552 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 10553 return little_endian_read_16(event, 14); 10554 } 10555 10556 /** 10557 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10558 * @param event packet 10559 * @return a2dp_cid 10560 * @note: btstack_type 2 10561 */ 10562 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_a2dp_cid(const uint8_t * event){ 10563 return little_endian_read_16(event, 3); 10564 } 10565 /** 10566 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10567 * @param event packet 10568 * @return remote_seid 10569 * @note: btstack_type 1 10570 */ 10571 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 10572 return event[5]; 10573 } 10574 /** 10575 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10576 * @param event packet 10577 * @return media_type 10578 * @note: btstack_type 1 10579 */ 10580 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 10581 return event[6]; 10582 } 10583 /** 10584 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10585 * @param event packet 10586 * @return media_codec_type 10587 * @note: btstack_type 2 10588 */ 10589 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 10590 return little_endian_read_16(event, 7); 10591 } 10592 /** 10593 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10594 * @param event packet 10595 * @return media_codec_information_len 10596 * @note: btstack_type L 10597 */ 10598 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 10599 return little_endian_read_16(event, 9); 10600 } 10601 /** 10602 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10603 * @param event packet 10604 * @return media_codec_information 10605 * @note: btstack_type V 10606 */ 10607 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 10608 return &event[11]; 10609 } 10610 10611 /** 10612 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10613 * @param event packet 10614 * @return a2dp_cid 10615 * @note: btstack_type 2 10616 */ 10617 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_a2dp_cid(const uint8_t * event){ 10618 return little_endian_read_16(event, 3); 10619 } 10620 /** 10621 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10622 * @param event packet 10623 * @return remote_seid 10624 * @note: btstack_type 1 10625 */ 10626 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 10627 return event[5]; 10628 } 10629 10630 /** 10631 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10632 * @param event packet 10633 * @return a2dp_cid 10634 * @note: btstack_type 2 10635 */ 10636 static inline uint16_t a2dp_subevent_signaling_delay_report_get_a2dp_cid(const uint8_t * event){ 10637 return little_endian_read_16(event, 3); 10638 } 10639 /** 10640 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10641 * @param event packet 10642 * @return local_seid 10643 * @note: btstack_type 1 10644 */ 10645 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 10646 return event[5]; 10647 } 10648 /** 10649 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10650 * @param event packet 10651 * @return delay_100us 10652 * @note: btstack_type 2 10653 */ 10654 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 10655 return little_endian_read_16(event, 6); 10656 } 10657 10658 /** 10659 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10660 * @param event packet 10661 * @return a2dp_cid 10662 * @note: btstack_type 2 10663 */ 10664 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_a2dp_cid(const uint8_t * event){ 10665 return little_endian_read_16(event, 3); 10666 } 10667 /** 10668 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10669 * @param event packet 10670 * @return remote_seid 10671 * @note: btstack_type 1 10672 */ 10673 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 10674 return event[5]; 10675 } 10676 10677 /** 10678 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 10679 * @param event packet 10680 * @return a2dp_cid 10681 * @note: btstack_type 2 10682 */ 10683 static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_a2dp_cid(const uint8_t * event){ 10684 return little_endian_read_16(event, 3); 10685 } 10686 10687 /** 10688 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10689 * @param event packet 10690 * @return avrcp_cid 10691 * @note: btstack_type 2 10692 */ 10693 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 10694 return little_endian_read_16(event, 3); 10695 } 10696 /** 10697 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10698 * @param event packet 10699 * @return command_type 10700 * @note: btstack_type 1 10701 */ 10702 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 10703 return event[5]; 10704 } 10705 /** 10706 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10707 * @param event packet 10708 * @return play_status 10709 * @note: btstack_type 1 10710 */ 10711 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 10712 return event[6]; 10713 } 10714 10715 /** 10716 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10717 * @param event packet 10718 * @return avrcp_cid 10719 * @note: btstack_type 2 10720 */ 10721 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 10722 return little_endian_read_16(event, 3); 10723 } 10724 /** 10725 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10726 * @param event packet 10727 * @return command_type 10728 * @note: btstack_type 1 10729 */ 10730 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 10731 return event[5]; 10732 } 10733 10734 /** 10735 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10736 * @param event packet 10737 * @return avrcp_cid 10738 * @note: btstack_type 2 10739 */ 10740 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 10741 return little_endian_read_16(event, 3); 10742 } 10743 /** 10744 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10745 * @param event packet 10746 * @return command_type 10747 * @note: btstack_type 1 10748 */ 10749 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 10750 return event[5]; 10751 } 10752 10753 /** 10754 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10755 * @param event packet 10756 * @return avrcp_cid 10757 * @note: btstack_type 2 10758 */ 10759 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){ 10760 return little_endian_read_16(event, 3); 10761 } 10762 /** 10763 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10764 * @param event packet 10765 * @return command_type 10766 * @note: btstack_type 1 10767 */ 10768 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 10769 return event[5]; 10770 } 10771 10772 /** 10773 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10774 * @param event packet 10775 * @return avrcp_cid 10776 * @note: btstack_type 2 10777 */ 10778 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 10779 return little_endian_read_16(event, 3); 10780 } 10781 /** 10782 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10783 * @param event packet 10784 * @return command_type 10785 * @note: btstack_type 1 10786 */ 10787 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 10788 return event[5]; 10789 } 10790 /** 10791 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10792 * @param event packet 10793 * @return playback_position 10794 * @note: btstack_type 4 10795 */ 10796 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 10797 return little_endian_read_32(event, 6); 10798 } 10799 10800 /** 10801 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10802 * @param event packet 10803 * @return avrcp_cid 10804 * @note: btstack_type 2 10805 */ 10806 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 10807 return little_endian_read_16(event, 3); 10808 } 10809 /** 10810 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10811 * @param event packet 10812 * @return command_type 10813 * @note: btstack_type 1 10814 */ 10815 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 10816 return event[5]; 10817 } 10818 /** 10819 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10820 * @param event packet 10821 * @return battery_status 10822 * @note: btstack_type 1 10823 */ 10824 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 10825 return event[6]; 10826 } 10827 10828 /** 10829 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10830 * @param event packet 10831 * @return avrcp_cid 10832 * @note: btstack_type 2 10833 */ 10834 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 10835 return little_endian_read_16(event, 3); 10836 } 10837 /** 10838 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10839 * @param event packet 10840 * @return command_type 10841 * @note: btstack_type 1 10842 */ 10843 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 10844 return event[5]; 10845 } 10846 /** 10847 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10848 * @param event packet 10849 * @return system_status 10850 * @note: btstack_type 1 10851 */ 10852 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 10853 return event[6]; 10854 } 10855 10856 /** 10857 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10858 * @param event packet 10859 * @return avrcp_cid 10860 * @note: btstack_type 2 10861 */ 10862 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 10863 return little_endian_read_16(event, 3); 10864 } 10865 /** 10866 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10867 * @param event packet 10868 * @return command_type 10869 * @note: btstack_type 1 10870 */ 10871 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 10872 return event[5]; 10873 } 10874 10875 /** 10876 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10877 * @param event packet 10878 * @return avrcp_cid 10879 * @note: btstack_type 2 10880 */ 10881 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 10882 return little_endian_read_16(event, 3); 10883 } 10884 /** 10885 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10886 * @param event packet 10887 * @return command_type 10888 * @note: btstack_type 1 10889 */ 10890 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 10891 return event[5]; 10892 } 10893 10894 /** 10895 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10896 * @param event packet 10897 * @return avrcp_cid 10898 * @note: btstack_type 2 10899 */ 10900 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 10901 return little_endian_read_16(event, 3); 10902 } 10903 /** 10904 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10905 * @param event packet 10906 * @return command_type 10907 * @note: btstack_type 1 10908 */ 10909 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 10910 return event[5]; 10911 } 10912 /** 10913 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10914 * @param event packet 10915 * @return uid_counter 10916 * @note: btstack_type 2 10917 */ 10918 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 10919 return little_endian_read_16(event, 6); 10920 } 10921 10922 /** 10923 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10924 * @param event packet 10925 * @return avrcp_cid 10926 * @note: btstack_type 2 10927 */ 10928 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 10929 return little_endian_read_16(event, 3); 10930 } 10931 /** 10932 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10933 * @param event packet 10934 * @return command_type 10935 * @note: btstack_type 1 10936 */ 10937 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 10938 return event[5]; 10939 } 10940 /** 10941 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10942 * @param event packet 10943 * @return absolute_volume 10944 * @note: btstack_type 1 10945 */ 10946 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 10947 return event[6]; 10948 } 10949 10950 /** 10951 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10952 * @param event packet 10953 * @return avrcp_cid 10954 * @note: btstack_type 2 10955 */ 10956 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 10957 return little_endian_read_16(event, 3); 10958 } 10959 /** 10960 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10961 * @param event packet 10962 * @return command_type 10963 * @note: btstack_type 1 10964 */ 10965 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 10966 return event[5]; 10967 } 10968 /** 10969 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10970 * @param event packet 10971 * @return absolute_volume 10972 * @note: btstack_type 1 10973 */ 10974 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 10975 return event[6]; 10976 } 10977 10978 /** 10979 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10980 * @param event packet 10981 * @return avrcp_cid 10982 * @note: btstack_type 2 10983 */ 10984 static inline uint16_t avrcp_subevent_notification_state_get_avrcp_cid(const uint8_t * event){ 10985 return little_endian_read_16(event, 3); 10986 } 10987 /** 10988 * @brief Get field status from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10989 * @param event packet 10990 * @return status 10991 * @note: btstack_type 1 10992 */ 10993 static inline uint8_t avrcp_subevent_notification_state_get_status(const uint8_t * event){ 10994 return event[5]; 10995 } 10996 /** 10997 * @brief Get field enabled from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10998 * @param event packet 10999 * @return enabled 11000 * @note: btstack_type 1 11001 */ 11002 static inline uint8_t avrcp_subevent_notification_state_get_enabled(const uint8_t * event){ 11003 return event[6]; 11004 } 11005 /** 11006 * @brief Get field event_id from event AVRCP_SUBEVENT_NOTIFICATION_STATE 11007 * @param event packet 11008 * @return event_id 11009 * @note: btstack_type 1 11010 */ 11011 static inline uint8_t avrcp_subevent_notification_state_get_event_id(const uint8_t * event){ 11012 return event[7]; 11013 } 11014 11015 /** 11016 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 11017 * @param event packet 11018 * @return status 11019 * @note: btstack_type 1 11020 */ 11021 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 11022 return event[3]; 11023 } 11024 /** 11025 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 11026 * @param event packet 11027 * @return avrcp_cid 11028 * @note: btstack_type 2 11029 */ 11030 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 11031 return little_endian_read_16(event, 4); 11032 } 11033 /** 11034 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 11035 * @param event packet 11036 * @param Pointer to storage for bd_addr 11037 * @note: btstack_type B 11038 */ 11039 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11040 reverse_bytes(&event[6], bd_addr, 6); 11041 } 11042 /** 11043 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 11044 * @param event packet 11045 * @return con_handle 11046 * @note: btstack_type 2 11047 */ 11048 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 11049 return little_endian_read_16(event, 12); 11050 } 11051 11052 /** 11053 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 11054 * @param event packet 11055 * @return avrcp_cid 11056 * @note: btstack_type 2 11057 */ 11058 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 11059 return little_endian_read_16(event, 3); 11060 } 11061 11062 /** 11063 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11064 * @param event packet 11065 * @return avrcp_cid 11066 * @note: btstack_type 2 11067 */ 11068 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 11069 return little_endian_read_16(event, 3); 11070 } 11071 /** 11072 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11073 * @param event packet 11074 * @return command_type 11075 * @note: btstack_type 1 11076 */ 11077 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 11078 return event[5]; 11079 } 11080 /** 11081 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11082 * @param event packet 11083 * @return repeat_mode 11084 * @note: btstack_type 1 11085 */ 11086 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 11087 return event[6]; 11088 } 11089 /** 11090 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11091 * @param event packet 11092 * @return shuffle_mode 11093 * @note: btstack_type 1 11094 */ 11095 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 11096 return event[7]; 11097 } 11098 11099 /** 11100 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 11101 * @param event packet 11102 * @return avrcp_cid 11103 * @note: btstack_type 2 11104 */ 11105 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 11106 return little_endian_read_16(event, 3); 11107 } 11108 /** 11109 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 11110 * @param event packet 11111 * @return command_type 11112 * @note: btstack_type 1 11113 */ 11114 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 11115 return event[5]; 11116 } 11117 /** 11118 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 11119 * @param event packet 11120 * @return song_length 11121 * @note: btstack_type 4 11122 */ 11123 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 11124 return little_endian_read_32(event, 6); 11125 } 11126 /** 11127 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 11128 * @param event packet 11129 * @return song_position 11130 * @note: btstack_type 4 11131 */ 11132 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 11133 return little_endian_read_32(event, 10); 11134 } 11135 /** 11136 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 11137 * @param event packet 11138 * @return play_status 11139 * @note: btstack_type 1 11140 */ 11141 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 11142 return event[14]; 11143 } 11144 11145 /** 11146 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 11147 * @param event packet 11148 * @return avrcp_cid 11149 * @note: btstack_type 2 11150 */ 11151 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 11152 return little_endian_read_16(event, 3); 11153 } 11154 /** 11155 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 11156 * @param event packet 11157 * @return command_type 11158 * @note: btstack_type 1 11159 */ 11160 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 11161 return event[5]; 11162 } 11163 /** 11164 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 11165 * @param event packet 11166 * @return operation_id 11167 * @note: btstack_type 1 11168 */ 11169 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 11170 return event[6]; 11171 } 11172 11173 /** 11174 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11175 * @param event packet 11176 * @return avrcp_cid 11177 * @note: btstack_type 2 11178 */ 11179 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 11180 return little_endian_read_16(event, 3); 11181 } 11182 /** 11183 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11184 * @param event packet 11185 * @return command_type 11186 * @note: btstack_type 1 11187 */ 11188 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 11189 return event[5]; 11190 } 11191 /** 11192 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11193 * @param event packet 11194 * @return operation_id 11195 * @note: btstack_type 1 11196 */ 11197 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 11198 return event[6]; 11199 } 11200 11201 /** 11202 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 11203 * @param event packet 11204 * @return avrcp_cid 11205 * @note: btstack_type 2 11206 */ 11207 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 11208 return little_endian_read_16(event, 3); 11209 } 11210 /** 11211 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 11212 * @param event packet 11213 * @return command_type 11214 * @note: btstack_type 1 11215 */ 11216 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 11217 return event[5]; 11218 } 11219 11220 /** 11221 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 11222 * @param event packet 11223 * @return avrcp_cid 11224 * @note: btstack_type 2 11225 */ 11226 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 11227 return little_endian_read_16(event, 3); 11228 } 11229 11230 /** 11231 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 11232 * @param event packet 11233 * @return avrcp_cid 11234 * @note: btstack_type 2 11235 */ 11236 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 11237 return little_endian_read_16(event, 3); 11238 } 11239 /** 11240 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 11241 * @param event packet 11242 * @return operation_id 11243 * @note: btstack_type 1 11244 */ 11245 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 11246 return event[5]; 11247 } 11248 /** 11249 * @brief Get field button_pressed from event AVRCP_SUBEVENT_OPERATION 11250 * @param event packet 11251 * @return button_pressed 11252 * @note: btstack_type 1 11253 */ 11254 static inline uint8_t avrcp_subevent_operation_get_button_pressed(const uint8_t * event){ 11255 return event[6]; 11256 } 11257 /** 11258 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 11259 * @param event packet 11260 * @return operands_length 11261 * @note: btstack_type 1 11262 */ 11263 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 11264 return event[7]; 11265 } 11266 /** 11267 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 11268 * @param event packet 11269 * @return operand 11270 * @note: btstack_type 1 11271 */ 11272 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 11273 return event[8]; 11274 } 11275 11276 /** 11277 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11278 * @param event packet 11279 * @return avrcp_cid 11280 * @note: btstack_type 2 11281 */ 11282 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 11283 return little_endian_read_16(event, 3); 11284 } 11285 /** 11286 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11287 * @param event packet 11288 * @return command_type 11289 * @note: btstack_type 1 11290 */ 11291 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 11292 return event[5]; 11293 } 11294 /** 11295 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11296 * @param event packet 11297 * @return track 11298 * @note: btstack_type 1 11299 */ 11300 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 11301 return event[6]; 11302 } 11303 11304 /** 11305 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11306 * @param event packet 11307 * @return avrcp_cid 11308 * @note: btstack_type 2 11309 */ 11310 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 11311 return little_endian_read_16(event, 3); 11312 } 11313 /** 11314 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11315 * @param event packet 11316 * @return command_type 11317 * @note: btstack_type 1 11318 */ 11319 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 11320 return event[5]; 11321 } 11322 /** 11323 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11324 * @param event packet 11325 * @return total_tracks 11326 * @note: btstack_type 1 11327 */ 11328 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 11329 return event[6]; 11330 } 11331 11332 /** 11333 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11334 * @param event packet 11335 * @return avrcp_cid 11336 * @note: btstack_type 2 11337 */ 11338 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 11339 return little_endian_read_16(event, 3); 11340 } 11341 /** 11342 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11343 * @param event packet 11344 * @return command_type 11345 * @note: btstack_type 1 11346 */ 11347 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 11348 return event[5]; 11349 } 11350 /** 11351 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11352 * @param event packet 11353 * @return song_length 11354 * @note: btstack_type 4 11355 */ 11356 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 11357 return little_endian_read_32(event, 6); 11358 } 11359 11360 /** 11361 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11362 * @param event packet 11363 * @return avrcp_cid 11364 * @note: btstack_type 2 11365 */ 11366 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 11367 return little_endian_read_16(event, 3); 11368 } 11369 /** 11370 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11371 * @param event packet 11372 * @return command_type 11373 * @note: btstack_type 1 11374 */ 11375 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 11376 return event[5]; 11377 } 11378 /** 11379 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11380 * @param event packet 11381 * @return value_len 11382 * @note: btstack_type J 11383 */ 11384 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 11385 return event[6]; 11386 } 11387 /** 11388 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11389 * @param event packet 11390 * @return value 11391 * @note: btstack_type V 11392 */ 11393 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 11394 return &event[7]; 11395 } 11396 11397 /** 11398 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11399 * @param event packet 11400 * @return avrcp_cid 11401 * @note: btstack_type 2 11402 */ 11403 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 11404 return little_endian_read_16(event, 3); 11405 } 11406 /** 11407 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11408 * @param event packet 11409 * @return command_type 11410 * @note: btstack_type 1 11411 */ 11412 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 11413 return event[5]; 11414 } 11415 /** 11416 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11417 * @param event packet 11418 * @return value_len 11419 * @note: btstack_type J 11420 */ 11421 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 11422 return event[6]; 11423 } 11424 /** 11425 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11426 * @param event packet 11427 * @return value 11428 * @note: btstack_type V 11429 */ 11430 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 11431 return &event[7]; 11432 } 11433 11434 /** 11435 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11436 * @param event packet 11437 * @return avrcp_cid 11438 * @note: btstack_type 2 11439 */ 11440 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 11441 return little_endian_read_16(event, 3); 11442 } 11443 /** 11444 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11445 * @param event packet 11446 * @return command_type 11447 * @note: btstack_type 1 11448 */ 11449 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 11450 return event[5]; 11451 } 11452 /** 11453 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11454 * @param event packet 11455 * @return value_len 11456 * @note: btstack_type J 11457 */ 11458 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 11459 return event[6]; 11460 } 11461 /** 11462 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11463 * @param event packet 11464 * @return value 11465 * @note: btstack_type V 11466 */ 11467 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 11468 return &event[7]; 11469 } 11470 11471 /** 11472 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11473 * @param event packet 11474 * @return avrcp_cid 11475 * @note: btstack_type 2 11476 */ 11477 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 11478 return little_endian_read_16(event, 3); 11479 } 11480 /** 11481 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11482 * @param event packet 11483 * @return command_type 11484 * @note: btstack_type 1 11485 */ 11486 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 11487 return event[5]; 11488 } 11489 /** 11490 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11491 * @param event packet 11492 * @return value_len 11493 * @note: btstack_type J 11494 */ 11495 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 11496 return event[6]; 11497 } 11498 /** 11499 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11500 * @param event packet 11501 * @return value 11502 * @note: btstack_type V 11503 */ 11504 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 11505 return &event[7]; 11506 } 11507 11508 /** 11509 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11510 * @param event packet 11511 * @return avrcp_cid 11512 * @note: btstack_type 2 11513 */ 11514 static inline uint16_t avrcp_subevent_now_playing_cover_art_info_get_avrcp_cid(const uint8_t * event){ 11515 return little_endian_read_16(event, 3); 11516 } 11517 /** 11518 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11519 * @param event packet 11520 * @return command_type 11521 * @note: btstack_type 1 11522 */ 11523 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_command_type(const uint8_t * event){ 11524 return event[5]; 11525 } 11526 /** 11527 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11528 * @param event packet 11529 * @return value_len 11530 * @note: btstack_type J 11531 */ 11532 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_value_len(const uint8_t * event){ 11533 return event[6]; 11534 } 11535 /** 11536 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11537 * @param event packet 11538 * @return value 11539 * @note: btstack_type V 11540 */ 11541 static inline const uint8_t * avrcp_subevent_now_playing_cover_art_info_get_value(const uint8_t * event){ 11542 return &event[7]; 11543 } 11544 11545 /** 11546 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11547 * @param event packet 11548 * @return avrcp_cid 11549 * @note: btstack_type 2 11550 */ 11551 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 11552 return little_endian_read_16(event, 3); 11553 } 11554 /** 11555 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11556 * @param event packet 11557 * @return command_type 11558 * @note: btstack_type 1 11559 */ 11560 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 11561 return event[5]; 11562 } 11563 /** 11564 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11565 * @param event packet 11566 * @return status 11567 * @note: btstack_type 1 11568 */ 11569 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 11570 return event[6]; 11571 } 11572 11573 /** 11574 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11575 * @param event packet 11576 * @return avrcp_cid 11577 * @note: btstack_type 2 11578 */ 11579 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 11580 return little_endian_read_16(event, 3); 11581 } 11582 /** 11583 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11584 * @param event packet 11585 * @return command_type 11586 * @note: btstack_type 1 11587 */ 11588 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 11589 return event[5]; 11590 } 11591 /** 11592 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11593 * @param event packet 11594 * @return playback_position_ms 11595 * @note: btstack_type 4 11596 */ 11597 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 11598 return little_endian_read_32(event, 6); 11599 } 11600 11601 /** 11602 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11603 * @param event packet 11604 * @return avrcp_cid 11605 * @note: btstack_type 2 11606 */ 11607 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 11608 return little_endian_read_16(event, 3); 11609 } 11610 /** 11611 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11612 * @param event packet 11613 * @return command_type 11614 * @note: btstack_type 1 11615 */ 11616 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 11617 return event[5]; 11618 } 11619 /** 11620 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11621 * @param event packet 11622 * @return status 11623 * @note: btstack_type 1 11624 */ 11625 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 11626 return event[6]; 11627 } 11628 /** 11629 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11630 * @param event packet 11631 * @return event_id 11632 * @note: btstack_type 1 11633 */ 11634 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 11635 return event[7]; 11636 } 11637 11638 /** 11639 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11640 * @param event packet 11641 * @return avrcp_cid 11642 * @note: btstack_type 2 11643 */ 11644 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){ 11645 return little_endian_read_16(event, 3); 11646 } 11647 /** 11648 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11649 * @param event packet 11650 * @return command_type 11651 * @note: btstack_type 1 11652 */ 11653 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 11654 return event[5]; 11655 } 11656 /** 11657 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11658 * @param event packet 11659 * @return status 11660 * @note: btstack_type 1 11661 */ 11662 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 11663 return event[6]; 11664 } 11665 11666 /** 11667 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11668 * @param event packet 11669 * @return avrcp_cid 11670 * @note: btstack_type 2 11671 */ 11672 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 11673 return little_endian_read_16(event, 3); 11674 } 11675 /** 11676 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11677 * @param event packet 11678 * @return command_type 11679 * @note: btstack_type 1 11680 */ 11681 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 11682 return event[5]; 11683 } 11684 /** 11685 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11686 * @param event packet 11687 * @return status 11688 * @note: btstack_type 1 11689 */ 11690 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 11691 return event[6]; 11692 } 11693 /** 11694 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11695 * @param event packet 11696 * @return company_id 11697 * @note: btstack_type 3 11698 */ 11699 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 11700 return little_endian_read_24(event, 7); 11701 } 11702 11703 /** 11704 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11705 * @param event packet 11706 * @return avrcp_cid 11707 * @note: btstack_type 2 11708 */ 11709 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){ 11710 return little_endian_read_16(event, 3); 11711 } 11712 /** 11713 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11714 * @param event packet 11715 * @return command_type 11716 * @note: btstack_type 1 11717 */ 11718 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 11719 return event[5]; 11720 } 11721 /** 11722 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11723 * @param event packet 11724 * @return status 11725 * @note: btstack_type 1 11726 */ 11727 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 11728 return event[6]; 11729 } 11730 11731 /** 11732 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11733 * @param event packet 11734 * @return avrcp_cid 11735 * @note: btstack_type 2 11736 */ 11737 static inline uint16_t avrcp_subevent_custom_command_response_get_avrcp_cid(const uint8_t * event){ 11738 return little_endian_read_16(event, 3); 11739 } 11740 /** 11741 * @brief Get field command_type from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11742 * @param event packet 11743 * @return command_type 11744 * @note: btstack_type 1 11745 */ 11746 static inline uint8_t avrcp_subevent_custom_command_response_get_command_type(const uint8_t * event){ 11747 return event[5]; 11748 } 11749 /** 11750 * @brief Get field pdu_id from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11751 * @param event packet 11752 * @return pdu_id 11753 * @note: btstack_type 1 11754 */ 11755 static inline uint8_t avrcp_subevent_custom_command_response_get_pdu_id(const uint8_t * event){ 11756 return event[6]; 11757 } 11758 /** 11759 * @brief Get field params_len from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11760 * @param event packet 11761 * @return params_len 11762 * @note: btstack_type L 11763 */ 11764 static inline uint16_t avrcp_subevent_custom_command_response_get_params_len(const uint8_t * event){ 11765 return little_endian_read_16(event, 7); 11766 } 11767 /** 11768 * @brief Get field params from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11769 * @param event packet 11770 * @return params 11771 * @note: btstack_type V 11772 */ 11773 static inline const uint8_t * avrcp_subevent_custom_command_response_get_params(const uint8_t * event){ 11774 return &event[9]; 11775 } 11776 11777 /** 11778 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11779 * @param event packet 11780 * @param Pointer to storage for bd_addr 11781 * @note: btstack_type B 11782 */ 11783 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11784 reverse_bytes(&event[3], bd_addr, 6); 11785 } 11786 /** 11787 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11788 * @param event packet 11789 * @return browsing_cid 11790 * @note: btstack_type 2 11791 */ 11792 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 11793 return little_endian_read_16(event, 9); 11794 } 11795 11796 /** 11797 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11798 * @param event packet 11799 * @return status 11800 * @note: btstack_type 1 11801 */ 11802 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 11803 return event[3]; 11804 } 11805 /** 11806 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11807 * @param event packet 11808 * @param Pointer to storage for bd_addr 11809 * @note: btstack_type B 11810 */ 11811 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11812 reverse_bytes(&event[4], bd_addr, 6); 11813 } 11814 /** 11815 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11816 * @param event packet 11817 * @return browsing_cid 11818 * @note: btstack_type 2 11819 */ 11820 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 11821 return little_endian_read_16(event, 10); 11822 } 11823 11824 /** 11825 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 11826 * @param event packet 11827 * @return browsing_cid 11828 * @note: btstack_type 2 11829 */ 11830 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 11831 return little_endian_read_16(event, 3); 11832 } 11833 11834 /** 11835 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 11836 * @param event packet 11837 * @return browsing_cid 11838 * @note: btstack_type 2 11839 */ 11840 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 11841 return little_endian_read_16(event, 3); 11842 } 11843 /** 11844 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 11845 * @param event packet 11846 * @return uid_counter 11847 * @note: btstack_type 2 11848 */ 11849 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 11850 return little_endian_read_16(event, 5); 11851 } 11852 /** 11853 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 11854 * @param event packet 11855 * @return browsing_status 11856 * @note: btstack_type 1 11857 */ 11858 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 11859 return event[7]; 11860 } 11861 /** 11862 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 11863 * @param event packet 11864 * @return bluetooth_status 11865 * @note: btstack_type 1 11866 */ 11867 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 11868 return event[8]; 11869 } 11870 11871 /** 11872 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11873 * @param event packet 11874 * @return browsing_cid 11875 * @note: btstack_type 2 11876 */ 11877 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 11878 return little_endian_read_16(event, 3); 11879 } 11880 /** 11881 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11882 * @param event packet 11883 * @return scope 11884 * @note: btstack_type 1 11885 */ 11886 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 11887 return event[5]; 11888 } 11889 /** 11890 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11891 * @param event packet 11892 * @return attr_bitmap 11893 * @note: btstack_type 4 11894 */ 11895 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 11896 return little_endian_read_32(event, 6); 11897 } 11898 11899 /** 11900 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11901 * @param event packet 11902 * @return browsing_cid 11903 * @note: btstack_type 2 11904 */ 11905 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 11906 return little_endian_read_16(event, 3); 11907 } 11908 /** 11909 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11910 * @param event packet 11911 * @return scope 11912 * @note: btstack_type 1 11913 */ 11914 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 11915 return event[5]; 11916 } 11917 11918 /** 11919 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11920 * @param event packet 11921 * @return browsing_cid 11922 * @note: btstack_type 2 11923 */ 11924 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_browsing_cid(const uint8_t * event){ 11925 return little_endian_read_16(event, 3); 11926 } 11927 /** 11928 * @brief Get field player_id from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11929 * @param event packet 11930 * @return player_id 11931 * @note: btstack_type 2 11932 */ 11933 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_player_id(const uint8_t * event){ 11934 return little_endian_read_16(event, 5); 11935 } 11936 11937 /** 11938 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11939 * @param event packet 11940 * @return status 11941 * @note: btstack_type 1 11942 */ 11943 static inline uint8_t avrcp_subevent_cover_art_connection_established_get_status(const uint8_t * event){ 11944 return event[3]; 11945 } 11946 /** 11947 * @brief Get field bd_addr from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11948 * @param event packet 11949 * @param Pointer to storage for bd_addr 11950 * @note: btstack_type B 11951 */ 11952 static inline void avrcp_subevent_cover_art_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11953 reverse_bytes(&event[4], bd_addr, 6); 11954 } 11955 /** 11956 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11957 * @param event packet 11958 * @return avrcp_cid 11959 * @note: btstack_type 2 11960 */ 11961 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_avrcp_cid(const uint8_t * event){ 11962 return little_endian_read_16(event, 10); 11963 } 11964 /** 11965 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11966 * @param event packet 11967 * @return cover_art_cid 11968 * @note: btstack_type 2 11969 */ 11970 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_cover_art_cid(const uint8_t * event){ 11971 return little_endian_read_16(event, 12); 11972 } 11973 11974 /** 11975 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11976 * @param event packet 11977 * @return cover_art_cid 11978 * @note: btstack_type 2 11979 */ 11980 static inline uint16_t avrcp_subevent_cover_art_operation_complete_get_cover_art_cid(const uint8_t * event){ 11981 return little_endian_read_16(event, 3); 11982 } 11983 /** 11984 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11985 * @param event packet 11986 * @return status 11987 * @note: btstack_type 1 11988 */ 11989 static inline uint8_t avrcp_subevent_cover_art_operation_complete_get_status(const uint8_t * event){ 11990 return event[5]; 11991 } 11992 11993 /** 11994 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_RELEASED 11995 * @param event packet 11996 * @return cover_art_cid 11997 * @note: btstack_type 2 11998 */ 11999 static inline uint16_t avrcp_subevent_cover_art_connection_released_get_cover_art_cid(const uint8_t * event){ 12000 return little_endian_read_16(event, 3); 12001 } 12002 12003 /** 12004 * @brief Get field goep_cid from event GOEP_SUBEVENT_INCOMING_CONNECTION 12005 * @param event packet 12006 * @return goep_cid 12007 * @note: btstack_type 2 12008 */ 12009 static inline uint16_t goep_subevent_incoming_connection_get_goep_cid(const uint8_t * event){ 12010 return little_endian_read_16(event, 3); 12011 } 12012 /** 12013 * @brief Get field address from event GOEP_SUBEVENT_INCOMING_CONNECTION 12014 * @param event packet 12015 * @param Pointer to storage for address 12016 * @note: btstack_type B 12017 */ 12018 static inline void goep_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 12019 reverse_bytes(&event[5], address, 6); 12020 } 12021 /** 12022 * @brief Get field handle from event GOEP_SUBEVENT_INCOMING_CONNECTION 12023 * @param event packet 12024 * @return handle 12025 * @note: btstack_type H 12026 */ 12027 static inline hci_con_handle_t goep_subevent_incoming_connection_get_handle(const uint8_t * event){ 12028 return little_endian_read_16(event, 11); 12029 } 12030 12031 /** 12032 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 12033 * @param event packet 12034 * @return goep_cid 12035 * @note: btstack_type 2 12036 */ 12037 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 12038 return little_endian_read_16(event, 3); 12039 } 12040 /** 12041 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 12042 * @param event packet 12043 * @return status 12044 * @note: btstack_type 1 12045 */ 12046 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 12047 return event[5]; 12048 } 12049 /** 12050 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 12051 * @param event packet 12052 * @param Pointer to storage for bd_addr 12053 * @note: btstack_type B 12054 */ 12055 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12056 reverse_bytes(&event[6], bd_addr, 6); 12057 } 12058 /** 12059 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 12060 * @param event packet 12061 * @return con_handle 12062 * @note: btstack_type H 12063 */ 12064 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12065 return little_endian_read_16(event, 12); 12066 } 12067 /** 12068 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 12069 * @param event packet 12070 * @return incoming 12071 * @note: btstack_type 1 12072 */ 12073 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 12074 return event[14]; 12075 } 12076 12077 /** 12078 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 12079 * @param event packet 12080 * @return goep_cid 12081 * @note: btstack_type 2 12082 */ 12083 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 12084 return little_endian_read_16(event, 3); 12085 } 12086 12087 /** 12088 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 12089 * @param event packet 12090 * @return goep_cid 12091 * @note: btstack_type 2 12092 */ 12093 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 12094 return little_endian_read_16(event, 3); 12095 } 12096 12097 /** 12098 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 12099 * @param event packet 12100 * @return pbap_cid 12101 * @note: btstack_type 2 12102 */ 12103 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 12104 return little_endian_read_16(event, 3); 12105 } 12106 /** 12107 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 12108 * @param event packet 12109 * @return status 12110 * @note: btstack_type 1 12111 */ 12112 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 12113 return event[5]; 12114 } 12115 /** 12116 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 12117 * @param event packet 12118 * @param Pointer to storage for bd_addr 12119 * @note: btstack_type B 12120 */ 12121 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12122 reverse_bytes(&event[6], bd_addr, 6); 12123 } 12124 /** 12125 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 12126 * @param event packet 12127 * @return con_handle 12128 * @note: btstack_type H 12129 */ 12130 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12131 return little_endian_read_16(event, 12); 12132 } 12133 /** 12134 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 12135 * @param event packet 12136 * @return incoming 12137 * @note: btstack_type 1 12138 */ 12139 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 12140 return event[14]; 12141 } 12142 12143 /** 12144 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 12145 * @param event packet 12146 * @return goep_cid 12147 * @note: btstack_type 2 12148 */ 12149 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 12150 return little_endian_read_16(event, 3); 12151 } 12152 12153 /** 12154 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 12155 * @param event packet 12156 * @return goep_cid 12157 * @note: btstack_type 2 12158 */ 12159 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 12160 return little_endian_read_16(event, 3); 12161 } 12162 /** 12163 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 12164 * @param event packet 12165 * @return status 12166 * @note: btstack_type 1 12167 */ 12168 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 12169 return event[5]; 12170 } 12171 12172 /** 12173 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12174 * @param event packet 12175 * @return goep_cid 12176 * @note: btstack_type 2 12177 */ 12178 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 12179 return little_endian_read_16(event, 3); 12180 } 12181 /** 12182 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12183 * @param event packet 12184 * @return status 12185 * @note: btstack_type 1 12186 */ 12187 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 12188 return event[5]; 12189 } 12190 /** 12191 * @brief Get field phonebook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12192 * @param event packet 12193 * @return phonebook_size 12194 * @note: btstack_type 2 12195 */ 12196 static inline uint16_t pbap_subevent_phonebook_size_get_phonebook_size(const uint8_t * event){ 12197 return little_endian_read_16(event, 6); 12198 } 12199 12200 /** 12201 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12202 * @param event packet 12203 * @return goep_cid 12204 * @note: btstack_type 2 12205 */ 12206 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 12207 return little_endian_read_16(event, 3); 12208 } 12209 /** 12210 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12211 * @param event packet 12212 * @return user_id_required 12213 * @note: btstack_type 1 12214 */ 12215 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 12216 return event[5]; 12217 } 12218 /** 12219 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12220 * @param event packet 12221 * @return full_access 12222 * @note: btstack_type 1 12223 */ 12224 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 12225 return event[6]; 12226 } 12227 12228 /** 12229 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 12230 * @param event packet 12231 * @return goep_cid 12232 * @note: btstack_type 2 12233 */ 12234 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 12235 return little_endian_read_16(event, 3); 12236 } 12237 /** 12238 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 12239 * @param event packet 12240 * @return name_len 12241 * @note: btstack_type J 12242 */ 12243 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 12244 return event[5]; 12245 } 12246 /** 12247 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 12248 * @param event packet 12249 * @return name 12250 * @note: btstack_type V 12251 */ 12252 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 12253 return &event[6]; 12254 } 12255 /** 12256 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 12257 * @param event packet 12258 * @return handle_len 12259 * @note: btstack_type J 12260 */ 12261 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 12262 return event[6u + event[5]]; 12263 } 12264 /** 12265 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 12266 * @param event packet 12267 * @return handle 12268 * @note: btstack_type V 12269 */ 12270 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 12271 return &event[6u + event[5] + 1u]; 12272 } 12273 12274 /** 12275 * @brief Get field goep_cid from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12276 * @param event packet 12277 * @return goep_cid 12278 * @note: btstack_type 2 12279 */ 12280 static inline uint16_t pbap_subevent_reset_missed_calls_get_goep_cid(const uint8_t * event){ 12281 return little_endian_read_16(event, 3); 12282 } 12283 /** 12284 * @brief Get field phonebook from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12285 * @param event packet 12286 * @return phonebook 12287 * @note: btstack_type 1 12288 */ 12289 static inline uint8_t pbap_subevent_reset_missed_calls_get_phonebook(const uint8_t * event){ 12290 return event[5]; 12291 } 12292 12293 /** 12294 * @brief Get field goep_cid from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12295 * @param event packet 12296 * @return goep_cid 12297 * @note: btstack_type 2 12298 */ 12299 static inline uint16_t pbap_subevent_query_phonebook_size_get_goep_cid(const uint8_t * event){ 12300 return little_endian_read_16(event, 3); 12301 } 12302 /** 12303 * @brief Get field vcard_selector from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12304 * @param event packet 12305 * @return vcard_selector 12306 * @note: btstack_type 4 12307 */ 12308 static inline uint32_t pbap_subevent_query_phonebook_size_get_vcard_selector(const uint8_t * event){ 12309 return little_endian_read_32(event, 5); 12310 } 12311 /** 12312 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12313 * @param event packet 12314 * @return vcard_selector_operator 12315 * @note: btstack_type 1 12316 */ 12317 static inline uint8_t pbap_subevent_query_phonebook_size_get_vcard_selector_operator(const uint8_t * event){ 12318 return event[9]; 12319 } 12320 /** 12321 * @brief Get field phonebook from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12322 * @param event packet 12323 * @return phonebook 12324 * @note: btstack_type 1 12325 */ 12326 static inline uint8_t pbap_subevent_query_phonebook_size_get_phonebook(const uint8_t * event){ 12327 return event[10]; 12328 } 12329 12330 /** 12331 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_PHONEBOOK 12332 * @param event packet 12333 * @return goep_cid 12334 * @note: btstack_type 2 12335 */ 12336 static inline uint16_t pbap_subevent_pull_phonebook_get_goep_cid(const uint8_t * event){ 12337 return little_endian_read_16(event, 3); 12338 } 12339 /** 12340 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_PHONEBOOK 12341 * @param event packet 12342 * @return continuation 12343 * @note: btstack_type 4 12344 */ 12345 static inline uint32_t pbap_subevent_pull_phonebook_get_continuation(const uint8_t * event){ 12346 return little_endian_read_32(event, 5); 12347 } 12348 /** 12349 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12350 * @param event packet 12351 * @return property_selector 12352 * @note: btstack_type 4 12353 */ 12354 static inline uint32_t pbap_subevent_pull_phonebook_get_property_selector(const uint8_t * event){ 12355 return little_endian_read_32(event, 9); 12356 } 12357 /** 12358 * @brief Get field format from event PBAP_SUBEVENT_PULL_PHONEBOOK 12359 * @param event packet 12360 * @return format 12361 * @note: btstack_type 1 12362 */ 12363 static inline uint8_t pbap_subevent_pull_phonebook_get_format(const uint8_t * event){ 12364 return event[13]; 12365 } 12366 /** 12367 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_PHONEBOOK 12368 * @param event packet 12369 * @return max_list_count 12370 * @note: btstack_type 2 12371 */ 12372 static inline uint16_t pbap_subevent_pull_phonebook_get_max_list_count(const uint8_t * event){ 12373 return little_endian_read_16(event, 14); 12374 } 12375 /** 12376 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_PHONEBOOK 12377 * @param event packet 12378 * @return list_start_offset 12379 * @note: btstack_type 2 12380 */ 12381 static inline uint16_t pbap_subevent_pull_phonebook_get_list_start_offset(const uint8_t * event){ 12382 return little_endian_read_16(event, 16); 12383 } 12384 /** 12385 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12386 * @param event packet 12387 * @return vcard_selector 12388 * @note: btstack_type 4 12389 */ 12390 static inline uint32_t pbap_subevent_pull_phonebook_get_vcard_selector(const uint8_t * event){ 12391 return little_endian_read_32(event, 18); 12392 } 12393 /** 12394 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_PHONEBOOK 12395 * @param event packet 12396 * @return vcard_selector_operator 12397 * @note: btstack_type 1 12398 */ 12399 static inline uint8_t pbap_subevent_pull_phonebook_get_vcard_selector_operator(const uint8_t * event){ 12400 return event[22]; 12401 } 12402 /** 12403 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_PHONEBOOK 12404 * @param event packet 12405 * @return phonebook 12406 * @note: btstack_type 1 12407 */ 12408 static inline uint8_t pbap_subevent_pull_phonebook_get_phonebook(const uint8_t * event){ 12409 return event[23]; 12410 } 12411 12412 /** 12413 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12414 * @param event packet 12415 * @return goep_cid 12416 * @note: btstack_type 2 12417 */ 12418 static inline uint16_t pbap_subevent_pull_vcard_listing_get_goep_cid(const uint8_t * event){ 12419 return little_endian_read_16(event, 3); 12420 } 12421 /** 12422 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12423 * @param event packet 12424 * @return continuation 12425 * @note: btstack_type 4 12426 */ 12427 static inline uint32_t pbap_subevent_pull_vcard_listing_get_continuation(const uint8_t * event){ 12428 return little_endian_read_32(event, 5); 12429 } 12430 /** 12431 * @brief Get field order from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12432 * @param event packet 12433 * @return order 12434 * @note: btstack_type 1 12435 */ 12436 static inline uint8_t pbap_subevent_pull_vcard_listing_get_order(const uint8_t * event){ 12437 return event[9]; 12438 } 12439 /** 12440 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12441 * @param event packet 12442 * @return max_list_count 12443 * @note: btstack_type 2 12444 */ 12445 static inline uint16_t pbap_subevent_pull_vcard_listing_get_max_list_count(const uint8_t * event){ 12446 return little_endian_read_16(event, 10); 12447 } 12448 /** 12449 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12450 * @param event packet 12451 * @return list_start_offset 12452 * @note: btstack_type 2 12453 */ 12454 static inline uint16_t pbap_subevent_pull_vcard_listing_get_list_start_offset(const uint8_t * event){ 12455 return little_endian_read_16(event, 12); 12456 } 12457 /** 12458 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12459 * @param event packet 12460 * @return vcard_selector 12461 * @note: btstack_type 4 12462 */ 12463 static inline uint32_t pbap_subevent_pull_vcard_listing_get_vcard_selector(const uint8_t * event){ 12464 return little_endian_read_32(event, 14); 12465 } 12466 /** 12467 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12468 * @param event packet 12469 * @return vcard_selector_operator 12470 * @note: btstack_type 1 12471 */ 12472 static inline uint8_t pbap_subevent_pull_vcard_listing_get_vcard_selector_operator(const uint8_t * event){ 12473 return event[18]; 12474 } 12475 /** 12476 * @brief Get field search_property from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12477 * @param event packet 12478 * @return search_property 12479 * @note: btstack_type 1 12480 */ 12481 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_property(const uint8_t * event){ 12482 return event[19]; 12483 } 12484 /** 12485 * @brief Get field search_value_len from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12486 * @param event packet 12487 * @return search_value_len 12488 * @note: btstack_type J 12489 */ 12490 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_value_len(const uint8_t * event){ 12491 return event[20]; 12492 } 12493 /** 12494 * @brief Get field search_value from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12495 * @param event packet 12496 * @return search_value 12497 * @note: btstack_type V 12498 */ 12499 static inline const uint8_t * pbap_subevent_pull_vcard_listing_get_search_value(const uint8_t * event){ 12500 return &event[21]; 12501 } 12502 /** 12503 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12504 * @param event packet 12505 * @return phonebook 12506 * @note: btstack_type 1 12507 */ 12508 static inline uint8_t pbap_subevent_pull_vcard_listing_get_phonebook(const uint8_t * event){ 12509 return event[21u + event[20]]; 12510 } 12511 12512 /** 12513 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12514 * @param event packet 12515 * @return goep_cid 12516 * @note: btstack_type 2 12517 */ 12518 static inline uint16_t pbap_subevent_pull_vcard_entry_get_goep_cid(const uint8_t * event){ 12519 return little_endian_read_16(event, 3); 12520 } 12521 /** 12522 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12523 * @param event packet 12524 * @return continuation 12525 * @note: btstack_type 4 12526 */ 12527 static inline uint32_t pbap_subevent_pull_vcard_entry_get_continuation(const uint8_t * event){ 12528 return little_endian_read_32(event, 5); 12529 } 12530 /** 12531 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12532 * @param event packet 12533 * @return property_selector 12534 * @note: btstack_type 4 12535 */ 12536 static inline uint32_t pbap_subevent_pull_vcard_entry_get_property_selector(const uint8_t * event){ 12537 return little_endian_read_32(event, 9); 12538 } 12539 /** 12540 * @brief Get field format from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12541 * @param event packet 12542 * @return format 12543 * @note: btstack_type 1 12544 */ 12545 static inline uint8_t pbap_subevent_pull_vcard_entry_get_format(const uint8_t * event){ 12546 return event[13]; 12547 } 12548 /** 12549 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12550 * @param event packet 12551 * @return phonebook 12552 * @note: btstack_type 1 12553 */ 12554 static inline uint8_t pbap_subevent_pull_vcard_entry_get_phonebook(const uint8_t * event){ 12555 return event[14]; 12556 } 12557 /** 12558 * @brief Get field name from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12559 * @param event packet 12560 * @return name 12561 * @note: btstack_type T 12562 */ 12563 static inline const char * pbap_subevent_pull_vcard_entry_get_name(const uint8_t * event){ 12564 return (const char *) &event[15]; 12565 } 12566 12567 /** 12568 * @brief Get field hid_cid from event HID_SUBEVENT_INCOMING_CONNECTION 12569 * @param event packet 12570 * @return hid_cid 12571 * @note: btstack_type 2 12572 */ 12573 static inline uint16_t hid_subevent_incoming_connection_get_hid_cid(const uint8_t * event){ 12574 return little_endian_read_16(event, 3); 12575 } 12576 /** 12577 * @brief Get field address from event HID_SUBEVENT_INCOMING_CONNECTION 12578 * @param event packet 12579 * @param Pointer to storage for address 12580 * @note: btstack_type B 12581 */ 12582 static inline void hid_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 12583 reverse_bytes(&event[5], address, 6); 12584 } 12585 /** 12586 * @brief Get field handle from event HID_SUBEVENT_INCOMING_CONNECTION 12587 * @param event packet 12588 * @return handle 12589 * @note: btstack_type H 12590 */ 12591 static inline hci_con_handle_t hid_subevent_incoming_connection_get_handle(const uint8_t * event){ 12592 return little_endian_read_16(event, 11); 12593 } 12594 12595 /** 12596 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 12597 * @param event packet 12598 * @return hid_cid 12599 * @note: btstack_type 2 12600 */ 12601 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 12602 return little_endian_read_16(event, 3); 12603 } 12604 /** 12605 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 12606 * @param event packet 12607 * @return status 12608 * @note: btstack_type 1 12609 */ 12610 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 12611 return event[5]; 12612 } 12613 /** 12614 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 12615 * @param event packet 12616 * @param Pointer to storage for bd_addr 12617 * @note: btstack_type B 12618 */ 12619 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12620 reverse_bytes(&event[6], bd_addr, 6); 12621 } 12622 /** 12623 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 12624 * @param event packet 12625 * @return con_handle 12626 * @note: btstack_type H 12627 */ 12628 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12629 return little_endian_read_16(event, 12); 12630 } 12631 /** 12632 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 12633 * @param event packet 12634 * @return incoming 12635 * @note: btstack_type 1 12636 */ 12637 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 12638 return event[14]; 12639 } 12640 12641 /** 12642 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 12643 * @param event packet 12644 * @return hid_cid 12645 * @note: btstack_type 2 12646 */ 12647 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 12648 return little_endian_read_16(event, 3); 12649 } 12650 12651 /** 12652 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 12653 * @param event packet 12654 * @return hid_cid 12655 * @note: btstack_type 2 12656 */ 12657 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 12658 return little_endian_read_16(event, 3); 12659 } 12660 12661 /** 12662 * @brief Get field hid_cid from event HID_SUBEVENT_SUSPEND 12663 * @param event packet 12664 * @return hid_cid 12665 * @note: btstack_type 2 12666 */ 12667 static inline uint16_t hid_subevent_suspend_get_hid_cid(const uint8_t * event){ 12668 return little_endian_read_16(event, 3); 12669 } 12670 12671 /** 12672 * @brief Get field hid_cid from event HID_SUBEVENT_EXIT_SUSPEND 12673 * @param event packet 12674 * @return hid_cid 12675 * @note: btstack_type 2 12676 */ 12677 static inline uint16_t hid_subevent_exit_suspend_get_hid_cid(const uint8_t * event){ 12678 return little_endian_read_16(event, 3); 12679 } 12680 12681 /** 12682 * @brief Get field hid_cid from event HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 12683 * @param event packet 12684 * @return hid_cid 12685 * @note: btstack_type 2 12686 */ 12687 static inline uint16_t hid_subevent_virtual_cable_unplug_get_hid_cid(const uint8_t * event){ 12688 return little_endian_read_16(event, 3); 12689 } 12690 12691 /** 12692 * @brief Get field hid_cid from event HID_SUBEVENT_GET_REPORT_RESPONSE 12693 * @param event packet 12694 * @return hid_cid 12695 * @note: btstack_type 2 12696 */ 12697 static inline uint16_t hid_subevent_get_report_response_get_hid_cid(const uint8_t * event){ 12698 return little_endian_read_16(event, 3); 12699 } 12700 /** 12701 * @brief Get field handshake_status from event HID_SUBEVENT_GET_REPORT_RESPONSE 12702 * @param event packet 12703 * @return handshake_status 12704 * @note: btstack_type 1 12705 */ 12706 static inline uint8_t hid_subevent_get_report_response_get_handshake_status(const uint8_t * event){ 12707 return event[5]; 12708 } 12709 /** 12710 * @brief Get field report_len from event HID_SUBEVENT_GET_REPORT_RESPONSE 12711 * @param event packet 12712 * @return report_len 12713 * @note: btstack_type L 12714 */ 12715 static inline uint16_t hid_subevent_get_report_response_get_report_len(const uint8_t * event){ 12716 return little_endian_read_16(event, 6); 12717 } 12718 /** 12719 * @brief Get field report from event HID_SUBEVENT_GET_REPORT_RESPONSE 12720 * @param event packet 12721 * @return report 12722 * @note: btstack_type V 12723 */ 12724 static inline const uint8_t * hid_subevent_get_report_response_get_report(const uint8_t * event){ 12725 return &event[8]; 12726 } 12727 12728 /** 12729 * @brief Get field hid_cid from event HID_SUBEVENT_SET_REPORT_RESPONSE 12730 * @param event packet 12731 * @return hid_cid 12732 * @note: btstack_type 2 12733 */ 12734 static inline uint16_t hid_subevent_set_report_response_get_hid_cid(const uint8_t * event){ 12735 return little_endian_read_16(event, 3); 12736 } 12737 /** 12738 * @brief Get field handshake_status from event HID_SUBEVENT_SET_REPORT_RESPONSE 12739 * @param event packet 12740 * @return handshake_status 12741 * @note: btstack_type 1 12742 */ 12743 static inline uint8_t hid_subevent_set_report_response_get_handshake_status(const uint8_t * event){ 12744 return event[5]; 12745 } 12746 12747 /** 12748 * @brief Get field hid_cid from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12749 * @param event packet 12750 * @return hid_cid 12751 * @note: btstack_type 2 12752 */ 12753 static inline uint16_t hid_subevent_get_protocol_response_get_hid_cid(const uint8_t * event){ 12754 return little_endian_read_16(event, 3); 12755 } 12756 /** 12757 * @brief Get field handshake_status from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12758 * @param event packet 12759 * @return handshake_status 12760 * @note: btstack_type 1 12761 */ 12762 static inline uint8_t hid_subevent_get_protocol_response_get_handshake_status(const uint8_t * event){ 12763 return event[5]; 12764 } 12765 /** 12766 * @brief Get field protocol_mode from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12767 * @param event packet 12768 * @return protocol_mode 12769 * @note: btstack_type 1 12770 */ 12771 static inline uint8_t hid_subevent_get_protocol_response_get_protocol_mode(const uint8_t * event){ 12772 return event[6]; 12773 } 12774 12775 /** 12776 * @brief Get field hid_cid from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12777 * @param event packet 12778 * @return hid_cid 12779 * @note: btstack_type 2 12780 */ 12781 static inline uint16_t hid_subevent_set_protocol_response_get_hid_cid(const uint8_t * event){ 12782 return little_endian_read_16(event, 3); 12783 } 12784 /** 12785 * @brief Get field handshake_status from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12786 * @param event packet 12787 * @return handshake_status 12788 * @note: btstack_type 1 12789 */ 12790 static inline uint8_t hid_subevent_set_protocol_response_get_handshake_status(const uint8_t * event){ 12791 return event[5]; 12792 } 12793 /** 12794 * @brief Get field protocol_mode from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12795 * @param event packet 12796 * @return protocol_mode 12797 * @note: btstack_type 1 12798 */ 12799 static inline uint8_t hid_subevent_set_protocol_response_get_protocol_mode(const uint8_t * event){ 12800 return event[6]; 12801 } 12802 12803 /** 12804 * @brief Get field hid_cid from event HID_SUBEVENT_REPORT 12805 * @param event packet 12806 * @return hid_cid 12807 * @note: btstack_type 2 12808 */ 12809 static inline uint16_t hid_subevent_report_get_hid_cid(const uint8_t * event){ 12810 return little_endian_read_16(event, 3); 12811 } 12812 /** 12813 * @brief Get field report_len from event HID_SUBEVENT_REPORT 12814 * @param event packet 12815 * @return report_len 12816 * @note: btstack_type L 12817 */ 12818 static inline uint16_t hid_subevent_report_get_report_len(const uint8_t * event){ 12819 return little_endian_read_16(event, 5); 12820 } 12821 /** 12822 * @brief Get field report from event HID_SUBEVENT_REPORT 12823 * @param event packet 12824 * @return report 12825 * @note: btstack_type V 12826 */ 12827 static inline const uint8_t * hid_subevent_report_get_report(const uint8_t * event){ 12828 return &event[7]; 12829 } 12830 12831 /** 12832 * @brief Get field hid_cid from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12833 * @param event packet 12834 * @return hid_cid 12835 * @note: btstack_type 2 12836 */ 12837 static inline uint16_t hid_subevent_descriptor_available_get_hid_cid(const uint8_t * event){ 12838 return little_endian_read_16(event, 3); 12839 } 12840 /** 12841 * @brief Get field status from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12842 * @param event packet 12843 * @return status 12844 * @note: btstack_type 1 12845 */ 12846 static inline uint8_t hid_subevent_descriptor_available_get_status(const uint8_t * event){ 12847 return event[5]; 12848 } 12849 12850 /** 12851 * @brief Get field hid_cid from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12852 * @param event packet 12853 * @return hid_cid 12854 * @note: btstack_type 2 12855 */ 12856 static inline uint16_t hid_subevent_sniff_subrating_params_get_hid_cid(const uint8_t * event){ 12857 return little_endian_read_16(event, 3); 12858 } 12859 /** 12860 * @brief Get field host_max_latency from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12861 * @param event packet 12862 * @return host_max_latency 12863 * @note: btstack_type 2 12864 */ 12865 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_max_latency(const uint8_t * event){ 12866 return little_endian_read_16(event, 5); 12867 } 12868 /** 12869 * @brief Get field host_min_timeout from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12870 * @param event packet 12871 * @return host_min_timeout 12872 * @note: btstack_type 2 12873 */ 12874 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_min_timeout(const uint8_t * event){ 12875 return little_endian_read_16(event, 7); 12876 } 12877 12878 /** 12879 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 12880 * @param event packet 12881 * @return con_handle 12882 * @note: btstack_type 2 12883 */ 12884 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 12885 return little_endian_read_16(event, 3); 12886 } 12887 12888 /** 12889 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 12890 * @param event packet 12891 * @return con_handle 12892 * @note: btstack_type 2 12893 */ 12894 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 12895 return little_endian_read_16(event, 3); 12896 } 12897 /** 12898 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 12899 * @param event packet 12900 * @return protocol_mode 12901 * @note: btstack_type 1 12902 */ 12903 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 12904 return event[5]; 12905 } 12906 12907 /** 12908 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12909 * @param event packet 12910 * @return con_handle 12911 * @note: btstack_type 2 12912 */ 12913 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 12914 return little_endian_read_16(event, 3); 12915 } 12916 /** 12917 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12918 * @param event packet 12919 * @return enable 12920 * @note: btstack_type 1 12921 */ 12922 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 12923 return event[5]; 12924 } 12925 12926 /** 12927 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12928 * @param event packet 12929 * @return con_handle 12930 * @note: btstack_type 2 12931 */ 12932 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 12933 return little_endian_read_16(event, 3); 12934 } 12935 /** 12936 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12937 * @param event packet 12938 * @return enable 12939 * @note: btstack_type 1 12940 */ 12941 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 12942 return event[5]; 12943 } 12944 12945 /** 12946 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12947 * @param event packet 12948 * @return con_handle 12949 * @note: btstack_type 2 12950 */ 12951 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 12952 return little_endian_read_16(event, 3); 12953 } 12954 /** 12955 * @brief Get field report_id from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12956 * @param event packet 12957 * @return report_id 12958 * @note: btstack_type 1 12959 */ 12960 static inline uint8_t hids_subevent_input_report_enable_get_report_id(const uint8_t * event){ 12961 return event[5]; 12962 } 12963 /** 12964 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12965 * @param event packet 12966 * @return enable 12967 * @note: btstack_type 1 12968 */ 12969 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 12970 return event[6]; 12971 } 12972 12973 /** 12974 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12975 * @param event packet 12976 * @return con_handle 12977 * @note: btstack_type 2 12978 */ 12979 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 12980 return little_endian_read_16(event, 3); 12981 } 12982 /** 12983 * @brief Get field report_id from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12984 * @param event packet 12985 * @return report_id 12986 * @note: btstack_type 1 12987 */ 12988 static inline uint8_t hids_subevent_output_report_enable_get_report_id(const uint8_t * event){ 12989 return event[5]; 12990 } 12991 /** 12992 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12993 * @param event packet 12994 * @return enable 12995 * @note: btstack_type 1 12996 */ 12997 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 12998 return event[6]; 12999 } 13000 13001 /** 13002 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 13003 * @param event packet 13004 * @return con_handle 13005 * @note: btstack_type 2 13006 */ 13007 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 13008 return little_endian_read_16(event, 3); 13009 } 13010 /** 13011 * @brief Get field report_id from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 13012 * @param event packet 13013 * @return report_id 13014 * @note: btstack_type 1 13015 */ 13016 static inline uint8_t hids_subevent_feature_report_enable_get_report_id(const uint8_t * event){ 13017 return event[5]; 13018 } 13019 /** 13020 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 13021 * @param event packet 13022 * @return enable 13023 * @note: btstack_type 1 13024 */ 13025 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 13026 return event[6]; 13027 } 13028 13029 /** 13030 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 13031 * @param event packet 13032 * @return con_handle 13033 * @note: btstack_type 2 13034 */ 13035 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 13036 return little_endian_read_16(event, 3); 13037 } 13038 13039 /** 13040 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 13041 * @param event packet 13042 * @return con_handle 13043 * @note: btstack_type 2 13044 */ 13045 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 13046 return little_endian_read_16(event, 3); 13047 } 13048 13049 /** 13050 * @brief Get field con_handle from event HIDS_SUBEVENT_SET_REPORT 13051 * @param event packet 13052 * @return con_handle 13053 * @note: btstack_type 2 13054 */ 13055 static inline uint16_t hids_subevent_set_report_get_con_handle(const uint8_t * event){ 13056 return little_endian_read_16(event, 3); 13057 } 13058 /** 13059 * @brief Get field report_id from event HIDS_SUBEVENT_SET_REPORT 13060 * @param event packet 13061 * @return report_id 13062 * @note: btstack_type 1 13063 */ 13064 static inline uint8_t hids_subevent_set_report_get_report_id(const uint8_t * event){ 13065 return event[5]; 13066 } 13067 /** 13068 * @brief Get field report_type from event HIDS_SUBEVENT_SET_REPORT 13069 * @param event packet 13070 * @return report_type 13071 * @note: btstack_type 1 13072 */ 13073 static inline uint8_t hids_subevent_set_report_get_report_type(const uint8_t * event){ 13074 return event[6]; 13075 } 13076 /** 13077 * @brief Get field report_length from event HIDS_SUBEVENT_SET_REPORT 13078 * @param event packet 13079 * @return report_length 13080 * @note: btstack_type J 13081 */ 13082 static inline uint8_t hids_subevent_set_report_get_report_length(const uint8_t * event){ 13083 return event[7]; 13084 } 13085 /** 13086 * @brief Get field report_data from event HIDS_SUBEVENT_SET_REPORT 13087 * @param event packet 13088 * @return report_data 13089 * @note: btstack_type V 13090 */ 13091 static inline const uint8_t * hids_subevent_set_report_get_report_data(const uint8_t * event){ 13092 return &event[8]; 13093 } 13094 13095 /** 13096 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13097 * @param event packet 13098 * @return con_handle 13099 * @note: btstack_type 2 13100 */ 13101 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 13102 return little_endian_read_16(event, 3); 13103 } 13104 /** 13105 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13106 * @param event packet 13107 * @return measurement_type 13108 * @note: btstack_type 1 13109 */ 13110 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 13111 return event[5]; 13112 } 13113 /** 13114 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13115 * @param event packet 13116 * @return is_enhanced 13117 * @note: btstack_type 1 13118 */ 13119 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 13120 return event[6]; 13121 } 13122 13123 /** 13124 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 13125 * @param event packet 13126 * @return con_handle 13127 * @note: btstack_type 2 13128 */ 13129 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 13130 return little_endian_read_16(event, 3); 13131 } 13132 13133 /** 13134 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 13135 * @param event packet 13136 * @return con_handle 13137 * @note: btstack_type 2 13138 */ 13139 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 13140 return little_endian_read_16(event, 3); 13141 } 13142 13143 /** 13144 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13145 * @param event packet 13146 * @return hids_cid 13147 * @note: btstack_type 2 13148 */ 13149 static inline uint16_t gattservice_subevent_battery_service_connected_get_hids_cid(const uint8_t * event){ 13150 return little_endian_read_16(event, 3); 13151 } 13152 /** 13153 * @brief Get field status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13154 * @param event packet 13155 * @return status 13156 * @note: btstack_type 1 13157 */ 13158 static inline uint8_t gattservice_subevent_battery_service_connected_get_status(const uint8_t * event){ 13159 return event[5]; 13160 } 13161 /** 13162 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13163 * @param event packet 13164 * @return num_instances 13165 * @note: btstack_type 1 13166 */ 13167 static inline uint8_t gattservice_subevent_battery_service_connected_get_num_instances(const uint8_t * event){ 13168 return event[6]; 13169 } 13170 /** 13171 * @brief Get field poll_bitmap from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13172 * @param event packet 13173 * @return poll_bitmap 13174 * @note: btstack_type 1 13175 */ 13176 static inline uint8_t gattservice_subevent_battery_service_connected_get_poll_bitmap(const uint8_t * event){ 13177 return event[7]; 13178 } 13179 13180 /** 13181 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13182 * @param event packet 13183 * @return hids_cid 13184 * @note: btstack_type 2 13185 */ 13186 static inline uint16_t gattservice_subevent_battery_service_level_get_hids_cid(const uint8_t * event){ 13187 return little_endian_read_16(event, 3); 13188 } 13189 /** 13190 * @brief Get field sevice_index from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13191 * @param event packet 13192 * @return sevice_index 13193 * @note: btstack_type 1 13194 */ 13195 static inline uint8_t gattservice_subevent_battery_service_level_get_sevice_index(const uint8_t * event){ 13196 return event[5]; 13197 } 13198 /** 13199 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13200 * @param event packet 13201 * @return att_status 13202 * @note: btstack_type 1 13203 */ 13204 static inline uint8_t gattservice_subevent_battery_service_level_get_att_status(const uint8_t * event){ 13205 return event[6]; 13206 } 13207 /** 13208 * @brief Get field level from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13209 * @param event packet 13210 * @return level 13211 * @note: btstack_type 1 13212 */ 13213 static inline uint8_t gattservice_subevent_battery_service_level_get_level(const uint8_t * event){ 13214 return event[7]; 13215 } 13216 13217 /** 13218 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 13219 * @param event packet 13220 * @return con_handle 13221 * @note: btstack_type H 13222 */ 13223 static inline hci_con_handle_t gattservice_subevent_device_information_done_get_con_handle(const uint8_t * event){ 13224 return little_endian_read_16(event, 3); 13225 } 13226 /** 13227 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 13228 * @param event packet 13229 * @return att_status 13230 * @note: btstack_type 1 13231 */ 13232 static inline uint8_t gattservice_subevent_device_information_done_get_att_status(const uint8_t * event){ 13233 return event[5]; 13234 } 13235 13236 /** 13237 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13238 * @param event packet 13239 * @return con_handle 13240 * @note: btstack_type H 13241 */ 13242 static inline hci_con_handle_t gattservice_subevent_device_information_manufacturer_name_get_con_handle(const uint8_t * event){ 13243 return little_endian_read_16(event, 3); 13244 } 13245 /** 13246 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13247 * @param event packet 13248 * @return att_status 13249 * @note: btstack_type 1 13250 */ 13251 static inline uint8_t gattservice_subevent_device_information_manufacturer_name_get_att_status(const uint8_t * event){ 13252 return event[5]; 13253 } 13254 /** 13255 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13256 * @param event packet 13257 * @return value 13258 * @note: btstack_type T 13259 */ 13260 static inline const char * gattservice_subevent_device_information_manufacturer_name_get_value(const uint8_t * event){ 13261 return (const char *) &event[6]; 13262 } 13263 13264 /** 13265 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13266 * @param event packet 13267 * @return con_handle 13268 * @note: btstack_type H 13269 */ 13270 static inline hci_con_handle_t gattservice_subevent_device_information_model_number_get_con_handle(const uint8_t * event){ 13271 return little_endian_read_16(event, 3); 13272 } 13273 /** 13274 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13275 * @param event packet 13276 * @return att_status 13277 * @note: btstack_type 1 13278 */ 13279 static inline uint8_t gattservice_subevent_device_information_model_number_get_att_status(const uint8_t * event){ 13280 return event[5]; 13281 } 13282 /** 13283 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13284 * @param event packet 13285 * @return value 13286 * @note: btstack_type T 13287 */ 13288 static inline const char * gattservice_subevent_device_information_model_number_get_value(const uint8_t * event){ 13289 return (const char *) &event[6]; 13290 } 13291 13292 /** 13293 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13294 * @param event packet 13295 * @return con_handle 13296 * @note: btstack_type H 13297 */ 13298 static inline hci_con_handle_t gattservice_subevent_device_information_serial_number_get_con_handle(const uint8_t * event){ 13299 return little_endian_read_16(event, 3); 13300 } 13301 /** 13302 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13303 * @param event packet 13304 * @return att_status 13305 * @note: btstack_type 1 13306 */ 13307 static inline uint8_t gattservice_subevent_device_information_serial_number_get_att_status(const uint8_t * event){ 13308 return event[5]; 13309 } 13310 /** 13311 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13312 * @param event packet 13313 * @return value 13314 * @note: btstack_type T 13315 */ 13316 static inline const char * gattservice_subevent_device_information_serial_number_get_value(const uint8_t * event){ 13317 return (const char *) &event[6]; 13318 } 13319 13320 /** 13321 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13322 * @param event packet 13323 * @return con_handle 13324 * @note: btstack_type H 13325 */ 13326 static inline hci_con_handle_t gattservice_subevent_device_information_hardware_revision_get_con_handle(const uint8_t * event){ 13327 return little_endian_read_16(event, 3); 13328 } 13329 /** 13330 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13331 * @param event packet 13332 * @return att_status 13333 * @note: btstack_type 1 13334 */ 13335 static inline uint8_t gattservice_subevent_device_information_hardware_revision_get_att_status(const uint8_t * event){ 13336 return event[5]; 13337 } 13338 /** 13339 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13340 * @param event packet 13341 * @return value 13342 * @note: btstack_type T 13343 */ 13344 static inline const char * gattservice_subevent_device_information_hardware_revision_get_value(const uint8_t * event){ 13345 return (const char *) &event[6]; 13346 } 13347 13348 /** 13349 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13350 * @param event packet 13351 * @return con_handle 13352 * @note: btstack_type H 13353 */ 13354 static inline hci_con_handle_t gattservice_subevent_device_information_firmware_revision_get_con_handle(const uint8_t * event){ 13355 return little_endian_read_16(event, 3); 13356 } 13357 /** 13358 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13359 * @param event packet 13360 * @return att_status 13361 * @note: btstack_type 1 13362 */ 13363 static inline uint8_t gattservice_subevent_device_information_firmware_revision_get_att_status(const uint8_t * event){ 13364 return event[5]; 13365 } 13366 /** 13367 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13368 * @param event packet 13369 * @return value 13370 * @note: btstack_type T 13371 */ 13372 static inline const char * gattservice_subevent_device_information_firmware_revision_get_value(const uint8_t * event){ 13373 return (const char *) &event[6]; 13374 } 13375 13376 /** 13377 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13378 * @param event packet 13379 * @return con_handle 13380 * @note: btstack_type H 13381 */ 13382 static inline hci_con_handle_t gattservice_subevent_device_information_software_revision_get_con_handle(const uint8_t * event){ 13383 return little_endian_read_16(event, 3); 13384 } 13385 /** 13386 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13387 * @param event packet 13388 * @return att_status 13389 * @note: btstack_type 1 13390 */ 13391 static inline uint8_t gattservice_subevent_device_information_software_revision_get_att_status(const uint8_t * event){ 13392 return event[5]; 13393 } 13394 /** 13395 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13396 * @param event packet 13397 * @return value 13398 * @note: btstack_type T 13399 */ 13400 static inline const char * gattservice_subevent_device_information_software_revision_get_value(const uint8_t * event){ 13401 return (const char *) &event[6]; 13402 } 13403 13404 /** 13405 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13406 * @param event packet 13407 * @return con_handle 13408 * @note: btstack_type H 13409 */ 13410 static inline hci_con_handle_t gattservice_subevent_device_information_system_id_get_con_handle(const uint8_t * event){ 13411 return little_endian_read_16(event, 3); 13412 } 13413 /** 13414 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13415 * @param event packet 13416 * @return att_status 13417 * @note: btstack_type 1 13418 */ 13419 static inline uint8_t gattservice_subevent_device_information_system_id_get_att_status(const uint8_t * event){ 13420 return event[5]; 13421 } 13422 /** 13423 * @brief Get field manufacturer_id_low from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13424 * @param event packet 13425 * @return manufacturer_id_low 13426 * @note: btstack_type 4 13427 */ 13428 static inline uint32_t gattservice_subevent_device_information_system_id_get_manufacturer_id_low(const uint8_t * event){ 13429 return little_endian_read_32(event, 6); 13430 } 13431 /** 13432 * @brief Get field manufacturer_id_high from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13433 * @param event packet 13434 * @return manufacturer_id_high 13435 * @note: btstack_type 1 13436 */ 13437 static inline uint8_t gattservice_subevent_device_information_system_id_get_manufacturer_id_high(const uint8_t * event){ 13438 return event[10]; 13439 } 13440 /** 13441 * @brief Get field organizationally_unique_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13442 * @param event packet 13443 * @return organizationally_unique_id 13444 * @note: btstack_type 3 13445 */ 13446 static inline uint32_t gattservice_subevent_device_information_system_id_get_organizationally_unique_id(const uint8_t * event){ 13447 return little_endian_read_24(event, 11); 13448 } 13449 13450 /** 13451 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13452 * @param event packet 13453 * @return con_handle 13454 * @note: btstack_type H 13455 */ 13456 static inline hci_con_handle_t gattservice_subevent_device_information_ieee_regulatory_certification_get_con_handle(const uint8_t * event){ 13457 return little_endian_read_16(event, 3); 13458 } 13459 /** 13460 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13461 * @param event packet 13462 * @return att_status 13463 * @note: btstack_type 1 13464 */ 13465 static inline uint8_t gattservice_subevent_device_information_ieee_regulatory_certification_get_att_status(const uint8_t * event){ 13466 return event[5]; 13467 } 13468 /** 13469 * @brief Get field value_a from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13470 * @param event packet 13471 * @return value_a 13472 * @note: btstack_type 2 13473 */ 13474 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_a(const uint8_t * event){ 13475 return little_endian_read_16(event, 6); 13476 } 13477 /** 13478 * @brief Get field value_b from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13479 * @param event packet 13480 * @return value_b 13481 * @note: btstack_type 2 13482 */ 13483 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_b(const uint8_t * event){ 13484 return little_endian_read_16(event, 8); 13485 } 13486 13487 /** 13488 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13489 * @param event packet 13490 * @return con_handle 13491 * @note: btstack_type H 13492 */ 13493 static inline hci_con_handle_t gattservice_subevent_device_information_pnp_id_get_con_handle(const uint8_t * event){ 13494 return little_endian_read_16(event, 3); 13495 } 13496 /** 13497 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13498 * @param event packet 13499 * @return att_status 13500 * @note: btstack_type 1 13501 */ 13502 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_att_status(const uint8_t * event){ 13503 return event[5]; 13504 } 13505 /** 13506 * @brief Get field vendor_source_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13507 * @param event packet 13508 * @return vendor_source_id 13509 * @note: btstack_type 1 13510 */ 13511 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_vendor_source_id(const uint8_t * event){ 13512 return event[6]; 13513 } 13514 /** 13515 * @brief Get field vendor_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13516 * @param event packet 13517 * @return vendor_id 13518 * @note: btstack_type 2 13519 */ 13520 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_vendor_id(const uint8_t * event){ 13521 return little_endian_read_16(event, 7); 13522 } 13523 /** 13524 * @brief Get field product_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13525 * @param event packet 13526 * @return product_id 13527 * @note: btstack_type 2 13528 */ 13529 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_id(const uint8_t * event){ 13530 return little_endian_read_16(event, 9); 13531 } 13532 /** 13533 * @brief Get field product_version from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13534 * @param event packet 13535 * @return product_version 13536 * @note: btstack_type 2 13537 */ 13538 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_version(const uint8_t * event){ 13539 return little_endian_read_16(event, 11); 13540 } 13541 13542 /** 13543 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13544 * @param event packet 13545 * @return con_handle 13546 * @note: btstack_type H 13547 */ 13548 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_connected_get_con_handle(const uint8_t * event){ 13549 return little_endian_read_16(event, 3); 13550 } 13551 /** 13552 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13553 * @param event packet 13554 * @return att_status 13555 * @note: btstack_type 1 13556 */ 13557 static inline uint8_t gattservice_subevent_scan_parameters_service_connected_get_att_status(const uint8_t * event){ 13558 return event[5]; 13559 } 13560 13561 /** 13562 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_DISCONNECTED 13563 * @param event packet 13564 * @return con_handle 13565 * @note: btstack_type H 13566 */ 13567 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_disconnected_get_con_handle(const uint8_t * event){ 13568 return little_endian_read_16(event, 3); 13569 } 13570 13571 /** 13572 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 13573 * @param event packet 13574 * @return con_handle 13575 * @note: btstack_type H 13576 */ 13577 static inline hci_con_handle_t gattservice_subevent_spp_service_connected_get_con_handle(const uint8_t * event){ 13578 return little_endian_read_16(event, 3); 13579 } 13580 13581 /** 13582 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 13583 * @param event packet 13584 * @return con_handle 13585 * @note: btstack_type H 13586 */ 13587 static inline hci_con_handle_t gattservice_subevent_spp_service_disconnected_get_con_handle(const uint8_t * event){ 13588 return little_endian_read_16(event, 3); 13589 } 13590 13591 /** 13592 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13593 * @param event packet 13594 * @return hids_cid 13595 * @note: btstack_type 2 13596 */ 13597 static inline uint16_t gattservice_subevent_hid_service_connected_get_hids_cid(const uint8_t * event){ 13598 return little_endian_read_16(event, 3); 13599 } 13600 /** 13601 * @brief Get field status from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13602 * @param event packet 13603 * @return status 13604 * @note: btstack_type 1 13605 */ 13606 static inline uint8_t gattservice_subevent_hid_service_connected_get_status(const uint8_t * event){ 13607 return event[5]; 13608 } 13609 /** 13610 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13611 * @param event packet 13612 * @return protocol_mode 13613 * @note: btstack_type 1 13614 */ 13615 static inline uint8_t gattservice_subevent_hid_service_connected_get_protocol_mode(const uint8_t * event){ 13616 return event[6]; 13617 } 13618 /** 13619 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13620 * @param event packet 13621 * @return num_instances 13622 * @note: btstack_type 1 13623 */ 13624 static inline uint8_t gattservice_subevent_hid_service_connected_get_num_instances(const uint8_t * event){ 13625 return event[7]; 13626 } 13627 13628 /** 13629 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_DISCONNECTED 13630 * @param event packet 13631 * @return hids_cid 13632 * @note: btstack_type 2 13633 */ 13634 static inline uint16_t gattservice_subevent_hid_service_disconnected_get_hids_cid(const uint8_t * event){ 13635 return little_endian_read_16(event, 3); 13636 } 13637 13638 /** 13639 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT 13640 * @param event packet 13641 * @return hids_cid 13642 * @note: btstack_type 2 13643 */ 13644 static inline uint16_t gattservice_subevent_hid_report_get_hids_cid(const uint8_t * event){ 13645 return little_endian_read_16(event, 3); 13646 } 13647 /** 13648 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT 13649 * @param event packet 13650 * @return service_index 13651 * @note: btstack_type 1 13652 */ 13653 static inline uint8_t gattservice_subevent_hid_report_get_service_index(const uint8_t * event){ 13654 return event[5]; 13655 } 13656 /** 13657 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT 13658 * @param event packet 13659 * @return report_id 13660 * @note: btstack_type 1 13661 */ 13662 static inline uint8_t gattservice_subevent_hid_report_get_report_id(const uint8_t * event){ 13663 return event[6]; 13664 } 13665 /** 13666 * @brief Get field report_len from event GATTSERVICE_SUBEVENT_HID_REPORT 13667 * @param event packet 13668 * @return report_len 13669 * @note: btstack_type L 13670 */ 13671 static inline uint16_t gattservice_subevent_hid_report_get_report_len(const uint8_t * event){ 13672 return little_endian_read_16(event, 7); 13673 } 13674 /** 13675 * @brief Get field report from event GATTSERVICE_SUBEVENT_HID_REPORT 13676 * @param event packet 13677 * @return report 13678 * @note: btstack_type V 13679 */ 13680 static inline const uint8_t * gattservice_subevent_hid_report_get_report(const uint8_t * event){ 13681 return &event[9]; 13682 } 13683 13684 /** 13685 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13686 * @param event packet 13687 * @return hids_cid 13688 * @note: btstack_type 2 13689 */ 13690 static inline uint16_t gattservice_subevent_hid_information_get_hids_cid(const uint8_t * event){ 13691 return little_endian_read_16(event, 3); 13692 } 13693 /** 13694 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13695 * @param event packet 13696 * @return service_index 13697 * @note: btstack_type 1 13698 */ 13699 static inline uint8_t gattservice_subevent_hid_information_get_service_index(const uint8_t * event){ 13700 return event[5]; 13701 } 13702 /** 13703 * @brief Get field base_usb_hid_version from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13704 * @param event packet 13705 * @return base_usb_hid_version 13706 * @note: btstack_type 2 13707 */ 13708 static inline uint16_t gattservice_subevent_hid_information_get_base_usb_hid_version(const uint8_t * event){ 13709 return little_endian_read_16(event, 6); 13710 } 13711 /** 13712 * @brief Get field country_code from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13713 * @param event packet 13714 * @return country_code 13715 * @note: btstack_type 1 13716 */ 13717 static inline uint8_t gattservice_subevent_hid_information_get_country_code(const uint8_t * event){ 13718 return event[8]; 13719 } 13720 /** 13721 * @brief Get field remote_wake from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13722 * @param event packet 13723 * @return remote_wake 13724 * @note: btstack_type 1 13725 */ 13726 static inline uint8_t gattservice_subevent_hid_information_get_remote_wake(const uint8_t * event){ 13727 return event[9]; 13728 } 13729 /** 13730 * @brief Get field normally_connectable from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13731 * @param event packet 13732 * @return normally_connectable 13733 * @note: btstack_type 1 13734 */ 13735 static inline uint8_t gattservice_subevent_hid_information_get_normally_connectable(const uint8_t * event){ 13736 return event[10]; 13737 } 13738 13739 /** 13740 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13741 * @param event packet 13742 * @return hids_cid 13743 * @note: btstack_type 2 13744 */ 13745 static inline uint16_t gattservice_subevent_hid_protocol_mode_get_hids_cid(const uint8_t * event){ 13746 return little_endian_read_16(event, 3); 13747 } 13748 /** 13749 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13750 * @param event packet 13751 * @return service_index 13752 * @note: btstack_type 1 13753 */ 13754 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_service_index(const uint8_t * event){ 13755 return event[5]; 13756 } 13757 /** 13758 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13759 * @param event packet 13760 * @return protocol_mode 13761 * @note: btstack_type 1 13762 */ 13763 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_protocol_mode(const uint8_t * event){ 13764 return event[6]; 13765 } 13766 13767 /** 13768 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13769 * @param event packet 13770 * @return hids_cid 13771 * @note: btstack_type 2 13772 */ 13773 static inline uint16_t gattservice_subevent_hid_service_reports_notification_get_hids_cid(const uint8_t * event){ 13774 return little_endian_read_16(event, 3); 13775 } 13776 /** 13777 * @brief Get field configuration from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13778 * @param event packet 13779 * @return configuration 13780 * @note: btstack_type 1 13781 */ 13782 static inline uint8_t gattservice_subevent_hid_service_reports_notification_get_configuration(const uint8_t * event){ 13783 return event[5]; 13784 } 13785 13786 /** 13787 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13788 * @param event packet 13789 * @return hids_cid 13790 * @note: btstack_type 2 13791 */ 13792 static inline uint16_t gattservice_subevent_hid_report_written_get_hids_cid(const uint8_t * event){ 13793 return little_endian_read_16(event, 3); 13794 } 13795 /** 13796 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13797 * @param event packet 13798 * @return service_index 13799 * @note: btstack_type 1 13800 */ 13801 static inline uint8_t gattservice_subevent_hid_report_written_get_service_index(const uint8_t * event){ 13802 return event[5]; 13803 } 13804 /** 13805 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13806 * @param event packet 13807 * @return report_id 13808 * @note: btstack_type 1 13809 */ 13810 static inline uint8_t gattservice_subevent_hid_report_written_get_report_id(const uint8_t * event){ 13811 return event[6]; 13812 } 13813 13814 /** 13815 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13816 * @param event packet 13817 * @return con_handle 13818 * @note: btstack_type H 13819 */ 13820 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_con_handle(const uint8_t * event){ 13821 return little_endian_read_16(event, 3); 13822 } 13823 /** 13824 * @brief Get field max_scan_interval from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13825 * @param event packet 13826 * @return max_scan_interval 13827 * @note: btstack_type 2 13828 */ 13829 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_max_scan_interval(const uint8_t * event){ 13830 return little_endian_read_16(event, 5); 13831 } 13832 /** 13833 * @brief Get field min_scan_window from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13834 * @param event packet 13835 * @return min_scan_window 13836 * @note: btstack_type 2 13837 */ 13838 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_min_scan_window(const uint8_t * event){ 13839 return little_endian_read_16(event, 7); 13840 } 13841 13842 /** 13843 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13844 * @param event packet 13845 * @return con_handle 13846 * @note: btstack_type H 13847 */ 13848 static inline hci_con_handle_t gattservice_subevent_gatt_service_changed_get_con_handle(const uint8_t * event){ 13849 return little_endian_read_16(event, 3); 13850 } 13851 /** 13852 * @brief Get field attribute_handle_start from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13853 * @param event packet 13854 * @return attribute_handle_start 13855 * @note: btstack_type 2 13856 */ 13857 static inline uint16_t gattservice_subevent_gatt_service_changed_get_attribute_handle_start(const uint8_t * event){ 13858 return little_endian_read_16(event, 5); 13859 } 13860 /** 13861 * @brief Get field attribute_handle_end from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13862 * @param event packet 13863 * @return attribute_handle_end 13864 * @note: btstack_type 2 13865 */ 13866 static inline uint16_t gattservice_subevent_gatt_service_changed_get_attribute_handle_end(const uint8_t * event){ 13867 return little_endian_read_16(event, 7); 13868 } 13869 13870 /** 13871 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_GATT_DATABASE_HASH 13872 * @param event packet 13873 * @return con_handle 13874 * @note: btstack_type H 13875 */ 13876 static inline hci_con_handle_t gattservice_subevent_gatt_database_hash_get_con_handle(const uint8_t * event){ 13877 return little_endian_read_16(event, 3); 13878 } 13879 /** 13880 * @brief Get field database_hash from event GATTSERVICE_SUBEVENT_GATT_DATABASE_HASH 13881 * @param event packet 13882 * @param Pointer to storage for database_hash 13883 * @note: btstack_type K 13884 */ 13885 static inline void gattservice_subevent_gatt_database_hash_get_database_hash(const uint8_t * event, uint8_t * database_hash){ 13886 reverse_bytes(&event[5], database_hash, 16); 13887 } 13888 13889 /** 13890 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13891 * @param event packet 13892 * @return con_handle 13893 * @note: btstack_type H 13894 */ 13895 static inline hci_con_handle_t gattservice_subevent_client_connected_get_con_handle(const uint8_t * event){ 13896 return little_endian_read_16(event, 3); 13897 } 13898 /** 13899 * @brief Get field cid from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13900 * @param event packet 13901 * @return cid 13902 * @note: btstack_type 2 13903 */ 13904 static inline uint16_t gattservice_subevent_client_connected_get_cid(const uint8_t * event){ 13905 return little_endian_read_16(event, 5); 13906 } 13907 /** 13908 * @brief Get field num_included_services from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13909 * @param event packet 13910 * @return num_included_services 13911 * @note: btstack_type 1 13912 */ 13913 static inline uint8_t gattservice_subevent_client_connected_get_num_included_services(const uint8_t * event){ 13914 return event[7]; 13915 } 13916 /** 13917 * @brief Get field status from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13918 * @param event packet 13919 * @return status 13920 * @note: btstack_type 1 13921 */ 13922 static inline uint8_t gattservice_subevent_client_connected_get_status(const uint8_t * event){ 13923 return event[8]; 13924 } 13925 13926 /** 13927 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CLIENT_DISCONNECTED 13928 * @param event packet 13929 * @return con_handle 13930 * @note: btstack_type H 13931 */ 13932 static inline hci_con_handle_t gattservice_subevent_client_disconnected_get_con_handle(const uint8_t * event){ 13933 return little_endian_read_16(event, 3); 13934 } 13935 /** 13936 * @brief Get field cid from event GATTSERVICE_SUBEVENT_CLIENT_DISCONNECTED 13937 * @param event packet 13938 * @return cid 13939 * @note: btstack_type 2 13940 */ 13941 static inline uint16_t gattservice_subevent_client_disconnected_get_cid(const uint8_t * event){ 13942 return little_endian_read_16(event, 5); 13943 } 13944 13945 /** 13946 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13947 * @param event packet 13948 * @return con_handle 13949 * @note: btstack_type H 13950 */ 13951 static inline hci_con_handle_t gattservice_subevent_lls_client_connected_get_con_handle(const uint8_t * event){ 13952 return little_endian_read_16(event, 3); 13953 } 13954 /** 13955 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13956 * @param event packet 13957 * @return lls_cid 13958 * @note: btstack_type 2 13959 */ 13960 static inline uint16_t gattservice_subevent_lls_client_connected_get_lls_cid(const uint8_t * event){ 13961 return little_endian_read_16(event, 5); 13962 } 13963 /** 13964 * @brief Get field status from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13965 * @param event packet 13966 * @return status 13967 * @note: btstack_type 1 13968 */ 13969 static inline uint8_t gattservice_subevent_lls_client_connected_get_status(const uint8_t * event){ 13970 return event[7]; 13971 } 13972 13973 /** 13974 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_DISCONNECTED 13975 * @param event packet 13976 * @return lls_cid 13977 * @note: btstack_type 2 13978 */ 13979 static inline uint16_t gattservice_subevent_lls_client_disconnected_get_lls_cid(const uint8_t * event){ 13980 return little_endian_read_16(event, 3); 13981 } 13982 13983 /** 13984 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 13985 * @param event packet 13986 * @return lls_cid 13987 * @note: btstack_type 2 13988 */ 13989 static inline uint16_t gattservice_subevent_lls_client_write_done_get_lls_cid(const uint8_t * event){ 13990 return little_endian_read_16(event, 3); 13991 } 13992 /** 13993 * @brief Get field characteristic_uuid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 13994 * @param event packet 13995 * @return characteristic_uuid 13996 * @note: btstack_type 2 13997 */ 13998 static inline uint16_t gattservice_subevent_lls_client_write_done_get_characteristic_uuid(const uint8_t * event){ 13999 return little_endian_read_16(event, 5); 14000 } 14001 /** 14002 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 14003 * @param event packet 14004 * @return att_status 14005 * @note: btstack_type 1 14006 */ 14007 static inline uint8_t gattservice_subevent_lls_client_write_done_get_att_status(const uint8_t * event){ 14008 return event[7]; 14009 } 14010 14011 /** 14012 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_START_ALERTING 14013 * @param event packet 14014 * @return lls_cid 14015 * @note: btstack_type 2 14016 */ 14017 static inline uint16_t gattservice_subevent_lls_client_start_alerting_get_lls_cid(const uint8_t * event){ 14018 return little_endian_read_16(event, 3); 14019 } 14020 14021 /** 14022 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_STOP_ALERTING 14023 * @param event packet 14024 * @return lls_cid 14025 * @note: btstack_type 2 14026 */ 14027 static inline uint16_t gattservice_subevent_lls_client_stop_alerting_get_lls_cid(const uint8_t * event){ 14028 return little_endian_read_16(event, 3); 14029 } 14030 /** 14031 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_LLS_CLIENT_STOP_ALERTING 14032 * @param event packet 14033 * @return timeout 14034 * @note: btstack_type 1 14035 */ 14036 static inline uint8_t gattservice_subevent_lls_client_stop_alerting_get_timeout(const uint8_t * event){ 14037 return event[5]; 14038 } 14039 14040 /** 14041 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_ALERT_LEVEL 14042 * @param event packet 14043 * @return lls_cid 14044 * @note: btstack_type 2 14045 */ 14046 static inline uint16_t gattservice_subevent_lls_client_alert_level_get_lls_cid(const uint8_t * event){ 14047 return little_endian_read_16(event, 3); 14048 } 14049 /** 14050 * @brief Get field value from event GATTSERVICE_SUBEVENT_LLS_CLIENT_ALERT_LEVEL 14051 * @param event packet 14052 * @return value 14053 * @note: btstack_type 1 14054 */ 14055 static inline uint8_t gattservice_subevent_lls_client_alert_level_get_value(const uint8_t * event){ 14056 return event[5]; 14057 } 14058 14059 /** 14060 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14061 * @param event packet 14062 * @return con_handle 14063 * @note: btstack_type H 14064 */ 14065 static inline hci_con_handle_t gattservice_subevent_ias_client_connected_get_con_handle(const uint8_t * event){ 14066 return little_endian_read_16(event, 3); 14067 } 14068 /** 14069 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14070 * @param event packet 14071 * @return ias_cid 14072 * @note: btstack_type 2 14073 */ 14074 static inline uint16_t gattservice_subevent_ias_client_connected_get_ias_cid(const uint8_t * event){ 14075 return little_endian_read_16(event, 5); 14076 } 14077 /** 14078 * @brief Get field status from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14079 * @param event packet 14080 * @return status 14081 * @note: btstack_type 1 14082 */ 14083 static inline uint8_t gattservice_subevent_ias_client_connected_get_status(const uint8_t * event){ 14084 return event[7]; 14085 } 14086 14087 /** 14088 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_DISCONNECTED 14089 * @param event packet 14090 * @return ias_cid 14091 * @note: btstack_type 2 14092 */ 14093 static inline uint16_t gattservice_subevent_ias_client_disconnected_get_ias_cid(const uint8_t * event){ 14094 return little_endian_read_16(event, 3); 14095 } 14096 14097 /** 14098 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_START_ALERTING 14099 * @param event packet 14100 * @return ias_cid 14101 * @note: btstack_type 2 14102 */ 14103 static inline uint16_t gattservice_subevent_ias_client_start_alerting_get_ias_cid(const uint8_t * event){ 14104 return little_endian_read_16(event, 3); 14105 } 14106 14107 /** 14108 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_STOP_ALERTING 14109 * @param event packet 14110 * @return ias_cid 14111 * @note: btstack_type 2 14112 */ 14113 static inline uint16_t gattservice_subevent_ias_client_stop_alerting_get_ias_cid(const uint8_t * event){ 14114 return little_endian_read_16(event, 3); 14115 } 14116 /** 14117 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_IAS_CLIENT_STOP_ALERTING 14118 * @param event packet 14119 * @return timeout 14120 * @note: btstack_type 1 14121 */ 14122 static inline uint8_t gattservice_subevent_ias_client_stop_alerting_get_timeout(const uint8_t * event){ 14123 return event[5]; 14124 } 14125 14126 /** 14127 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14128 * @param event packet 14129 * @return con_handle 14130 * @note: btstack_type H 14131 */ 14132 static inline hci_con_handle_t gattservice_subevent_txps_client_connected_get_con_handle(const uint8_t * event){ 14133 return little_endian_read_16(event, 3); 14134 } 14135 /** 14136 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14137 * @param event packet 14138 * @return tpxs_cid 14139 * @note: btstack_type 2 14140 */ 14141 static inline uint16_t gattservice_subevent_txps_client_connected_get_tpxs_cid(const uint8_t * event){ 14142 return little_endian_read_16(event, 5); 14143 } 14144 /** 14145 * @brief Get field status from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14146 * @param event packet 14147 * @return status 14148 * @note: btstack_type 1 14149 */ 14150 static inline uint8_t gattservice_subevent_txps_client_connected_get_status(const uint8_t * event){ 14151 return event[7]; 14152 } 14153 14154 /** 14155 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_DISCONNECTED 14156 * @param event packet 14157 * @return tpxs_cid 14158 * @note: btstack_type 2 14159 */ 14160 static inline uint16_t gattservice_subevent_txps_client_disconnected_get_tpxs_cid(const uint8_t * event){ 14161 return little_endian_read_16(event, 3); 14162 } 14163 14164 /** 14165 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_TX_POWER_LEVEL 14166 * @param event packet 14167 * @return tpxs_cid 14168 * @note: btstack_type 2 14169 */ 14170 static inline uint16_t gattservice_subevent_txps_client_tx_power_level_get_tpxs_cid(const uint8_t * event){ 14171 return little_endian_read_16(event, 3); 14172 } 14173 /** 14174 * @brief Get field value from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_TX_POWER_LEVEL 14175 * @param event packet 14176 * @return value 14177 * @note: btstack_type 1 14178 */ 14179 static inline uint8_t gattservice_subevent_txps_client_tx_power_level_get_value(const uint8_t * event){ 14180 return event[5]; 14181 } 14182 14183 /** 14184 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_LLS_SERVER_START_ALERTING 14185 * @param event packet 14186 * @return alert_level 14187 * @note: btstack_type 1 14188 */ 14189 static inline uint8_t gattservice_subevent_lls_server_start_alerting_get_alert_level(const uint8_t * event){ 14190 return event[3]; 14191 } 14192 14193 /** 14194 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_LLS_SERVER_STOP_ALERTING 14195 * @param event packet 14196 * @return alert_level 14197 * @note: btstack_type 1 14198 */ 14199 static inline uint8_t gattservice_subevent_lls_server_stop_alerting_get_alert_level(const uint8_t * event){ 14200 return event[3]; 14201 } 14202 /** 14203 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_LLS_SERVER_STOP_ALERTING 14204 * @param event packet 14205 * @return timeout 14206 * @note: btstack_type 1 14207 */ 14208 static inline uint8_t gattservice_subevent_lls_server_stop_alerting_get_timeout(const uint8_t * event){ 14209 return event[4]; 14210 } 14211 14212 /** 14213 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_IAS_SERVER_START_ALERTING 14214 * @param event packet 14215 * @return alert_level 14216 * @note: btstack_type 1 14217 */ 14218 static inline uint8_t gattservice_subevent_ias_server_start_alerting_get_alert_level(const uint8_t * event){ 14219 return event[3]; 14220 } 14221 14222 /** 14223 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_IAS_SERVER_STOP_ALERTING 14224 * @param event packet 14225 * @return alert_level 14226 * @note: btstack_type 1 14227 */ 14228 static inline uint8_t gattservice_subevent_ias_server_stop_alerting_get_alert_level(const uint8_t * event){ 14229 return event[3]; 14230 } 14231 /** 14232 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_IAS_SERVER_STOP_ALERTING 14233 * @param event packet 14234 * @return timeout 14235 * @note: btstack_type 1 14236 */ 14237 static inline uint8_t gattservice_subevent_ias_server_stop_alerting_get_timeout(const uint8_t * event){ 14238 return event[4]; 14239 } 14240 14241 /** 14242 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14243 * @param event packet 14244 * @return con_handle 14245 * @note: btstack_type H 14246 */ 14247 static inline hci_con_handle_t gattservice_subevent_device_information_udi_for_medical_devices_get_con_handle(const uint8_t * event){ 14248 return little_endian_read_16(event, 3); 14249 } 14250 /** 14251 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14252 * @param event packet 14253 * @return att_status 14254 * @note: btstack_type 1 14255 */ 14256 static inline uint8_t gattservice_subevent_device_information_udi_for_medical_devices_get_att_status(const uint8_t * event){ 14257 return event[5]; 14258 } 14259 /** 14260 * @brief Get field label from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14261 * @param event packet 14262 * @return label 14263 * @note: btstack_type T 14264 */ 14265 static inline const char * gattservice_subevent_device_information_udi_for_medical_devices_get_label(const uint8_t * event){ 14266 return (const char *) &event[6]; 14267 } 14268 14269 /** 14270 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 14271 * @param event packet 14272 * @return con_handle 14273 * @note: btstack_type H 14274 */ 14275 static inline hci_con_handle_t leaudio_subevent_bass_server_connected_get_con_handle(const uint8_t * event){ 14276 return little_endian_read_16(event, 3); 14277 } 14278 /** 14279 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 14280 * @param event packet 14281 * @return status 14282 * @note: btstack_type 1 14283 */ 14284 static inline uint8_t leaudio_subevent_bass_server_connected_get_status(const uint8_t * event){ 14285 return event[5]; 14286 } 14287 14288 /** 14289 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_DISCONNECTED 14290 * @param event packet 14291 * @return con_handle 14292 * @note: btstack_type H 14293 */ 14294 static inline hci_con_handle_t leaudio_subevent_bass_server_disconnected_get_con_handle(const uint8_t * event){ 14295 return little_endian_read_16(event, 3); 14296 } 14297 14298 /** 14299 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STOPPED 14300 * @param event packet 14301 * @return con_handle 14302 * @note: btstack_type H 14303 */ 14304 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_stopped_get_con_handle(const uint8_t * event){ 14305 return little_endian_read_16(event, 3); 14306 } 14307 14308 /** 14309 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STARTED 14310 * @param event packet 14311 * @return con_handle 14312 * @note: btstack_type H 14313 */ 14314 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_started_get_con_handle(const uint8_t * event){ 14315 return little_endian_read_16(event, 3); 14316 } 14317 14318 /** 14319 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14320 * @param event packet 14321 * @return con_handle 14322 * @note: btstack_type H 14323 */ 14324 static inline hci_con_handle_t leaudio_subevent_bass_server_broadcast_code_get_con_handle(const uint8_t * event){ 14325 return little_endian_read_16(event, 3); 14326 } 14327 /** 14328 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14329 * @param event packet 14330 * @return source_id 14331 * @note: btstack_type 1 14332 */ 14333 static inline uint8_t leaudio_subevent_bass_server_broadcast_code_get_source_id(const uint8_t * event){ 14334 return event[5]; 14335 } 14336 /** 14337 * @brief Get field broadcast_code from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14338 * @param event packet 14339 * @param Pointer to storage for broadcast_code 14340 * @note: btstack_type K 14341 */ 14342 static inline void leaudio_subevent_bass_server_broadcast_code_get_broadcast_code(const uint8_t * event, uint8_t * broadcast_code){ 14343 reverse_bytes(&event[6], broadcast_code, 16); 14344 } 14345 14346 /** 14347 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14348 * @param event packet 14349 * @return con_handle 14350 * @note: btstack_type H 14351 */ 14352 static inline hci_con_handle_t leaudio_subevent_bass_server_source_added_get_con_handle(const uint8_t * event){ 14353 return little_endian_read_16(event, 3); 14354 } 14355 /** 14356 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14357 * @param event packet 14358 * @return source_id 14359 * @note: btstack_type 1 14360 */ 14361 static inline uint8_t leaudio_subevent_bass_server_source_added_get_source_id(const uint8_t * event){ 14362 return event[5]; 14363 } 14364 /** 14365 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14366 * @param event packet 14367 * @return pa_sync 14368 * @note: btstack_type 1 14369 */ 14370 static inline uint8_t leaudio_subevent_bass_server_source_added_get_pa_sync(const uint8_t * event){ 14371 return event[6]; 14372 } 14373 14374 /** 14375 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14376 * @param event packet 14377 * @return con_handle 14378 * @note: btstack_type H 14379 */ 14380 static inline hci_con_handle_t leaudio_subevent_bass_server_source_modified_get_con_handle(const uint8_t * event){ 14381 return little_endian_read_16(event, 3); 14382 } 14383 /** 14384 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14385 * @param event packet 14386 * @return source_id 14387 * @note: btstack_type 1 14388 */ 14389 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_source_id(const uint8_t * event){ 14390 return event[5]; 14391 } 14392 /** 14393 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14394 * @param event packet 14395 * @return pa_sync 14396 * @note: btstack_type 1 14397 */ 14398 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_pa_sync(const uint8_t * event){ 14399 return event[6]; 14400 } 14401 14402 /** 14403 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14404 * @param event packet 14405 * @return con_handle 14406 * @note: btstack_type H 14407 */ 14408 static inline hci_con_handle_t leaudio_subevent_bass_server_source_deleted_get_con_handle(const uint8_t * event){ 14409 return little_endian_read_16(event, 3); 14410 } 14411 /** 14412 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14413 * @param event packet 14414 * @return source_id 14415 * @note: btstack_type 1 14416 */ 14417 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_source_id(const uint8_t * event){ 14418 return event[5]; 14419 } 14420 /** 14421 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14422 * @param event packet 14423 * @return pa_sync 14424 * @note: btstack_type 1 14425 */ 14426 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_pa_sync(const uint8_t * event){ 14427 return event[6]; 14428 } 14429 14430 /** 14431 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14432 * @param event packet 14433 * @return con_handle 14434 * @note: btstack_type H 14435 */ 14436 static inline hci_con_handle_t leaudio_subevent_bass_client_connected_get_con_handle(const uint8_t * event){ 14437 return little_endian_read_16(event, 3); 14438 } 14439 /** 14440 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14441 * @param event packet 14442 * @return bass_cid 14443 * @note: btstack_type 2 14444 */ 14445 static inline uint16_t leaudio_subevent_bass_client_connected_get_bass_cid(const uint8_t * event){ 14446 return little_endian_read_16(event, 5); 14447 } 14448 /** 14449 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14450 * @param event packet 14451 * @return status 14452 * @note: btstack_type 1 14453 */ 14454 static inline uint8_t leaudio_subevent_bass_client_connected_get_status(const uint8_t * event){ 14455 return event[7]; 14456 } 14457 14458 /** 14459 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_DISCONNECTED 14460 * @param event packet 14461 * @return bass_cid 14462 * @note: btstack_type 2 14463 */ 14464 static inline uint16_t leaudio_subevent_bass_client_disconnected_get_bass_cid(const uint8_t * event){ 14465 return little_endian_read_16(event, 3); 14466 } 14467 14468 /** 14469 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14470 * @param event packet 14471 * @return bass_cid 14472 * @note: btstack_type 2 14473 */ 14474 static inline uint16_t leaudio_subevent_bass_client_scan_operation_complete_get_bass_cid(const uint8_t * event){ 14475 return little_endian_read_16(event, 3); 14476 } 14477 /** 14478 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14479 * @param event packet 14480 * @return status 14481 * @note: btstack_type 1 14482 */ 14483 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_status(const uint8_t * event){ 14484 return event[5]; 14485 } 14486 /** 14487 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14488 * @param event packet 14489 * @return opcode 14490 * @note: btstack_type 1 14491 */ 14492 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_opcode(const uint8_t * event){ 14493 return event[6]; 14494 } 14495 14496 /** 14497 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14498 * @param event packet 14499 * @return bass_cid 14500 * @note: btstack_type 2 14501 */ 14502 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_base_get_bass_cid(const uint8_t * event){ 14503 return little_endian_read_16(event, 3); 14504 } 14505 /** 14506 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14507 * @param event packet 14508 * @return source_id 14509 * @note: btstack_type 1 14510 */ 14511 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_id(const uint8_t * event){ 14512 return event[5]; 14513 } 14514 /** 14515 * @brief Get field source_address_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14516 * @param event packet 14517 * @return source_address_type 14518 * @note: btstack_type 1 14519 */ 14520 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_address_type(const uint8_t * event){ 14521 return event[6]; 14522 } 14523 /** 14524 * @brief Get field source_address from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14525 * @param event packet 14526 * @param Pointer to storage for source_address 14527 * @note: btstack_type B 14528 */ 14529 static inline void leaudio_subevent_bass_client_notify_receive_state_base_get_source_address(const uint8_t * event, bd_addr_t source_address){ 14530 reverse_bytes(&event[7], source_address, 6); 14531 } 14532 /** 14533 * @brief Get field source_adv_sid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14534 * @param event packet 14535 * @return source_adv_sid 14536 * @note: btstack_type 1 14537 */ 14538 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_adv_sid(const uint8_t * event){ 14539 return event[13]; 14540 } 14541 /** 14542 * @brief Get field broadcast_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14543 * @param event packet 14544 * @return broadcast_id 14545 * @note: btstack_type 3 14546 */ 14547 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_base_get_broadcast_id(const uint8_t * event){ 14548 return little_endian_read_24(event, 14); 14549 } 14550 /** 14551 * @brief Get field pa_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14552 * @param event packet 14553 * @return pa_sync_state 14554 * @note: btstack_type 1 14555 */ 14556 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_pa_sync_state(const uint8_t * event){ 14557 return event[17]; 14558 } 14559 /** 14560 * @brief Get field big_encryption from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14561 * @param event packet 14562 * @return big_encryption 14563 * @note: btstack_type 1 14564 */ 14565 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_big_encryption(const uint8_t * event){ 14566 return event[18]; 14567 } 14568 /** 14569 * @brief Get field bad_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14570 * @param event packet 14571 * @return bad_code 14572 * @note: btstack_type P 14573 */ 14574 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_base_get_bad_code(const uint8_t * event){ 14575 return (const uint8_t *) &event[19]; 14576 } 14577 /** 14578 * @brief Get field subgroups_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14579 * @param event packet 14580 * @return subgroups_num 14581 * @note: btstack_type 1 14582 */ 14583 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_subgroups_num(const uint8_t * event){ 14584 return event[35]; 14585 } 14586 14587 /** 14588 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14589 * @param event packet 14590 * @return bass_cid 14591 * @note: btstack_type 2 14592 */ 14593 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){ 14594 return little_endian_read_16(event, 3); 14595 } 14596 /** 14597 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14598 * @param event packet 14599 * @return source_id 14600 * @note: btstack_type 1 14601 */ 14602 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_source_id(const uint8_t * event){ 14603 return event[5]; 14604 } 14605 /** 14606 * @brief Get field bis_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14607 * @param event packet 14608 * @return bis_sync_state 14609 * @note: btstack_type 4 14610 */ 14611 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){ 14612 return little_endian_read_32(event, 6); 14613 } 14614 /** 14615 * @brief Get field metadata_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14616 * @param event packet 14617 * @return metadata_mask 14618 * @note: btstack_type 1 14619 */ 14620 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){ 14621 return event[10]; 14622 } 14623 /** 14624 * @brief Get field preferred_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14625 * @param event packet 14626 * @return preferred_audio_contexts_mask 14627 * @note: btstack_type 2 14628 */ 14629 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){ 14630 return little_endian_read_16(event, 11); 14631 } 14632 /** 14633 * @brief Get field streaming_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14634 * @param event packet 14635 * @return streaming_audio_contexts_mask 14636 * @note: btstack_type 2 14637 */ 14638 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){ 14639 return little_endian_read_16(event, 13); 14640 } 14641 /** 14642 * @brief Get field program_info_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14643 * @param event packet 14644 * @return program_info_length 14645 * @note: btstack_type J 14646 */ 14647 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){ 14648 return event[15]; 14649 } 14650 /** 14651 * @brief Get field program_info from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14652 * @param event packet 14653 * @return program_info 14654 * @note: btstack_type V 14655 */ 14656 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info(const uint8_t * event){ 14657 return &event[16]; 14658 } 14659 /** 14660 * @brief Get field language_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14661 * @param event packet 14662 * @return language_code 14663 * @note: btstack_type 3 14664 */ 14665 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_language_code(const uint8_t * event){ 14666 uint8_t offset = 16u + event[15]; 14667 return little_endian_read_24(event, (int)(int8_t) offset); 14668 } 14669 /** 14670 * @brief Get field ccids_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14671 * @param event packet 14672 * @return ccids_num 14673 * @note: btstack_type J 14674 */ 14675 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){ 14676 return event[16u + event[15] + 3u]; 14677 } 14678 /** 14679 * @brief Get field ccids from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14680 * @param event packet 14681 * @return ccids 14682 * @note: btstack_type V 14683 */ 14684 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids(const uint8_t * event){ 14685 return &event[16u + event[15] + 3u + 1u]; 14686 } 14687 /** 14688 * @brief Get field parental_rating from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14689 * @param event packet 14690 * @return parental_rating 14691 * @note: btstack_type 1 14692 */ 14693 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){ 14694 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]]; 14695 } 14696 /** 14697 * @brief Get field program_info_uri_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14698 * @param event packet 14699 * @return program_info_uri_length 14700 * @note: btstack_type J 14701 */ 14702 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){ 14703 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; 14704 } 14705 /** 14706 * @brief Get field program_info_uri from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14707 * @param event packet 14708 * @return program_info_uri 14709 * @note: btstack_type V 14710 */ 14711 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){ 14712 return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u]; 14713 } 14714 /** 14715 * @brief Get field extended_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14716 * @param event packet 14717 * @return extended_metadata_type 14718 * @note: btstack_type 2 14719 */ 14720 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){ 14721 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]; 14722 return little_endian_read_16(event, (int)(int8_t) offset); 14723 } 14724 /** 14725 * @brief Get field extended_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14726 * @param event packet 14727 * @return extended_metadata_value_length 14728 * @note: btstack_type J 14729 */ 14730 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){ 14731 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]; 14732 } 14733 /** 14734 * @brief Get field extended_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14735 * @param event packet 14736 * @return extended_metadata_value 14737 * @note: btstack_type V 14738 */ 14739 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){ 14740 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]; 14741 } 14742 /** 14743 * @brief Get field vendor_specific_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14744 * @param event packet 14745 * @return vendor_specific_metadata_type 14746 * @note: btstack_type 2 14747 */ 14748 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){ 14749 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]; 14750 return little_endian_read_16(event, (int)(int8_t) offset); 14751 } 14752 /** 14753 * @brief Get field vendor_specific_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14754 * @param event packet 14755 * @return vendor_specific_metadata_value_length 14756 * @note: btstack_type J 14757 */ 14758 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){ 14759 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]; 14760 } 14761 /** 14762 * @brief Get field vendor_specific_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14763 * @param event packet 14764 * @return vendor_specific_metadata_value 14765 * @note: btstack_type V 14766 */ 14767 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){ 14768 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]; 14769 } 14770 14771 /** 14772 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14773 * @param event packet 14774 * @return bass_cid 14775 * @note: btstack_type 2 14776 */ 14777 static inline uint16_t leaudio_subevent_bass_client_notification_complete_get_bass_cid(const uint8_t * event){ 14778 return little_endian_read_16(event, 3); 14779 } 14780 /** 14781 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14782 * @param event packet 14783 * @return source_id 14784 * @note: btstack_type 1 14785 */ 14786 static inline uint8_t leaudio_subevent_bass_client_notification_complete_get_source_id(const uint8_t * event){ 14787 return event[5]; 14788 } 14789 14790 /** 14791 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14792 * @param event packet 14793 * @return bass_cid 14794 * @note: btstack_type 2 14795 */ 14796 static inline uint16_t leaudio_subevent_bass_client_source_operation_complete_get_bass_cid(const uint8_t * event){ 14797 return little_endian_read_16(event, 3); 14798 } 14799 /** 14800 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14801 * @param event packet 14802 * @return status 14803 * @note: btstack_type 1 14804 */ 14805 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_status(const uint8_t * event){ 14806 return event[5]; 14807 } 14808 /** 14809 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14810 * @param event packet 14811 * @return opcode 14812 * @note: btstack_type 1 14813 */ 14814 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_opcode(const uint8_t * event){ 14815 return event[6]; 14816 } 14817 /** 14818 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14819 * @param event packet 14820 * @return source_id 14821 * @note: btstack_type 1 14822 */ 14823 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_source_id(const uint8_t * event){ 14824 return event[7]; 14825 } 14826 14827 14828 /** 14829 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 14830 * @param event packet 14831 * @return status 14832 * @note: btstack_type 1 14833 */ 14834 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 14835 return event[3]; 14836 } 14837 14838 /** 14839 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14840 * @param event packet 14841 * @return status 14842 * @note: btstack_type 1 14843 */ 14844 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 14845 return event[3]; 14846 } 14847 /** 14848 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14849 * @param event packet 14850 * @return pb_transport_cid 14851 * @note: btstack_type 2 14852 */ 14853 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 14854 return little_endian_read_16(event, 4); 14855 } 14856 /** 14857 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14858 * @param event packet 14859 * @return pb_type 14860 * @note: btstack_type 1 14861 */ 14862 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 14863 return event[6]; 14864 } 14865 14866 /** 14867 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14868 * @param event packet 14869 * @return pb_transport_cid 14870 * @note: btstack_type 1 14871 */ 14872 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 14873 return event[3]; 14874 } 14875 /** 14876 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14877 * @param event packet 14878 * @return reason 14879 * @note: btstack_type 2 14880 */ 14881 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 14882 return little_endian_read_16(event, 4); 14883 } 14884 14885 /** 14886 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14887 * @param event packet 14888 * @return pb_transport_cid 14889 * @note: btstack_type 2 14890 */ 14891 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 14892 return little_endian_read_16(event, 3); 14893 } 14894 /** 14895 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14896 * @param event packet 14897 * @return attention_time 14898 * @note: btstack_type 1 14899 */ 14900 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 14901 return event[5]; 14902 } 14903 14904 /** 14905 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 14906 * @param event packet 14907 * @return pb_transport_cid 14908 * @note: btstack_type 2 14909 */ 14910 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14911 return little_endian_read_16(event, 3); 14912 } 14913 14914 /** 14915 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 14916 * @param event packet 14917 * @return pb_transport_cid 14918 * @note: btstack_type 2 14919 */ 14920 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14921 return little_endian_read_16(event, 3); 14922 } 14923 14924 /** 14925 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 14926 * @param event packet 14927 * @return pb_transport_cid 14928 * @note: btstack_type 2 14929 */ 14930 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 14931 return little_endian_read_16(event, 3); 14932 } 14933 14934 /** 14935 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14936 * @param event packet 14937 * @return pb_transport_cid 14938 * @note: btstack_type 2 14939 */ 14940 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14941 return little_endian_read_16(event, 3); 14942 } 14943 /** 14944 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14945 * @param event packet 14946 * @return output_oob 14947 * @note: btstack_type 4 14948 */ 14949 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 14950 return little_endian_read_32(event, 5); 14951 } 14952 14953 /** 14954 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 14955 * @param event packet 14956 * @return pb_transport_cid 14957 * @note: btstack_type 2 14958 */ 14959 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14960 return little_endian_read_16(event, 3); 14961 } 14962 14963 /** 14964 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 14965 * @param event packet 14966 * @return pb_transport_cid 14967 * @note: btstack_type 2 14968 */ 14969 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14970 return little_endian_read_16(event, 3); 14971 } 14972 14973 /** 14974 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 14975 * @param event packet 14976 * @return pb_transport_cid 14977 * @note: btstack_type 2 14978 */ 14979 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14980 return little_endian_read_16(event, 3); 14981 } 14982 14983 /** 14984 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 14985 * @param event packet 14986 * @return pb_transport_cid 14987 * @note: btstack_type 2 14988 */ 14989 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 14990 return little_endian_read_16(event, 3); 14991 } 14992 14993 /** 14994 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 14995 * @param event packet 14996 * @return pb_transport_cid 14997 * @note: btstack_type 2 14998 */ 14999 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 15000 return little_endian_read_16(event, 3); 15001 } 15002 /** 15003 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 15004 * @param event packet 15005 * @return output_oob 15006 * @note: btstack_type 4 15007 */ 15008 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 15009 return little_endian_read_32(event, 5); 15010 } 15011 15012 /** 15013 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 15014 * @param event packet 15015 * @return pb_transport_cid 15016 * @note: btstack_type 2 15017 */ 15018 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 15019 return little_endian_read_16(event, 3); 15020 } 15021 15022 /** 15023 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15024 * @param event packet 15025 * @return pb_transport_cid 15026 * @note: btstack_type 2 15027 */ 15028 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 15029 return little_endian_read_16(event, 3); 15030 } 15031 /** 15032 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15033 * @param event packet 15034 * @return num_elements 15035 * @note: btstack_type 1 15036 */ 15037 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 15038 return event[5]; 15039 } 15040 /** 15041 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15042 * @param event packet 15043 * @return algorithms 15044 * @note: btstack_type 2 15045 */ 15046 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 15047 return little_endian_read_16(event, 6); 15048 } 15049 /** 15050 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15051 * @param event packet 15052 * @return public_key 15053 * @note: btstack_type 1 15054 */ 15055 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 15056 return event[8]; 15057 } 15058 /** 15059 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15060 * @param event packet 15061 * @return static_oob_type 15062 * @note: btstack_type 1 15063 */ 15064 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 15065 return event[9]; 15066 } 15067 /** 15068 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15069 * @param event packet 15070 * @return output_oob_size 15071 * @note: btstack_type 1 15072 */ 15073 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 15074 return event[10]; 15075 } 15076 /** 15077 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15078 * @param event packet 15079 * @return output_oob_action 15080 * @note: btstack_type 2 15081 */ 15082 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 15083 return little_endian_read_16(event, 11); 15084 } 15085 /** 15086 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15087 * @param event packet 15088 * @return input_oob_size 15089 * @note: btstack_type 1 15090 */ 15091 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 15092 return event[13]; 15093 } 15094 /** 15095 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15096 * @param event packet 15097 * @return input_oob_action 15098 * @note: btstack_type 2 15099 */ 15100 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 15101 return little_endian_read_16(event, 14); 15102 } 15103 15104 /** 15105 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 15106 * @param event packet 15107 * @return pb_transport_cid 15108 * @note: btstack_type 2 15109 */ 15110 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 15111 return little_endian_read_16(event, 3); 15112 } 15113 15114 /** 15115 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 15116 * @param event packet 15117 * @return attention_time 15118 * @note: btstack_type 1 15119 */ 15120 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 15121 return event[3]; 15122 } 15123 15124 /** 15125 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 15126 * @param event packet 15127 * @return con_handle 15128 * @note: btstack_type H 15129 */ 15130 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 15131 return little_endian_read_16(event, 3); 15132 } 15133 15134 /** 15135 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 15136 * @param event packet 15137 * @return con_handle 15138 * @note: btstack_type H 15139 */ 15140 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 15141 return little_endian_read_16(event, 3); 15142 } 15143 15144 /** 15145 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 15146 * @param event packet 15147 * @return con_handle 15148 * @note: btstack_type H 15149 */ 15150 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 15151 return little_endian_read_16(event, 3); 15152 } 15153 15154 /** 15155 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 15156 * @param event packet 15157 * @return con_handle 15158 * @note: btstack_type H 15159 */ 15160 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 15161 return little_endian_read_16(event, 3); 15162 } 15163 15164 /** 15165 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15166 * @param event packet 15167 * @return element_index 15168 * @note: btstack_type 1 15169 */ 15170 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 15171 return event[3]; 15172 } 15173 /** 15174 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15175 * @param event packet 15176 * @return model_identifier 15177 * @note: btstack_type 4 15178 */ 15179 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 15180 return little_endian_read_32(event, 4); 15181 } 15182 /** 15183 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15184 * @param event packet 15185 * @return state_identifier 15186 * @note: btstack_type 4 15187 */ 15188 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 15189 return little_endian_read_32(event, 8); 15190 } 15191 /** 15192 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15193 * @param event packet 15194 * @return reason 15195 * @note: btstack_type 1 15196 */ 15197 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 15198 return event[12]; 15199 } 15200 /** 15201 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15202 * @param event packet 15203 * @return value 15204 * @note: btstack_type 1 15205 */ 15206 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 15207 return event[13]; 15208 } 15209 15210 /** 15211 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 15212 * @param event packet 15213 * @return element_index 15214 * @note: btstack_type 1 15215 */ 15216 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 15217 return event[3]; 15218 } 15219 /** 15220 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15221 * @param event packet 15222 * @return model_identifier 15223 * @note: btstack_type 4 15224 */ 15225 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 15226 return little_endian_read_32(event, 4); 15227 } 15228 /** 15229 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15230 * @param event packet 15231 * @return state_identifier 15232 * @note: btstack_type 4 15233 */ 15234 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 15235 return little_endian_read_32(event, 8); 15236 } 15237 /** 15238 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 15239 * @param event packet 15240 * @return reason 15241 * @note: btstack_type 1 15242 */ 15243 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 15244 return event[12]; 15245 } 15246 /** 15247 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 15248 * @param event packet 15249 * @return value 15250 * @note: btstack_type 2 15251 */ 15252 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 15253 return little_endian_read_16(event, 13); 15254 } 15255 15256 /** 15257 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15258 * @param event packet 15259 * @return element_index 15260 * @note: btstack_type 1 15261 */ 15262 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 15263 return event[3]; 15264 } 15265 /** 15266 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15267 * @param event packet 15268 * @return model_identifier 15269 * @note: btstack_type 4 15270 */ 15271 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 15272 return little_endian_read_32(event, 4); 15273 } 15274 /** 15275 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15276 * @param event packet 15277 * @return opcode 15278 * @note: btstack_type 4 15279 */ 15280 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 15281 return little_endian_read_32(event, 8); 15282 } 15283 /** 15284 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15285 * @param event packet 15286 * @return dest 15287 * @note: btstack_type 2 15288 */ 15289 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 15290 return little_endian_read_16(event, 12); 15291 } 15292 15293 /** 15294 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 15295 * @param event packet 15296 * @return dest 15297 * @note: btstack_type 2 15298 */ 15299 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 15300 return little_endian_read_16(event, 3); 15301 } 15302 /** 15303 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 15304 * @param event packet 15305 * @return status 15306 * @note: btstack_type 1 15307 */ 15308 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 15309 return event[5]; 15310 } 15311 /** 15312 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15313 * @param event packet 15314 * @return present_value 15315 * @note: btstack_type 1 15316 */ 15317 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 15318 return event[6]; 15319 } 15320 /** 15321 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15322 * @param event packet 15323 * @return target_value 15324 * @note: btstack_type 1 15325 */ 15326 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 15327 return event[7]; 15328 } 15329 /** 15330 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 15331 * @param event packet 15332 * @return remaining_time_ms 15333 * @note: btstack_type 4 15334 */ 15335 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 15336 return little_endian_read_32(event, 8); 15337 } 15338 15339 /** 15340 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 15341 * @param event packet 15342 * @return dest 15343 * @note: btstack_type 2 15344 */ 15345 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 15346 return little_endian_read_16(event, 3); 15347 } 15348 /** 15349 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 15350 * @param event packet 15351 * @return status 15352 * @note: btstack_type 1 15353 */ 15354 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 15355 return event[5]; 15356 } 15357 /** 15358 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 15359 * @param event packet 15360 * @return present_value 15361 * @note: btstack_type 2 15362 */ 15363 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 15364 return little_endian_read_16(event, 6); 15365 } 15366 /** 15367 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 15368 * @param event packet 15369 * @return target_value 15370 * @note: btstack_type 2 15371 */ 15372 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 15373 return little_endian_read_16(event, 8); 15374 } 15375 /** 15376 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 15377 * @param event packet 15378 * @return remaining_time_ms 15379 * @note: btstack_type 4 15380 */ 15381 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 15382 return little_endian_read_32(event, 10); 15383 } 15384 15385 /** 15386 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15387 * @param event packet 15388 * @return dest 15389 * @note: btstack_type 2 15390 */ 15391 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 15392 return little_endian_read_16(event, 3); 15393 } 15394 /** 15395 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15396 * @param event packet 15397 * @return netkey_index 15398 * @note: btstack_type 2 15399 */ 15400 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 15401 return little_endian_read_16(event, 5); 15402 } 15403 /** 15404 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15405 * @param event packet 15406 * @return appkey_index 15407 * @note: btstack_type 2 15408 */ 15409 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 15410 return little_endian_read_16(event, 7); 15411 } 15412 /** 15413 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15414 * @param event packet 15415 * @return company_id 15416 * @note: btstack_type 2 15417 */ 15418 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 15419 return little_endian_read_16(event, 9); 15420 } 15421 /** 15422 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15423 * @param event packet 15424 * @return test_id 15425 * @note: btstack_type 1 15426 */ 15427 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 15428 return event[11]; 15429 } 15430 /** 15431 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15432 * @param event packet 15433 * @return acknowledged 15434 * @note: btstack_type 1 15435 */ 15436 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 15437 return event[12]; 15438 } 15439 15440 /** 15441 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 15442 * @param event packet 15443 * @return element_index 15444 * @note: btstack_type 1 15445 */ 15446 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 15447 return event[3]; 15448 } 15449 15450 /** 15451 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15452 * @param event packet 15453 * @return dest 15454 * @note: btstack_type 2 15455 */ 15456 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 15457 return little_endian_read_16(event, 3); 15458 } 15459 /** 15460 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15461 * @param event packet 15462 * @return status 15463 * @note: btstack_type 1 15464 */ 15465 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 15466 return event[5]; 15467 } 15468 /** 15469 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15470 * @param event packet 15471 * @return transition_time_gdtt 15472 * @note: btstack_type 1 15473 */ 15474 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 15475 return event[6]; 15476 } 15477 15478 /** 15479 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 15480 * @param event packet 15481 * @return dest 15482 * @note: btstack_type 2 15483 */ 15484 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 15485 return little_endian_read_16(event, 3); 15486 } 15487 /** 15488 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 15489 * @param event packet 15490 * @return foundation_status 15491 * @note: btstack_type 1 15492 */ 15493 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 15494 return event[5]; 15495 } 15496 /** 15497 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 15498 * @param event packet 15499 * @return secure_network_beacon_state 15500 * @note: btstack_type 1 15501 */ 15502 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 15503 return event[6]; 15504 } 15505 15506 /** 15507 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15508 * @param event packet 15509 * @return dest 15510 * @note: btstack_type 2 15511 */ 15512 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 15513 return little_endian_read_16(event, 3); 15514 } 15515 /** 15516 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15517 * @param event packet 15518 * @return foundation_status 15519 * @note: btstack_type 1 15520 */ 15521 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 15522 return event[5]; 15523 } 15524 /** 15525 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15526 * @param event packet 15527 * @return default_ttl 15528 * @note: btstack_type 1 15529 */ 15530 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 15531 return event[6]; 15532 } 15533 15534 /** 15535 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15536 * @param event packet 15537 * @return dest 15538 * @note: btstack_type 2 15539 */ 15540 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 15541 return little_endian_read_16(event, 3); 15542 } 15543 /** 15544 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15545 * @param event packet 15546 * @return foundation_status 15547 * @note: btstack_type 1 15548 */ 15549 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 15550 return event[5]; 15551 } 15552 /** 15553 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15554 * @param event packet 15555 * @return gatt_proxy_state 15556 * @note: btstack_type 1 15557 */ 15558 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 15559 return event[6]; 15560 } 15561 15562 /** 15563 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 15564 * @param event packet 15565 * @return dest 15566 * @note: btstack_type 2 15567 */ 15568 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 15569 return little_endian_read_16(event, 3); 15570 } 15571 /** 15572 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 15573 * @param event packet 15574 * @return foundation_status 15575 * @note: btstack_type 1 15576 */ 15577 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 15578 return event[5]; 15579 } 15580 /** 15581 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 15582 * @param event packet 15583 * @return relay 15584 * @note: btstack_type 1 15585 */ 15586 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 15587 return event[6]; 15588 } 15589 /** 15590 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 15591 * @param event packet 15592 * @return retransmit_count 15593 * @note: btstack_type 1 15594 */ 15595 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 15596 return event[7]; 15597 } 15598 /** 15599 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 15600 * @param event packet 15601 * @return retransmit_interval_ms 15602 * @note: btstack_type 1 15603 */ 15604 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 15605 return event[8]; 15606 } 15607 15608 /** 15609 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15610 * @param event packet 15611 * @return dest 15612 * @note: btstack_type 2 15613 */ 15614 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 15615 return little_endian_read_16(event, 3); 15616 } 15617 /** 15618 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15619 * @param event packet 15620 * @return foundation_status 15621 * @note: btstack_type 1 15622 */ 15623 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 15624 return event[5]; 15625 } 15626 /** 15627 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15628 * @param event packet 15629 * @return publish_address 15630 * @note: btstack_type 2 15631 */ 15632 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 15633 return little_endian_read_16(event, 6); 15634 } 15635 /** 15636 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15637 * @param event packet 15638 * @return appkey_index 15639 * @note: btstack_type 2 15640 */ 15641 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 15642 return little_endian_read_16(event, 8); 15643 } 15644 /** 15645 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15646 * @param event packet 15647 * @return credential_flag 15648 * @note: btstack_type 1 15649 */ 15650 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 15651 return event[10]; 15652 } 15653 /** 15654 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15655 * @param event packet 15656 * @return publish_ttl 15657 * @note: btstack_type 1 15658 */ 15659 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 15660 return event[11]; 15661 } 15662 /** 15663 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15664 * @param event packet 15665 * @return publish_period 15666 * @note: btstack_type 1 15667 */ 15668 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 15669 return event[12]; 15670 } 15671 /** 15672 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15673 * @param event packet 15674 * @return publish_retransmit_count 15675 * @note: btstack_type 1 15676 */ 15677 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 15678 return event[13]; 15679 } 15680 /** 15681 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15682 * @param event packet 15683 * @return publish_retransmit_interval_steps 15684 * @note: btstack_type 1 15685 */ 15686 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 15687 return event[14]; 15688 } 15689 /** 15690 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15691 * @param event packet 15692 * @return model_identifier 15693 * @note: btstack_type 4 15694 */ 15695 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 15696 return little_endian_read_32(event, 15); 15697 } 15698 15699 /** 15700 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15701 * @param event packet 15702 * @return dest 15703 * @note: btstack_type 2 15704 */ 15705 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 15706 return little_endian_read_16(event, 3); 15707 } 15708 /** 15709 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15710 * @param event packet 15711 * @return foundation_status 15712 * @note: btstack_type 1 15713 */ 15714 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 15715 return event[5]; 15716 } 15717 /** 15718 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15719 * @param event packet 15720 * @return address 15721 * @note: btstack_type 2 15722 */ 15723 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 15724 return little_endian_read_16(event, 6); 15725 } 15726 /** 15727 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15728 * @param event packet 15729 * @return model_identifier 15730 * @note: btstack_type 4 15731 */ 15732 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 15733 return little_endian_read_32(event, 8); 15734 } 15735 15736 /** 15737 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15738 * @param event packet 15739 * @return dest 15740 * @note: btstack_type 2 15741 */ 15742 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 15743 return little_endian_read_16(event, 3); 15744 } 15745 /** 15746 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15747 * @param event packet 15748 * @return foundation_status 15749 * @note: btstack_type 1 15750 */ 15751 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 15752 return event[5]; 15753 } 15754 /** 15755 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15756 * @param event packet 15757 * @return model_identifier 15758 * @note: btstack_type 4 15759 */ 15760 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 15761 return little_endian_read_32(event, 6); 15762 } 15763 /** 15764 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15765 * @param event packet 15766 * @return num_subscription_addresses 15767 * @note: btstack_type 1 15768 */ 15769 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 15770 return event[10]; 15771 } 15772 /** 15773 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15774 * @param event packet 15775 * @return subscription_address_pos 15776 * @note: btstack_type 1 15777 */ 15778 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 15779 return event[11]; 15780 } 15781 /** 15782 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15783 * @param event packet 15784 * @return subscription_address_item 15785 * @note: btstack_type 2 15786 */ 15787 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 15788 return little_endian_read_16(event, 12); 15789 } 15790 15791 /** 15792 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 15793 * @param event packet 15794 * @return dest 15795 * @note: btstack_type 2 15796 */ 15797 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 15798 return little_endian_read_16(event, 3); 15799 } 15800 /** 15801 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 15802 * @param event packet 15803 * @return foundation_status 15804 * @note: btstack_type 1 15805 */ 15806 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 15807 return event[5]; 15808 } 15809 15810 /** 15811 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15812 * @param event packet 15813 * @return dest 15814 * @note: btstack_type 2 15815 */ 15816 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 15817 return little_endian_read_16(event, 3); 15818 } 15819 /** 15820 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15821 * @param event packet 15822 * @return foundation_status 15823 * @note: btstack_type 1 15824 */ 15825 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 15826 return event[5]; 15827 } 15828 /** 15829 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15830 * @param event packet 15831 * @return num_netkey_indexes 15832 * @note: btstack_type 1 15833 */ 15834 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 15835 return event[6]; 15836 } 15837 /** 15838 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15839 * @param event packet 15840 * @return netkey_index_pos 15841 * @note: btstack_type 1 15842 */ 15843 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 15844 return event[7]; 15845 } 15846 /** 15847 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15848 * @param event packet 15849 * @return netkey_index_item 15850 * @note: btstack_type 2 15851 */ 15852 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15853 return little_endian_read_16(event, 8); 15854 } 15855 15856 /** 15857 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15858 * @param event packet 15859 * @return dest 15860 * @note: btstack_type 2 15861 */ 15862 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 15863 return little_endian_read_16(event, 3); 15864 } 15865 /** 15866 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15867 * @param event packet 15868 * @return foundation_status 15869 * @note: btstack_type 1 15870 */ 15871 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 15872 return event[5]; 15873 } 15874 /** 15875 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15876 * @param event packet 15877 * @return netkey_index_item 15878 * @note: btstack_type 2 15879 */ 15880 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 15881 return little_endian_read_16(event, 6); 15882 } 15883 /** 15884 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15885 * @param event packet 15886 * @return appkey_index_item 15887 * @note: btstack_type 2 15888 */ 15889 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 15890 return little_endian_read_16(event, 8); 15891 } 15892 15893 /** 15894 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15895 * @param event packet 15896 * @return dest 15897 * @note: btstack_type 2 15898 */ 15899 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 15900 return little_endian_read_16(event, 3); 15901 } 15902 /** 15903 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15904 * @param event packet 15905 * @return foundation_status 15906 * @note: btstack_type 1 15907 */ 15908 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 15909 return event[5]; 15910 } 15911 /** 15912 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15913 * @param event packet 15914 * @return netkey_index 15915 * @note: btstack_type 2 15916 */ 15917 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 15918 return little_endian_read_16(event, 6); 15919 } 15920 /** 15921 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15922 * @param event packet 15923 * @return num_appkey_indexes 15924 * @note: btstack_type 1 15925 */ 15926 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 15927 return event[8]; 15928 } 15929 /** 15930 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15931 * @param event packet 15932 * @return appkey_index_pos 15933 * @note: btstack_type 1 15934 */ 15935 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 15936 return event[9]; 15937 } 15938 /** 15939 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15940 * @param event packet 15941 * @return netkey_index_item 15942 * @note: btstack_type 2 15943 */ 15944 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15945 return little_endian_read_16(event, 10); 15946 } 15947 /** 15948 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15949 * @param event packet 15950 * @return appkey_index_item 15951 * @note: btstack_type 2 15952 */ 15953 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 15954 return little_endian_read_16(event, 12); 15955 } 15956 15957 /** 15958 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15959 * @param event packet 15960 * @return dest 15961 * @note: btstack_type 2 15962 */ 15963 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 15964 return little_endian_read_16(event, 3); 15965 } 15966 /** 15967 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15968 * @param event packet 15969 * @return foundation_status 15970 * @note: btstack_type 1 15971 */ 15972 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 15973 return event[5]; 15974 } 15975 /** 15976 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15977 * @param event packet 15978 * @return netkey_index_item 15979 * @note: btstack_type 2 15980 */ 15981 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 15982 return little_endian_read_16(event, 6); 15983 } 15984 /** 15985 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15986 * @param event packet 15987 * @return identity_status 15988 * @note: btstack_type 1 15989 */ 15990 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 15991 return event[8]; 15992 } 15993 15994 /** 15995 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15996 * @param event packet 15997 * @return dest 15998 * @note: btstack_type 2 15999 */ 16000 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 16001 return little_endian_read_16(event, 3); 16002 } 16003 /** 16004 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16005 * @param event packet 16006 * @return foundation_status 16007 * @note: btstack_type 1 16008 */ 16009 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 16010 return event[5]; 16011 } 16012 /** 16013 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16014 * @param event packet 16015 * @return appkey_index 16016 * @note: btstack_type 2 16017 */ 16018 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 16019 return little_endian_read_16(event, 6); 16020 } 16021 /** 16022 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16023 * @param event packet 16024 * @return model_identifier 16025 * @note: btstack_type 4 16026 */ 16027 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 16028 return little_endian_read_32(event, 8); 16029 } 16030 16031 /** 16032 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16033 * @param event packet 16034 * @return dest 16035 * @note: btstack_type 2 16036 */ 16037 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 16038 return little_endian_read_16(event, 3); 16039 } 16040 /** 16041 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16042 * @param event packet 16043 * @return foundation_status 16044 * @note: btstack_type 1 16045 */ 16046 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 16047 return event[5]; 16048 } 16049 /** 16050 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16051 * @param event packet 16052 * @return model_id 16053 * @note: btstack_type 4 16054 */ 16055 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 16056 return little_endian_read_32(event, 6); 16057 } 16058 /** 16059 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16060 * @param event packet 16061 * @return num_appkey_indexes 16062 * @note: btstack_type 1 16063 */ 16064 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 16065 return event[10]; 16066 } 16067 /** 16068 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16069 * @param event packet 16070 * @return appkey_index_pos 16071 * @note: btstack_type 1 16072 */ 16073 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 16074 return event[11]; 16075 } 16076 /** 16077 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16078 * @param event packet 16079 * @return appkey_index_item 16080 * @note: btstack_type 2 16081 */ 16082 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 16083 return little_endian_read_16(event, 12); 16084 } 16085 16086 /** 16087 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16088 * @param event packet 16089 * @return dest 16090 * @note: btstack_type 2 16091 */ 16092 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 16093 return little_endian_read_16(event, 3); 16094 } 16095 /** 16096 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16097 * @param event packet 16098 * @return foundation_status 16099 * @note: btstack_type 1 16100 */ 16101 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 16102 return event[5]; 16103 } 16104 16105 /** 16106 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16107 * @param event packet 16108 * @return dest 16109 * @note: btstack_type 2 16110 */ 16111 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 16112 return little_endian_read_16(event, 3); 16113 } 16114 /** 16115 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16116 * @param event packet 16117 * @return foundation_status 16118 * @note: btstack_type 1 16119 */ 16120 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 16121 return event[5]; 16122 } 16123 /** 16124 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16125 * @param event packet 16126 * @return friend_state 16127 * @note: btstack_type 1 16128 */ 16129 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 16130 return event[6]; 16131 } 16132 16133 /** 16134 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16135 * @param event packet 16136 * @return dest 16137 * @note: btstack_type 2 16138 */ 16139 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 16140 return little_endian_read_16(event, 3); 16141 } 16142 /** 16143 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16144 * @param event packet 16145 * @return foundation_status 16146 * @note: btstack_type 1 16147 */ 16148 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 16149 return event[5]; 16150 } 16151 /** 16152 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16153 * @param event packet 16154 * @return netkey_index 16155 * @note: btstack_type 2 16156 */ 16157 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 16158 return little_endian_read_16(event, 6); 16159 } 16160 /** 16161 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16162 * @param event packet 16163 * @return phase 16164 * @note: btstack_type 1 16165 */ 16166 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 16167 return event[8]; 16168 } 16169 16170 /** 16171 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16172 * @param event packet 16173 * @return dest 16174 * @note: btstack_type 2 16175 */ 16176 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 16177 return little_endian_read_16(event, 3); 16178 } 16179 /** 16180 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16181 * @param event packet 16182 * @return foundation_status 16183 * @note: btstack_type 1 16184 */ 16185 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 16186 return event[5]; 16187 } 16188 /** 16189 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16190 * @param event packet 16191 * @return heartbeat_destination 16192 * @note: btstack_type 2 16193 */ 16194 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 16195 return little_endian_read_16(event, 6); 16196 } 16197 /** 16198 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16199 * @param event packet 16200 * @return count_S 16201 * @note: btstack_type 2 16202 */ 16203 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 16204 return little_endian_read_16(event, 8); 16205 } 16206 /** 16207 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16208 * @param event packet 16209 * @return period_S 16210 * @note: btstack_type 2 16211 */ 16212 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 16213 return little_endian_read_16(event, 10); 16214 } 16215 /** 16216 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16217 * @param event packet 16218 * @return ttl 16219 * @note: btstack_type 1 16220 */ 16221 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 16222 return event[12]; 16223 } 16224 /** 16225 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16226 * @param event packet 16227 * @return features 16228 * @note: btstack_type 2 16229 */ 16230 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 16231 return little_endian_read_16(event, 13); 16232 } 16233 /** 16234 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16235 * @param event packet 16236 * @return netkey_index 16237 * @note: btstack_type 2 16238 */ 16239 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 16240 return little_endian_read_16(event, 15); 16241 } 16242 16243 /** 16244 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16245 * @param event packet 16246 * @return dest 16247 * @note: btstack_type 2 16248 */ 16249 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 16250 return little_endian_read_16(event, 3); 16251 } 16252 /** 16253 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16254 * @param event packet 16255 * @return foundation_status 16256 * @note: btstack_type 1 16257 */ 16258 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 16259 return event[5]; 16260 } 16261 /** 16262 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16263 * @param event packet 16264 * @return heartbeat_destination 16265 * @note: btstack_type 2 16266 */ 16267 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 16268 return little_endian_read_16(event, 6); 16269 } 16270 /** 16271 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16272 * @param event packet 16273 * @return heartbeat_source 16274 * @note: btstack_type 2 16275 */ 16276 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 16277 return little_endian_read_16(event, 8); 16278 } 16279 /** 16280 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16281 * @param event packet 16282 * @return count_S 16283 * @note: btstack_type 2 16284 */ 16285 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 16286 return little_endian_read_16(event, 10); 16287 } 16288 /** 16289 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16290 * @param event packet 16291 * @return period_S 16292 * @note: btstack_type 2 16293 */ 16294 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 16295 return little_endian_read_16(event, 12); 16296 } 16297 /** 16298 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16299 * @param event packet 16300 * @return min_hops 16301 * @note: btstack_type 1 16302 */ 16303 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 16304 return event[14]; 16305 } 16306 /** 16307 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16308 * @param event packet 16309 * @return max_hops 16310 * @note: btstack_type 1 16311 */ 16312 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 16313 return event[15]; 16314 } 16315 16316 /** 16317 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16318 * @param event packet 16319 * @return dest 16320 * @note: btstack_type 2 16321 */ 16322 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 16323 return little_endian_read_16(event, 3); 16324 } 16325 /** 16326 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16327 * @param event packet 16328 * @return foundation_status 16329 * @note: btstack_type 1 16330 */ 16331 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 16332 return event[5]; 16333 } 16334 /** 16335 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16336 * @param event packet 16337 * @return lpn_address 16338 * @note: btstack_type 2 16339 */ 16340 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 16341 return little_endian_read_16(event, 6); 16342 } 16343 /** 16344 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16345 * @param event packet 16346 * @return poll_timeout 16347 * @note: btstack_type 3 16348 */ 16349 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 16350 return little_endian_read_24(event, 8); 16351 } 16352 16353 /** 16354 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16355 * @param event packet 16356 * @return dest 16357 * @note: btstack_type 2 16358 */ 16359 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 16360 return little_endian_read_16(event, 3); 16361 } 16362 /** 16363 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16364 * @param event packet 16365 * @return foundation_status 16366 * @note: btstack_type 1 16367 */ 16368 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 16369 return event[5]; 16370 } 16371 /** 16372 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16373 * @param event packet 16374 * @return transmit_count 16375 * @note: btstack_type 1 16376 */ 16377 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 16378 return event[6]; 16379 } 16380 /** 16381 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16382 * @param event packet 16383 * @return transmit_interval_steps_ms 16384 * @note: btstack_type 2 16385 */ 16386 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 16387 return little_endian_read_16(event, 7); 16388 } 16389 16390 16391 16392 /* API_END */ 16393 16394 #if defined __cplusplus 16395 } 16396 #endif 16397 16398 #endif // BTSTACK_EVENT_H 16399