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