1 /* 2 * Copyright (C) 2016 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. Neither the name of the copyright holders nor the names of 14 * contributors may be used to endorse or promote products derived 15 * from this software without specific prior written permission. 16 * 4. Any redistribution, use, or modification is done solely for 17 * personal benefit and not for any commercial purpose or for 18 * monetary gain. 19 * 20 * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS 21 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BLUEKITCHEN 24 * GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 27 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 30 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * Please inquire about commercial licensing options at 34 * [email protected] 35 * 36 */ 37 38 39 /** 40 * HCI Event Getter 41 * 42 * Note: Don't edit this file. It is generated by tool/btstack_event_generator.py 43 * 44 */ 45 46 #ifndef BTSTACK_EVENT_H 47 #define BTSTACK_EVENT_H 48 49 #if defined __cplusplus 50 extern "C" { 51 #endif 52 53 #include "btstack_util.h" 54 #include <stdint.h> 55 56 #ifdef ENABLE_BLE 57 #include "ble/gatt_client.h" 58 #endif 59 60 /* API_START */ 61 62 /** 63 * @brief Get event type 64 * @param event 65 * @return type of event 66 */ 67 static inline uint8_t hci_event_packet_get_type(const uint8_t * event){ 68 return event[0]; 69 } 70 71 typedef uint8_t* btstack_event_iterator_t; 72 73 /*** 74 * @brief Get subevent code for a2dp event 75 * @param event packet 76 * @return subevent_code 77 */ 78 static inline uint8_t hci_event_a2dp_meta_get_subevent_code(const uint8_t * event){ 79 return event[2]; 80 } 81 /*** 82 * @brief Get subevent code for ancs event 83 * @param event packet 84 * @return subevent_code 85 */ 86 static inline uint8_t hci_event_ancs_meta_get_subevent_code(const uint8_t * event){ 87 return event[2]; 88 } 89 /*** 90 * @brief Get subevent code for avdtp event 91 * @param event packet 92 * @return subevent_code 93 */ 94 static inline uint8_t hci_event_avdtp_meta_get_subevent_code(const uint8_t * event){ 95 return event[2]; 96 } 97 /*** 98 * @brief Get subevent code for avrcp event 99 * @param event packet 100 * @return subevent_code 101 */ 102 static inline uint8_t hci_event_avrcp_meta_get_subevent_code(const uint8_t * event){ 103 return event[2]; 104 } 105 /*** 106 * @brief Get subevent code for gap event 107 * @param event packet 108 * @return subevent_code 109 */ 110 static inline uint8_t hci_event_gap_meta_get_subevent_code(const uint8_t * event){ 111 return event[2]; 112 } 113 /*** 114 * @brief Get subevent code for gattservice event 115 * @param event packet 116 * @return subevent_code 117 */ 118 static inline uint8_t hci_event_gattservice_meta_get_subevent_code(const uint8_t * event){ 119 return event[2]; 120 } 121 /*** 122 * @brief Get subevent code for goep event 123 * @param event packet 124 * @return subevent_code 125 */ 126 static inline uint8_t hci_event_goep_meta_get_subevent_code(const uint8_t * event){ 127 return event[2]; 128 } 129 /*** 130 * @brief Get subevent code for hfp event 131 * @param event packet 132 * @return subevent_code 133 */ 134 static inline uint8_t hci_event_hfp_meta_get_subevent_code(const uint8_t * event){ 135 return event[2]; 136 } 137 /*** 138 * @brief Get subevent code for hid event 139 * @param event packet 140 * @return subevent_code 141 */ 142 static inline uint8_t hci_event_hid_meta_get_subevent_code(const uint8_t * event){ 143 return event[2]; 144 } 145 /*** 146 * @brief Get subevent code for hids event 147 * @param event packet 148 * @return subevent_code 149 */ 150 static inline uint8_t hci_event_hids_meta_get_subevent_code(const uint8_t * event){ 151 return event[2]; 152 } 153 /*** 154 * @brief Get subevent code for hsp event 155 * @param event packet 156 * @return subevent_code 157 */ 158 static inline uint8_t hci_event_hsp_meta_get_subevent_code(const uint8_t * event){ 159 return event[2]; 160 } 161 /*** 162 * @brief Get subevent code for le event 163 * @param event packet 164 * @return subevent_code 165 */ 166 static inline uint8_t hci_event_le_meta_get_subevent_code(const uint8_t * event){ 167 return event[2]; 168 } 169 /*** 170 * @brief Get subevent code for leaudio event 171 * @param event packet 172 * @return subevent_code 173 */ 174 static inline uint8_t hci_event_leaudio_meta_get_subevent_code(const uint8_t * event){ 175 return event[2]; 176 } 177 /*** 178 * @brief Get subevent code for map event 179 * @param event packet 180 * @return subevent_code 181 */ 182 static inline uint8_t hci_event_map_meta_get_subevent_code(const uint8_t * event){ 183 return event[2]; 184 } 185 /*** 186 * @brief Get subevent code for mesh event 187 * @param event packet 188 * @return subevent_code 189 */ 190 static inline uint8_t hci_event_mesh_meta_get_subevent_code(const uint8_t * event){ 191 return event[2]; 192 } 193 /*** 194 * @brief Get subevent code for pbap event 195 * @param event packet 196 * @return subevent_code 197 */ 198 static inline uint8_t hci_event_pbap_meta_get_subevent_code(const uint8_t * event){ 199 return event[2]; 200 } 201 /*** 202 * @brief Get subevent code for opp event 203 * @param event packet 204 * @return subevent_code 205 */ 206 static inline uint8_t hci_event_opp_meta_get_subevent_code(const uint8_t * event){ 207 return event[2]; 208 } 209 /** 210 * @brief Get field status from event HCI_EVENT_INQUIRY_COMPLETE 211 * @param event packet 212 * @return status 213 * @note: btstack_type 1 214 */ 215 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){ 216 return event[2]; 217 } 218 219 /** 220 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT 221 * @param event packet 222 * @return num_responses 223 * @note: btstack_type 1 224 */ 225 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){ 226 return event[2]; 227 } 228 /** 229 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT 230 * @param event packet 231 * @param Pointer to storage for bd_addr 232 * @note: btstack_type B 233 */ 234 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 235 reverse_bytes(&event[3], bd_addr, 6); 236 } 237 /** 238 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT 239 * @param event packet 240 * @return page_scan_repetition_mode 241 * @note: btstack_type 1 242 */ 243 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 244 return event[9]; 245 } 246 /** 247 * @brief Get field reserved1 from event HCI_EVENT_INQUIRY_RESULT 248 * @param event packet 249 * @return reserved1 250 * @note: btstack_type 1 251 */ 252 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){ 253 return event[10]; 254 } 255 /** 256 * @brief Get field reserved2 from event HCI_EVENT_INQUIRY_RESULT 257 * @param event packet 258 * @return reserved2 259 * @note: btstack_type 1 260 */ 261 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){ 262 return event[11]; 263 } 264 /** 265 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT 266 * @param event packet 267 * @return class_of_device 268 * @note: btstack_type 3 269 */ 270 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){ 271 return little_endian_read_24(event, 12); 272 } 273 /** 274 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT 275 * @param event packet 276 * @return clock_offset 277 * @note: btstack_type 2 278 */ 279 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){ 280 return little_endian_read_16(event, 15); 281 } 282 283 /** 284 * @brief Get field status from event HCI_EVENT_CONNECTION_COMPLETE 285 * @param event packet 286 * @return status 287 * @note: btstack_type 1 288 */ 289 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){ 290 return event[2]; 291 } 292 /** 293 * @brief Get field connection_handle from event HCI_EVENT_CONNECTION_COMPLETE 294 * @param event packet 295 * @return connection_handle 296 * @note: btstack_type 2 297 */ 298 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){ 299 return little_endian_read_16(event, 3); 300 } 301 /** 302 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_COMPLETE 303 * @param event packet 304 * @param Pointer to storage for bd_addr 305 * @note: btstack_type B 306 */ 307 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 308 reverse_bytes(&event[5], bd_addr, 6); 309 } 310 /** 311 * @brief Get field link_type from event HCI_EVENT_CONNECTION_COMPLETE 312 * @param event packet 313 * @return link_type 314 * @note: btstack_type 1 315 */ 316 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){ 317 return event[11]; 318 } 319 /** 320 * @brief Get field encryption_enabled from event HCI_EVENT_CONNECTION_COMPLETE 321 * @param event packet 322 * @return encryption_enabled 323 * @note: btstack_type 1 324 */ 325 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){ 326 return event[12]; 327 } 328 329 /** 330 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_REQUEST 331 * @param event packet 332 * @param Pointer to storage for bd_addr 333 * @note: btstack_type B 334 */ 335 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 336 reverse_bytes(&event[2], bd_addr, 6); 337 } 338 /** 339 * @brief Get field class_of_device from event HCI_EVENT_CONNECTION_REQUEST 340 * @param event packet 341 * @return class_of_device 342 * @note: btstack_type 3 343 */ 344 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){ 345 return little_endian_read_24(event, 8); 346 } 347 /** 348 * @brief Get field link_type from event HCI_EVENT_CONNECTION_REQUEST 349 * @param event packet 350 * @return link_type 351 * @note: btstack_type 1 352 */ 353 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){ 354 return event[11]; 355 } 356 357 /** 358 * @brief Get field status from event HCI_EVENT_DISCONNECTION_COMPLETE 359 * @param event packet 360 * @return status 361 * @note: btstack_type 1 362 */ 363 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){ 364 return event[2]; 365 } 366 /** 367 * @brief Get field connection_handle from event HCI_EVENT_DISCONNECTION_COMPLETE 368 * @param event packet 369 * @return connection_handle 370 * @note: btstack_type 2 371 */ 372 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){ 373 return little_endian_read_16(event, 3); 374 } 375 /** 376 * @brief Get field reason from event HCI_EVENT_DISCONNECTION_COMPLETE 377 * @param event packet 378 * @return reason 379 * @note: btstack_type 1 380 */ 381 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){ 382 return event[5]; 383 } 384 385 /** 386 * @brief Get field status from event HCI_EVENT_AUTHENTICATION_COMPLETE 387 * @param event packet 388 * @return status 389 * @note: btstack_type 1 390 */ 391 static inline uint8_t hci_event_authentication_complete_get_status(const uint8_t * event){ 392 return event[2]; 393 } 394 /** 395 * @brief Get field connection_handle from event HCI_EVENT_AUTHENTICATION_COMPLETE 396 * @param event packet 397 * @return connection_handle 398 * @note: btstack_type 2 399 */ 400 static inline uint16_t hci_event_authentication_complete_get_connection_handle(const uint8_t * event){ 401 return little_endian_read_16(event, 3); 402 } 403 404 /** 405 * @brief Get field status from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 406 * @param event packet 407 * @return status 408 * @note: btstack_type 1 409 */ 410 static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){ 411 return event[2]; 412 } 413 /** 414 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 415 * @param event packet 416 * @param Pointer to storage for bd_addr 417 * @note: btstack_type B 418 */ 419 static inline void hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 420 reverse_bytes(&event[3], bd_addr, 6); 421 } 422 /** 423 * @brief Get field remote_name from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 424 * @param event packet 425 * @return remote_name 426 * @note: btstack_type N 427 */ 428 static inline const char * hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){ 429 return (const char *) &event[9]; 430 } 431 432 /** 433 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE 434 * @param event packet 435 * @return status 436 * @note: btstack_type 1 437 */ 438 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){ 439 return event[2]; 440 } 441 /** 442 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE 443 * @param event packet 444 * @return connection_handle 445 * @note: btstack_type 2 446 */ 447 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){ 448 return little_endian_read_16(event, 3); 449 } 450 /** 451 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE 452 * @param event packet 453 * @return encryption_enabled 454 * @note: btstack_type 1 455 */ 456 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){ 457 return event[5]; 458 } 459 460 /** 461 * @brief Get field status from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 462 * @param event packet 463 * @return status 464 * @note: btstack_type 1 465 */ 466 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){ 467 return event[2]; 468 } 469 /** 470 * @brief Get field connection_handle from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 471 * @param event packet 472 * @return connection_handle 473 * @note: btstack_type 2 474 */ 475 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){ 476 return little_endian_read_16(event, 3); 477 } 478 479 /** 480 * @brief Get field status from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 481 * @param event packet 482 * @return status 483 * @note: btstack_type 1 484 */ 485 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){ 486 return event[2]; 487 } 488 /** 489 * @brief Get field connection_handle from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 490 * @param event packet 491 * @return connection_handle 492 * @note: btstack_type 2 493 */ 494 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){ 495 return little_endian_read_16(event, 3); 496 } 497 /** 498 * @brief Get field key_flag from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 499 * @param event packet 500 * @return key_flag 501 * @note: btstack_type 1 502 */ 503 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){ 504 return event[5]; 505 } 506 507 /** 508 * @brief Get field status from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 509 * @param event packet 510 * @return status 511 * @note: btstack_type 1 512 */ 513 static inline uint8_t hci_event_read_remote_version_information_complete_get_status(const uint8_t * event){ 514 return event[2]; 515 } 516 /** 517 * @brief Get field connection_handle from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 518 * @param event packet 519 * @return connection_handle 520 * @note: btstack_type 2 521 */ 522 static inline uint16_t hci_event_read_remote_version_information_complete_get_connection_handle(const uint8_t * event){ 523 return little_endian_read_16(event, 3); 524 } 525 /** 526 * @brief Get field version from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 527 * @param event packet 528 * @return version 529 * @note: btstack_type 1 530 */ 531 static inline uint8_t hci_event_read_remote_version_information_complete_get_version(const uint8_t * event){ 532 return event[5]; 533 } 534 /** 535 * @brief Get field manufacturer_name from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 536 * @param event packet 537 * @return manufacturer_name 538 * @note: btstack_type 2 539 */ 540 static inline uint16_t hci_event_read_remote_version_information_complete_get_manufacturer_name(const uint8_t * event){ 541 return little_endian_read_16(event, 6); 542 } 543 /** 544 * @brief Get field subversion from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 545 * @param event packet 546 * @return subversion 547 * @note: btstack_type 2 548 */ 549 static inline uint16_t hci_event_read_remote_version_information_complete_get_subversion(const uint8_t * event){ 550 return little_endian_read_16(event, 8); 551 } 552 553 /** 554 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_COMPLETE 555 * @param event packet 556 * @return num_hci_command_packets 557 * @note: btstack_type 1 558 */ 559 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){ 560 return event[2]; 561 } 562 /** 563 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_COMPLETE 564 * @param event packet 565 * @return command_opcode 566 * @note: btstack_type 2 567 */ 568 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){ 569 return little_endian_read_16(event, 3); 570 } 571 /** 572 * @brief Get field return_parameters from event HCI_EVENT_COMMAND_COMPLETE 573 * @param event packet 574 * @return return_parameters 575 * @note: btstack_type R 576 */ 577 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){ 578 return &event[5]; 579 } 580 581 /** 582 * @brief Get field status from event HCI_EVENT_COMMAND_STATUS 583 * @param event packet 584 * @return status 585 * @note: btstack_type 1 586 */ 587 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){ 588 return event[2]; 589 } 590 /** 591 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_STATUS 592 * @param event packet 593 * @return num_hci_command_packets 594 * @note: btstack_type 1 595 */ 596 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){ 597 return event[3]; 598 } 599 /** 600 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_STATUS 601 * @param event packet 602 * @return command_opcode 603 * @note: btstack_type 2 604 */ 605 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){ 606 return little_endian_read_16(event, 4); 607 } 608 609 /** 610 * @brief Get field hardware_code from event HCI_EVENT_HARDWARE_ERROR 611 * @param event packet 612 * @return hardware_code 613 * @note: btstack_type 1 614 */ 615 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){ 616 return event[2]; 617 } 618 619 /** 620 * @brief Get field handle from event HCI_EVENT_FLUSH_OCCURRED 621 * @param event packet 622 * @return handle 623 * @note: btstack_type H 624 */ 625 static inline hci_con_handle_t hci_event_flush_occurred_get_handle(const uint8_t * event){ 626 return little_endian_read_16(event, 2); 627 } 628 629 /** 630 * @brief Get field status from event HCI_EVENT_ROLE_CHANGE 631 * @param event packet 632 * @return status 633 * @note: btstack_type 1 634 */ 635 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){ 636 return event[2]; 637 } 638 /** 639 * @brief Get field bd_addr from event HCI_EVENT_ROLE_CHANGE 640 * @param event packet 641 * @param Pointer to storage for bd_addr 642 * @note: btstack_type B 643 */ 644 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 645 reverse_bytes(&event[3], bd_addr, 6); 646 } 647 /** 648 * @brief Get field role from event HCI_EVENT_ROLE_CHANGE 649 * @param event packet 650 * @return role 651 * @note: btstack_type 1 652 */ 653 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){ 654 return event[9]; 655 } 656 657 /** 658 * @brief Get field status from event HCI_EVENT_MODE_CHANGE 659 * @param event packet 660 * @return status 661 * @note: btstack_type 1 662 */ 663 static inline uint8_t hci_event_mode_change_get_status(const uint8_t * event){ 664 return event[2]; 665 } 666 /** 667 * @brief Get field handle from event HCI_EVENT_MODE_CHANGE 668 * @param event packet 669 * @return handle 670 * @note: btstack_type H 671 */ 672 static inline hci_con_handle_t hci_event_mode_change_get_handle(const uint8_t * event){ 673 return little_endian_read_16(event, 3); 674 } 675 /** 676 * @brief Get field mode from event HCI_EVENT_MODE_CHANGE 677 * @param event packet 678 * @return mode 679 * @note: btstack_type 1 680 */ 681 static inline uint8_t hci_event_mode_change_get_mode(const uint8_t * event){ 682 return event[5]; 683 } 684 /** 685 * @brief Get field interval from event HCI_EVENT_MODE_CHANGE 686 * @param event packet 687 * @return interval 688 * @note: btstack_type 2 689 */ 690 static inline uint16_t hci_event_mode_change_get_interval(const uint8_t * event){ 691 return little_endian_read_16(event, 6); 692 } 693 694 /** 695 * @brief Get field bd_addr from event HCI_EVENT_PIN_CODE_REQUEST 696 * @param event packet 697 * @param Pointer to storage for bd_addr 698 * @note: btstack_type B 699 */ 700 static inline void hci_event_pin_code_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 701 reverse_bytes(&event[2], bd_addr, 6); 702 } 703 704 /** 705 * @brief Get field bd_addr from event HCI_EVENT_LINK_KEY_REQUEST 706 * @param event packet 707 * @param Pointer to storage for bd_addr 708 * @note: btstack_type B 709 */ 710 static inline void hci_event_link_key_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 711 reverse_bytes(&event[2], bd_addr, 6); 712 } 713 714 /** 715 * @brief Get field link_type from event HCI_EVENT_DATA_BUFFER_OVERFLOW 716 * @param event packet 717 * @return link_type 718 * @note: btstack_type 1 719 */ 720 static inline uint8_t hci_event_data_buffer_overflow_get_link_type(const uint8_t * event){ 721 return event[2]; 722 } 723 724 /** 725 * @brief Get field handle from event HCI_EVENT_MAX_SLOTS_CHANGED 726 * @param event packet 727 * @return handle 728 * @note: btstack_type H 729 */ 730 static inline hci_con_handle_t hci_event_max_slots_changed_get_handle(const uint8_t * event){ 731 return little_endian_read_16(event, 2); 732 } 733 /** 734 * @brief Get field lmp_max_slots from event HCI_EVENT_MAX_SLOTS_CHANGED 735 * @param event packet 736 * @return lmp_max_slots 737 * @note: btstack_type 1 738 */ 739 static inline uint8_t hci_event_max_slots_changed_get_lmp_max_slots(const uint8_t * event){ 740 return event[4]; 741 } 742 743 /** 744 * @brief Get field status from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 745 * @param event packet 746 * @return status 747 * @note: btstack_type 1 748 */ 749 static inline uint8_t hci_event_read_clock_offset_complete_get_status(const uint8_t * event){ 750 return event[2]; 751 } 752 /** 753 * @brief Get field handle from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 754 * @param event packet 755 * @return handle 756 * @note: btstack_type H 757 */ 758 static inline hci_con_handle_t hci_event_read_clock_offset_complete_get_handle(const uint8_t * event){ 759 return little_endian_read_16(event, 3); 760 } 761 /** 762 * @brief Get field clock_offset from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 763 * @param event packet 764 * @return clock_offset 765 * @note: btstack_type 2 766 */ 767 static inline uint16_t hci_event_read_clock_offset_complete_get_clock_offset(const uint8_t * event){ 768 return little_endian_read_16(event, 5); 769 } 770 771 /** 772 * @brief Get field status from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 773 * @param event packet 774 * @return status 775 * @note: btstack_type 1 776 */ 777 static inline uint8_t hci_event_connection_packet_type_changed_get_status(const uint8_t * event){ 778 return event[2]; 779 } 780 /** 781 * @brief Get field handle from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 782 * @param event packet 783 * @return handle 784 * @note: btstack_type H 785 */ 786 static inline hci_con_handle_t hci_event_connection_packet_type_changed_get_handle(const uint8_t * event){ 787 return little_endian_read_16(event, 3); 788 } 789 /** 790 * @brief Get field packet_types from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 791 * @param event packet 792 * @return packet_types 793 * @note: btstack_type 2 794 */ 795 static inline uint16_t hci_event_connection_packet_type_changed_get_packet_types(const uint8_t * event){ 796 return little_endian_read_16(event, 5); 797 } 798 799 /** 800 * @brief Get field handle from event HCI_EVENT_QOS_VIOLATION 801 * @param event packet 802 * @return handle 803 * @note: btstack_type H 804 */ 805 static inline hci_con_handle_t hci_event_qos_violation_get_handle(const uint8_t * event){ 806 return little_endian_read_16(event, 2); 807 } 808 809 /** 810 * @brief Get field handle from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 811 * @param event packet 812 * @return handle 813 * @note: btstack_type H 814 */ 815 static inline hci_con_handle_t hci_event_page_scan_repetition_mode_change_get_handle(const uint8_t * event){ 816 return little_endian_read_16(event, 2); 817 } 818 /** 819 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 820 * @param event packet 821 * @return page_scan_repetition_mode 822 * @note: btstack_type 1 823 */ 824 static inline uint8_t hci_event_page_scan_repetition_mode_change_get_page_scan_repetition_mode(const uint8_t * event){ 825 return event[4]; 826 } 827 828 /** 829 * @brief Get field status from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 830 * @param event packet 831 * @return status 832 * @note: btstack_type 1 833 */ 834 static inline uint8_t hci_event_flow_specification_complete_get_status(const uint8_t * event){ 835 return event[2]; 836 } 837 /** 838 * @brief Get field handle from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 839 * @param event packet 840 * @return handle 841 * @note: btstack_type H 842 */ 843 static inline hci_con_handle_t hci_event_flow_specification_complete_get_handle(const uint8_t * event){ 844 return little_endian_read_16(event, 3); 845 } 846 /** 847 * @brief Get field unused from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 848 * @param event packet 849 * @return unused 850 * @note: btstack_type 1 851 */ 852 static inline uint8_t hci_event_flow_specification_complete_get_unused(const uint8_t * event){ 853 return event[5]; 854 } 855 /** 856 * @brief Get field flow_direction from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 857 * @param event packet 858 * @return flow_direction 859 * @note: btstack_type 1 860 */ 861 static inline uint8_t hci_event_flow_specification_complete_get_flow_direction(const uint8_t * event){ 862 return event[6]; 863 } 864 /** 865 * @brief Get field service_type from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 866 * @param event packet 867 * @return service_type 868 * @note: btstack_type 1 869 */ 870 static inline uint8_t hci_event_flow_specification_complete_get_service_type(const uint8_t * event){ 871 return event[7]; 872 } 873 /** 874 * @brief Get field token_rate from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 875 * @param event packet 876 * @return token_rate 877 * @note: btstack_type 4 878 */ 879 static inline uint32_t hci_event_flow_specification_complete_get_token_rate(const uint8_t * event){ 880 return little_endian_read_32(event, 8); 881 } 882 /** 883 * @brief Get field token_bucket_size from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 884 * @param event packet 885 * @return token_bucket_size 886 * @note: btstack_type 4 887 */ 888 static inline uint32_t hci_event_flow_specification_complete_get_token_bucket_size(const uint8_t * event){ 889 return little_endian_read_32(event, 12); 890 } 891 /** 892 * @brief Get field peak_bandwidth from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 893 * @param event packet 894 * @return peak_bandwidth 895 * @note: btstack_type 4 896 */ 897 static inline uint32_t hci_event_flow_specification_complete_get_peak_bandwidth(const uint8_t * event){ 898 return little_endian_read_32(event, 16); 899 } 900 /** 901 * @brief Get field access_latency from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 902 * @param event packet 903 * @return access_latency 904 * @note: btstack_type 4 905 */ 906 static inline uint32_t hci_event_flow_specification_complete_get_access_latency(const uint8_t * event){ 907 return little_endian_read_32(event, 20); 908 } 909 910 /** 911 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 912 * @param event packet 913 * @return num_responses 914 * @note: btstack_type 1 915 */ 916 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){ 917 return event[2]; 918 } 919 /** 920 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 921 * @param event packet 922 * @param Pointer to storage for bd_addr 923 * @note: btstack_type B 924 */ 925 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 926 reverse_bytes(&event[3], bd_addr, 6); 927 } 928 /** 929 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 930 * @param event packet 931 * @return page_scan_repetition_mode 932 * @note: btstack_type 1 933 */ 934 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){ 935 return event[9]; 936 } 937 /** 938 * @brief Get field reserved from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 939 * @param event packet 940 * @return reserved 941 * @note: btstack_type 1 942 */ 943 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){ 944 return event[10]; 945 } 946 /** 947 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 948 * @param event packet 949 * @return class_of_device 950 * @note: btstack_type 3 951 */ 952 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){ 953 return little_endian_read_24(event, 11); 954 } 955 /** 956 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 957 * @param event packet 958 * @return clock_offset 959 * @note: btstack_type 2 960 */ 961 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){ 962 return little_endian_read_16(event, 14); 963 } 964 /** 965 * @brief Get field rssi from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 966 * @param event packet 967 * @return rssi 968 * @note: btstack_type 1 969 */ 970 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){ 971 return event[16]; 972 } 973 974 /** 975 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 976 * @param event packet 977 * @return status 978 * @note: btstack_type 1 979 */ 980 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){ 981 return event[2]; 982 } 983 /** 984 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 985 * @param event packet 986 * @return handle 987 * @note: btstack_type H 988 */ 989 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){ 990 return little_endian_read_16(event, 3); 991 } 992 /** 993 * @brief Get field bd_addr from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 994 * @param event packet 995 * @param Pointer to storage for bd_addr 996 * @note: btstack_type B 997 */ 998 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 999 reverse_bytes(&event[5], bd_addr, 6); 1000 } 1001 /** 1002 * @brief Get field link_type from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1003 * @param event packet 1004 * @return link_type 1005 * @note: btstack_type 1 1006 */ 1007 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){ 1008 return event[11]; 1009 } 1010 /** 1011 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1012 * @param event packet 1013 * @return transmission_interval 1014 * @note: btstack_type 1 1015 */ 1016 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){ 1017 return event[12]; 1018 } 1019 /** 1020 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1021 * @param event packet 1022 * @return retransmission_interval 1023 * @note: btstack_type 1 1024 */ 1025 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){ 1026 return event[13]; 1027 } 1028 /** 1029 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1030 * @param event packet 1031 * @return rx_packet_length 1032 * @note: btstack_type 2 1033 */ 1034 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){ 1035 return little_endian_read_16(event, 14); 1036 } 1037 /** 1038 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1039 * @param event packet 1040 * @return tx_packet_length 1041 * @note: btstack_type 2 1042 */ 1043 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){ 1044 return little_endian_read_16(event, 16); 1045 } 1046 /** 1047 * @brief Get field air_mode from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1048 * @param event packet 1049 * @return air_mode 1050 * @note: btstack_type 1 1051 */ 1052 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){ 1053 return event[18]; 1054 } 1055 1056 /** 1057 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1058 * @param event packet 1059 * @return status 1060 * @note: btstack_type 1 1061 */ 1062 static inline uint8_t hci_event_synchronous_connection_changed_get_status(const uint8_t * event){ 1063 return event[2]; 1064 } 1065 /** 1066 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1067 * @param event packet 1068 * @return handle 1069 * @note: btstack_type H 1070 */ 1071 static inline hci_con_handle_t hci_event_synchronous_connection_changed_get_handle(const uint8_t * event){ 1072 return little_endian_read_16(event, 3); 1073 } 1074 /** 1075 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1076 * @param event packet 1077 * @return transmission_interval 1078 * @note: btstack_type 1 1079 */ 1080 static inline uint8_t hci_event_synchronous_connection_changed_get_transmission_interval(const uint8_t * event){ 1081 return event[5]; 1082 } 1083 /** 1084 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1085 * @param event packet 1086 * @return retransmission_interval 1087 * @note: btstack_type 1 1088 */ 1089 static inline uint8_t hci_event_synchronous_connection_changed_get_retransmission_interval(const uint8_t * event){ 1090 return event[6]; 1091 } 1092 /** 1093 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1094 * @param event packet 1095 * @return rx_packet_length 1096 * @note: btstack_type 2 1097 */ 1098 static inline uint16_t hci_event_synchronous_connection_changed_get_rx_packet_length(const uint8_t * event){ 1099 return little_endian_read_16(event, 7); 1100 } 1101 /** 1102 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1103 * @param event packet 1104 * @return tx_packet_length 1105 * @note: btstack_type 2 1106 */ 1107 static inline uint16_t hci_event_synchronous_connection_changed_get_tx_packet_length(const uint8_t * event){ 1108 return little_endian_read_16(event, 9); 1109 } 1110 1111 /** 1112 * @brief Get field status from event HCI_EVENT_SNIFF_SUBRATING 1113 * @param event packet 1114 * @return status 1115 * @note: btstack_type 1 1116 */ 1117 static inline uint8_t hci_event_sniff_subrating_get_status(const uint8_t * event){ 1118 return event[2]; 1119 } 1120 /** 1121 * @brief Get field handle from event HCI_EVENT_SNIFF_SUBRATING 1122 * @param event packet 1123 * @return handle 1124 * @note: btstack_type H 1125 */ 1126 static inline hci_con_handle_t hci_event_sniff_subrating_get_handle(const uint8_t * event){ 1127 return little_endian_read_16(event, 3); 1128 } 1129 /** 1130 * @brief Get field max_tx_latency from event HCI_EVENT_SNIFF_SUBRATING 1131 * @param event packet 1132 * @return max_tx_latency 1133 * @note: btstack_type 2 1134 */ 1135 static inline uint16_t hci_event_sniff_subrating_get_max_tx_latency(const uint8_t * event){ 1136 return little_endian_read_16(event, 5); 1137 } 1138 /** 1139 * @brief Get field max_rx_latency from event HCI_EVENT_SNIFF_SUBRATING 1140 * @param event packet 1141 * @return max_rx_latency 1142 * @note: btstack_type 2 1143 */ 1144 static inline uint16_t hci_event_sniff_subrating_get_max_rx_latency(const uint8_t * event){ 1145 return little_endian_read_16(event, 7); 1146 } 1147 /** 1148 * @brief Get field min_remote_timeout from event HCI_EVENT_SNIFF_SUBRATING 1149 * @param event packet 1150 * @return min_remote_timeout 1151 * @note: btstack_type 2 1152 */ 1153 static inline uint16_t hci_event_sniff_subrating_get_min_remote_timeout(const uint8_t * event){ 1154 return little_endian_read_16(event, 9); 1155 } 1156 /** 1157 * @brief Get field min_local_timeout from event HCI_EVENT_SNIFF_SUBRATING 1158 * @param event packet 1159 * @return min_local_timeout 1160 * @note: btstack_type 2 1161 */ 1162 static inline uint16_t hci_event_sniff_subrating_get_min_local_timeout(const uint8_t * event){ 1163 return little_endian_read_16(event, 11); 1164 } 1165 1166 /** 1167 * @brief Get field num_responses from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1168 * @param event packet 1169 * @return num_responses 1170 * @note: btstack_type 1 1171 */ 1172 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){ 1173 return event[2]; 1174 } 1175 /** 1176 * @brief Get field bd_addr from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1177 * @param event packet 1178 * @param Pointer to storage for bd_addr 1179 * @note: btstack_type B 1180 */ 1181 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1182 reverse_bytes(&event[3], bd_addr, 6); 1183 } 1184 /** 1185 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1186 * @param event packet 1187 * @return page_scan_repetition_mode 1188 * @note: btstack_type 1 1189 */ 1190 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){ 1191 return event[9]; 1192 } 1193 /** 1194 * @brief Get field reserved from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1195 * @param event packet 1196 * @return reserved 1197 * @note: btstack_type 1 1198 */ 1199 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){ 1200 return event[10]; 1201 } 1202 /** 1203 * @brief Get field class_of_device from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1204 * @param event packet 1205 * @return class_of_device 1206 * @note: btstack_type 3 1207 */ 1208 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){ 1209 return little_endian_read_24(event, 11); 1210 } 1211 /** 1212 * @brief Get field clock_offset from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1213 * @param event packet 1214 * @return clock_offset 1215 * @note: btstack_type 2 1216 */ 1217 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){ 1218 return little_endian_read_16(event, 14); 1219 } 1220 /** 1221 * @brief Get field rssi from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1222 * @param event packet 1223 * @return rssi 1224 * @note: btstack_type 1 1225 */ 1226 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){ 1227 return event[16]; 1228 } 1229 1230 /** 1231 * @brief Get field status from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1232 * @param event packet 1233 * @return status 1234 * @note: btstack_type 1 1235 */ 1236 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){ 1237 return event[2]; 1238 } 1239 /** 1240 * @brief Get field handle from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1241 * @param event packet 1242 * @return handle 1243 * @note: btstack_type H 1244 */ 1245 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){ 1246 return little_endian_read_16(event, 3); 1247 } 1248 1249 /** 1250 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_REQUEST 1251 * @param event packet 1252 * @param Pointer to storage for bd_addr 1253 * @note: btstack_type B 1254 */ 1255 static inline void hci_event_io_capability_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1256 reverse_bytes(&event[2], bd_addr, 6); 1257 } 1258 1259 /** 1260 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1261 * @param event packet 1262 * @param Pointer to storage for bd_addr 1263 * @note: btstack_type B 1264 */ 1265 static inline void hci_event_io_capability_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1266 reverse_bytes(&event[2], bd_addr, 6); 1267 } 1268 /** 1269 * @brief Get field io_capability from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1270 * @param event packet 1271 * @return io_capability 1272 * @note: btstack_type 1 1273 */ 1274 static inline uint8_t hci_event_io_capability_response_get_io_capability(const uint8_t * event){ 1275 return event[8]; 1276 } 1277 /** 1278 * @brief Get field oob_data_present from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1279 * @param event packet 1280 * @return oob_data_present 1281 * @note: btstack_type 1 1282 */ 1283 static inline uint8_t hci_event_io_capability_response_get_oob_data_present(const uint8_t * event){ 1284 return event[9]; 1285 } 1286 /** 1287 * @brief Get field authentication_requirements from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1288 * @param event packet 1289 * @return authentication_requirements 1290 * @note: btstack_type 1 1291 */ 1292 static inline uint8_t hci_event_io_capability_response_get_authentication_requirements(const uint8_t * event){ 1293 return event[10]; 1294 } 1295 1296 /** 1297 * @brief Get field bd_addr from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1298 * @param event packet 1299 * @param Pointer to storage for bd_addr 1300 * @note: btstack_type B 1301 */ 1302 static inline void hci_event_user_confirmation_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1303 reverse_bytes(&event[2], bd_addr, 6); 1304 } 1305 /** 1306 * @brief Get field numeric_value from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1307 * @param event packet 1308 * @return numeric_value 1309 * @note: btstack_type 4 1310 */ 1311 static inline uint32_t hci_event_user_confirmation_request_get_numeric_value(const uint8_t * event){ 1312 return little_endian_read_32(event, 8); 1313 } 1314 1315 /** 1316 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_REQUEST 1317 * @param event packet 1318 * @param Pointer to storage for bd_addr 1319 * @note: btstack_type B 1320 */ 1321 static inline void hci_event_user_passkey_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1322 reverse_bytes(&event[2], bd_addr, 6); 1323 } 1324 1325 /** 1326 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_OOB_DATA_REQUEST 1327 * @param event packet 1328 * @param Pointer to storage for bd_addr 1329 * @note: btstack_type B 1330 */ 1331 static inline void hci_event_remote_oob_data_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1332 reverse_bytes(&event[2], bd_addr, 6); 1333 } 1334 1335 /** 1336 * @brief Get field status from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1337 * @param event packet 1338 * @return status 1339 * @note: btstack_type 1 1340 */ 1341 static inline uint8_t hci_event_simple_pairing_complete_get_status(const uint8_t * event){ 1342 return event[2]; 1343 } 1344 /** 1345 * @brief Get field bd_addr from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1346 * @param event packet 1347 * @param Pointer to storage for bd_addr 1348 * @note: btstack_type B 1349 */ 1350 static inline void hci_event_simple_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1351 reverse_bytes(&event[3], bd_addr, 6); 1352 } 1353 1354 /** 1355 * @brief Get field handle from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1356 * @param event packet 1357 * @return handle 1358 * @note: btstack_type H 1359 */ 1360 static inline hci_con_handle_t hci_event_link_supervision_timeout_changed_get_handle(const uint8_t * event){ 1361 return little_endian_read_16(event, 2); 1362 } 1363 /** 1364 * @brief Get field link_supervision_timeout from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1365 * @param event packet 1366 * @return link_supervision_timeout 1367 * @note: btstack_type 2 1368 */ 1369 static inline uint16_t hci_event_link_supervision_timeout_changed_get_link_supervision_timeout(const uint8_t * event){ 1370 return little_endian_read_16(event, 4); 1371 } 1372 1373 /** 1374 * @brief Get field handle from event HCI_EVENT_ENHANCED_FLUSH_COMPLETE 1375 * @param event packet 1376 * @return handle 1377 * @note: btstack_type H 1378 */ 1379 static inline hci_con_handle_t hci_event_enhanced_flush_complete_get_handle(const uint8_t * event){ 1380 return little_endian_read_16(event, 2); 1381 } 1382 1383 /** 1384 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1385 * @param event packet 1386 * @param Pointer to storage for bd_addr 1387 * @note: btstack_type B 1388 */ 1389 static inline void hci_event_user_passkey_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1390 reverse_bytes(&event[2], bd_addr, 6); 1391 } 1392 /** 1393 * @brief Get field numeric_value from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1394 * @param event packet 1395 * @return numeric_value 1396 * @note: btstack_type 4 1397 */ 1398 static inline uint32_t hci_event_user_passkey_notification_get_numeric_value(const uint8_t * event){ 1399 return little_endian_read_32(event, 8); 1400 } 1401 1402 /** 1403 * @brief Get field bd_addr from event HCI_EVENT_KEYPRESS_NOTIFICATION 1404 * @param event packet 1405 * @param Pointer to storage for bd_addr 1406 * @note: btstack_type B 1407 */ 1408 static inline void hci_event_keypress_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1409 reverse_bytes(&event[2], bd_addr, 6); 1410 } 1411 /** 1412 * @brief Get field notification_type from event HCI_EVENT_KEYPRESS_NOTIFICATION 1413 * @param event packet 1414 * @return notification_type 1415 * @note: btstack_type 1 1416 */ 1417 static inline uint8_t hci_event_keypress_notification_get_notification_type(const uint8_t * event){ 1418 return event[8]; 1419 } 1420 1421 /** 1422 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1423 * @param event packet 1424 * @return status 1425 * @note: btstack_type 1 1426 */ 1427 static inline uint8_t hci_event_encryption_change_v2_get_status(const uint8_t * event){ 1428 return event[2]; 1429 } 1430 /** 1431 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1432 * @param event packet 1433 * @return connection_handle 1434 * @note: btstack_type 2 1435 */ 1436 static inline uint16_t hci_event_encryption_change_v2_get_connection_handle(const uint8_t * event){ 1437 return little_endian_read_16(event, 3); 1438 } 1439 /** 1440 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1441 * @param event packet 1442 * @return encryption_enabled 1443 * @note: btstack_type 1 1444 */ 1445 static inline uint8_t hci_event_encryption_change_v2_get_encryption_enabled(const uint8_t * event){ 1446 return event[5]; 1447 } 1448 /** 1449 * @brief Get field encryption_key_size from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1450 * @param event packet 1451 * @return encryption_key_size 1452 * @note: btstack_type 1 1453 */ 1454 static inline uint8_t hci_event_encryption_change_v2_get_encryption_key_size(const uint8_t * event){ 1455 return event[6]; 1456 } 1457 1458 /** 1459 * @brief Get field state from event BTSTACK_EVENT_STATE 1460 * @param event packet 1461 * @return state 1462 * @note: btstack_type 1 1463 */ 1464 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){ 1465 return event[2]; 1466 } 1467 1468 /** 1469 * @brief Get field number_connections from event BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 1470 * @param event packet 1471 * @return number_connections 1472 * @note: btstack_type 1 1473 */ 1474 static inline uint8_t btstack_event_nr_connections_changed_get_number_connections(const uint8_t * event){ 1475 return event[2]; 1476 } 1477 1478 1479 /** 1480 * @brief Get field discoverable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1481 * @param event packet 1482 * @return discoverable 1483 * @note: btstack_type 1 1484 */ 1485 static inline uint8_t btstack_event_scan_mode_changed_get_discoverable(const uint8_t * event){ 1486 return event[2]; 1487 } 1488 /** 1489 * @brief Get field connectable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1490 * @param event packet 1491 * @return connectable 1492 * @note: btstack_type 1 1493 */ 1494 static inline uint8_t btstack_event_scan_mode_changed_get_connectable(const uint8_t * event){ 1495 return event[3]; 1496 } 1497 1498 /** 1499 * @brief Get field major from event DAEMON_EVENT_VERSION 1500 * @param event packet 1501 * @return major 1502 * @note: btstack_type 1 1503 */ 1504 static inline uint8_t daemon_event_version_get_major(const uint8_t * event){ 1505 return event[2]; 1506 } 1507 /** 1508 * @brief Get field minor from event DAEMON_EVENT_VERSION 1509 * @param event packet 1510 * @return minor 1511 * @note: btstack_type 1 1512 */ 1513 static inline uint8_t daemon_event_version_get_minor(const uint8_t * event){ 1514 return event[3]; 1515 } 1516 /** 1517 * @brief Get field revision from event DAEMON_EVENT_VERSION 1518 * @param event packet 1519 * @return revision 1520 * @note: btstack_type 2 1521 */ 1522 static inline uint16_t daemon_event_version_get_revision(const uint8_t * event){ 1523 return little_endian_read_16(event, 4); 1524 } 1525 1526 /** 1527 * @brief Get field system_bluetooth_enabled from event DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED 1528 * @param event packet 1529 * @return system_bluetooth_enabled 1530 * @note: btstack_type 1 1531 */ 1532 static inline uint8_t daemon_event_system_bluetooth_enabled_get_system_bluetooth_enabled(const uint8_t * event){ 1533 return event[2]; 1534 } 1535 1536 /** 1537 * @brief Get field status from event DAEMON_EVENT_REMOTE_NAME_CACHED 1538 * @param event packet 1539 * @return status 1540 * @note: btstack_type 1 1541 */ 1542 static inline uint8_t daemon_event_remote_name_cached_get_status(const uint8_t * event){ 1543 return event[2]; 1544 } 1545 /** 1546 * @brief Get field address from event DAEMON_EVENT_REMOTE_NAME_CACHED 1547 * @param event packet 1548 * @param Pointer to storage for address 1549 * @note: btstack_type B 1550 */ 1551 static inline void daemon_event_remote_name_cached_get_address(const uint8_t * event, bd_addr_t address){ 1552 reverse_bytes(&event[3], address, 6); 1553 } 1554 /** 1555 * @brief Get field name from event DAEMON_EVENT_REMOTE_NAME_CACHED 1556 * @param event packet 1557 * @return name 1558 * @note: btstack_type T 1559 */ 1560 static inline const char * daemon_event_remote_name_cached_get_name(const uint8_t * event){ 1561 return (const char *) &event[9]; 1562 } 1563 1564 /** 1565 * @brief Get field status from event DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 1566 * @param event packet 1567 * @return status 1568 * @note: btstack_type 1 1569 */ 1570 static inline uint8_t daemon_event_l2cap_service_registered_get_status(const uint8_t * event){ 1571 return event[2]; 1572 } 1573 /** 1574 * @brief Get field psm from event DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 1575 * @param event packet 1576 * @return psm 1577 * @note: btstack_type 2 1578 */ 1579 static inline uint16_t daemon_event_l2cap_service_registered_get_psm(const uint8_t * event){ 1580 return little_endian_read_16(event, 3); 1581 } 1582 1583 /** 1584 * @brief Get field status from event DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 1585 * @param event packet 1586 * @return status 1587 * @note: btstack_type 1 1588 */ 1589 static inline uint8_t daemon_event_rfcomm_service_registered_get_status(const uint8_t * event){ 1590 return event[2]; 1591 } 1592 /** 1593 * @brief Get field channel_id from event DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 1594 * @param event packet 1595 * @return channel_id 1596 * @note: btstack_type 1 1597 */ 1598 static inline uint8_t daemon_event_rfcomm_service_registered_get_channel_id(const uint8_t * event){ 1599 return event[3]; 1600 } 1601 1602 /** 1603 * @brief Get field status from event DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 1604 * @param event packet 1605 * @return status 1606 * @note: btstack_type 1 1607 */ 1608 static inline uint8_t daemon_event_rfcomm_persistent_channel_get_status(const uint8_t * event){ 1609 return event[2]; 1610 } 1611 /** 1612 * @brief Get field server_channel_id from event DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 1613 * @param event packet 1614 * @return server_channel_id 1615 * @note: btstack_type 1 1616 */ 1617 static inline uint8_t daemon_event_rfcomm_persistent_channel_get_server_channel_id(const uint8_t * event){ 1618 return event[3]; 1619 } 1620 1621 /** 1622 * @brief Get field status from event DAEMON_EVENT_SDP_SERVICE_REGISTERED 1623 * @param event packet 1624 * @return status 1625 * @note: btstack_type 1 1626 */ 1627 static inline uint8_t daemon_event_sdp_service_registered_get_status(const uint8_t * event){ 1628 return event[2]; 1629 } 1630 /** 1631 * @brief Get field service_record_handle from event DAEMON_EVENT_SDP_SERVICE_REGISTERED 1632 * @param event packet 1633 * @return service_record_handle 1634 * @note: btstack_type 4 1635 */ 1636 static inline uint32_t daemon_event_sdp_service_registered_get_service_record_handle(const uint8_t * event){ 1637 return little_endian_read_32(event, 3); 1638 } 1639 1640 /** 1641 * @brief Get field active from event HCI_EVENT_TRANSPORT_SLEEP_MODE 1642 * @param event packet 1643 * @return active 1644 * @note: btstack_type 1 1645 */ 1646 static inline uint8_t hci_event_transport_sleep_mode_get_active(const uint8_t * event){ 1647 return event[2]; 1648 } 1649 1650 /** 1651 * @brief Get field vendor_id from event HCI_EVENT_TRANSPORT_USB_INFO 1652 * @param event packet 1653 * @return vendor_id 1654 * @note: btstack_type 2 1655 */ 1656 static inline uint16_t hci_event_transport_usb_info_get_vendor_id(const uint8_t * event){ 1657 return little_endian_read_16(event, 2); 1658 } 1659 /** 1660 * @brief Get field product_id from event HCI_EVENT_TRANSPORT_USB_INFO 1661 * @param event packet 1662 * @return product_id 1663 * @note: btstack_type 2 1664 */ 1665 static inline uint16_t hci_event_transport_usb_info_get_product_id(const uint8_t * event){ 1666 return little_endian_read_16(event, 4); 1667 } 1668 /** 1669 * @brief Get field path_len from event HCI_EVENT_TRANSPORT_USB_INFO 1670 * @param event packet 1671 * @return path_len 1672 * @note: btstack_type J 1673 */ 1674 static inline uint8_t hci_event_transport_usb_info_get_path_len(const uint8_t * event){ 1675 return event[6]; 1676 } 1677 /** 1678 * @brief Get field path from event HCI_EVENT_TRANSPORT_USB_INFO 1679 * @param event packet 1680 * @return path 1681 * @note: btstack_type V 1682 */ 1683 static inline const uint8_t * hci_event_transport_usb_info_get_path(const uint8_t * event){ 1684 return &event[7]; 1685 } 1686 1687 /** 1688 * @brief Get field big_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1689 * @param event packet 1690 * @return big_handle 1691 * @note: btstack_type 1 1692 */ 1693 static inline uint8_t hci_event_bis_can_send_now_get_big_handle(const uint8_t * event){ 1694 return event[2]; 1695 } 1696 /** 1697 * @brief Get field bis_index from event HCI_EVENT_BIS_CAN_SEND_NOW 1698 * @param event packet 1699 * @return bis_index 1700 * @note: btstack_type 1 1701 */ 1702 static inline uint8_t hci_event_bis_can_send_now_get_bis_index(const uint8_t * event){ 1703 return event[3]; 1704 } 1705 /** 1706 * @brief Get field con_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1707 * @param event packet 1708 * @return con_handle 1709 * @note: btstack_type H 1710 */ 1711 static inline hci_con_handle_t hci_event_bis_can_send_now_get_con_handle(const uint8_t * event){ 1712 return little_endian_read_16(event, 4); 1713 } 1714 1715 /** 1716 * @brief Get field cis_con_handle from event HCI_EVENT_CIS_CAN_SEND_NOW 1717 * @param event packet 1718 * @return cis_con_handle 1719 * @note: btstack_type H 1720 */ 1721 static inline hci_con_handle_t hci_event_cis_can_send_now_get_cis_con_handle(const uint8_t * event){ 1722 return little_endian_read_16(event, 2); 1723 } 1724 1725 1726 /** 1727 * @brief Get field status from event L2CAP_EVENT_CHANNEL_OPENED 1728 * @param event packet 1729 * @return status 1730 * @note: btstack_type 1 1731 */ 1732 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){ 1733 return event[2]; 1734 } 1735 /** 1736 * @brief Get field address from event L2CAP_EVENT_CHANNEL_OPENED 1737 * @param event packet 1738 * @param Pointer to storage for address 1739 * @note: btstack_type B 1740 */ 1741 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1742 reverse_bytes(&event[3], address, 6); 1743 } 1744 /** 1745 * @brief Get field handle from event L2CAP_EVENT_CHANNEL_OPENED 1746 * @param event packet 1747 * @return handle 1748 * @note: btstack_type H 1749 */ 1750 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){ 1751 return little_endian_read_16(event, 9); 1752 } 1753 /** 1754 * @brief Get field psm from event L2CAP_EVENT_CHANNEL_OPENED 1755 * @param event packet 1756 * @return psm 1757 * @note: btstack_type 2 1758 */ 1759 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){ 1760 return little_endian_read_16(event, 11); 1761 } 1762 /** 1763 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_OPENED 1764 * @param event packet 1765 * @return local_cid 1766 * @note: btstack_type 2 1767 */ 1768 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){ 1769 return little_endian_read_16(event, 13); 1770 } 1771 /** 1772 * @brief Get field remote_cid from event L2CAP_EVENT_CHANNEL_OPENED 1773 * @param event packet 1774 * @return remote_cid 1775 * @note: btstack_type 2 1776 */ 1777 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){ 1778 return little_endian_read_16(event, 15); 1779 } 1780 /** 1781 * @brief Get field local_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1782 * @param event packet 1783 * @return local_mtu 1784 * @note: btstack_type 2 1785 */ 1786 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){ 1787 return little_endian_read_16(event, 17); 1788 } 1789 /** 1790 * @brief Get field remote_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1791 * @param event packet 1792 * @return remote_mtu 1793 * @note: btstack_type 2 1794 */ 1795 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){ 1796 return little_endian_read_16(event, 19); 1797 } 1798 /** 1799 * @brief Get field flush_timeout from event L2CAP_EVENT_CHANNEL_OPENED 1800 * @param event packet 1801 * @return flush_timeout 1802 * @note: btstack_type 2 1803 */ 1804 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){ 1805 return little_endian_read_16(event, 21); 1806 } 1807 /** 1808 * @brief Get field incoming from event L2CAP_EVENT_CHANNEL_OPENED 1809 * @param event packet 1810 * @return incoming 1811 * @note: btstack_type 1 1812 */ 1813 static inline uint8_t l2cap_event_channel_opened_get_incoming(const uint8_t * event){ 1814 return event[23]; 1815 } 1816 /** 1817 * @brief Get field mode from event L2CAP_EVENT_CHANNEL_OPENED 1818 * @param event packet 1819 * @return mode 1820 * @note: btstack_type 1 1821 */ 1822 static inline uint8_t l2cap_event_channel_opened_get_mode(const uint8_t * event){ 1823 return event[24]; 1824 } 1825 /** 1826 * @brief Get field fcs from event L2CAP_EVENT_CHANNEL_OPENED 1827 * @param event packet 1828 * @return fcs 1829 * @note: btstack_type 1 1830 */ 1831 static inline uint8_t l2cap_event_channel_opened_get_fcs(const uint8_t * event){ 1832 return event[25]; 1833 } 1834 1835 /** 1836 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_CLOSED 1837 * @param event packet 1838 * @return local_cid 1839 * @note: btstack_type 2 1840 */ 1841 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){ 1842 return little_endian_read_16(event, 2); 1843 } 1844 1845 /** 1846 * @brief Get field address from event L2CAP_EVENT_INCOMING_CONNECTION 1847 * @param event packet 1848 * @param Pointer to storage for address 1849 * @note: btstack_type B 1850 */ 1851 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1852 reverse_bytes(&event[2], address, 6); 1853 } 1854 /** 1855 * @brief Get field handle from event L2CAP_EVENT_INCOMING_CONNECTION 1856 * @param event packet 1857 * @return handle 1858 * @note: btstack_type H 1859 */ 1860 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){ 1861 return little_endian_read_16(event, 8); 1862 } 1863 /** 1864 * @brief Get field psm from event L2CAP_EVENT_INCOMING_CONNECTION 1865 * @param event packet 1866 * @return psm 1867 * @note: btstack_type 2 1868 */ 1869 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){ 1870 return little_endian_read_16(event, 10); 1871 } 1872 /** 1873 * @brief Get field local_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1874 * @param event packet 1875 * @return local_cid 1876 * @note: btstack_type 2 1877 */ 1878 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){ 1879 return little_endian_read_16(event, 12); 1880 } 1881 /** 1882 * @brief Get field remote_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1883 * @param event packet 1884 * @return remote_cid 1885 * @note: btstack_type 2 1886 */ 1887 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){ 1888 return little_endian_read_16(event, 14); 1889 } 1890 1891 /** 1892 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1893 * @param event packet 1894 * @return handle 1895 * @note: btstack_type H 1896 */ 1897 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){ 1898 return little_endian_read_16(event, 2); 1899 } 1900 /** 1901 * @brief Get field interval_min from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1902 * @param event packet 1903 * @return interval_min 1904 * @note: btstack_type 2 1905 */ 1906 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){ 1907 return little_endian_read_16(event, 4); 1908 } 1909 /** 1910 * @brief Get field interval_max from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1911 * @param event packet 1912 * @return interval_max 1913 * @note: btstack_type 2 1914 */ 1915 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){ 1916 return little_endian_read_16(event, 6); 1917 } 1918 /** 1919 * @brief Get field latency from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1920 * @param event packet 1921 * @return latency 1922 * @note: btstack_type 2 1923 */ 1924 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latency(const uint8_t * event){ 1925 return little_endian_read_16(event, 8); 1926 } 1927 /** 1928 * @brief Get field timeout_multiplier from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1929 * @param event packet 1930 * @return timeout_multiplier 1931 * @note: btstack_type 2 1932 */ 1933 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){ 1934 return little_endian_read_16(event, 10); 1935 } 1936 1937 /** 1938 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1939 * @param event packet 1940 * @return handle 1941 * @note: btstack_type H 1942 */ 1943 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){ 1944 return little_endian_read_16(event, 2); 1945 } 1946 /** 1947 * @brief Get field result from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1948 * @param event packet 1949 * @return result 1950 * @note: btstack_type 2 1951 */ 1952 static inline uint16_t l2cap_event_connection_parameter_update_response_get_result(const uint8_t * event){ 1953 return little_endian_read_16(event, 4); 1954 } 1955 1956 /** 1957 * @brief Get field con_handle from event L2CAP_EVENT_INFORMATION_RESPONSE 1958 * @param event packet 1959 * @return con_handle 1960 * @note: btstack_type H 1961 */ 1962 static inline hci_con_handle_t l2cap_event_information_response_get_con_handle(const uint8_t * event){ 1963 return little_endian_read_16(event, 2); 1964 } 1965 /** 1966 * @brief Get field extended_feature_mask from event L2CAP_EVENT_INFORMATION_RESPONSE 1967 * @param event packet 1968 * @return extended_feature_mask 1969 * @note: btstack_type 2 1970 */ 1971 static inline uint16_t l2cap_event_information_response_get_extended_feature_mask(const uint8_t * event){ 1972 return little_endian_read_16(event, 4); 1973 } 1974 /** 1975 * @brief Get field fixed_channels_supported from event L2CAP_EVENT_INFORMATION_RESPONSE 1976 * @param event packet 1977 * @return fixed_channels_supported 1978 * @note: btstack_type 2 1979 */ 1980 static inline uint16_t l2cap_event_information_response_get_fixed_channels_supported(const uint8_t * event){ 1981 return little_endian_read_16(event, 6); 1982 } 1983 1984 /** 1985 * @brief Get field local_cid from event L2CAP_EVENT_CAN_SEND_NOW 1986 * @param event packet 1987 * @return local_cid 1988 * @note: btstack_type 2 1989 */ 1990 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){ 1991 return little_endian_read_16(event, 2); 1992 } 1993 1994 /** 1995 * @brief Get field local_cid from event L2CAP_EVENT_PACKET_SENT 1996 * @param event packet 1997 * @return local_cid 1998 * @note: btstack_type 2 1999 */ 2000 static inline uint16_t l2cap_event_packet_sent_get_local_cid(const uint8_t * event){ 2001 return little_endian_read_16(event, 2); 2002 } 2003 2004 /** 2005 * @brief Get field local_cid from event L2CAP_EVENT_ERTM_BUFFER_RELEASED 2006 * @param event packet 2007 * @return local_cid 2008 * @note: btstack_type 2 2009 */ 2010 static inline uint16_t l2cap_event_ertm_buffer_released_get_local_cid(const uint8_t * event){ 2011 return little_endian_read_16(event, 2); 2012 } 2013 2014 /** 2015 * @brief Get field address_type from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2016 * @param event packet 2017 * @return address_type 2018 * @note: btstack_type 1 2019 */ 2020 static inline uint8_t l2cap_event_cbm_incoming_connection_get_address_type(const uint8_t * event){ 2021 return event[2]; 2022 } 2023 /** 2024 * @brief Get field address from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2025 * @param event packet 2026 * @param Pointer to storage for address 2027 * @note: btstack_type B 2028 */ 2029 static inline void l2cap_event_cbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 2030 reverse_bytes(&event[3], address, 6); 2031 } 2032 /** 2033 * @brief Get field handle from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2034 * @param event packet 2035 * @return handle 2036 * @note: btstack_type H 2037 */ 2038 static inline hci_con_handle_t l2cap_event_cbm_incoming_connection_get_handle(const uint8_t * event){ 2039 return little_endian_read_16(event, 9); 2040 } 2041 /** 2042 * @brief Get field psm from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2043 * @param event packet 2044 * @return psm 2045 * @note: btstack_type 2 2046 */ 2047 static inline uint16_t l2cap_event_cbm_incoming_connection_get_psm(const uint8_t * event){ 2048 return little_endian_read_16(event, 11); 2049 } 2050 /** 2051 * @brief Get field local_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2052 * @param event packet 2053 * @return local_cid 2054 * @note: btstack_type 2 2055 */ 2056 static inline uint16_t l2cap_event_cbm_incoming_connection_get_local_cid(const uint8_t * event){ 2057 return little_endian_read_16(event, 13); 2058 } 2059 /** 2060 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2061 * @param event packet 2062 * @return remote_cid 2063 * @note: btstack_type 2 2064 */ 2065 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_cid(const uint8_t * event){ 2066 return little_endian_read_16(event, 15); 2067 } 2068 /** 2069 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2070 * @param event packet 2071 * @return remote_mtu 2072 * @note: btstack_type 2 2073 */ 2074 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_mtu(const uint8_t * event){ 2075 return little_endian_read_16(event, 17); 2076 } 2077 2078 /** 2079 * @brief Get field status from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2080 * @param event packet 2081 * @return status 2082 * @note: btstack_type 1 2083 */ 2084 static inline uint8_t l2cap_event_cbm_channel_opened_get_status(const uint8_t * event){ 2085 return event[2]; 2086 } 2087 /** 2088 * @brief Get field address_type from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2089 * @param event packet 2090 * @return address_type 2091 * @note: btstack_type 1 2092 */ 2093 static inline uint8_t l2cap_event_cbm_channel_opened_get_address_type(const uint8_t * event){ 2094 return event[3]; 2095 } 2096 /** 2097 * @brief Get field address from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2098 * @param event packet 2099 * @param Pointer to storage for address 2100 * @note: btstack_type B 2101 */ 2102 static inline void l2cap_event_cbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 2103 reverse_bytes(&event[4], address, 6); 2104 } 2105 /** 2106 * @brief Get field handle from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2107 * @param event packet 2108 * @return handle 2109 * @note: btstack_type H 2110 */ 2111 static inline hci_con_handle_t l2cap_event_cbm_channel_opened_get_handle(const uint8_t * event){ 2112 return little_endian_read_16(event, 10); 2113 } 2114 /** 2115 * @brief Get field incoming from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2116 * @param event packet 2117 * @return incoming 2118 * @note: btstack_type 1 2119 */ 2120 static inline uint8_t l2cap_event_cbm_channel_opened_get_incoming(const uint8_t * event){ 2121 return event[12]; 2122 } 2123 /** 2124 * @brief Get field psm from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2125 * @param event packet 2126 * @return psm 2127 * @note: btstack_type 2 2128 */ 2129 static inline uint16_t l2cap_event_cbm_channel_opened_get_psm(const uint8_t * event){ 2130 return little_endian_read_16(event, 13); 2131 } 2132 /** 2133 * @brief Get field local_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2134 * @param event packet 2135 * @return local_cid 2136 * @note: btstack_type 2 2137 */ 2138 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_cid(const uint8_t * event){ 2139 return little_endian_read_16(event, 15); 2140 } 2141 /** 2142 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2143 * @param event packet 2144 * @return remote_cid 2145 * @note: btstack_type 2 2146 */ 2147 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_cid(const uint8_t * event){ 2148 return little_endian_read_16(event, 17); 2149 } 2150 /** 2151 * @brief Get field local_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2152 * @param event packet 2153 * @return local_mtu 2154 * @note: btstack_type 2 2155 */ 2156 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_mtu(const uint8_t * event){ 2157 return little_endian_read_16(event, 19); 2158 } 2159 /** 2160 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2161 * @param event packet 2162 * @return remote_mtu 2163 * @note: btstack_type 2 2164 */ 2165 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2166 return little_endian_read_16(event, 21); 2167 } 2168 2169 2170 /** 2171 * @brief Get field address_type from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2172 * @param event packet 2173 * @return address_type 2174 * @note: btstack_type 1 2175 */ 2176 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_address_type(const uint8_t * event){ 2177 return event[2]; 2178 } 2179 /** 2180 * @brief Get field address from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2181 * @param event packet 2182 * @param Pointer to storage for address 2183 * @note: btstack_type B 2184 */ 2185 static inline void l2cap_event_ecbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 2186 reverse_bytes(&event[3], address, 6); 2187 } 2188 /** 2189 * @brief Get field handle from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2190 * @param event packet 2191 * @return handle 2192 * @note: btstack_type H 2193 */ 2194 static inline hci_con_handle_t l2cap_event_ecbm_incoming_connection_get_handle(const uint8_t * event){ 2195 return little_endian_read_16(event, 9); 2196 } 2197 /** 2198 * @brief Get field psm from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2199 * @param event packet 2200 * @return psm 2201 * @note: btstack_type 2 2202 */ 2203 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_psm(const uint8_t * event){ 2204 return little_endian_read_16(event, 11); 2205 } 2206 /** 2207 * @brief Get field num_channels from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2208 * @param event packet 2209 * @return num_channels 2210 * @note: btstack_type 1 2211 */ 2212 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_num_channels(const uint8_t * event){ 2213 return event[13]; 2214 } 2215 /** 2216 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2217 * @param event packet 2218 * @return local_cid 2219 * @note: btstack_type 2 2220 */ 2221 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_local_cid(const uint8_t * event){ 2222 return little_endian_read_16(event, 14); 2223 } 2224 2225 /** 2226 * @brief Get field status from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2227 * @param event packet 2228 * @return status 2229 * @note: btstack_type 1 2230 */ 2231 static inline uint8_t l2cap_event_ecbm_channel_opened_get_status(const uint8_t * event){ 2232 return event[2]; 2233 } 2234 /** 2235 * @brief Get field address_type from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2236 * @param event packet 2237 * @return address_type 2238 * @note: btstack_type 1 2239 */ 2240 static inline uint8_t l2cap_event_ecbm_channel_opened_get_address_type(const uint8_t * event){ 2241 return event[3]; 2242 } 2243 /** 2244 * @brief Get field address from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2245 * @param event packet 2246 * @param Pointer to storage for address 2247 * @note: btstack_type B 2248 */ 2249 static inline void l2cap_event_ecbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 2250 reverse_bytes(&event[4], address, 6); 2251 } 2252 /** 2253 * @brief Get field handle from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2254 * @param event packet 2255 * @return handle 2256 * @note: btstack_type H 2257 */ 2258 static inline hci_con_handle_t l2cap_event_ecbm_channel_opened_get_handle(const uint8_t * event){ 2259 return little_endian_read_16(event, 10); 2260 } 2261 /** 2262 * @brief Get field incoming from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2263 * @param event packet 2264 * @return incoming 2265 * @note: btstack_type 1 2266 */ 2267 static inline uint8_t l2cap_event_ecbm_channel_opened_get_incoming(const uint8_t * event){ 2268 return event[12]; 2269 } 2270 /** 2271 * @brief Get field psm from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2272 * @param event packet 2273 * @return psm 2274 * @note: btstack_type 2 2275 */ 2276 static inline uint16_t l2cap_event_ecbm_channel_opened_get_psm(const uint8_t * event){ 2277 return little_endian_read_16(event, 13); 2278 } 2279 /** 2280 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2281 * @param event packet 2282 * @return local_cid 2283 * @note: btstack_type 2 2284 */ 2285 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_cid(const uint8_t * event){ 2286 return little_endian_read_16(event, 15); 2287 } 2288 /** 2289 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2290 * @param event packet 2291 * @return remote_cid 2292 * @note: btstack_type 2 2293 */ 2294 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_cid(const uint8_t * event){ 2295 return little_endian_read_16(event, 17); 2296 } 2297 /** 2298 * @brief Get field local_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2299 * @param event packet 2300 * @return local_mtu 2301 * @note: btstack_type 2 2302 */ 2303 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_mtu(const uint8_t * event){ 2304 return little_endian_read_16(event, 19); 2305 } 2306 /** 2307 * @brief Get field remote_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2308 * @param event packet 2309 * @return remote_mtu 2310 * @note: btstack_type 2 2311 */ 2312 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2313 return little_endian_read_16(event, 21); 2314 } 2315 2316 /** 2317 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_RECONFIGURED 2318 * @param event packet 2319 * @return remote_cid 2320 * @note: btstack_type 2 2321 */ 2322 static inline uint16_t l2cap_event_ecbm_reconfigured_get_remote_cid(const uint8_t * event){ 2323 return little_endian_read_16(event, 2); 2324 } 2325 /** 2326 * @brief Get field mtu from event L2CAP_EVENT_ECBM_RECONFIGURED 2327 * @param event packet 2328 * @return mtu 2329 * @note: btstack_type 2 2330 */ 2331 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mtu(const uint8_t * event){ 2332 return little_endian_read_16(event, 4); 2333 } 2334 /** 2335 * @brief Get field mps from event L2CAP_EVENT_ECBM_RECONFIGURED 2336 * @param event packet 2337 * @return mps 2338 * @note: btstack_type 2 2339 */ 2340 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mps(const uint8_t * event){ 2341 return little_endian_read_16(event, 6); 2342 } 2343 2344 /** 2345 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2346 * @param event packet 2347 * @return local_cid 2348 * @note: btstack_type 2 2349 */ 2350 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_local_cid(const uint8_t * event){ 2351 return little_endian_read_16(event, 2); 2352 } 2353 /** 2354 * @brief Get field reconfigure_result from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2355 * @param event packet 2356 * @return reconfigure_result 2357 * @note: btstack_type 2 2358 */ 2359 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_reconfigure_result(const uint8_t * event){ 2360 return little_endian_read_16(event, 4); 2361 } 2362 2363 /** 2364 * @brief Get field status from event RFCOMM_EVENT_CHANNEL_OPENED 2365 * @param event packet 2366 * @return status 2367 * @note: btstack_type 1 2368 */ 2369 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){ 2370 return event[2]; 2371 } 2372 /** 2373 * @brief Get field bd_addr from event RFCOMM_EVENT_CHANNEL_OPENED 2374 * @param event packet 2375 * @param Pointer to storage for bd_addr 2376 * @note: btstack_type B 2377 */ 2378 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2379 reverse_bytes(&event[3], bd_addr, 6); 2380 } 2381 /** 2382 * @brief Get field con_handle from event RFCOMM_EVENT_CHANNEL_OPENED 2383 * @param event packet 2384 * @return con_handle 2385 * @note: btstack_type 2 2386 */ 2387 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){ 2388 return little_endian_read_16(event, 9); 2389 } 2390 /** 2391 * @brief Get field server_channel from event RFCOMM_EVENT_CHANNEL_OPENED 2392 * @param event packet 2393 * @return server_channel 2394 * @note: btstack_type 1 2395 */ 2396 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){ 2397 return event[11]; 2398 } 2399 /** 2400 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_OPENED 2401 * @param event packet 2402 * @return rfcomm_cid 2403 * @note: btstack_type 2 2404 */ 2405 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){ 2406 return little_endian_read_16(event, 12); 2407 } 2408 /** 2409 * @brief Get field max_frame_size from event RFCOMM_EVENT_CHANNEL_OPENED 2410 * @param event packet 2411 * @return max_frame_size 2412 * @note: btstack_type 2 2413 */ 2414 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){ 2415 return little_endian_read_16(event, 14); 2416 } 2417 /** 2418 * @brief Get field incoming from event RFCOMM_EVENT_CHANNEL_OPENED 2419 * @param event packet 2420 * @return incoming 2421 * @note: btstack_type 1 2422 */ 2423 static inline uint8_t rfcomm_event_channel_opened_get_incoming(const uint8_t * event){ 2424 return event[16]; 2425 } 2426 2427 /** 2428 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_CLOSED 2429 * @param event packet 2430 * @return rfcomm_cid 2431 * @note: btstack_type 2 2432 */ 2433 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){ 2434 return little_endian_read_16(event, 2); 2435 } 2436 2437 /** 2438 * @brief Get field bd_addr from event RFCOMM_EVENT_INCOMING_CONNECTION 2439 * @param event packet 2440 * @param Pointer to storage for bd_addr 2441 * @note: btstack_type B 2442 */ 2443 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2444 reverse_bytes(&event[2], bd_addr, 6); 2445 } 2446 /** 2447 * @brief Get field server_channel from event RFCOMM_EVENT_INCOMING_CONNECTION 2448 * @param event packet 2449 * @return server_channel 2450 * @note: btstack_type 1 2451 */ 2452 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){ 2453 return event[8]; 2454 } 2455 /** 2456 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_INCOMING_CONNECTION 2457 * @param event packet 2458 * @return rfcomm_cid 2459 * @note: btstack_type 2 2460 */ 2461 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){ 2462 return little_endian_read_16(event, 9); 2463 } 2464 /** 2465 * @brief Get field con_handle from event RFCOMM_EVENT_INCOMING_CONNECTION 2466 * @param event packet 2467 * @return con_handle 2468 * @note: btstack_type H 2469 */ 2470 static inline hci_con_handle_t rfcomm_event_incoming_connection_get_con_handle(const uint8_t * event){ 2471 return little_endian_read_16(event, 11); 2472 } 2473 2474 /** 2475 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2476 * @param event packet 2477 * @return rfcomm_cid 2478 * @note: btstack_type 2 2479 */ 2480 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){ 2481 return little_endian_read_16(event, 2); 2482 } 2483 /** 2484 * @brief Get field line_status from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2485 * @param event packet 2486 * @return line_status 2487 * @note: btstack_type 1 2488 */ 2489 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){ 2490 return event[4]; 2491 } 2492 2493 /** 2494 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2495 * @param event packet 2496 * @return rfcomm_cid 2497 * @note: btstack_type 2 2498 */ 2499 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){ 2500 return little_endian_read_16(event, 2); 2501 } 2502 /** 2503 * @brief Get field modem_status from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2504 * @param event packet 2505 * @return modem_status 2506 * @note: btstack_type 1 2507 */ 2508 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){ 2509 return event[4]; 2510 } 2511 2512 /** 2513 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CAN_SEND_NOW 2514 * @param event packet 2515 * @return rfcomm_cid 2516 * @note: btstack_type 2 2517 */ 2518 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){ 2519 return little_endian_read_16(event, 2); 2520 } 2521 2522 /** 2523 * @brief Get field status from event SDP_EVENT_QUERY_COMPLETE 2524 * @param event packet 2525 * @return status 2526 * @note: btstack_type 1 2527 */ 2528 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){ 2529 return event[2]; 2530 } 2531 2532 /** 2533 * @brief Get field rfcomm_channel from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2534 * @param event packet 2535 * @return rfcomm_channel 2536 * @note: btstack_type 1 2537 */ 2538 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){ 2539 return event[2]; 2540 } 2541 /** 2542 * @brief Get field name from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2543 * @param event packet 2544 * @return name 2545 * @note: btstack_type T 2546 */ 2547 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){ 2548 return (const char *) &event[3]; 2549 } 2550 2551 /** 2552 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2553 * @param event packet 2554 * @return record_id 2555 * @note: btstack_type 2 2556 */ 2557 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){ 2558 return little_endian_read_16(event, 2); 2559 } 2560 /** 2561 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2562 * @param event packet 2563 * @return attribute_id 2564 * @note: btstack_type 2 2565 */ 2566 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){ 2567 return little_endian_read_16(event, 4); 2568 } 2569 /** 2570 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2571 * @param event packet 2572 * @return attribute_length 2573 * @note: btstack_type 2 2574 */ 2575 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){ 2576 return little_endian_read_16(event, 6); 2577 } 2578 /** 2579 * @brief Get field data_offset from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2580 * @param event packet 2581 * @return data_offset 2582 * @note: btstack_type 2 2583 */ 2584 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){ 2585 return little_endian_read_16(event, 8); 2586 } 2587 /** 2588 * @brief Get field data from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2589 * @param event packet 2590 * @return data 2591 * @note: btstack_type 1 2592 */ 2593 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){ 2594 return event[10]; 2595 } 2596 2597 /** 2598 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2599 * @param event packet 2600 * @return record_id 2601 * @note: btstack_type 2 2602 */ 2603 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){ 2604 return little_endian_read_16(event, 2); 2605 } 2606 /** 2607 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2608 * @param event packet 2609 * @return attribute_id 2610 * @note: btstack_type 2 2611 */ 2612 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){ 2613 return little_endian_read_16(event, 4); 2614 } 2615 /** 2616 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2617 * @param event packet 2618 * @return attribute_length 2619 * @note: btstack_type L 2620 */ 2621 static inline uint16_t sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){ 2622 return little_endian_read_16(event, 6); 2623 } 2624 /** 2625 * @brief Get field attribute_value from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2626 * @param event packet 2627 * @return attribute_value 2628 * @note: btstack_type V 2629 */ 2630 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){ 2631 return &event[8]; 2632 } 2633 2634 /** 2635 * @brief Get field total_count from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2636 * @param event packet 2637 * @return total_count 2638 * @note: btstack_type 2 2639 */ 2640 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){ 2641 return little_endian_read_16(event, 2); 2642 } 2643 /** 2644 * @brief Get field record_index from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2645 * @param event packet 2646 * @return record_index 2647 * @note: btstack_type 2 2648 */ 2649 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){ 2650 return little_endian_read_16(event, 4); 2651 } 2652 /** 2653 * @brief Get field record_handle from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2654 * @param event packet 2655 * @return record_handle 2656 * @note: btstack_type 4 2657 */ 2658 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){ 2659 return little_endian_read_32(event, 6); 2660 } 2661 2662 #ifdef ENABLE_BLE 2663 /** 2664 * @brief Get field handle from event GATT_EVENT_QUERY_COMPLETE 2665 * @param event packet 2666 * @return handle 2667 * @note: btstack_type H 2668 */ 2669 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){ 2670 return little_endian_read_16(event, 2); 2671 } 2672 /** 2673 * @brief Get field service_id from event GATT_EVENT_QUERY_COMPLETE 2674 * @param event packet 2675 * @return service_id 2676 * @note: btstack_type 2 2677 */ 2678 static inline uint16_t gatt_event_query_complete_get_service_id(const uint8_t * event){ 2679 return little_endian_read_16(event, 4); 2680 } 2681 /** 2682 * @brief Get field connection_id from event GATT_EVENT_QUERY_COMPLETE 2683 * @param event packet 2684 * @return connection_id 2685 * @note: btstack_type 2 2686 */ 2687 static inline uint16_t gatt_event_query_complete_get_connection_id(const uint8_t * event){ 2688 return little_endian_read_16(event, 6); 2689 } 2690 /** 2691 * @brief Get field att_status from event GATT_EVENT_QUERY_COMPLETE 2692 * @param event packet 2693 * @return att_status 2694 * @note: btstack_type 1 2695 */ 2696 static inline uint8_t gatt_event_query_complete_get_att_status(const uint8_t * event){ 2697 return event[8]; 2698 } 2699 #endif 2700 2701 #ifdef ENABLE_BLE 2702 /** 2703 * @brief Get field handle from event GATT_EVENT_SERVICE_QUERY_RESULT 2704 * @param event packet 2705 * @return handle 2706 * @note: btstack_type H 2707 */ 2708 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){ 2709 return little_endian_read_16(event, 2); 2710 } 2711 /** 2712 * @brief Get field service_id from event GATT_EVENT_SERVICE_QUERY_RESULT 2713 * @param event packet 2714 * @return service_id 2715 * @note: btstack_type 2 2716 */ 2717 static inline uint16_t gatt_event_service_query_result_get_service_id(const uint8_t * event){ 2718 return little_endian_read_16(event, 4); 2719 } 2720 /** 2721 * @brief Get field connection_id from event GATT_EVENT_SERVICE_QUERY_RESULT 2722 * @param event packet 2723 * @return connection_id 2724 * @note: btstack_type 2 2725 */ 2726 static inline uint16_t gatt_event_service_query_result_get_connection_id(const uint8_t * event){ 2727 return little_endian_read_16(event, 6); 2728 } 2729 /** 2730 * @brief Get field service from event GATT_EVENT_SERVICE_QUERY_RESULT 2731 * @param event packet 2732 * @param Pointer to storage for service 2733 * @note: btstack_type X 2734 */ 2735 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2736 gatt_client_deserialize_service(event, 8, service); 2737 } 2738 #endif 2739 2740 #ifdef ENABLE_BLE 2741 /** 2742 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2743 * @param event packet 2744 * @return handle 2745 * @note: btstack_type H 2746 */ 2747 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){ 2748 return little_endian_read_16(event, 2); 2749 } 2750 /** 2751 * @brief Get field service_id from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2752 * @param event packet 2753 * @return service_id 2754 * @note: btstack_type 2 2755 */ 2756 static inline uint16_t gatt_event_characteristic_query_result_get_service_id(const uint8_t * event){ 2757 return little_endian_read_16(event, 4); 2758 } 2759 /** 2760 * @brief Get field connection_id from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2761 * @param event packet 2762 * @return connection_id 2763 * @note: btstack_type 2 2764 */ 2765 static inline uint16_t gatt_event_characteristic_query_result_get_connection_id(const uint8_t * event){ 2766 return little_endian_read_16(event, 6); 2767 } 2768 /** 2769 * @brief Get field characteristic from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2770 * @param event packet 2771 * @param Pointer to storage for characteristic 2772 * @note: btstack_type Y 2773 */ 2774 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){ 2775 gatt_client_deserialize_characteristic(event, 8, characteristic); 2776 } 2777 #endif 2778 2779 #ifdef ENABLE_BLE 2780 /** 2781 * @brief Get field handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2782 * @param event packet 2783 * @return handle 2784 * @note: btstack_type H 2785 */ 2786 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){ 2787 return little_endian_read_16(event, 2); 2788 } 2789 /** 2790 * @brief Get field include_handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2791 * @param event packet 2792 * @return include_handle 2793 * @note: btstack_type 2 2794 */ 2795 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){ 2796 return little_endian_read_16(event, 4); 2797 } 2798 /** 2799 * @brief Get field service from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2800 * @param event packet 2801 * @param Pointer to storage for service 2802 * @note: btstack_type X 2803 */ 2804 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2805 gatt_client_deserialize_service(event, 6, service); 2806 } 2807 #endif 2808 2809 #ifdef ENABLE_BLE 2810 /** 2811 * @brief Get field handle from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2812 * @param event packet 2813 * @return handle 2814 * @note: btstack_type H 2815 */ 2816 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){ 2817 return little_endian_read_16(event, 2); 2818 } 2819 /** 2820 * @brief Get field characteristic_descriptor from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2821 * @param event packet 2822 * @param Pointer to storage for characteristic_descriptor 2823 * @note: btstack_type Z 2824 */ 2825 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){ 2826 gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor); 2827 } 2828 #endif 2829 2830 #ifdef ENABLE_BLE 2831 /** 2832 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2833 * @param event packet 2834 * @return handle 2835 * @note: btstack_type H 2836 */ 2837 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){ 2838 return little_endian_read_16(event, 2); 2839 } 2840 /** 2841 * @brief Get field value_handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2842 * @param event packet 2843 * @return value_handle 2844 * @note: btstack_type 2 2845 */ 2846 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2847 return little_endian_read_16(event, 4); 2848 } 2849 /** 2850 * @brief Get field value_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2851 * @param event packet 2852 * @return value_length 2853 * @note: btstack_type L 2854 */ 2855 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2856 return little_endian_read_16(event, 6); 2857 } 2858 /** 2859 * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2860 * @param event packet 2861 * @return value 2862 * @note: btstack_type V 2863 */ 2864 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){ 2865 return &event[8]; 2866 } 2867 #endif 2868 2869 #ifdef ENABLE_BLE 2870 /** 2871 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2872 * @param event packet 2873 * @return handle 2874 * @note: btstack_type H 2875 */ 2876 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){ 2877 return little_endian_read_16(event, 2); 2878 } 2879 /** 2880 * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2881 * @param event packet 2882 * @return value_handle 2883 * @note: btstack_type 2 2884 */ 2885 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2886 return little_endian_read_16(event, 4); 2887 } 2888 /** 2889 * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2890 * @param event packet 2891 * @return value_offset 2892 * @note: btstack_type 2 2893 */ 2894 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){ 2895 return little_endian_read_16(event, 6); 2896 } 2897 /** 2898 * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2899 * @param event packet 2900 * @return value_length 2901 * @note: btstack_type L 2902 */ 2903 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2904 return little_endian_read_16(event, 8); 2905 } 2906 /** 2907 * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2908 * @param event packet 2909 * @return value 2910 * @note: btstack_type V 2911 */ 2912 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){ 2913 return &event[10]; 2914 } 2915 #endif 2916 2917 #ifdef ENABLE_BLE 2918 /** 2919 * @brief Get field handle from event GATT_EVENT_NOTIFICATION 2920 * @param event packet 2921 * @return handle 2922 * @note: btstack_type H 2923 */ 2924 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){ 2925 return little_endian_read_16(event, 2); 2926 } 2927 /** 2928 * @brief Get field value_handle from event GATT_EVENT_NOTIFICATION 2929 * @param event packet 2930 * @return value_handle 2931 * @note: btstack_type 2 2932 */ 2933 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){ 2934 return little_endian_read_16(event, 4); 2935 } 2936 /** 2937 * @brief Get field value_length from event GATT_EVENT_NOTIFICATION 2938 * @param event packet 2939 * @return value_length 2940 * @note: btstack_type L 2941 */ 2942 static inline uint16_t gatt_event_notification_get_value_length(const uint8_t * event){ 2943 return little_endian_read_16(event, 6); 2944 } 2945 /** 2946 * @brief Get field value from event GATT_EVENT_NOTIFICATION 2947 * @param event packet 2948 * @return value 2949 * @note: btstack_type V 2950 */ 2951 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){ 2952 return &event[8]; 2953 } 2954 #endif 2955 2956 #ifdef ENABLE_BLE 2957 /** 2958 * @brief Get field handle from event GATT_EVENT_INDICATION 2959 * @param event packet 2960 * @return handle 2961 * @note: btstack_type H 2962 */ 2963 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){ 2964 return little_endian_read_16(event, 2); 2965 } 2966 /** 2967 * @brief Get field value_handle from event GATT_EVENT_INDICATION 2968 * @param event packet 2969 * @return value_handle 2970 * @note: btstack_type 2 2971 */ 2972 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){ 2973 return little_endian_read_16(event, 4); 2974 } 2975 /** 2976 * @brief Get field value_length from event GATT_EVENT_INDICATION 2977 * @param event packet 2978 * @return value_length 2979 * @note: btstack_type L 2980 */ 2981 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){ 2982 return little_endian_read_16(event, 6); 2983 } 2984 /** 2985 * @brief Get field value from event GATT_EVENT_INDICATION 2986 * @param event packet 2987 * @return value 2988 * @note: btstack_type V 2989 */ 2990 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){ 2991 return &event[8]; 2992 } 2993 #endif 2994 2995 #ifdef ENABLE_BLE 2996 /** 2997 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2998 * @param event packet 2999 * @return handle 3000 * @note: btstack_type H 3001 */ 3002 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 3003 return little_endian_read_16(event, 2); 3004 } 3005 /** 3006 * @brief Get field descriptor_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3007 * @param event packet 3008 * @return descriptor_handle 3009 * @note: btstack_type 2 3010 */ 3011 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 3012 return little_endian_read_16(event, 4); 3013 } 3014 /** 3015 * @brief Get field descriptor_length from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3016 * @param event packet 3017 * @return descriptor_length 3018 * @note: btstack_type L 3019 */ 3020 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 3021 return little_endian_read_16(event, 6); 3022 } 3023 /** 3024 * @brief Get field descriptor from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3025 * @param event packet 3026 * @return descriptor 3027 * @note: btstack_type V 3028 */ 3029 static inline const uint8_t * gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 3030 return &event[8]; 3031 } 3032 #endif 3033 3034 #ifdef ENABLE_BLE 3035 /** 3036 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3037 * @param event packet 3038 * @return handle 3039 * @note: btstack_type H 3040 */ 3041 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 3042 return little_endian_read_16(event, 2); 3043 } 3044 /** 3045 * @brief Get field descriptor_handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3046 * @param event packet 3047 * @return descriptor_handle 3048 * @note: btstack_type 2 3049 */ 3050 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 3051 return little_endian_read_16(event, 4); 3052 } 3053 /** 3054 * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3055 * @param event packet 3056 * @return descriptor_offset 3057 * @note: btstack_type 2 3058 */ 3059 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){ 3060 return little_endian_read_16(event, 6); 3061 } 3062 /** 3063 * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3064 * @param event packet 3065 * @return descriptor_length 3066 * @note: btstack_type L 3067 */ 3068 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 3069 return little_endian_read_16(event, 8); 3070 } 3071 /** 3072 * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3073 * @param event packet 3074 * @return descriptor 3075 * @note: btstack_type V 3076 */ 3077 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 3078 return &event[10]; 3079 } 3080 #endif 3081 3082 #ifdef ENABLE_BLE 3083 /** 3084 * @brief Get field handle from event GATT_EVENT_MTU 3085 * @param event packet 3086 * @return handle 3087 * @note: btstack_type H 3088 */ 3089 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){ 3090 return little_endian_read_16(event, 2); 3091 } 3092 /** 3093 * @brief Get field MTU from event GATT_EVENT_MTU 3094 * @param event packet 3095 * @return MTU 3096 * @note: btstack_type 2 3097 */ 3098 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){ 3099 return little_endian_read_16(event, 4); 3100 } 3101 #endif 3102 3103 #ifdef ENABLE_BLE 3104 /** 3105 * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 3106 * @param event packet 3107 * @return handle 3108 * @note: btstack_type H 3109 */ 3110 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){ 3111 return little_endian_read_16(event, 2); 3112 } 3113 #endif 3114 3115 #ifdef ENABLE_BLE 3116 /** 3117 * @brief Get field status from event GATT_EVENT_CONNECTED 3118 * @param event packet 3119 * @return status 3120 * @note: btstack_type 1 3121 */ 3122 static inline uint8_t gatt_event_connected_get_status(const uint8_t * event){ 3123 return event[2]; 3124 } 3125 /** 3126 * @brief Get field address_type from event GATT_EVENT_CONNECTED 3127 * @param event packet 3128 * @return address_type 3129 * @note: btstack_type 1 3130 */ 3131 static inline uint8_t gatt_event_connected_get_address_type(const uint8_t * event){ 3132 return event[3]; 3133 } 3134 /** 3135 * @brief Get field address from event GATT_EVENT_CONNECTED 3136 * @param event packet 3137 * @param Pointer to storage for address 3138 * @note: btstack_type B 3139 */ 3140 static inline void gatt_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 3141 reverse_bytes(&event[4], address, 6); 3142 } 3143 /** 3144 * @brief Get field handle from event GATT_EVENT_CONNECTED 3145 * @param event packet 3146 * @return handle 3147 * @note: btstack_type H 3148 */ 3149 static inline hci_con_handle_t gatt_event_connected_get_handle(const uint8_t * event){ 3150 return little_endian_read_16(event, 10); 3151 } 3152 #endif 3153 3154 #ifdef ENABLE_BLE 3155 /** 3156 * @brief Get field handle from event GATT_EVENT_DISCONNECTED 3157 * @param event packet 3158 * @return handle 3159 * @note: btstack_type H 3160 */ 3161 static inline hci_con_handle_t gatt_event_disconnected_get_handle(const uint8_t * event){ 3162 return little_endian_read_16(event, 2); 3163 } 3164 #endif 3165 3166 #ifdef ENABLE_BLE 3167 /** 3168 * @brief Get field handle from event GATT_EVENT_SERVICE_CHANGED 3169 * @param event packet 3170 * @return handle 3171 * @note: btstack_type H 3172 */ 3173 static inline hci_con_handle_t gatt_event_service_changed_get_handle(const uint8_t * event){ 3174 return little_endian_read_16(event, 2); 3175 } 3176 /** 3177 * @brief Get field attribute_handle_start from event GATT_EVENT_SERVICE_CHANGED 3178 * @param event packet 3179 * @return attribute_handle_start 3180 * @note: btstack_type 2 3181 */ 3182 static inline uint16_t gatt_event_service_changed_get_attribute_handle_start(const uint8_t * event){ 3183 return little_endian_read_16(event, 4); 3184 } 3185 /** 3186 * @brief Get field attribute_handle_end from event GATT_EVENT_SERVICE_CHANGED 3187 * @param event packet 3188 * @return attribute_handle_end 3189 * @note: btstack_type 2 3190 */ 3191 static inline uint16_t gatt_event_service_changed_get_attribute_handle_end(const uint8_t * event){ 3192 return little_endian_read_16(event, 6); 3193 } 3194 #endif 3195 3196 /** 3197 * @brief Get field address_type from event ATT_EVENT_CONNECTED 3198 * @param event packet 3199 * @return address_type 3200 * @note: btstack_type 1 3201 */ 3202 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){ 3203 return event[2]; 3204 } 3205 /** 3206 * @brief Get field address from event ATT_EVENT_CONNECTED 3207 * @param event packet 3208 * @param Pointer to storage for address 3209 * @note: btstack_type B 3210 */ 3211 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 3212 reverse_bytes(&event[3], address, 6); 3213 } 3214 /** 3215 * @brief Get field handle from event ATT_EVENT_CONNECTED 3216 * @param event packet 3217 * @return handle 3218 * @note: btstack_type H 3219 */ 3220 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){ 3221 return little_endian_read_16(event, 9); 3222 } 3223 3224 /** 3225 * @brief Get field handle from event ATT_EVENT_DISCONNECTED 3226 * @param event packet 3227 * @return handle 3228 * @note: btstack_type H 3229 */ 3230 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){ 3231 return little_endian_read_16(event, 2); 3232 } 3233 3234 /** 3235 * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 3236 * @param event packet 3237 * @return handle 3238 * @note: btstack_type H 3239 */ 3240 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){ 3241 return little_endian_read_16(event, 2); 3242 } 3243 /** 3244 * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 3245 * @param event packet 3246 * @return MTU 3247 * @note: btstack_type 2 3248 */ 3249 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){ 3250 return little_endian_read_16(event, 4); 3251 } 3252 3253 /** 3254 * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3255 * @param event packet 3256 * @return status 3257 * @note: btstack_type 1 3258 */ 3259 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){ 3260 return event[2]; 3261 } 3262 /** 3263 * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3264 * @param event packet 3265 * @return conn_handle 3266 * @note: btstack_type H 3267 */ 3268 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){ 3269 return little_endian_read_16(event, 3); 3270 } 3271 /** 3272 * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3273 * @param event packet 3274 * @return attribute_handle 3275 * @note: btstack_type 2 3276 */ 3277 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){ 3278 return little_endian_read_16(event, 5); 3279 } 3280 3281 3282 /** 3283 * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED 3284 * @param event packet 3285 * @return status 3286 * @note: btstack_type 1 3287 */ 3288 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){ 3289 return event[2]; 3290 } 3291 /** 3292 * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED 3293 * @param event packet 3294 * @return service_uuid 3295 * @note: btstack_type 2 3296 */ 3297 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){ 3298 return little_endian_read_16(event, 3); 3299 } 3300 3301 /** 3302 * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED 3303 * @param event packet 3304 * @return status 3305 * @note: btstack_type 1 3306 */ 3307 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){ 3308 return event[2]; 3309 } 3310 /** 3311 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED 3312 * @param event packet 3313 * @return bnep_cid 3314 * @note: btstack_type 2 3315 */ 3316 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){ 3317 return little_endian_read_16(event, 3); 3318 } 3319 /** 3320 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED 3321 * @param event packet 3322 * @return source_uuid 3323 * @note: btstack_type 2 3324 */ 3325 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){ 3326 return little_endian_read_16(event, 5); 3327 } 3328 /** 3329 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED 3330 * @param event packet 3331 * @return destination_uuid 3332 * @note: btstack_type 2 3333 */ 3334 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){ 3335 return little_endian_read_16(event, 7); 3336 } 3337 /** 3338 * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED 3339 * @param event packet 3340 * @return mtu 3341 * @note: btstack_type 2 3342 */ 3343 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){ 3344 return little_endian_read_16(event, 9); 3345 } 3346 /** 3347 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED 3348 * @param event packet 3349 * @param Pointer to storage for remote_address 3350 * @note: btstack_type B 3351 */ 3352 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3353 reverse_bytes(&event[11], remote_address, 6); 3354 } 3355 /** 3356 * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED 3357 * @param event packet 3358 * @return con_handle 3359 * @note: btstack_type H 3360 */ 3361 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){ 3362 return little_endian_read_16(event, 17); 3363 } 3364 3365 /** 3366 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED 3367 * @param event packet 3368 * @return bnep_cid 3369 * @note: btstack_type 2 3370 */ 3371 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){ 3372 return little_endian_read_16(event, 2); 3373 } 3374 /** 3375 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3376 * @param event packet 3377 * @return source_uuid 3378 * @note: btstack_type 2 3379 */ 3380 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){ 3381 return little_endian_read_16(event, 4); 3382 } 3383 /** 3384 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3385 * @param event packet 3386 * @return destination_uuid 3387 * @note: btstack_type 2 3388 */ 3389 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){ 3390 return little_endian_read_16(event, 6); 3391 } 3392 /** 3393 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED 3394 * @param event packet 3395 * @param Pointer to storage for remote_address 3396 * @note: btstack_type B 3397 */ 3398 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3399 reverse_bytes(&event[8], remote_address, 6); 3400 } 3401 3402 /** 3403 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT 3404 * @param event packet 3405 * @return bnep_cid 3406 * @note: btstack_type 2 3407 */ 3408 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){ 3409 return little_endian_read_16(event, 2); 3410 } 3411 /** 3412 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3413 * @param event packet 3414 * @return source_uuid 3415 * @note: btstack_type 2 3416 */ 3417 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){ 3418 return little_endian_read_16(event, 4); 3419 } 3420 /** 3421 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3422 * @param event packet 3423 * @return destination_uuid 3424 * @note: btstack_type 2 3425 */ 3426 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){ 3427 return little_endian_read_16(event, 6); 3428 } 3429 /** 3430 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT 3431 * @param event packet 3432 * @param Pointer to storage for remote_address 3433 * @note: btstack_type B 3434 */ 3435 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3436 reverse_bytes(&event[8], remote_address, 6); 3437 } 3438 /** 3439 * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT 3440 * @param event packet 3441 * @return channel_state 3442 * @note: btstack_type 1 3443 */ 3444 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){ 3445 return event[14]; 3446 } 3447 3448 /** 3449 * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW 3450 * @param event packet 3451 * @return bnep_cid 3452 * @note: btstack_type 2 3453 */ 3454 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){ 3455 return little_endian_read_16(event, 2); 3456 } 3457 /** 3458 * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW 3459 * @param event packet 3460 * @return source_uuid 3461 * @note: btstack_type 2 3462 */ 3463 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){ 3464 return little_endian_read_16(event, 4); 3465 } 3466 /** 3467 * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW 3468 * @param event packet 3469 * @return destination_uuid 3470 * @note: btstack_type 2 3471 */ 3472 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){ 3473 return little_endian_read_16(event, 6); 3474 } 3475 /** 3476 * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW 3477 * @param event packet 3478 * @param Pointer to storage for remote_address 3479 * @note: btstack_type B 3480 */ 3481 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3482 reverse_bytes(&event[8], remote_address, 6); 3483 } 3484 3485 #ifdef ENABLE_BLE 3486 /** 3487 * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST 3488 * @param event packet 3489 * @return handle 3490 * @note: btstack_type H 3491 */ 3492 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ 3493 return little_endian_read_16(event, 2); 3494 } 3495 /** 3496 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST 3497 * @param event packet 3498 * @return addr_type 3499 * @note: btstack_type 1 3500 */ 3501 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ 3502 return event[4]; 3503 } 3504 /** 3505 * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST 3506 * @param event packet 3507 * @param Pointer to storage for address 3508 * @note: btstack_type B 3509 */ 3510 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ 3511 reverse_bytes(&event[5], address, 6); 3512 } 3513 /** 3514 * @brief Get field secure_connection from event SM_EVENT_JUST_WORKS_REQUEST 3515 * @param event packet 3516 * @return secure_connection 3517 * @note: btstack_type 1 3518 */ 3519 static inline uint8_t sm_event_just_works_request_get_secure_connection(const uint8_t * event){ 3520 return event[11]; 3521 } 3522 #endif 3523 3524 #ifdef ENABLE_BLE 3525 /** 3526 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3527 * @param event packet 3528 * @return handle 3529 * @note: btstack_type H 3530 */ 3531 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ 3532 return little_endian_read_16(event, 2); 3533 } 3534 /** 3535 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3536 * @param event packet 3537 * @return addr_type 3538 * @note: btstack_type 1 3539 */ 3540 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ 3541 return event[4]; 3542 } 3543 /** 3544 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3545 * @param event packet 3546 * @param Pointer to storage for address 3547 * @note: btstack_type B 3548 */ 3549 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ 3550 reverse_bytes(&event[5], address, 6); 3551 } 3552 /** 3553 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3554 * @param event packet 3555 * @return secure_connection 3556 * @note: btstack_type 1 3557 */ 3558 static inline uint8_t sm_event_passkey_display_number_get_secure_connection(const uint8_t * event){ 3559 return event[11]; 3560 } 3561 /** 3562 * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3563 * @param event packet 3564 * @return passkey 3565 * @note: btstack_type 4 3566 */ 3567 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ 3568 return little_endian_read_32(event, 12); 3569 } 3570 #endif 3571 3572 #ifdef ENABLE_BLE 3573 /** 3574 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3575 * @param event packet 3576 * @return handle 3577 * @note: btstack_type H 3578 */ 3579 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ 3580 return little_endian_read_16(event, 2); 3581 } 3582 /** 3583 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3584 * @param event packet 3585 * @return addr_type 3586 * @note: btstack_type 1 3587 */ 3588 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ 3589 return event[4]; 3590 } 3591 /** 3592 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3593 * @param event packet 3594 * @param Pointer to storage for address 3595 * @note: btstack_type B 3596 */ 3597 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ 3598 reverse_bytes(&event[5], address, 6); 3599 } 3600 #endif 3601 3602 #ifdef ENABLE_BLE 3603 /** 3604 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER 3605 * @param event packet 3606 * @return handle 3607 * @note: btstack_type H 3608 */ 3609 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ 3610 return little_endian_read_16(event, 2); 3611 } 3612 /** 3613 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER 3614 * @param event packet 3615 * @return addr_type 3616 * @note: btstack_type 1 3617 */ 3618 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ 3619 return event[4]; 3620 } 3621 /** 3622 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER 3623 * @param event packet 3624 * @param Pointer to storage for address 3625 * @note: btstack_type B 3626 */ 3627 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ 3628 reverse_bytes(&event[5], address, 6); 3629 } 3630 /** 3631 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_INPUT_NUMBER 3632 * @param event packet 3633 * @return secure_connection 3634 * @note: btstack_type 1 3635 */ 3636 static inline uint8_t sm_event_passkey_input_number_get_secure_connection(const uint8_t * event){ 3637 return event[11]; 3638 } 3639 #endif 3640 3641 #ifdef ENABLE_BLE 3642 /** 3643 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3644 * @param event packet 3645 * @return handle 3646 * @note: btstack_type H 3647 */ 3648 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){ 3649 return little_endian_read_16(event, 2); 3650 } 3651 /** 3652 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3653 * @param event packet 3654 * @return addr_type 3655 * @note: btstack_type 1 3656 */ 3657 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){ 3658 return event[4]; 3659 } 3660 /** 3661 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3662 * @param event packet 3663 * @param Pointer to storage for address 3664 * @note: btstack_type B 3665 */ 3666 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){ 3667 reverse_bytes(&event[5], address, 6); 3668 } 3669 /** 3670 * @brief Get field secure_connection from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3671 * @param event packet 3672 * @return secure_connection 3673 * @note: btstack_type 1 3674 */ 3675 static inline uint8_t sm_event_numeric_comparison_request_get_secure_connection(const uint8_t * event){ 3676 return event[11]; 3677 } 3678 /** 3679 * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3680 * @param event packet 3681 * @return passkey 3682 * @note: btstack_type 4 3683 */ 3684 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){ 3685 return little_endian_read_32(event, 12); 3686 } 3687 #endif 3688 3689 #ifdef ENABLE_BLE 3690 /** 3691 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3692 * @param event packet 3693 * @return handle 3694 * @note: btstack_type H 3695 */ 3696 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ 3697 return little_endian_read_16(event, 2); 3698 } 3699 /** 3700 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3701 * @param event packet 3702 * @return addr_type 3703 * @note: btstack_type 1 3704 */ 3705 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ 3706 return event[4]; 3707 } 3708 /** 3709 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3710 * @param event packet 3711 * @param Pointer to storage for address 3712 * @note: btstack_type B 3713 */ 3714 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ 3715 reverse_bytes(&event[5], address, 6); 3716 } 3717 #endif 3718 3719 #ifdef ENABLE_BLE 3720 /** 3721 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3722 * @param event packet 3723 * @return handle 3724 * @note: btstack_type H 3725 */ 3726 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ 3727 return little_endian_read_16(event, 2); 3728 } 3729 /** 3730 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3731 * @param event packet 3732 * @return addr_type 3733 * @note: btstack_type 1 3734 */ 3735 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ 3736 return event[4]; 3737 } 3738 /** 3739 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3740 * @param event packet 3741 * @param Pointer to storage for address 3742 * @note: btstack_type B 3743 */ 3744 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ 3745 reverse_bytes(&event[5], address, 6); 3746 } 3747 #endif 3748 3749 #ifdef ENABLE_BLE 3750 /** 3751 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3752 * @param event packet 3753 * @return handle 3754 * @note: btstack_type H 3755 */ 3756 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ 3757 return little_endian_read_16(event, 2); 3758 } 3759 /** 3760 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3761 * @param event packet 3762 * @return addr_type 3763 * @note: btstack_type 1 3764 */ 3765 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ 3766 return event[4]; 3767 } 3768 /** 3769 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3770 * @param event packet 3771 * @param Pointer to storage for address 3772 * @note: btstack_type B 3773 */ 3774 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ 3775 reverse_bytes(&event[5], address, 6); 3776 } 3777 /** 3778 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3779 * @param event packet 3780 * @return identity_addr_type 3781 * @note: btstack_type 1 3782 */ 3783 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){ 3784 return event[11]; 3785 } 3786 /** 3787 * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3788 * @param event packet 3789 * @param Pointer to storage for identity_address 3790 * @note: btstack_type B 3791 */ 3792 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3793 reverse_bytes(&event[12], identity_address, 6); 3794 } 3795 /** 3796 * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3797 * @param event packet 3798 * @return index 3799 * @note: btstack_type 2 3800 */ 3801 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){ 3802 return little_endian_read_16(event, 18); 3803 } 3804 #endif 3805 3806 #ifdef ENABLE_BLE 3807 /** 3808 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST 3809 * @param event packet 3810 * @return handle 3811 * @note: btstack_type H 3812 */ 3813 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){ 3814 return little_endian_read_16(event, 2); 3815 } 3816 /** 3817 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST 3818 * @param event packet 3819 * @return addr_type 3820 * @note: btstack_type 1 3821 */ 3822 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ 3823 return event[4]; 3824 } 3825 /** 3826 * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST 3827 * @param event packet 3828 * @param Pointer to storage for address 3829 * @note: btstack_type B 3830 */ 3831 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ 3832 reverse_bytes(&event[5], address, 6); 3833 } 3834 #endif 3835 3836 #ifdef ENABLE_BLE 3837 /** 3838 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT 3839 * @param event packet 3840 * @return handle 3841 * @note: btstack_type H 3842 */ 3843 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ 3844 return little_endian_read_16(event, 2); 3845 } 3846 /** 3847 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT 3848 * @param event packet 3849 * @return addr_type 3850 * @note: btstack_type 1 3851 */ 3852 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ 3853 return event[4]; 3854 } 3855 /** 3856 * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT 3857 * @param event packet 3858 * @param Pointer to storage for address 3859 * @note: btstack_type B 3860 */ 3861 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ 3862 reverse_bytes(&event[5], address, 6); 3863 } 3864 /** 3865 * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT 3866 * @param event packet 3867 * @return authorization_result 3868 * @note: btstack_type 1 3869 */ 3870 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ 3871 return event[11]; 3872 } 3873 #endif 3874 3875 #ifdef ENABLE_BLE 3876 /** 3877 * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION 3878 * @param event packet 3879 * @return handle 3880 * @note: btstack_type H 3881 */ 3882 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){ 3883 return little_endian_read_16(event, 2); 3884 } 3885 /** 3886 * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION 3887 * @param event packet 3888 * @return action 3889 * @note: btstack_type 1 3890 */ 3891 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){ 3892 return event[4]; 3893 } 3894 #endif 3895 3896 #ifdef ENABLE_BLE 3897 /** 3898 * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED 3899 * @param event packet 3900 * @return handle 3901 * @note: btstack_type H 3902 */ 3903 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){ 3904 return little_endian_read_16(event, 2); 3905 } 3906 /** 3907 * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED 3908 * @param event packet 3909 * @return addr_type 3910 * @note: btstack_type 1 3911 */ 3912 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){ 3913 return event[4]; 3914 } 3915 /** 3916 * @brief Get field address from event SM_EVENT_IDENTITY_CREATED 3917 * @param event packet 3918 * @param Pointer to storage for address 3919 * @note: btstack_type B 3920 */ 3921 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){ 3922 reverse_bytes(&event[5], address, 6); 3923 } 3924 /** 3925 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED 3926 * @param event packet 3927 * @return identity_addr_type 3928 * @note: btstack_type 1 3929 */ 3930 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){ 3931 return event[11]; 3932 } 3933 /** 3934 * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED 3935 * @param event packet 3936 * @param Pointer to storage for identity_address 3937 * @note: btstack_type B 3938 */ 3939 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3940 reverse_bytes(&event[12], identity_address, 6); 3941 } 3942 /** 3943 * @brief Get field index from event SM_EVENT_IDENTITY_CREATED 3944 * @param event packet 3945 * @return index 3946 * @note: btstack_type 2 3947 */ 3948 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){ 3949 return little_endian_read_16(event, 18); 3950 } 3951 #endif 3952 3953 #ifdef ENABLE_BLE 3954 /** 3955 * @brief Get field handle from event SM_EVENT_PAIRING_STARTED 3956 * @param event packet 3957 * @return handle 3958 * @note: btstack_type H 3959 */ 3960 static inline hci_con_handle_t sm_event_pairing_started_get_handle(const uint8_t * event){ 3961 return little_endian_read_16(event, 2); 3962 } 3963 /** 3964 * @brief Get field addr_type from event SM_EVENT_PAIRING_STARTED 3965 * @param event packet 3966 * @return addr_type 3967 * @note: btstack_type 1 3968 */ 3969 static inline uint8_t sm_event_pairing_started_get_addr_type(const uint8_t * event){ 3970 return event[4]; 3971 } 3972 /** 3973 * @brief Get field address from event SM_EVENT_PAIRING_STARTED 3974 * @param event packet 3975 * @param Pointer to storage for address 3976 * @note: btstack_type B 3977 */ 3978 static inline void sm_event_pairing_started_get_address(const uint8_t * event, bd_addr_t address){ 3979 reverse_bytes(&event[5], address, 6); 3980 } 3981 #endif 3982 3983 #ifdef ENABLE_BLE 3984 /** 3985 * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE 3986 * @param event packet 3987 * @return handle 3988 * @note: btstack_type H 3989 */ 3990 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){ 3991 return little_endian_read_16(event, 2); 3992 } 3993 /** 3994 * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE 3995 * @param event packet 3996 * @return addr_type 3997 * @note: btstack_type 1 3998 */ 3999 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){ 4000 return event[4]; 4001 } 4002 /** 4003 * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE 4004 * @param event packet 4005 * @param Pointer to storage for address 4006 * @note: btstack_type B 4007 */ 4008 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){ 4009 reverse_bytes(&event[5], address, 6); 4010 } 4011 /** 4012 * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE 4013 * @param event packet 4014 * @return status 4015 * @note: btstack_type 1 4016 */ 4017 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){ 4018 return event[11]; 4019 } 4020 /** 4021 * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE 4022 * @param event packet 4023 * @return reason 4024 * @note: btstack_type 1 4025 */ 4026 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){ 4027 return event[12]; 4028 } 4029 #endif 4030 4031 #ifdef ENABLE_BLE 4032 /** 4033 * @brief Get field handle from event SM_EVENT_REENCRYPTION_STARTED 4034 * @param event packet 4035 * @return handle 4036 * @note: btstack_type H 4037 */ 4038 static inline hci_con_handle_t sm_event_reencryption_started_get_handle(const uint8_t * event){ 4039 return little_endian_read_16(event, 2); 4040 } 4041 /** 4042 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_STARTED 4043 * @param event packet 4044 * @return addr_type 4045 * @note: btstack_type 1 4046 */ 4047 static inline uint8_t sm_event_reencryption_started_get_addr_type(const uint8_t * event){ 4048 return event[4]; 4049 } 4050 /** 4051 * @brief Get field address from event SM_EVENT_REENCRYPTION_STARTED 4052 * @param event packet 4053 * @param Pointer to storage for address 4054 * @note: btstack_type B 4055 */ 4056 static inline void sm_event_reencryption_started_get_address(const uint8_t * event, bd_addr_t address){ 4057 reverse_bytes(&event[5], address, 6); 4058 } 4059 #endif 4060 4061 #ifdef ENABLE_BLE 4062 /** 4063 * @brief Get field handle from event SM_EVENT_REENCRYPTION_COMPLETE 4064 * @param event packet 4065 * @return handle 4066 * @note: btstack_type H 4067 */ 4068 static inline hci_con_handle_t sm_event_reencryption_complete_get_handle(const uint8_t * event){ 4069 return little_endian_read_16(event, 2); 4070 } 4071 /** 4072 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_COMPLETE 4073 * @param event packet 4074 * @return addr_type 4075 * @note: btstack_type 1 4076 */ 4077 static inline uint8_t sm_event_reencryption_complete_get_addr_type(const uint8_t * event){ 4078 return event[4]; 4079 } 4080 /** 4081 * @brief Get field address from event SM_EVENT_REENCRYPTION_COMPLETE 4082 * @param event packet 4083 * @param Pointer to storage for address 4084 * @note: btstack_type B 4085 */ 4086 static inline void sm_event_reencryption_complete_get_address(const uint8_t * event, bd_addr_t address){ 4087 reverse_bytes(&event[5], address, 6); 4088 } 4089 /** 4090 * @brief Get field status from event SM_EVENT_REENCRYPTION_COMPLETE 4091 * @param event packet 4092 * @return status 4093 * @note: btstack_type 1 4094 */ 4095 static inline uint8_t sm_event_reencryption_complete_get_status(const uint8_t * event){ 4096 return event[11]; 4097 } 4098 #endif 4099 4100 /** 4101 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 4102 * @param event packet 4103 * @return handle 4104 * @note: btstack_type H 4105 */ 4106 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 4107 return little_endian_read_16(event, 2); 4108 } 4109 /** 4110 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 4111 * @param event packet 4112 * @return security_level 4113 * @note: btstack_type 1 4114 */ 4115 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 4116 return event[4]; 4117 } 4118 4119 /** 4120 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 4121 * @param event packet 4122 * @return status 4123 * @note: btstack_type 1 4124 */ 4125 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 4126 return event[2]; 4127 } 4128 /** 4129 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 4130 * @param event packet 4131 * @param Pointer to storage for address 4132 * @note: btstack_type B 4133 */ 4134 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 4135 reverse_bytes(&event[3], address, 6); 4136 } 4137 4138 /** 4139 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 4140 * @param event packet 4141 * @return advertising_event_type 4142 * @note: btstack_type 1 4143 */ 4144 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 4145 return event[2]; 4146 } 4147 /** 4148 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 4149 * @param event packet 4150 * @return address_type 4151 * @note: btstack_type 1 4152 */ 4153 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 4154 return event[3]; 4155 } 4156 /** 4157 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 4158 * @param event packet 4159 * @param Pointer to storage for address 4160 * @note: btstack_type B 4161 */ 4162 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 4163 reverse_bytes(&event[4], address, 6); 4164 } 4165 /** 4166 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 4167 * @param event packet 4168 * @return rssi 4169 * @note: btstack_type 1 4170 */ 4171 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 4172 return event[10]; 4173 } 4174 /** 4175 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 4176 * @param event packet 4177 * @return data_length 4178 * @note: btstack_type J 4179 */ 4180 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 4181 return event[11]; 4182 } 4183 /** 4184 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 4185 * @param event packet 4186 * @return data 4187 * @note: btstack_type V 4188 */ 4189 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 4190 return &event[12]; 4191 } 4192 4193 /** 4194 * @brief Get field advertising_event_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4195 * @param event packet 4196 * @return advertising_event_type 4197 * @note: btstack_type 2 4198 */ 4199 static inline uint16_t gap_event_extended_advertising_report_get_advertising_event_type(const uint8_t * event){ 4200 return little_endian_read_16(event, 2); 4201 } 4202 /** 4203 * @brief Get field address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4204 * @param event packet 4205 * @return address_type 4206 * @note: btstack_type 1 4207 */ 4208 static inline uint8_t gap_event_extended_advertising_report_get_address_type(const uint8_t * event){ 4209 return event[4]; 4210 } 4211 /** 4212 * @brief Get field address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4213 * @param event packet 4214 * @param Pointer to storage for address 4215 * @note: btstack_type B 4216 */ 4217 static inline void gap_event_extended_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 4218 reverse_bytes(&event[5], address, 6); 4219 } 4220 /** 4221 * @brief Get field primary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4222 * @param event packet 4223 * @return primary_phy 4224 * @note: btstack_type 1 4225 */ 4226 static inline uint8_t gap_event_extended_advertising_report_get_primary_phy(const uint8_t * event){ 4227 return event[11]; 4228 } 4229 /** 4230 * @brief Get field secondary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4231 * @param event packet 4232 * @return secondary_phy 4233 * @note: btstack_type 1 4234 */ 4235 static inline uint8_t gap_event_extended_advertising_report_get_secondary_phy(const uint8_t * event){ 4236 return event[12]; 4237 } 4238 /** 4239 * @brief Get field advertising_sid from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4240 * @param event packet 4241 * @return advertising_sid 4242 * @note: btstack_type 1 4243 */ 4244 static inline uint8_t gap_event_extended_advertising_report_get_advertising_sid(const uint8_t * event){ 4245 return event[13]; 4246 } 4247 /** 4248 * @brief Get field tx_power from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4249 * @param event packet 4250 * @return tx_power 4251 * @note: btstack_type 1 4252 */ 4253 static inline uint8_t gap_event_extended_advertising_report_get_tx_power(const uint8_t * event){ 4254 return event[14]; 4255 } 4256 /** 4257 * @brief Get field rssi from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4258 * @param event packet 4259 * @return rssi 4260 * @note: btstack_type 1 4261 */ 4262 static inline uint8_t gap_event_extended_advertising_report_get_rssi(const uint8_t * event){ 4263 return event[15]; 4264 } 4265 /** 4266 * @brief Get field periodic_advertising_interval from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4267 * @param event packet 4268 * @return periodic_advertising_interval 4269 * @note: btstack_type 2 4270 */ 4271 static inline uint16_t gap_event_extended_advertising_report_get_periodic_advertising_interval(const uint8_t * event){ 4272 return little_endian_read_16(event, 16); 4273 } 4274 /** 4275 * @brief Get field direct_address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4276 * @param event packet 4277 * @return direct_address_type 4278 * @note: btstack_type 1 4279 */ 4280 static inline uint8_t gap_event_extended_advertising_report_get_direct_address_type(const uint8_t * event){ 4281 return event[18]; 4282 } 4283 /** 4284 * @brief Get field direct_address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4285 * @param event packet 4286 * @param Pointer to storage for direct_address 4287 * @note: btstack_type B 4288 */ 4289 static inline void gap_event_extended_advertising_report_get_direct_address(const uint8_t * event, bd_addr_t direct_address){ 4290 reverse_bytes(&event[19], direct_address, 6); 4291 } 4292 /** 4293 * @brief Get field data_length from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4294 * @param event packet 4295 * @return data_length 4296 * @note: btstack_type J 4297 */ 4298 static inline uint8_t gap_event_extended_advertising_report_get_data_length(const uint8_t * event){ 4299 return event[25]; 4300 } 4301 /** 4302 * @brief Get field data from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4303 * @param event packet 4304 * @return data 4305 * @note: btstack_type V 4306 */ 4307 static inline const uint8_t * gap_event_extended_advertising_report_get_data(const uint8_t * event){ 4308 return &event[26]; 4309 } 4310 4311 /** 4312 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 4313 * @param event packet 4314 * @param Pointer to storage for bd_addr 4315 * @note: btstack_type B 4316 */ 4317 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4318 reverse_bytes(&event[2], bd_addr, 6); 4319 } 4320 /** 4321 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 4322 * @param event packet 4323 * @return page_scan_repetition_mode 4324 * @note: btstack_type 1 4325 */ 4326 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 4327 return event[8]; 4328 } 4329 /** 4330 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 4331 * @param event packet 4332 * @return class_of_device 4333 * @note: btstack_type 3 4334 */ 4335 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 4336 return little_endian_read_24(event, 9); 4337 } 4338 /** 4339 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 4340 * @param event packet 4341 * @return clock_offset 4342 * @note: btstack_type 2 4343 */ 4344 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 4345 return little_endian_read_16(event, 12); 4346 } 4347 /** 4348 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 4349 * @param event packet 4350 * @return rssi_available 4351 * @note: btstack_type 1 4352 */ 4353 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 4354 return event[14]; 4355 } 4356 /** 4357 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 4358 * @param event packet 4359 * @return rssi 4360 * @note: btstack_type 1 4361 */ 4362 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 4363 return event[15]; 4364 } 4365 /** 4366 * @brief Get field device_id_available from event GAP_EVENT_INQUIRY_RESULT 4367 * @param event packet 4368 * @return device_id_available 4369 * @note: btstack_type 1 4370 */ 4371 static inline uint8_t gap_event_inquiry_result_get_device_id_available(const uint8_t * event){ 4372 return event[16]; 4373 } 4374 /** 4375 * @brief Get field device_id_vendor_id_source from event GAP_EVENT_INQUIRY_RESULT 4376 * @param event packet 4377 * @return device_id_vendor_id_source 4378 * @note: btstack_type 2 4379 */ 4380 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id_source(const uint8_t * event){ 4381 return little_endian_read_16(event, 17); 4382 } 4383 /** 4384 * @brief Get field device_id_vendor_id from event GAP_EVENT_INQUIRY_RESULT 4385 * @param event packet 4386 * @return device_id_vendor_id 4387 * @note: btstack_type 2 4388 */ 4389 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id(const uint8_t * event){ 4390 return little_endian_read_16(event, 19); 4391 } 4392 /** 4393 * @brief Get field device_id_product_id from event GAP_EVENT_INQUIRY_RESULT 4394 * @param event packet 4395 * @return device_id_product_id 4396 * @note: btstack_type 2 4397 */ 4398 static inline uint16_t gap_event_inquiry_result_get_device_id_product_id(const uint8_t * event){ 4399 return little_endian_read_16(event, 21); 4400 } 4401 /** 4402 * @brief Get field device_id_version from event GAP_EVENT_INQUIRY_RESULT 4403 * @param event packet 4404 * @return device_id_version 4405 * @note: btstack_type 2 4406 */ 4407 static inline uint16_t gap_event_inquiry_result_get_device_id_version(const uint8_t * event){ 4408 return little_endian_read_16(event, 23); 4409 } 4410 /** 4411 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 4412 * @param event packet 4413 * @return name_available 4414 * @note: btstack_type 1 4415 */ 4416 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 4417 return event[25]; 4418 } 4419 /** 4420 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 4421 * @param event packet 4422 * @return name_len 4423 * @note: btstack_type J 4424 */ 4425 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 4426 return event[26]; 4427 } 4428 /** 4429 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 4430 * @param event packet 4431 * @return name 4432 * @note: btstack_type V 4433 */ 4434 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 4435 return &event[27]; 4436 } 4437 4438 /** 4439 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 4440 * @param event packet 4441 * @return status 4442 * @note: btstack_type 1 4443 */ 4444 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 4445 return event[2]; 4446 } 4447 4448 /** 4449 * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT 4450 * @param event packet 4451 * @return con_handle 4452 * @note: btstack_type H 4453 */ 4454 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){ 4455 return little_endian_read_16(event, 2); 4456 } 4457 /** 4458 * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT 4459 * @param event packet 4460 * @return rssi 4461 * @note: btstack_type 1 4462 */ 4463 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){ 4464 return event[4]; 4465 } 4466 4467 /** 4468 * @brief Get field oob_data_present from event GAP_EVENT_LOCAL_OOB_DATA 4469 * @param event packet 4470 * @return oob_data_present 4471 * @note: btstack_type 1 4472 */ 4473 static inline uint8_t gap_event_local_oob_data_get_oob_data_present(const uint8_t * event){ 4474 return event[2]; 4475 } 4476 /** 4477 * @brief Get field c_192 from event GAP_EVENT_LOCAL_OOB_DATA 4478 * @param event packet 4479 * @param Pointer to storage for c_192 4480 * @note: btstack_type K 4481 */ 4482 static inline void gap_event_local_oob_data_get_c_192(const uint8_t * event, uint8_t * c_192){ 4483 reverse_bytes(&event[3], c_192, 16); 4484 } 4485 /** 4486 * @brief Get field r_192 from event GAP_EVENT_LOCAL_OOB_DATA 4487 * @param event packet 4488 * @param Pointer to storage for r_192 4489 * @note: btstack_type K 4490 */ 4491 static inline void gap_event_local_oob_data_get_r_192(const uint8_t * event, uint8_t * r_192){ 4492 reverse_bytes(&event[19], r_192, 16); 4493 } 4494 /** 4495 * @brief Get field c_256 from event GAP_EVENT_LOCAL_OOB_DATA 4496 * @param event packet 4497 * @param Pointer to storage for c_256 4498 * @note: btstack_type K 4499 */ 4500 static inline void gap_event_local_oob_data_get_c_256(const uint8_t * event, uint8_t * c_256){ 4501 reverse_bytes(&event[35], c_256, 16); 4502 } 4503 /** 4504 * @brief Get field r_256 from event GAP_EVENT_LOCAL_OOB_DATA 4505 * @param event packet 4506 * @param Pointer to storage for r_256 4507 * @note: btstack_type K 4508 */ 4509 static inline void gap_event_local_oob_data_get_r_256(const uint8_t * event, uint8_t * r_256){ 4510 reverse_bytes(&event[51], r_256, 16); 4511 } 4512 4513 /** 4514 * @brief Get field con_handle from event GAP_EVENT_PAIRING_STARTED 4515 * @param event packet 4516 * @return con_handle 4517 * @note: btstack_type H 4518 */ 4519 static inline hci_con_handle_t gap_event_pairing_started_get_con_handle(const uint8_t * event){ 4520 return little_endian_read_16(event, 2); 4521 } 4522 /** 4523 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_STARTED 4524 * @param event packet 4525 * @param Pointer to storage for bd_addr 4526 * @note: btstack_type B 4527 */ 4528 static inline void gap_event_pairing_started_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4529 reverse_bytes(&event[4], bd_addr, 6); 4530 } 4531 /** 4532 * @brief Get field ssp from event GAP_EVENT_PAIRING_STARTED 4533 * @param event packet 4534 * @return ssp 4535 * @note: btstack_type 1 4536 */ 4537 static inline uint8_t gap_event_pairing_started_get_ssp(const uint8_t * event){ 4538 return event[10]; 4539 } 4540 /** 4541 * @brief Get field initiator from event GAP_EVENT_PAIRING_STARTED 4542 * @param event packet 4543 * @return initiator 4544 * @note: btstack_type 1 4545 */ 4546 static inline uint8_t gap_event_pairing_started_get_initiator(const uint8_t * event){ 4547 return event[11]; 4548 } 4549 4550 /** 4551 * @brief Get field con_handle from event GAP_EVENT_PAIRING_COMPLETE 4552 * @param event packet 4553 * @return con_handle 4554 * @note: btstack_type H 4555 */ 4556 static inline hci_con_handle_t gap_event_pairing_complete_get_con_handle(const uint8_t * event){ 4557 return little_endian_read_16(event, 2); 4558 } 4559 /** 4560 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_COMPLETE 4561 * @param event packet 4562 * @param Pointer to storage for bd_addr 4563 * @note: btstack_type B 4564 */ 4565 static inline void gap_event_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4566 reverse_bytes(&event[4], bd_addr, 6); 4567 } 4568 /** 4569 * @brief Get field status from event GAP_EVENT_PAIRING_COMPLETE 4570 * @param event packet 4571 * @return status 4572 * @note: btstack_type 1 4573 */ 4574 static inline uint8_t gap_event_pairing_complete_get_status(const uint8_t * event){ 4575 return event[10]; 4576 } 4577 4578 /** 4579 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4580 * @param event packet 4581 * @return status 4582 * @note: btstack_type 1 4583 */ 4584 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 4585 return event[3]; 4586 } 4587 /** 4588 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4589 * @param event packet 4590 * @return connection_handle 4591 * @note: btstack_type H 4592 */ 4593 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 4594 return little_endian_read_16(event, 4); 4595 } 4596 /** 4597 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4598 * @param event packet 4599 * @return role 4600 * @note: btstack_type 1 4601 */ 4602 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 4603 return event[6]; 4604 } 4605 /** 4606 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4607 * @param event packet 4608 * @return peer_address_type 4609 * @note: btstack_type 1 4610 */ 4611 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 4612 return event[7]; 4613 } 4614 /** 4615 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4616 * @param event packet 4617 * @param Pointer to storage for peer_address 4618 * @note: btstack_type B 4619 */ 4620 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 4621 reverse_bytes(&event[8], peer_address, 6); 4622 } 4623 /** 4624 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4625 * @param event packet 4626 * @return conn_interval 4627 * @note: btstack_type 2 4628 */ 4629 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 4630 return little_endian_read_16(event, 14); 4631 } 4632 /** 4633 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4634 * @param event packet 4635 * @return conn_latency 4636 * @note: btstack_type 2 4637 */ 4638 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 4639 return little_endian_read_16(event, 16); 4640 } 4641 /** 4642 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4643 * @param event packet 4644 * @return supervision_timeout 4645 * @note: btstack_type 2 4646 */ 4647 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 4648 return little_endian_read_16(event, 18); 4649 } 4650 /** 4651 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4652 * @param event packet 4653 * @return master_clock_accuracy 4654 * @note: btstack_type 1 4655 */ 4656 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 4657 return event[20]; 4658 } 4659 4660 /** 4661 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4662 * @param event packet 4663 * @return status 4664 * @note: btstack_type 1 4665 */ 4666 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 4667 return event[3]; 4668 } 4669 /** 4670 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4671 * @param event packet 4672 * @return connection_handle 4673 * @note: btstack_type H 4674 */ 4675 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 4676 return little_endian_read_16(event, 4); 4677 } 4678 /** 4679 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4680 * @param event packet 4681 * @return conn_interval 4682 * @note: btstack_type 2 4683 */ 4684 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 4685 return little_endian_read_16(event, 6); 4686 } 4687 /** 4688 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4689 * @param event packet 4690 * @return conn_latency 4691 * @note: btstack_type 2 4692 */ 4693 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 4694 return little_endian_read_16(event, 8); 4695 } 4696 /** 4697 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4698 * @param event packet 4699 * @return supervision_timeout 4700 * @note: btstack_type 2 4701 */ 4702 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 4703 return little_endian_read_16(event, 10); 4704 } 4705 4706 /** 4707 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4708 * @param event packet 4709 * @return connection_handle 4710 * @note: btstack_type H 4711 */ 4712 static inline hci_con_handle_t hci_subevent_le_read_remote_features_complete_get_connection_handle(const uint8_t * event){ 4713 return little_endian_read_16(event, 3); 4714 } 4715 /** 4716 * @brief Get field le_features from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4717 * @param event packet 4718 * @return le_features 4719 * @note: btstack_type D 4720 */ 4721 static inline const uint8_t * hci_subevent_le_read_remote_features_complete_get_le_features(const uint8_t * event){ 4722 return (const uint8_t *) &event[5]; 4723 } 4724 4725 /** 4726 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4727 * @param event packet 4728 * @return connection_handle 4729 * @note: btstack_type H 4730 */ 4731 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 4732 return little_endian_read_16(event, 3); 4733 } 4734 /** 4735 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4736 * @param event packet 4737 * @return random_number 4738 * @note: btstack_type D 4739 */ 4740 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 4741 return (const uint8_t *) &event[5]; 4742 } 4743 /** 4744 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4745 * @param event packet 4746 * @return encryption_diversifier 4747 * @note: btstack_type 2 4748 */ 4749 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 4750 return little_endian_read_16(event, 13); 4751 } 4752 4753 /** 4754 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4755 * @param event packet 4756 * @return connection_handle 4757 * @note: btstack_type H 4758 */ 4759 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 4760 return little_endian_read_16(event, 3); 4761 } 4762 /** 4763 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4764 * @param event packet 4765 * @return interval_min 4766 * @note: btstack_type 2 4767 */ 4768 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 4769 return little_endian_read_16(event, 5); 4770 } 4771 /** 4772 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4773 * @param event packet 4774 * @return interval_max 4775 * @note: btstack_type 2 4776 */ 4777 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 4778 return little_endian_read_16(event, 7); 4779 } 4780 /** 4781 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4782 * @param event packet 4783 * @return latency 4784 * @note: btstack_type 2 4785 */ 4786 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 4787 return little_endian_read_16(event, 9); 4788 } 4789 /** 4790 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4791 * @param event packet 4792 * @return timeout 4793 * @note: btstack_type 2 4794 */ 4795 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 4796 return little_endian_read_16(event, 11); 4797 } 4798 4799 /** 4800 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4801 * @param event packet 4802 * @return connection_handle 4803 * @note: btstack_type H 4804 */ 4805 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 4806 return little_endian_read_16(event, 3); 4807 } 4808 /** 4809 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4810 * @param event packet 4811 * @return max_tx_octets 4812 * @note: btstack_type 2 4813 */ 4814 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 4815 return little_endian_read_16(event, 5); 4816 } 4817 /** 4818 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4819 * @param event packet 4820 * @return max_tx_time 4821 * @note: btstack_type 2 4822 */ 4823 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 4824 return little_endian_read_16(event, 7); 4825 } 4826 /** 4827 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4828 * @param event packet 4829 * @return max_rx_octets 4830 * @note: btstack_type 2 4831 */ 4832 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 4833 return little_endian_read_16(event, 9); 4834 } 4835 /** 4836 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4837 * @param event packet 4838 * @return max_rx_time 4839 * @note: btstack_type 2 4840 */ 4841 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 4842 return little_endian_read_16(event, 11); 4843 } 4844 4845 /** 4846 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4847 * @param event packet 4848 * @return status 4849 * @note: btstack_type 1 4850 */ 4851 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 4852 return event[3]; 4853 } 4854 /** 4855 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4856 * @param event packet 4857 * @param Pointer to storage for dhkey_x 4858 * @note: btstack_type Q 4859 */ 4860 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 4861 reverse_bytes(&event[4], dhkey_x, 32); 4862 } 4863 /** 4864 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4865 * @param event packet 4866 * @param Pointer to storage for dhkey_y 4867 * @note: btstack_type Q 4868 */ 4869 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 4870 reverse_bytes(&event[36], dhkey_y, 32); 4871 } 4872 4873 /** 4874 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4875 * @param event packet 4876 * @return status 4877 * @note: btstack_type 1 4878 */ 4879 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 4880 return event[3]; 4881 } 4882 /** 4883 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4884 * @param event packet 4885 * @param Pointer to storage for dhkey 4886 * @note: btstack_type Q 4887 */ 4888 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 4889 reverse_bytes(&event[4], dhkey, 32); 4890 } 4891 4892 /** 4893 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4894 * @param event packet 4895 * @return status 4896 * @note: btstack_type 1 4897 */ 4898 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_status(const uint8_t * event){ 4899 return event[3]; 4900 } 4901 /** 4902 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4903 * @param event packet 4904 * @return connection_handle 4905 * @note: btstack_type H 4906 */ 4907 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v1_get_connection_handle(const uint8_t * event){ 4908 return little_endian_read_16(event, 4); 4909 } 4910 /** 4911 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4912 * @param event packet 4913 * @return role 4914 * @note: btstack_type 1 4915 */ 4916 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_role(const uint8_t * event){ 4917 return event[6]; 4918 } 4919 /** 4920 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4921 * @param event packet 4922 * @return peer_address_type 4923 * @note: btstack_type 1 4924 */ 4925 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_peer_address_type(const uint8_t * event){ 4926 return event[7]; 4927 } 4928 /** 4929 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4930 * @param event packet 4931 * @param Pointer to storage for peer_addresss 4932 * @note: btstack_type B 4933 */ 4934 static inline void hci_subevent_le_enhanced_connection_complete_v1_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 4935 reverse_bytes(&event[8], peer_addresss, 6); 4936 } 4937 /** 4938 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4939 * @param event packet 4940 * @param Pointer to storage for local_resolvable_private_address 4941 * @note: btstack_type B 4942 */ 4943 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){ 4944 reverse_bytes(&event[14], local_resolvable_private_address, 6); 4945 } 4946 /** 4947 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4948 * @param event packet 4949 * @param Pointer to storage for peer_resolvable_private_address 4950 * @note: btstack_type B 4951 */ 4952 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){ 4953 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 4954 } 4955 /** 4956 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4957 * @param event packet 4958 * @return conn_interval 4959 * @note: btstack_type 2 4960 */ 4961 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_interval(const uint8_t * event){ 4962 return little_endian_read_16(event, 26); 4963 } 4964 /** 4965 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4966 * @param event packet 4967 * @return conn_latency 4968 * @note: btstack_type 2 4969 */ 4970 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_latency(const uint8_t * event){ 4971 return little_endian_read_16(event, 28); 4972 } 4973 /** 4974 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4975 * @param event packet 4976 * @return supervision_timeout 4977 * @note: btstack_type 2 4978 */ 4979 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_supervision_timeout(const uint8_t * event){ 4980 return little_endian_read_16(event, 30); 4981 } 4982 /** 4983 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4984 * @param event packet 4985 * @return master_clock_accuracy 4986 * @note: btstack_type 1 4987 */ 4988 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_master_clock_accuracy(const uint8_t * event){ 4989 return event[32]; 4990 } 4991 4992 /** 4993 * @brief Get field status from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4994 * @param event packet 4995 * @return status 4996 * @note: btstack_type 1 4997 */ 4998 static inline uint8_t hci_subevent_le_phy_update_complete_get_status(const uint8_t * event){ 4999 return event[3]; 5000 } 5001 /** 5002 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 5003 * @param event packet 5004 * @return connection_handle 5005 * @note: btstack_type H 5006 */ 5007 static inline hci_con_handle_t hci_subevent_le_phy_update_complete_get_connection_handle(const uint8_t * event){ 5008 return little_endian_read_16(event, 4); 5009 } 5010 /** 5011 * @brief Get field tx_phy from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 5012 * @param event packet 5013 * @return tx_phy 5014 * @note: btstack_type 1 5015 */ 5016 static inline uint8_t hci_subevent_le_phy_update_complete_get_tx_phy(const uint8_t * event){ 5017 return event[6]; 5018 } 5019 5020 /** 5021 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5022 * @param event packet 5023 * @return status 5024 * @note: btstack_type 1 5025 */ 5026 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_status(const uint8_t * event){ 5027 return event[3]; 5028 } 5029 /** 5030 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5031 * @param event packet 5032 * @return sync_handle 5033 * @note: btstack_type H 5034 */ 5035 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_establishment_get_sync_handle(const uint8_t * event){ 5036 return little_endian_read_16(event, 4); 5037 } 5038 /** 5039 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5040 * @param event packet 5041 * @return advertising_sid 5042 * @note: btstack_type 1 5043 */ 5044 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertising_sid(const uint8_t * event){ 5045 return event[6]; 5046 } 5047 /** 5048 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5049 * @param event packet 5050 * @return advertiser_address_type 5051 * @note: btstack_type 1 5052 */ 5053 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address_type(const uint8_t * event){ 5054 return event[7]; 5055 } 5056 /** 5057 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5058 * @param event packet 5059 * @param Pointer to storage for advertiser_address 5060 * @note: btstack_type B 5061 */ 5062 static inline void hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5063 reverse_bytes(&event[8], advertiser_address, 6); 5064 } 5065 /** 5066 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5067 * @param event packet 5068 * @return advertiser_phy 5069 * @note: btstack_type 1 5070 */ 5071 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_phy(const uint8_t * event){ 5072 return event[14]; 5073 } 5074 /** 5075 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5076 * @param event packet 5077 * @return periodic_advertising_interval 5078 * @note: btstack_type 2 5079 */ 5080 static inline uint16_t hci_subevent_le_periodic_advertising_sync_establishment_get_periodic_advertising_interval(const uint8_t * event){ 5081 return little_endian_read_16(event, 15); 5082 } 5083 /** 5084 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5085 * @param event packet 5086 * @return advertiser_clock_accuracy 5087 * @note: btstack_type 1 5088 */ 5089 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_clock_accuracy(const uint8_t * event){ 5090 return event[17]; 5091 } 5092 5093 /** 5094 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5095 * @param event packet 5096 * @return sync_handle 5097 * @note: btstack_type H 5098 */ 5099 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_report_get_sync_handle(const uint8_t * event){ 5100 return little_endian_read_16(event, 3); 5101 } 5102 /** 5103 * @brief Get field tx_power from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5104 * @param event packet 5105 * @return tx_power 5106 * @note: btstack_type 1 5107 */ 5108 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_tx_power(const uint8_t * event){ 5109 return event[5]; 5110 } 5111 /** 5112 * @brief Get field rssi from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5113 * @param event packet 5114 * @return rssi 5115 * @note: btstack_type 1 5116 */ 5117 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_rssi(const uint8_t * event){ 5118 return event[6]; 5119 } 5120 /** 5121 * @brief Get field cte_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5122 * @param event packet 5123 * @return cte_type 5124 * @note: btstack_type 1 5125 */ 5126 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_cte_type(const uint8_t * event){ 5127 return event[7]; 5128 } 5129 /** 5130 * @brief Get field data_status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5131 * @param event packet 5132 * @return data_status 5133 * @note: btstack_type 1 5134 */ 5135 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_status(const uint8_t * event){ 5136 return event[8]; 5137 } 5138 /** 5139 * @brief Get field data_length from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5140 * @param event packet 5141 * @return data_length 5142 * @note: btstack_type J 5143 */ 5144 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_length(const uint8_t * event){ 5145 return event[9]; 5146 } 5147 /** 5148 * @brief Get field data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5149 * @param event packet 5150 * @return data 5151 * @note: btstack_type V 5152 */ 5153 static inline const uint8_t * hci_subevent_le_periodic_advertising_report_get_data(const uint8_t * event){ 5154 return &event[10]; 5155 } 5156 5157 /** 5158 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_LOST 5159 * @param event packet 5160 * @return sync_handle 5161 * @note: btstack_type H 5162 */ 5163 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_lost_get_sync_handle(const uint8_t * event){ 5164 return little_endian_read_16(event, 3); 5165 } 5166 5167 5168 /** 5169 * @brief Get field status from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5170 * @param event packet 5171 * @return status 5172 * @note: btstack_type 1 5173 */ 5174 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_status(const uint8_t * event){ 5175 return event[3]; 5176 } 5177 /** 5178 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5179 * @param event packet 5180 * @return advertising_handle 5181 * @note: btstack_type 1 5182 */ 5183 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_advertising_handle(const uint8_t * event){ 5184 return event[4]; 5185 } 5186 /** 5187 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5188 * @param event packet 5189 * @return connection_handle 5190 * @note: btstack_type H 5191 */ 5192 static inline hci_con_handle_t hci_subevent_le_advertising_set_terminated_get_connection_handle(const uint8_t * event){ 5193 return little_endian_read_16(event, 5); 5194 } 5195 /** 5196 * @brief Get field num_completed_exteneded_advertising_events from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5197 * @param event packet 5198 * @return num_completed_exteneded_advertising_events 5199 * @note: btstack_type 1 5200 */ 5201 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_num_completed_exteneded_advertising_events(const uint8_t * event){ 5202 return event[7]; 5203 } 5204 5205 /** 5206 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5207 * @param event packet 5208 * @return advertising_handle 5209 * @note: btstack_type 1 5210 */ 5211 static inline uint8_t hci_subevent_le_scan_request_received_get_advertising_handle(const uint8_t * event){ 5212 return event[3]; 5213 } 5214 /** 5215 * @brief Get field scanner_address_type from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5216 * @param event packet 5217 * @return scanner_address_type 5218 * @note: btstack_type 1 5219 */ 5220 static inline uint8_t hci_subevent_le_scan_request_received_get_scanner_address_type(const uint8_t * event){ 5221 return event[4]; 5222 } 5223 /** 5224 * @brief Get field scanner_address from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5225 * @param event packet 5226 * @param Pointer to storage for scanner_address 5227 * @note: btstack_type B 5228 */ 5229 static inline void hci_subevent_le_scan_request_received_get_scanner_address(const uint8_t * event, bd_addr_t scanner_address){ 5230 reverse_bytes(&event[5], scanner_address, 6); 5231 } 5232 5233 /** 5234 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 5235 * @param event packet 5236 * @return connection_handle 5237 * @note: btstack_type H 5238 */ 5239 static inline hci_con_handle_t hci_subevent_le_channel_selection_algorithm_get_connection_handle(const uint8_t * event){ 5240 return little_endian_read_16(event, 3); 5241 } 5242 /** 5243 * @brief Get field channel_selection_algorithm from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 5244 * @param event packet 5245 * @return channel_selection_algorithm 5246 * @note: btstack_type 1 5247 */ 5248 static inline uint8_t hci_subevent_le_channel_selection_algorithm_get_channel_selection_algorithm(const uint8_t * event){ 5249 return event[5]; 5250 } 5251 5252 /** 5253 * @brief Get field status from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5254 * @param event packet 5255 * @return status 5256 * @note: btstack_type 1 5257 */ 5258 static inline uint8_t hci_subevent_le_le_cte_request_failed_get_status(const uint8_t * event){ 5259 return event[3]; 5260 } 5261 /** 5262 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5263 * @param event packet 5264 * @return connection_handle 5265 * @note: btstack_type H 5266 */ 5267 static inline hci_con_handle_t hci_subevent_le_le_cte_request_failed_get_connection_handle(const uint8_t * event){ 5268 return little_endian_read_16(event, 4); 5269 } 5270 5271 /** 5272 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5273 * @param event packet 5274 * @return status 5275 * @note: btstack_type 1 5276 */ 5277 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_status(const uint8_t * event){ 5278 return event[3]; 5279 } 5280 /** 5281 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5282 * @param event packet 5283 * @return connection_handle 5284 * @note: btstack_type H 5285 */ 5286 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_connection_handle(const uint8_t * event){ 5287 return little_endian_read_16(event, 4); 5288 } 5289 /** 5290 * @brief Get field service_data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5291 * @param event packet 5292 * @return service_data 5293 * @note: btstack_type 2 5294 */ 5295 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_service_data(const uint8_t * event){ 5296 return little_endian_read_16(event, 6); 5297 } 5298 /** 5299 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5300 * @param event packet 5301 * @return sync_handle 5302 * @note: btstack_type H 5303 */ 5304 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_sync_handle(const uint8_t * event){ 5305 return little_endian_read_16(event, 8); 5306 } 5307 /** 5308 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5309 * @param event packet 5310 * @return advertising_sid 5311 * @note: btstack_type 1 5312 */ 5313 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertising_sid(const uint8_t * event){ 5314 return event[10]; 5315 } 5316 /** 5317 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5318 * @param event packet 5319 * @return advertiser_address_type 5320 * @note: btstack_type 1 5321 */ 5322 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address_type(const uint8_t * event){ 5323 return event[11]; 5324 } 5325 /** 5326 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5327 * @param event packet 5328 * @param Pointer to storage for advertiser_address 5329 * @note: btstack_type B 5330 */ 5331 static inline void hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5332 reverse_bytes(&event[12], advertiser_address, 6); 5333 } 5334 /** 5335 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5336 * @param event packet 5337 * @return advertiser_phy 5338 * @note: btstack_type 1 5339 */ 5340 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_phy(const uint8_t * event){ 5341 return event[18]; 5342 } 5343 /** 5344 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5345 * @param event packet 5346 * @return periodic_advertising_interval 5347 * @note: btstack_type 2 5348 */ 5349 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_periodic_advertising_interval(const uint8_t * event){ 5350 return little_endian_read_16(event, 19); 5351 } 5352 /** 5353 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5354 * @param event packet 5355 * @return advertiser_clock_accuracy 5356 * @note: btstack_type 1 5357 */ 5358 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_clock_accuracy(const uint8_t * event){ 5359 return event[21]; 5360 } 5361 5362 /** 5363 * @brief Get field status from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5364 * @param event packet 5365 * @return status 5366 * @note: btstack_type 1 5367 */ 5368 static inline uint8_t hci_subevent_le_cis_established_get_status(const uint8_t * event){ 5369 return event[3]; 5370 } 5371 /** 5372 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5373 * @param event packet 5374 * @return connection_handle 5375 * @note: btstack_type H 5376 */ 5377 static inline hci_con_handle_t hci_subevent_le_cis_established_get_connection_handle(const uint8_t * event){ 5378 return little_endian_read_16(event, 4); 5379 } 5380 /** 5381 * @brief Get field cig_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5382 * @param event packet 5383 * @return cig_sync_delay 5384 * @note: btstack_type 3 5385 */ 5386 static inline uint32_t hci_subevent_le_cis_established_get_cig_sync_delay(const uint8_t * event){ 5387 return little_endian_read_24(event, 6); 5388 } 5389 /** 5390 * @brief Get field cis_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5391 * @param event packet 5392 * @return cis_sync_delay 5393 * @note: btstack_type 3 5394 */ 5395 static inline uint32_t hci_subevent_le_cis_established_get_cis_sync_delay(const uint8_t * event){ 5396 return little_endian_read_24(event, 9); 5397 } 5398 /** 5399 * @brief Get field transport_latency_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5400 * @param event packet 5401 * @return transport_latency_c_to_p 5402 * @note: btstack_type 3 5403 */ 5404 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_c_to_p(const uint8_t * event){ 5405 return little_endian_read_24(event, 12); 5406 } 5407 /** 5408 * @brief Get field transport_latency_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5409 * @param event packet 5410 * @return transport_latency_p_to_c 5411 * @note: btstack_type 3 5412 */ 5413 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_p_to_c(const uint8_t * event){ 5414 return little_endian_read_24(event, 15); 5415 } 5416 /** 5417 * @brief Get field phy_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5418 * @param event packet 5419 * @return phy_c_to_p 5420 * @note: btstack_type 1 5421 */ 5422 static inline uint8_t hci_subevent_le_cis_established_get_phy_c_to_p(const uint8_t * event){ 5423 return event[18]; 5424 } 5425 /** 5426 * @brief Get field phy_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5427 * @param event packet 5428 * @return phy_p_to_c 5429 * @note: btstack_type 1 5430 */ 5431 static inline uint8_t hci_subevent_le_cis_established_get_phy_p_to_c(const uint8_t * event){ 5432 return event[19]; 5433 } 5434 /** 5435 * @brief Get field nse from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5436 * @param event packet 5437 * @return nse 5438 * @note: btstack_type 1 5439 */ 5440 static inline uint8_t hci_subevent_le_cis_established_get_nse(const uint8_t * event){ 5441 return event[20]; 5442 } 5443 /** 5444 * @brief Get field bn_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5445 * @param event packet 5446 * @return bn_c_to_p 5447 * @note: btstack_type 1 5448 */ 5449 static inline uint8_t hci_subevent_le_cis_established_get_bn_c_to_p(const uint8_t * event){ 5450 return event[21]; 5451 } 5452 /** 5453 * @brief Get field bn_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5454 * @param event packet 5455 * @return bn_p_to_c 5456 * @note: btstack_type 1 5457 */ 5458 static inline uint8_t hci_subevent_le_cis_established_get_bn_p_to_c(const uint8_t * event){ 5459 return event[22]; 5460 } 5461 /** 5462 * @brief Get field ft_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5463 * @param event packet 5464 * @return ft_c_to_p 5465 * @note: btstack_type 1 5466 */ 5467 static inline uint8_t hci_subevent_le_cis_established_get_ft_c_to_p(const uint8_t * event){ 5468 return event[23]; 5469 } 5470 /** 5471 * @brief Get field ft_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5472 * @param event packet 5473 * @return ft_p_to_c 5474 * @note: btstack_type 1 5475 */ 5476 static inline uint8_t hci_subevent_le_cis_established_get_ft_p_to_c(const uint8_t * event){ 5477 return event[24]; 5478 } 5479 /** 5480 * @brief Get field max_pdu_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5481 * @param event packet 5482 * @return max_pdu_c_to_p 5483 * @note: btstack_type 2 5484 */ 5485 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_c_to_p(const uint8_t * event){ 5486 return little_endian_read_16(event, 25); 5487 } 5488 /** 5489 * @brief Get field max_pdu_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5490 * @param event packet 5491 * @return max_pdu_p_to_c 5492 * @note: btstack_type 2 5493 */ 5494 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_p_to_c(const uint8_t * event){ 5495 return little_endian_read_16(event, 27); 5496 } 5497 /** 5498 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5499 * @param event packet 5500 * @return iso_interval 5501 * @note: btstack_type 2 5502 */ 5503 static inline uint16_t hci_subevent_le_cis_established_get_iso_interval(const uint8_t * event){ 5504 return little_endian_read_16(event, 29); 5505 } 5506 5507 /** 5508 * @brief Get field acl_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5509 * @param event packet 5510 * @return acl_connection_handle 5511 * @note: btstack_type H 5512 */ 5513 static inline hci_con_handle_t hci_subevent_le_cis_request_get_acl_connection_handle(const uint8_t * event){ 5514 return little_endian_read_16(event, 3); 5515 } 5516 /** 5517 * @brief Get field cis_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5518 * @param event packet 5519 * @return cis_connection_handle 5520 * @note: btstack_type H 5521 */ 5522 static inline hci_con_handle_t hci_subevent_le_cis_request_get_cis_connection_handle(const uint8_t * event){ 5523 return little_endian_read_16(event, 5); 5524 } 5525 /** 5526 * @brief Get field cig_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5527 * @param event packet 5528 * @return cig_id 5529 * @note: btstack_type 1 5530 */ 5531 static inline uint8_t hci_subevent_le_cis_request_get_cig_id(const uint8_t * event){ 5532 return event[7]; 5533 } 5534 /** 5535 * @brief Get field cis_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5536 * @param event packet 5537 * @return cis_id 5538 * @note: btstack_type 1 5539 */ 5540 static inline uint8_t hci_subevent_le_cis_request_get_cis_id(const uint8_t * event){ 5541 return event[8]; 5542 } 5543 5544 /** 5545 * @brief Get field big_handle from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5546 * @param event packet 5547 * @return big_handle 5548 * @note: btstack_type 1 5549 */ 5550 static inline uint8_t hci_subevent_le_terminate_big_complete_get_big_handle(const uint8_t * event){ 5551 return event[3]; 5552 } 5553 /** 5554 * @brief Get field reason from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5555 * @param event packet 5556 * @return reason 5557 * @note: btstack_type 1 5558 */ 5559 static inline uint8_t hci_subevent_le_terminate_big_complete_get_reason(const uint8_t * event){ 5560 return event[4]; 5561 } 5562 5563 /** 5564 * @brief Get field big_handle from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5565 * @param event packet 5566 * @return big_handle 5567 * @note: btstack_type 1 5568 */ 5569 static inline uint8_t hci_subevent_le_big_sync_lost_get_big_handle(const uint8_t * event){ 5570 return event[3]; 5571 } 5572 /** 5573 * @brief Get field reason from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5574 * @param event packet 5575 * @return reason 5576 * @note: btstack_type 1 5577 */ 5578 static inline uint8_t hci_subevent_le_big_sync_lost_get_reason(const uint8_t * event){ 5579 return event[4]; 5580 } 5581 5582 /** 5583 * @brief Get field status from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5584 * @param event packet 5585 * @return status 5586 * @note: btstack_type 1 5587 */ 5588 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_status(const uint8_t * event){ 5589 return event[3]; 5590 } 5591 /** 5592 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5593 * @param event packet 5594 * @return connection_handle 5595 * @note: btstack_type H 5596 */ 5597 static inline hci_con_handle_t hci_subevent_le_request_peer_sca_complete_get_connection_handle(const uint8_t * event){ 5598 return little_endian_read_16(event, 4); 5599 } 5600 /** 5601 * @brief Get field peer_clock_accuracy from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5602 * @param event packet 5603 * @return peer_clock_accuracy 5604 * @note: btstack_type 1 5605 */ 5606 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_peer_clock_accuracy(const uint8_t * event){ 5607 return event[6]; 5608 } 5609 5610 /** 5611 * @brief Get field status from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5612 * @param event packet 5613 * @return status 5614 * @note: btstack_type 1 5615 */ 5616 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_status(const uint8_t * event){ 5617 return event[3]; 5618 } 5619 /** 5620 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5621 * @param event packet 5622 * @return connection_handle 5623 * @note: btstack_type H 5624 */ 5625 static inline hci_con_handle_t hci_subevent_le_transmit_power_reporting_get_connection_handle(const uint8_t * event){ 5626 return little_endian_read_16(event, 4); 5627 } 5628 /** 5629 * @brief Get field reason from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5630 * @param event packet 5631 * @return reason 5632 * @note: btstack_type 1 5633 */ 5634 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_reason(const uint8_t * event){ 5635 return event[6]; 5636 } 5637 /** 5638 * @brief Get field phy from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5639 * @param event packet 5640 * @return phy 5641 * @note: btstack_type 1 5642 */ 5643 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_phy(const uint8_t * event){ 5644 return event[7]; 5645 } 5646 /** 5647 * @brief Get field tx_power_level from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5648 * @param event packet 5649 * @return tx_power_level 5650 * @note: btstack_type 1 5651 */ 5652 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level(const uint8_t * event){ 5653 return event[8]; 5654 } 5655 /** 5656 * @brief Get field tx_power_level_flag from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5657 * @param event packet 5658 * @return tx_power_level_flag 5659 * @note: btstack_type 1 5660 */ 5661 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level_flag(const uint8_t * event){ 5662 return event[9]; 5663 } 5664 /** 5665 * @brief Get field delta from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5666 * @param event packet 5667 * @return delta 5668 * @note: btstack_type 1 5669 */ 5670 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_delta(const uint8_t * event){ 5671 return event[10]; 5672 } 5673 5674 /** 5675 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5676 * @param event packet 5677 * @return sync_handle 5678 * @note: btstack_type H 5679 */ 5680 static inline hci_con_handle_t hci_subevent_le_biginfo_advertising_report_get_sync_handle(const uint8_t * event){ 5681 return little_endian_read_16(event, 3); 5682 } 5683 /** 5684 * @brief Get field num_bis from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5685 * @param event packet 5686 * @return num_bis 5687 * @note: btstack_type 1 5688 */ 5689 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_num_bis(const uint8_t * event){ 5690 return event[5]; 5691 } 5692 /** 5693 * @brief Get field nse from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5694 * @param event packet 5695 * @return nse 5696 * @note: btstack_type 1 5697 */ 5698 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_nse(const uint8_t * event){ 5699 return event[6]; 5700 } 5701 /** 5702 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5703 * @param event packet 5704 * @return iso_interval 5705 * @note: btstack_type 2 5706 */ 5707 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_iso_interval(const uint8_t * event){ 5708 return little_endian_read_16(event, 7); 5709 } 5710 /** 5711 * @brief Get field bn from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5712 * @param event packet 5713 * @return bn 5714 * @note: btstack_type 1 5715 */ 5716 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_bn(const uint8_t * event){ 5717 return event[9]; 5718 } 5719 /** 5720 * @brief Get field pto from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5721 * @param event packet 5722 * @return pto 5723 * @note: btstack_type 1 5724 */ 5725 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_pto(const uint8_t * event){ 5726 return event[10]; 5727 } 5728 /** 5729 * @brief Get field irc from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5730 * @param event packet 5731 * @return irc 5732 * @note: btstack_type 1 5733 */ 5734 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_irc(const uint8_t * event){ 5735 return event[11]; 5736 } 5737 /** 5738 * @brief Get field max_pdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5739 * @param event packet 5740 * @return max_pdu 5741 * @note: btstack_type 2 5742 */ 5743 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_pdu(const uint8_t * event){ 5744 return little_endian_read_16(event, 12); 5745 } 5746 /** 5747 * @brief Get field sdu_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5748 * @param event packet 5749 * @return sdu_interval 5750 * @note: btstack_type 3 5751 */ 5752 static inline uint32_t hci_subevent_le_biginfo_advertising_report_get_sdu_interval(const uint8_t * event){ 5753 return little_endian_read_24(event, 14); 5754 } 5755 /** 5756 * @brief Get field max_sdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5757 * @param event packet 5758 * @return max_sdu 5759 * @note: btstack_type 2 5760 */ 5761 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_sdu(const uint8_t * event){ 5762 return little_endian_read_16(event, 17); 5763 } 5764 /** 5765 * @brief Get field phy from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5766 * @param event packet 5767 * @return phy 5768 * @note: btstack_type 1 5769 */ 5770 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_phy(const uint8_t * event){ 5771 return event[19]; 5772 } 5773 /** 5774 * @brief Get field framing from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5775 * @param event packet 5776 * @return framing 5777 * @note: btstack_type 1 5778 */ 5779 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_framing(const uint8_t * event){ 5780 return event[20]; 5781 } 5782 /** 5783 * @brief Get field encryption from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5784 * @param event packet 5785 * @return encryption 5786 * @note: btstack_type 1 5787 */ 5788 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_encryption(const uint8_t * event){ 5789 return event[21]; 5790 } 5791 5792 /** 5793 * @brief Get field status from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5794 * @param event packet 5795 * @return status 5796 * @note: btstack_type 1 5797 */ 5798 static inline uint8_t hci_subevent_le_subrate_change_get_status(const uint8_t * event){ 5799 return event[3]; 5800 } 5801 /** 5802 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5803 * @param event packet 5804 * @return connection_handle 5805 * @note: btstack_type H 5806 */ 5807 static inline hci_con_handle_t hci_subevent_le_subrate_change_get_connection_handle(const uint8_t * event){ 5808 return little_endian_read_16(event, 4); 5809 } 5810 /** 5811 * @brief Get field subrate_factor from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5812 * @param event packet 5813 * @return subrate_factor 5814 * @note: btstack_type 2 5815 */ 5816 static inline uint16_t hci_subevent_le_subrate_change_get_subrate_factor(const uint8_t * event){ 5817 return little_endian_read_16(event, 6); 5818 } 5819 /** 5820 * @brief Get field peripheral_latency from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5821 * @param event packet 5822 * @return peripheral_latency 5823 * @note: btstack_type 2 5824 */ 5825 static inline uint16_t hci_subevent_le_subrate_change_get_peripheral_latency(const uint8_t * event){ 5826 return little_endian_read_16(event, 8); 5827 } 5828 /** 5829 * @brief Get field continuation_number from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5830 * @param event packet 5831 * @return continuation_number 5832 * @note: btstack_type 2 5833 */ 5834 static inline uint16_t hci_subevent_le_subrate_change_get_continuation_number(const uint8_t * event){ 5835 return little_endian_read_16(event, 10); 5836 } 5837 /** 5838 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5839 * @param event packet 5840 * @return supervision_timeout 5841 * @note: btstack_type 2 5842 */ 5843 static inline uint16_t hci_subevent_le_subrate_change_get_supervision_timeout(const uint8_t * event){ 5844 return little_endian_read_16(event, 12); 5845 } 5846 5847 /** 5848 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5849 * @param event packet 5850 * @return advertising_handle 5851 * @note: btstack_type 1 5852 */ 5853 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_advertising_handle(const uint8_t * event){ 5854 return event[3]; 5855 } 5856 /** 5857 * @brief Get field subevent_start from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5858 * @param event packet 5859 * @return subevent_start 5860 * @note: btstack_type 1 5861 */ 5862 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_start(const uint8_t * event){ 5863 return event[4]; 5864 } 5865 /** 5866 * @brief Get field subevent_data_count from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5867 * @param event packet 5868 * @return subevent_data_count 5869 * @note: btstack_type 1 5870 */ 5871 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_data_count(const uint8_t * event){ 5872 return event[5]; 5873 } 5874 5875 /** 5876 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5877 * @param event packet 5878 * @return status 5879 * @note: btstack_type 1 5880 */ 5881 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_status(const uint8_t * event){ 5882 return event[3]; 5883 } 5884 /** 5885 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5886 * @param event packet 5887 * @return connection_handle 5888 * @note: btstack_type H 5889 */ 5890 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_connection_handle(const uint8_t * event){ 5891 return little_endian_read_16(event, 4); 5892 } 5893 /** 5894 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5895 * @param event packet 5896 * @return role 5897 * @note: btstack_type 1 5898 */ 5899 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_role(const uint8_t * event){ 5900 return event[6]; 5901 } 5902 /** 5903 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5904 * @param event packet 5905 * @return peer_address_type 5906 * @note: btstack_type 1 5907 */ 5908 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_peer_address_type(const uint8_t * event){ 5909 return event[7]; 5910 } 5911 /** 5912 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5913 * @param event packet 5914 * @param Pointer to storage for peer_addresss 5915 * @note: btstack_type B 5916 */ 5917 static inline void hci_subevent_le_enhanced_connection_complete_v2_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 5918 reverse_bytes(&event[8], peer_addresss, 6); 5919 } 5920 /** 5921 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5922 * @param event packet 5923 * @param Pointer to storage for local_resolvable_private_address 5924 * @note: btstack_type B 5925 */ 5926 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){ 5927 reverse_bytes(&event[14], local_resolvable_private_address, 6); 5928 } 5929 /** 5930 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5931 * @param event packet 5932 * @param Pointer to storage for peer_resolvable_private_address 5933 * @note: btstack_type B 5934 */ 5935 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){ 5936 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 5937 } 5938 /** 5939 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5940 * @param event packet 5941 * @return conn_interval 5942 * @note: btstack_type 2 5943 */ 5944 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_interval(const uint8_t * event){ 5945 return little_endian_read_16(event, 26); 5946 } 5947 /** 5948 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5949 * @param event packet 5950 * @return conn_latency 5951 * @note: btstack_type 2 5952 */ 5953 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_latency(const uint8_t * event){ 5954 return little_endian_read_16(event, 28); 5955 } 5956 /** 5957 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5958 * @param event packet 5959 * @return supervision_timeout 5960 * @note: btstack_type 2 5961 */ 5962 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_supervision_timeout(const uint8_t * event){ 5963 return little_endian_read_16(event, 30); 5964 } 5965 /** 5966 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5967 * @param event packet 5968 * @return master_clock_accuracy 5969 * @note: btstack_type 1 5970 */ 5971 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_master_clock_accuracy(const uint8_t * event){ 5972 return event[32]; 5973 } 5974 /** 5975 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5976 * @param event packet 5977 * @return advertising_handle 5978 * @note: btstack_type 1 5979 */ 5980 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_advertising_handle(const uint8_t * event){ 5981 return event[33]; 5982 } 5983 /** 5984 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5985 * @param event packet 5986 * @return sync_handle 5987 * @note: btstack_type H 5988 */ 5989 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_sync_handle(const uint8_t * event){ 5990 return little_endian_read_16(event, 34); 5991 } 5992 5993 /** 5994 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5995 * @param event packet 5996 * @return advertisement_handle 5997 * @note: btstack_type 1 5998 */ 5999 static inline uint8_t gap_subevent_advertising_set_installed_get_advertisement_handle(const uint8_t * event){ 6000 return event[3]; 6001 } 6002 /** 6003 * @brief Get field status from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 6004 * @param event packet 6005 * @return status 6006 * @note: btstack_type 1 6007 */ 6008 static inline uint8_t gap_subevent_advertising_set_installed_get_status(const uint8_t * event){ 6009 return event[4]; 6010 } 6011 /** 6012 * @brief Get field selected_tx_power from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 6013 * @param event packet 6014 * @return selected_tx_power 6015 * @note: btstack_type 1 6016 */ 6017 static inline uint8_t gap_subevent_advertising_set_installed_get_selected_tx_power(const uint8_t * event){ 6018 return event[5]; 6019 } 6020 6021 /** 6022 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_REMOVED 6023 * @param event packet 6024 * @return advertisement_handle 6025 * @note: btstack_type 1 6026 */ 6027 static inline uint8_t gap_subevent_advertising_set_removed_get_advertisement_handle(const uint8_t * event){ 6028 return event[3]; 6029 } 6030 6031 /** 6032 * @brief Get field status from event GAP_SUBEVENT_BIG_CREATED 6033 * @param event packet 6034 * @return status 6035 * @note: btstack_type 1 6036 */ 6037 static inline uint8_t gap_subevent_big_created_get_status(const uint8_t * event){ 6038 return event[3]; 6039 } 6040 /** 6041 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_CREATED 6042 * @param event packet 6043 * @return big_handle 6044 * @note: btstack_type 1 6045 */ 6046 static inline uint8_t gap_subevent_big_created_get_big_handle(const uint8_t * event){ 6047 return event[4]; 6048 } 6049 /** 6050 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_CREATED 6051 * @param event packet 6052 * @return num_bis 6053 * @note: btstack_type 1 6054 */ 6055 static inline uint8_t gap_subevent_big_created_get_num_bis(const uint8_t * event){ 6056 return event[5]; 6057 } 6058 /** 6059 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_CREATED 6060 * @param event packet 6061 * @param index 6062 * @return bis_con_handles 6063 * @note: btstack_type C 6064 */ 6065 static inline uint16_t gap_subevent_big_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 6066 return little_endian_read_16(event, 6 + (2 * (int) index)); 6067 } 6068 6069 /** 6070 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_TERMINATED 6071 * @param event packet 6072 * @return big_handle 6073 * @note: btstack_type 1 6074 */ 6075 static inline uint8_t gap_subevent_big_terminated_get_big_handle(const uint8_t * event){ 6076 return event[3]; 6077 } 6078 6079 /** 6080 * @brief Get field status from event GAP_SUBEVENT_BIG_SYNC_CREATED 6081 * @param event packet 6082 * @return status 6083 * @note: btstack_type 1 6084 */ 6085 static inline uint8_t gap_subevent_big_sync_created_get_status(const uint8_t * event){ 6086 return event[3]; 6087 } 6088 /** 6089 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_CREATED 6090 * @param event packet 6091 * @return big_handle 6092 * @note: btstack_type 1 6093 */ 6094 static inline uint8_t gap_subevent_big_sync_created_get_big_handle(const uint8_t * event){ 6095 return event[4]; 6096 } 6097 /** 6098 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_SYNC_CREATED 6099 * @param event packet 6100 * @return num_bis 6101 * @note: btstack_type 1 6102 */ 6103 static inline uint8_t gap_subevent_big_sync_created_get_num_bis(const uint8_t * event){ 6104 return event[5]; 6105 } 6106 /** 6107 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_SYNC_CREATED 6108 * @param event packet 6109 * @param index 6110 * @return bis_con_handles 6111 * @note: btstack_type C 6112 */ 6113 static inline uint16_t gap_subevent_big_sync_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 6114 return little_endian_read_16(event, 6 + (2 * (int) index)); 6115 } 6116 6117 /** 6118 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_STOPPED 6119 * @param event packet 6120 * @return big_handle 6121 * @note: btstack_type 1 6122 */ 6123 static inline uint8_t gap_subevent_big_sync_stopped_get_big_handle(const uint8_t * event){ 6124 return event[3]; 6125 } 6126 6127 /** 6128 * @brief Get field status from event GAP_SUBEVENT_CIG_CREATED 6129 * @param event packet 6130 * @return status 6131 * @note: btstack_type 1 6132 */ 6133 static inline uint8_t gap_subevent_cig_created_get_status(const uint8_t * event){ 6134 return event[3]; 6135 } 6136 /** 6137 * @brief Get field cig_id from event GAP_SUBEVENT_CIG_CREATED 6138 * @param event packet 6139 * @return cig_id 6140 * @note: btstack_type 1 6141 */ 6142 static inline uint8_t gap_subevent_cig_created_get_cig_id(const uint8_t * event){ 6143 return event[4]; 6144 } 6145 /** 6146 * @brief Get field num_cis from event GAP_SUBEVENT_CIG_CREATED 6147 * @param event packet 6148 * @return num_cis 6149 * @note: btstack_type 1 6150 */ 6151 static inline uint8_t gap_subevent_cig_created_get_num_cis(const uint8_t * event){ 6152 return event[5]; 6153 } 6154 /** 6155 * @brief Get element of array field cis_con_handles from event GAP_SUBEVENT_CIG_CREATED 6156 * @param event packet 6157 * @param index 6158 * @return cis_con_handles 6159 * @note: btstack_type C 6160 */ 6161 static inline uint16_t gap_subevent_cig_created_get_cis_con_handles(const uint8_t * event, uint8_t index){ 6162 return little_endian_read_16(event, 6 + (2 * (int) index)); 6163 } 6164 6165 /** 6166 * @brief Get field status from event GAP_SUBEVENT_CIS_CREATED 6167 * @param event packet 6168 * @return status 6169 * @note: btstack_type 1 6170 */ 6171 static inline uint8_t gap_subevent_cis_created_get_status(const uint8_t * event){ 6172 return event[3]; 6173 } 6174 /** 6175 * @brief Get field cig_id from event GAP_SUBEVENT_CIS_CREATED 6176 * @param event packet 6177 * @return cig_id 6178 * @note: btstack_type 1 6179 */ 6180 static inline uint8_t gap_subevent_cis_created_get_cig_id(const uint8_t * event){ 6181 return event[4]; 6182 } 6183 /** 6184 * @brief Get field cis_id from event GAP_SUBEVENT_CIS_CREATED 6185 * @param event packet 6186 * @return cis_id 6187 * @note: btstack_type 1 6188 */ 6189 static inline uint8_t gap_subevent_cis_created_get_cis_id(const uint8_t * event){ 6190 return event[5]; 6191 } 6192 /** 6193 * @brief Get field cis_con_handle from event GAP_SUBEVENT_CIS_CREATED 6194 * @param event packet 6195 * @return cis_con_handle 6196 * @note: btstack_type H 6197 */ 6198 static inline hci_con_handle_t gap_subevent_cis_created_get_cis_con_handle(const uint8_t * event){ 6199 return little_endian_read_16(event, 6); 6200 } 6201 /** 6202 * @brief Get field acl_con_handle from event GAP_SUBEVENT_CIS_CREATED 6203 * @param event packet 6204 * @return acl_con_handle 6205 * @note: btstack_type H 6206 */ 6207 static inline hci_con_handle_t gap_subevent_cis_created_get_acl_con_handle(const uint8_t * event){ 6208 return little_endian_read_16(event, 8); 6209 } 6210 /** 6211 * @brief Get field iso_interval_1250us from event GAP_SUBEVENT_CIS_CREATED 6212 * @param event packet 6213 * @return iso_interval_1250us 6214 * @note: btstack_type 2 6215 */ 6216 static inline uint16_t gap_subevent_cis_created_get_iso_interval_1250us(const uint8_t * event){ 6217 return little_endian_read_16(event, 10); 6218 } 6219 /** 6220 * @brief Get field number_of_subevents from event GAP_SUBEVENT_CIS_CREATED 6221 * @param event packet 6222 * @return number_of_subevents 6223 * @note: btstack_type 1 6224 */ 6225 static inline uint8_t gap_subevent_cis_created_get_number_of_subevents(const uint8_t * event){ 6226 return event[12]; 6227 } 6228 /** 6229 * @brief Get field burst_number_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6230 * @param event packet 6231 * @return burst_number_c_to_p 6232 * @note: btstack_type 1 6233 */ 6234 static inline uint8_t gap_subevent_cis_created_get_burst_number_c_to_p(const uint8_t * event){ 6235 return event[13]; 6236 } 6237 /** 6238 * @brief Get field burst_number_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6239 * @param event packet 6240 * @return burst_number_p_to_c 6241 * @note: btstack_type 1 6242 */ 6243 static inline uint8_t gap_subevent_cis_created_get_burst_number_p_to_c(const uint8_t * event){ 6244 return event[14]; 6245 } 6246 /** 6247 * @brief Get field flush_timeout_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6248 * @param event packet 6249 * @return flush_timeout_c_to_p 6250 * @note: btstack_type 1 6251 */ 6252 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_c_to_p(const uint8_t * event){ 6253 return event[15]; 6254 } 6255 /** 6256 * @brief Get field flush_timeout_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6257 * @param event packet 6258 * @return flush_timeout_p_to_c 6259 * @note: btstack_type 1 6260 */ 6261 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_p_to_c(const uint8_t * event){ 6262 return event[16]; 6263 } 6264 6265 /** 6266 * @brief Get field status from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6267 * @param event packet 6268 * @return status 6269 * @note: btstack_type 1 6270 */ 6271 static inline uint8_t gap_subevent_le_connection_complete_get_status(const uint8_t * event){ 6272 return event[3]; 6273 } 6274 /** 6275 * @brief Get field connection_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6276 * @param event packet 6277 * @return connection_handle 6278 * @note: btstack_type H 6279 */ 6280 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 6281 return little_endian_read_16(event, 4); 6282 } 6283 /** 6284 * @brief Get field role from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6285 * @param event packet 6286 * @return role 6287 * @note: btstack_type 1 6288 */ 6289 static inline uint8_t gap_subevent_le_connection_complete_get_role(const uint8_t * event){ 6290 return event[6]; 6291 } 6292 /** 6293 * @brief Get field peer_address_type from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6294 * @param event packet 6295 * @return peer_address_type 6296 * @note: btstack_type 1 6297 */ 6298 static inline uint8_t gap_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 6299 return event[7]; 6300 } 6301 /** 6302 * @brief Get field peer_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6303 * @param event packet 6304 * @param Pointer to storage for peer_address 6305 * @note: btstack_type B 6306 */ 6307 static inline void gap_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 6308 reverse_bytes(&event[8], peer_address, 6); 6309 } 6310 /** 6311 * @brief Get field local_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6312 * @param event packet 6313 * @param Pointer to storage for local_resolvable_private_address 6314 * @note: btstack_type B 6315 */ 6316 static inline void gap_subevent_le_connection_complete_get_local_resolvable_private_address(const uint8_t * event, bd_addr_t local_resolvable_private_address){ 6317 reverse_bytes(&event[14], local_resolvable_private_address, 6); 6318 } 6319 /** 6320 * @brief Get field peer_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6321 * @param event packet 6322 * @param Pointer to storage for peer_resolvable_private_address 6323 * @note: btstack_type B 6324 */ 6325 static inline void gap_subevent_le_connection_complete_get_peer_resolvable_private_address(const uint8_t * event, bd_addr_t peer_resolvable_private_address){ 6326 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 6327 } 6328 /** 6329 * @brief Get field conn_interval from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6330 * @param event packet 6331 * @return conn_interval 6332 * @note: btstack_type 2 6333 */ 6334 static inline uint16_t gap_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 6335 return little_endian_read_16(event, 26); 6336 } 6337 /** 6338 * @brief Get field conn_latency from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6339 * @param event packet 6340 * @return conn_latency 6341 * @note: btstack_type 2 6342 */ 6343 static inline uint16_t gap_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 6344 return little_endian_read_16(event, 28); 6345 } 6346 /** 6347 * @brief Get field supervision_timeout from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6348 * @param event packet 6349 * @return supervision_timeout 6350 * @note: btstack_type 2 6351 */ 6352 static inline uint16_t gap_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 6353 return little_endian_read_16(event, 30); 6354 } 6355 /** 6356 * @brief Get field master_clock_accuracy from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6357 * @param event packet 6358 * @return master_clock_accuracy 6359 * @note: btstack_type 1 6360 */ 6361 static inline uint8_t gap_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 6362 return event[32]; 6363 } 6364 /** 6365 * @brief Get field advertising_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6366 * @param event packet 6367 * @return advertising_handle 6368 * @note: btstack_type 1 6369 */ 6370 static inline uint8_t gap_subevent_le_connection_complete_get_advertising_handle(const uint8_t * event){ 6371 return event[33]; 6372 } 6373 /** 6374 * @brief Get field sync_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6375 * @param event packet 6376 * @return sync_handle 6377 * @note: btstack_type H 6378 */ 6379 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_sync_handle(const uint8_t * event){ 6380 return little_endian_read_16(event, 34); 6381 } 6382 6383 /** 6384 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6385 * @param event packet 6386 * @return acl_handle 6387 * @note: btstack_type H 6388 */ 6389 static inline hci_con_handle_t hsp_subevent_rfcomm_connection_complete_get_acl_handle(const uint8_t * event){ 6390 return little_endian_read_16(event, 3); 6391 } 6392 /** 6393 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6394 * @param event packet 6395 * @return status 6396 * @note: btstack_type 1 6397 */ 6398 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 6399 return event[5]; 6400 } 6401 /** 6402 * @brief Get field bd_addr from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6403 * @param event packet 6404 * @param Pointer to storage for bd_addr 6405 * @note: btstack_type B 6406 */ 6407 static inline void hsp_subevent_rfcomm_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6408 reverse_bytes(&event[6], bd_addr, 6); 6409 } 6410 6411 /** 6412 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 6413 * @param event packet 6414 * @return acl_handle 6415 * @note: btstack_type H 6416 */ 6417 static inline hci_con_handle_t hsp_subevent_rfcomm_disconnection_complete_get_acl_handle(const uint8_t * event){ 6418 return little_endian_read_16(event, 3); 6419 } 6420 6421 /** 6422 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6423 * @param event packet 6424 * @return acl_handle 6425 * @note: btstack_type H 6426 */ 6427 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_acl_handle(const uint8_t * event){ 6428 return little_endian_read_16(event, 3); 6429 } 6430 /** 6431 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6432 * @param event packet 6433 * @return status 6434 * @note: btstack_type 1 6435 */ 6436 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 6437 return event[5]; 6438 } 6439 /** 6440 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6441 * @param event packet 6442 * @return sco_handle 6443 * @note: btstack_type H 6444 */ 6445 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_sco_handle(const uint8_t * event){ 6446 return little_endian_read_16(event, 6); 6447 } 6448 6449 /** 6450 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6451 * @param event packet 6452 * @return acl_handle 6453 * @note: btstack_type H 6454 */ 6455 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_acl_handle(const uint8_t * event){ 6456 return little_endian_read_16(event, 3); 6457 } 6458 /** 6459 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6460 * @param event packet 6461 * @return sco_handle 6462 * @note: btstack_type H 6463 */ 6464 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_sco_handle(const uint8_t * event){ 6465 return little_endian_read_16(event, 5); 6466 } 6467 6468 /** 6469 * @brief Get field acl_handle from event HSP_SUBEVENT_RING 6470 * @param event packet 6471 * @return acl_handle 6472 * @note: btstack_type H 6473 */ 6474 static inline hci_con_handle_t hsp_subevent_ring_get_acl_handle(const uint8_t * event){ 6475 return little_endian_read_16(event, 3); 6476 } 6477 6478 /** 6479 * @brief Get field acl_handle from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6480 * @param event packet 6481 * @return acl_handle 6482 * @note: btstack_type H 6483 */ 6484 static inline hci_con_handle_t hsp_subevent_microphone_gain_changed_get_acl_handle(const uint8_t * event){ 6485 return little_endian_read_16(event, 3); 6486 } 6487 /** 6488 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6489 * @param event packet 6490 * @return gain 6491 * @note: btstack_type 1 6492 */ 6493 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 6494 return event[5]; 6495 } 6496 6497 /** 6498 * @brief Get field acl_handle from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6499 * @param event packet 6500 * @return acl_handle 6501 * @note: btstack_type H 6502 */ 6503 static inline hci_con_handle_t hsp_subevent_speaker_gain_changed_get_acl_handle(const uint8_t * event){ 6504 return little_endian_read_16(event, 3); 6505 } 6506 /** 6507 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6508 * @param event packet 6509 * @return gain 6510 * @note: btstack_type 1 6511 */ 6512 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 6513 return event[5]; 6514 } 6515 6516 /** 6517 * @brief Get field acl_handle from event HSP_SUBEVENT_HS_COMMAND 6518 * @param event packet 6519 * @return acl_handle 6520 * @note: btstack_type H 6521 */ 6522 static inline hci_con_handle_t hsp_subevent_hs_command_get_acl_handle(const uint8_t * event){ 6523 return little_endian_read_16(event, 3); 6524 } 6525 /** 6526 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 6527 * @param event packet 6528 * @return value_length 6529 * @note: btstack_type J 6530 */ 6531 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 6532 return event[5]; 6533 } 6534 /** 6535 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 6536 * @param event packet 6537 * @return value 6538 * @note: btstack_type V 6539 */ 6540 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 6541 return &event[6]; 6542 } 6543 6544 /** 6545 * @brief Get field acl_handle from event HSP_SUBEVENT_AG_INDICATION 6546 * @param event packet 6547 * @return acl_handle 6548 * @note: btstack_type H 6549 */ 6550 static inline hci_con_handle_t hsp_subevent_ag_indication_get_acl_handle(const uint8_t * event){ 6551 return little_endian_read_16(event, 3); 6552 } 6553 /** 6554 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 6555 * @param event packet 6556 * @return value_length 6557 * @note: btstack_type J 6558 */ 6559 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 6560 return event[5]; 6561 } 6562 /** 6563 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 6564 * @param event packet 6565 * @return value 6566 * @note: btstack_type V 6567 */ 6568 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 6569 return &event[6]; 6570 } 6571 6572 /** 6573 * @brief Get field acl_handle from event HSP_SUBEVENT_BUTTON_PRESSED 6574 * @param event packet 6575 * @return acl_handle 6576 * @note: btstack_type H 6577 */ 6578 static inline hci_con_handle_t hsp_subevent_button_pressed_get_acl_handle(const uint8_t * event){ 6579 return little_endian_read_16(event, 3); 6580 } 6581 6582 /** 6583 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6584 * @param event packet 6585 * @return acl_handle 6586 * @note: btstack_type H 6587 */ 6588 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_acl_handle(const uint8_t * event){ 6589 return little_endian_read_16(event, 3); 6590 } 6591 /** 6592 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6593 * @param event packet 6594 * @return status 6595 * @note: btstack_type 1 6596 */ 6597 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 6598 return event[5]; 6599 } 6600 /** 6601 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6602 * @param event packet 6603 * @param Pointer to storage for bd_addr 6604 * @note: btstack_type B 6605 */ 6606 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6607 reverse_bytes(&event[6], bd_addr, 6); 6608 } 6609 6610 /** 6611 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 6612 * @param event packet 6613 * @return acl_handle 6614 * @note: btstack_type H 6615 */ 6616 static inline hci_con_handle_t hfp_subevent_service_level_connection_released_get_acl_handle(const uint8_t * event){ 6617 return little_endian_read_16(event, 3); 6618 } 6619 6620 /** 6621 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6622 * @param event packet 6623 * @return acl_handle 6624 * @note: btstack_type H 6625 */ 6626 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_acl_handle(const uint8_t * event){ 6627 return little_endian_read_16(event, 3); 6628 } 6629 /** 6630 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6631 * @param event packet 6632 * @return status 6633 * @note: btstack_type 1 6634 */ 6635 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 6636 return event[5]; 6637 } 6638 /** 6639 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6640 * @param event packet 6641 * @return sco_handle 6642 * @note: btstack_type H 6643 */ 6644 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_sco_handle(const uint8_t * event){ 6645 return little_endian_read_16(event, 6); 6646 } 6647 /** 6648 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6649 * @param event packet 6650 * @param Pointer to storage for bd_addr 6651 * @note: btstack_type B 6652 */ 6653 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6654 reverse_bytes(&event[8], bd_addr, 6); 6655 } 6656 /** 6657 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6658 * @param event packet 6659 * @return negotiated_codec 6660 * @note: btstack_type 1 6661 */ 6662 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 6663 return event[14]; 6664 } 6665 /** 6666 * @brief Get field sco_packet_types from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6667 * @param event packet 6668 * @return sco_packet_types 6669 * @note: btstack_type 2 6670 */ 6671 static inline uint16_t hfp_subevent_audio_connection_established_get_sco_packet_types(const uint8_t * event){ 6672 return little_endian_read_16(event, 15); 6673 } 6674 /** 6675 * @brief Get field rx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6676 * @param event packet 6677 * @return rx_packet_length 6678 * @note: btstack_type 2 6679 */ 6680 static inline uint16_t hfp_subevent_audio_connection_established_get_rx_packet_length(const uint8_t * event){ 6681 return little_endian_read_16(event, 17); 6682 } 6683 /** 6684 * @brief Get field tx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6685 * @param event packet 6686 * @return tx_packet_length 6687 * @note: btstack_type 2 6688 */ 6689 static inline uint16_t hfp_subevent_audio_connection_established_get_tx_packet_length(const uint8_t * event){ 6690 return little_endian_read_16(event, 19); 6691 } 6692 6693 /** 6694 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6695 * @param event packet 6696 * @return acl_handle 6697 * @note: btstack_type H 6698 */ 6699 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_acl_handle(const uint8_t * event){ 6700 return little_endian_read_16(event, 3); 6701 } 6702 /** 6703 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6704 * @param event packet 6705 * @return sco_handle 6706 * @note: btstack_type H 6707 */ 6708 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_sco_handle(const uint8_t * event){ 6709 return little_endian_read_16(event, 5); 6710 } 6711 6712 /** 6713 * @brief Get field acl_handle from event HFP_SUBEVENT_COMPLETE 6714 * @param event packet 6715 * @return acl_handle 6716 * @note: btstack_type H 6717 */ 6718 static inline hci_con_handle_t hfp_subevent_complete_get_acl_handle(const uint8_t * event){ 6719 return little_endian_read_16(event, 3); 6720 } 6721 /** 6722 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 6723 * @param event packet 6724 * @return status 6725 * @note: btstack_type 1 6726 */ 6727 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 6728 return event[5]; 6729 } 6730 6731 /** 6732 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6733 * @param event packet 6734 * @return acl_handle 6735 * @note: btstack_type H 6736 */ 6737 static inline hci_con_handle_t hfp_subevent_ag_indicator_mapping_get_acl_handle(const uint8_t * event){ 6738 return little_endian_read_16(event, 3); 6739 } 6740 /** 6741 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6742 * @param event packet 6743 * @return indicator_index 6744 * @note: btstack_type 1 6745 */ 6746 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_index(const uint8_t * event){ 6747 return event[5]; 6748 } 6749 /** 6750 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6751 * @param event packet 6752 * @return indicator_min_range 6753 * @note: btstack_type 1 6754 */ 6755 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_min_range(const uint8_t * event){ 6756 return event[6]; 6757 } 6758 /** 6759 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6760 * @param event packet 6761 * @return indicator_max_range 6762 * @note: btstack_type 1 6763 */ 6764 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_max_range(const uint8_t * event){ 6765 return event[7]; 6766 } 6767 /** 6768 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6769 * @param event packet 6770 * @return indicator_name 6771 * @note: btstack_type T 6772 */ 6773 static inline const char * hfp_subevent_ag_indicator_mapping_get_indicator_name(const uint8_t * event){ 6774 return (const char *) &event[8]; 6775 } 6776 6777 /** 6778 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6779 * @param event packet 6780 * @return acl_handle 6781 * @note: btstack_type H 6782 */ 6783 static inline hci_con_handle_t hfp_subevent_ag_indicator_status_changed_get_acl_handle(const uint8_t * event){ 6784 return little_endian_read_16(event, 3); 6785 } 6786 /** 6787 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6788 * @param event packet 6789 * @return indicator_index 6790 * @note: btstack_type 1 6791 */ 6792 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 6793 return event[5]; 6794 } 6795 /** 6796 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6797 * @param event packet 6798 * @return indicator_status 6799 * @note: btstack_type 1 6800 */ 6801 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 6802 return event[6]; 6803 } 6804 /** 6805 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6806 * @param event packet 6807 * @return indicator_min_range 6808 * @note: btstack_type 1 6809 */ 6810 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 6811 return event[7]; 6812 } 6813 /** 6814 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6815 * @param event packet 6816 * @return indicator_max_range 6817 * @note: btstack_type 1 6818 */ 6819 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 6820 return event[8]; 6821 } 6822 /** 6823 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6824 * @param event packet 6825 * @return indicator_mandatory 6826 * @note: btstack_type 1 6827 */ 6828 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 6829 return event[9]; 6830 } 6831 /** 6832 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6833 * @param event packet 6834 * @return indicator_enabled 6835 * @note: btstack_type 1 6836 */ 6837 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 6838 return event[10]; 6839 } 6840 /** 6841 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6842 * @param event packet 6843 * @return indicator_status_changed 6844 * @note: btstack_type 1 6845 */ 6846 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 6847 return event[11]; 6848 } 6849 /** 6850 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6851 * @param event packet 6852 * @return indicator_name 6853 * @note: btstack_type T 6854 */ 6855 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 6856 return (const char *) &event[12]; 6857 } 6858 6859 /** 6860 * @brief Get field acl_handle from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6861 * @param event packet 6862 * @return acl_handle 6863 * @note: btstack_type H 6864 */ 6865 static inline hci_con_handle_t hfp_subevent_network_operator_changed_get_acl_handle(const uint8_t * event){ 6866 return little_endian_read_16(event, 3); 6867 } 6868 /** 6869 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6870 * @param event packet 6871 * @return network_operator_mode 6872 * @note: btstack_type 1 6873 */ 6874 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 6875 return event[5]; 6876 } 6877 /** 6878 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6879 * @param event packet 6880 * @return network_operator_format 6881 * @note: btstack_type 1 6882 */ 6883 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 6884 return event[6]; 6885 } 6886 /** 6887 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6888 * @param event packet 6889 * @return network_operator_name 6890 * @note: btstack_type T 6891 */ 6892 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 6893 return (const char *) &event[7]; 6894 } 6895 6896 /** 6897 * @brief Get field acl_handle from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6898 * @param event packet 6899 * @return acl_handle 6900 * @note: btstack_type H 6901 */ 6902 static inline hci_con_handle_t hfp_subevent_extended_audio_gateway_error_get_acl_handle(const uint8_t * event){ 6903 return little_endian_read_16(event, 3); 6904 } 6905 /** 6906 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6907 * @param event packet 6908 * @return error 6909 * @note: btstack_type 1 6910 */ 6911 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 6912 return event[5]; 6913 } 6914 6915 /** 6916 * @brief Get field acl_handle from event HFP_SUBEVENT_START_RINGING 6917 * @param event packet 6918 * @return acl_handle 6919 * @note: btstack_type H 6920 */ 6921 static inline hci_con_handle_t hfp_subevent_start_ringing_get_acl_handle(const uint8_t * event){ 6922 return little_endian_read_16(event, 3); 6923 } 6924 6925 /** 6926 * @brief Get field acl_handle from event HFP_SUBEVENT_RING 6927 * @param event packet 6928 * @return acl_handle 6929 * @note: btstack_type H 6930 */ 6931 static inline hci_con_handle_t hfp_subevent_ring_get_acl_handle(const uint8_t * event){ 6932 return little_endian_read_16(event, 3); 6933 } 6934 6935 /** 6936 * @brief Get field acl_handle from event HFP_SUBEVENT_STOP_RINGING 6937 * @param event packet 6938 * @return acl_handle 6939 * @note: btstack_type H 6940 */ 6941 static inline hci_con_handle_t hfp_subevent_stop_ringing_get_acl_handle(const uint8_t * event){ 6942 return little_endian_read_16(event, 3); 6943 } 6944 6945 /** 6946 * @brief Get field acl_handle from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6947 * @param event packet 6948 * @return acl_handle 6949 * @note: btstack_type H 6950 */ 6951 static inline hci_con_handle_t hfp_subevent_place_call_with_number_get_acl_handle(const uint8_t * event){ 6952 return little_endian_read_16(event, 3); 6953 } 6954 /** 6955 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6956 * @param event packet 6957 * @return number 6958 * @note: btstack_type T 6959 */ 6960 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 6961 return (const char *) &event[5]; 6962 } 6963 6964 /** 6965 * @brief Get field acl_handle from event HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 6966 * @param event packet 6967 * @return acl_handle 6968 * @note: btstack_type H 6969 */ 6970 static inline hci_con_handle_t hfp_subevent_attach_number_to_voice_tag_get_acl_handle(const uint8_t * event){ 6971 return little_endian_read_16(event, 3); 6972 } 6973 6974 /** 6975 * @brief Get field acl_handle from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6976 * @param event packet 6977 * @return acl_handle 6978 * @note: btstack_type H 6979 */ 6980 static inline hci_con_handle_t hfp_subevent_number_for_voice_tag_get_acl_handle(const uint8_t * event){ 6981 return little_endian_read_16(event, 3); 6982 } 6983 /** 6984 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6985 * @param event packet 6986 * @return number 6987 * @note: btstack_type T 6988 */ 6989 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 6990 return (const char *) &event[5]; 6991 } 6992 6993 /** 6994 * @brief Get field acl_handle from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 6995 * @param event packet 6996 * @return acl_handle 6997 * @note: btstack_type H 6998 */ 6999 static inline hci_con_handle_t hfp_subevent_transmit_dtmf_codes_get_acl_handle(const uint8_t * event){ 7000 return little_endian_read_16(event, 3); 7001 } 7002 /** 7003 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 7004 * @param event packet 7005 * @return dtmf 7006 * @note: btstack_type T 7007 */ 7008 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 7009 return (const char *) &event[5]; 7010 } 7011 7012 /** 7013 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_ANSWERED 7014 * @param event packet 7015 * @return acl_handle 7016 * @note: btstack_type H 7017 */ 7018 static inline hci_con_handle_t hfp_subevent_call_answered_get_acl_handle(const uint8_t * event){ 7019 return little_endian_read_16(event, 3); 7020 } 7021 7022 /** 7023 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_TERMINATED 7024 * @param event packet 7025 * @return acl_handle 7026 * @note: btstack_type H 7027 */ 7028 static inline hci_con_handle_t hfp_subevent_call_terminated_get_acl_handle(const uint8_t * event){ 7029 return little_endian_read_16(event, 3); 7030 } 7031 7032 /** 7033 * @brief Get field acl_handle from event HFP_SUBEVENT_CONFERENCE_CALL 7034 * @param event packet 7035 * @return acl_handle 7036 * @note: btstack_type H 7037 */ 7038 static inline hci_con_handle_t hfp_subevent_conference_call_get_acl_handle(const uint8_t * event){ 7039 return little_endian_read_16(event, 3); 7040 } 7041 7042 /** 7043 * @brief Get field acl_handle from event HFP_SUBEVENT_SPEAKER_VOLUME 7044 * @param event packet 7045 * @return acl_handle 7046 * @note: btstack_type H 7047 */ 7048 static inline hci_con_handle_t hfp_subevent_speaker_volume_get_acl_handle(const uint8_t * event){ 7049 return little_endian_read_16(event, 3); 7050 } 7051 /** 7052 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 7053 * @param event packet 7054 * @return gain 7055 * @note: btstack_type 1 7056 */ 7057 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 7058 return event[5]; 7059 } 7060 7061 /** 7062 * @brief Get field acl_handle from event HFP_SUBEVENT_MICROPHONE_VOLUME 7063 * @param event packet 7064 * @return acl_handle 7065 * @note: btstack_type H 7066 */ 7067 static inline hci_con_handle_t hfp_subevent_microphone_volume_get_acl_handle(const uint8_t * event){ 7068 return little_endian_read_16(event, 3); 7069 } 7070 /** 7071 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 7072 * @param event packet 7073 * @return gain 7074 * @note: btstack_type 1 7075 */ 7076 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 7077 return event[5]; 7078 } 7079 7080 /** 7081 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7082 * @param event packet 7083 * @return acl_handle 7084 * @note: btstack_type H 7085 */ 7086 static inline hci_con_handle_t hfp_subevent_call_waiting_notification_get_acl_handle(const uint8_t * event){ 7087 return little_endian_read_16(event, 3); 7088 } 7089 /** 7090 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7091 * @param event packet 7092 * @return type 7093 * @note: btstack_type 1 7094 */ 7095 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 7096 return event[5]; 7097 } 7098 /** 7099 * @brief Get field number_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7100 * @param event packet 7101 * @return number_length 7102 * @note: btstack_type J 7103 */ 7104 static inline uint8_t hfp_subevent_call_waiting_notification_get_number_length(const uint8_t * event){ 7105 return event[6]; 7106 } 7107 /** 7108 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7109 * @param event packet 7110 * @return number 7111 * @note: btstack_type V 7112 */ 7113 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 7114 return &event[7]; 7115 } 7116 /** 7117 * @brief Get field alpha_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7118 * @param event packet 7119 * @return alpha_length 7120 * @note: btstack_type J 7121 */ 7122 static inline uint8_t hfp_subevent_call_waiting_notification_get_alpha_length(const uint8_t * event){ 7123 return event[7u + event[6]]; 7124 } 7125 /** 7126 * @brief Get field alpha from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7127 * @param event packet 7128 * @return alpha 7129 * @note: btstack_type V 7130 */ 7131 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_alpha(const uint8_t * event){ 7132 return &event[7u + event[6] + 1u]; 7133 } 7134 7135 /** 7136 * @brief Get field acl_handle from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7137 * @param event packet 7138 * @return acl_handle 7139 * @note: btstack_type H 7140 */ 7141 static inline hci_con_handle_t hfp_subevent_calling_line_identification_notification_get_acl_handle(const uint8_t * event){ 7142 return little_endian_read_16(event, 3); 7143 } 7144 /** 7145 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7146 * @param event packet 7147 * @return type 7148 * @note: btstack_type 1 7149 */ 7150 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 7151 return event[5]; 7152 } 7153 /** 7154 * @brief Get field number_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7155 * @param event packet 7156 * @return number_length 7157 * @note: btstack_type J 7158 */ 7159 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_number_length(const uint8_t * event){ 7160 return event[6]; 7161 } 7162 /** 7163 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7164 * @param event packet 7165 * @return number 7166 * @note: btstack_type V 7167 */ 7168 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 7169 return &event[7]; 7170 } 7171 /** 7172 * @brief Get field alpha_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7173 * @param event packet 7174 * @return alpha_length 7175 * @note: btstack_type J 7176 */ 7177 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_alpha_length(const uint8_t * event){ 7178 return event[7u + event[6]]; 7179 } 7180 /** 7181 * @brief Get field alpha from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7182 * @param event packet 7183 * @return alpha 7184 * @note: btstack_type V 7185 */ 7186 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_alpha(const uint8_t * event){ 7187 return &event[7u + event[6] + 1u]; 7188 } 7189 7190 /** 7191 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7192 * @param event packet 7193 * @return acl_handle 7194 * @note: btstack_type H 7195 */ 7196 static inline hci_con_handle_t hfp_subevent_enhanced_call_status_get_acl_handle(const uint8_t * event){ 7197 return little_endian_read_16(event, 3); 7198 } 7199 /** 7200 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7201 * @param event packet 7202 * @return clcc_idx 7203 * @note: btstack_type 1 7204 */ 7205 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 7206 return event[5]; 7207 } 7208 /** 7209 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7210 * @param event packet 7211 * @return clcc_dir 7212 * @note: btstack_type 1 7213 */ 7214 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 7215 return event[6]; 7216 } 7217 /** 7218 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7219 * @param event packet 7220 * @return clcc_status 7221 * @note: btstack_type 1 7222 */ 7223 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 7224 return event[7]; 7225 } 7226 /** 7227 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7228 * @param event packet 7229 * @return clcc_mode 7230 * @note: btstack_type 1 7231 */ 7232 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 7233 return event[8]; 7234 } 7235 /** 7236 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7237 * @param event packet 7238 * @return clcc_mpty 7239 * @note: btstack_type 1 7240 */ 7241 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 7242 return event[9]; 7243 } 7244 /** 7245 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7246 * @param event packet 7247 * @return bnip_type 7248 * @note: btstack_type 1 7249 */ 7250 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 7251 return event[10]; 7252 } 7253 /** 7254 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7255 * @param event packet 7256 * @return bnip_number 7257 * @note: btstack_type T 7258 */ 7259 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 7260 return (const char *) &event[11]; 7261 } 7262 7263 /** 7264 * @brief Get field acl_handle from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7265 * @param event packet 7266 * @return acl_handle 7267 * @note: btstack_type H 7268 */ 7269 static inline hci_con_handle_t hfp_subevent_subscriber_number_information_get_acl_handle(const uint8_t * event){ 7270 return little_endian_read_16(event, 3); 7271 } 7272 /** 7273 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7274 * @param event packet 7275 * @return status 7276 * @note: btstack_type 1 7277 */ 7278 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 7279 return event[5]; 7280 } 7281 /** 7282 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7283 * @param event packet 7284 * @return bnip_type 7285 * @note: btstack_type 1 7286 */ 7287 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 7288 return event[6]; 7289 } 7290 /** 7291 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7292 * @param event packet 7293 * @return bnip_number 7294 * @note: btstack_type T 7295 */ 7296 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 7297 return (const char *) &event[7]; 7298 } 7299 7300 /** 7301 * @brief Get field acl_handle from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7302 * @param event packet 7303 * @return acl_handle 7304 * @note: btstack_type H 7305 */ 7306 static inline hci_con_handle_t hfp_subevent_response_and_hold_status_get_acl_handle(const uint8_t * event){ 7307 return little_endian_read_16(event, 3); 7308 } 7309 /** 7310 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7311 * @param event packet 7312 * @return value 7313 * @note: btstack_type T 7314 */ 7315 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 7316 return (const char *) &event[5]; 7317 } 7318 7319 /** 7320 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_SENT 7321 * @param event packet 7322 * @return acl_handle 7323 * @note: btstack_type H 7324 */ 7325 static inline hci_con_handle_t hfp_subevent_at_message_sent_get_acl_handle(const uint8_t * event){ 7326 return little_endian_read_16(event, 3); 7327 } 7328 /** 7329 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_SENT 7330 * @param event packet 7331 * @return command 7332 * @note: btstack_type T 7333 */ 7334 static inline const char * hfp_subevent_at_message_sent_get_command(const uint8_t * event){ 7335 return (const char *) &event[5]; 7336 } 7337 7338 /** 7339 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7340 * @param event packet 7341 * @return acl_handle 7342 * @note: btstack_type H 7343 */ 7344 static inline hci_con_handle_t hfp_subevent_at_message_received_get_acl_handle(const uint8_t * event){ 7345 return little_endian_read_16(event, 3); 7346 } 7347 /** 7348 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7349 * @param event packet 7350 * @return command 7351 * @note: btstack_type T 7352 */ 7353 static inline const char * hfp_subevent_at_message_received_get_command(const uint8_t * event){ 7354 return (const char *) &event[5]; 7355 } 7356 7357 /** 7358 * @brief Get field acl_handle from event HFP_SUBEVENT_IN_BAND_RING_TONE 7359 * @param event packet 7360 * @return acl_handle 7361 * @note: btstack_type H 7362 */ 7363 static inline hci_con_handle_t hfp_subevent_in_band_ring_tone_get_acl_handle(const uint8_t * event){ 7364 return little_endian_read_16(event, 3); 7365 } 7366 /** 7367 * @brief Get field status from event HFP_SUBEVENT_IN_BAND_RING_TONE 7368 * @param event packet 7369 * @return status 7370 * @note: btstack_type 1 7371 */ 7372 static inline uint8_t hfp_subevent_in_band_ring_tone_get_status(const uint8_t * event){ 7373 return event[5]; 7374 } 7375 7376 /** 7377 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7378 * @param event packet 7379 * @return acl_handle 7380 * @note: btstack_type H 7381 */ 7382 static inline hci_con_handle_t hfp_subevent_voice_recognition_activated_get_acl_handle(const uint8_t * event){ 7383 return little_endian_read_16(event, 3); 7384 } 7385 /** 7386 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7387 * @param event packet 7388 * @return status 7389 * @note: btstack_type 1 7390 */ 7391 static inline uint8_t hfp_subevent_voice_recognition_activated_get_status(const uint8_t * event){ 7392 return event[5]; 7393 } 7394 /** 7395 * @brief Get field enhanced from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7396 * @param event packet 7397 * @return enhanced 7398 * @note: btstack_type 1 7399 */ 7400 static inline uint8_t hfp_subevent_voice_recognition_activated_get_enhanced(const uint8_t * event){ 7401 return event[6]; 7402 } 7403 7404 /** 7405 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7406 * @param event packet 7407 * @return acl_handle 7408 * @note: btstack_type H 7409 */ 7410 static inline hci_con_handle_t hfp_subevent_voice_recognition_deactivated_get_acl_handle(const uint8_t * event){ 7411 return little_endian_read_16(event, 3); 7412 } 7413 /** 7414 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7415 * @param event packet 7416 * @return status 7417 * @note: btstack_type 1 7418 */ 7419 static inline uint8_t hfp_subevent_voice_recognition_deactivated_get_status(const uint8_t * event){ 7420 return event[5]; 7421 } 7422 7423 /** 7424 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7425 * @param event packet 7426 * @return acl_handle 7427 * @note: btstack_type H 7428 */ 7429 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_acl_handle(const uint8_t * event){ 7430 return little_endian_read_16(event, 3); 7431 } 7432 /** 7433 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7434 * @param event packet 7435 * @return status 7436 * @note: btstack_type 1 7437 */ 7438 static inline uint8_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_status(const uint8_t * event){ 7439 return event[5]; 7440 } 7441 7442 /** 7443 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7444 * @param event packet 7445 * @return acl_handle 7446 * @note: btstack_type H 7447 */ 7448 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_acl_handle(const uint8_t * event){ 7449 return little_endian_read_16(event, 3); 7450 } 7451 /** 7452 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7453 * @param event packet 7454 * @return status 7455 * @note: btstack_type 1 7456 */ 7457 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_status(const uint8_t * event){ 7458 return event[5]; 7459 } 7460 7461 /** 7462 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7463 * @param event packet 7464 * @return acl_handle 7465 * @note: btstack_type H 7466 */ 7467 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_acl_handle(const uint8_t * event){ 7468 return little_endian_read_16(event, 3); 7469 } 7470 /** 7471 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7472 * @param event packet 7473 * @return status 7474 * @note: btstack_type 1 7475 */ 7476 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_status(const uint8_t * event){ 7477 return event[5]; 7478 } 7479 7480 /** 7481 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7482 * @param event packet 7483 * @return acl_handle 7484 * @note: btstack_type H 7485 */ 7486 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_acl_handle(const uint8_t * event){ 7487 return little_endian_read_16(event, 3); 7488 } 7489 /** 7490 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7491 * @param event packet 7492 * @return status 7493 * @note: btstack_type 1 7494 */ 7495 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_status(const uint8_t * event){ 7496 return event[5]; 7497 } 7498 7499 /** 7500 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7501 * @param event packet 7502 * @return acl_handle 7503 * @note: btstack_type H 7504 */ 7505 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_acl_handle(const uint8_t * event){ 7506 return little_endian_read_16(event, 3); 7507 } 7508 /** 7509 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7510 * @param event packet 7511 * @return status 7512 * @note: btstack_type 1 7513 */ 7514 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_status(const uint8_t * event){ 7515 return event[5]; 7516 } 7517 7518 /** 7519 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7520 * @param event packet 7521 * @return acl_handle 7522 * @note: btstack_type H 7523 */ 7524 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_get_acl_handle(const uint8_t * event){ 7525 return little_endian_read_16(event, 3); 7526 } 7527 /** 7528 * @brief Get field text_id from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7529 * @param event packet 7530 * @return text_id 7531 * @note: btstack_type 2 7532 */ 7533 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_id(const uint8_t * event){ 7534 return little_endian_read_16(event, 5); 7535 } 7536 /** 7537 * @brief Get field text_type from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7538 * @param event packet 7539 * @return text_type 7540 * @note: btstack_type 1 7541 */ 7542 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_type(const uint8_t * event){ 7543 return event[7]; 7544 } 7545 /** 7546 * @brief Get field text_operation from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7547 * @param event packet 7548 * @return text_operation 7549 * @note: btstack_type 1 7550 */ 7551 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_operation(const uint8_t * event){ 7552 return event[8]; 7553 } 7554 /** 7555 * @brief Get field text_length from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7556 * @param event packet 7557 * @return text_length 7558 * @note: btstack_type L 7559 */ 7560 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_length(const uint8_t * event){ 7561 return little_endian_read_16(event, 9); 7562 } 7563 /** 7564 * @brief Get field text from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7565 * @param event packet 7566 * @return text 7567 * @note: btstack_type V 7568 */ 7569 static inline const uint8_t * hfp_subevent_enhanced_voice_recognition_ag_message_get_text(const uint8_t * event){ 7570 return &event[11]; 7571 } 7572 7573 /** 7574 * @brief Get field acl_handle from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7575 * @param event packet 7576 * @return acl_handle 7577 * @note: btstack_type H 7578 */ 7579 static inline hci_con_handle_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_acl_handle(const uint8_t * event){ 7580 return little_endian_read_16(event, 3); 7581 } 7582 /** 7583 * @brief Get field status from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7584 * @param event packet 7585 * @return status 7586 * @note: btstack_type 1 7587 */ 7588 static inline uint8_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_status(const uint8_t * event){ 7589 return event[5]; 7590 } 7591 7592 /** 7593 * @brief Get field acl_handle from event HFP_SUBEVENT_HF_INDICATOR 7594 * @param event packet 7595 * @return acl_handle 7596 * @note: btstack_type H 7597 */ 7598 static inline hci_con_handle_t hfp_subevent_hf_indicator_get_acl_handle(const uint8_t * event){ 7599 return little_endian_read_16(event, 3); 7600 } 7601 /** 7602 * @brief Get field uuid from event HFP_SUBEVENT_HF_INDICATOR 7603 * @param event packet 7604 * @return uuid 7605 * @note: btstack_type 2 7606 */ 7607 static inline uint16_t hfp_subevent_hf_indicator_get_uuid(const uint8_t * event){ 7608 return little_endian_read_16(event, 5); 7609 } 7610 /** 7611 * @brief Get field value from event HFP_SUBEVENT_HF_INDICATOR 7612 * @param event packet 7613 * @return value 7614 * @note: btstack_type 1 7615 */ 7616 static inline uint8_t hfp_subevent_hf_indicator_get_value(const uint8_t * event){ 7617 return event[7]; 7618 } 7619 7620 /** 7621 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7622 * @param event packet 7623 * @return acl_handle 7624 * @note: btstack_type H 7625 */ 7626 static inline hci_con_handle_t hfp_subevent_custom_at_command_get_acl_handle(const uint8_t * event){ 7627 return little_endian_read_16(event, 3); 7628 } 7629 /** 7630 * @brief Get field command_id from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7631 * @param event packet 7632 * @return command_id 7633 * @note: btstack_type 2 7634 */ 7635 static inline uint16_t hfp_subevent_custom_at_command_get_command_id(const uint8_t * event){ 7636 return little_endian_read_16(event, 5); 7637 } 7638 /** 7639 * @brief Get field command_string from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7640 * @param event packet 7641 * @return command_string 7642 * @note: btstack_type T 7643 */ 7644 static inline const char * hfp_subevent_custom_at_command_get_command_string(const uint8_t * event){ 7645 return (const char *) &event[7]; 7646 } 7647 7648 /** 7649 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7650 * @param event packet 7651 * @return acl_handle 7652 * @note: btstack_type H 7653 */ 7654 static inline hci_con_handle_t hfp_subevent_custom_at_message_sent_get_acl_handle(const uint8_t * event){ 7655 return little_endian_read_16(event, 3); 7656 } 7657 /** 7658 * @brief Get field status from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7659 * @param event packet 7660 * @return status 7661 * @note: btstack_type 1 7662 */ 7663 static inline uint8_t hfp_subevent_custom_at_message_sent_get_status(const uint8_t * event){ 7664 return event[5]; 7665 } 7666 7667 /** 7668 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7669 * @param event packet 7670 * @return acl_handle 7671 * @note: btstack_type H 7672 */ 7673 static inline hci_con_handle_t hfp_subevent_apple_extension_supported_get_acl_handle(const uint8_t * event){ 7674 return little_endian_read_16(event, 3); 7675 } 7676 /** 7677 * @brief Get field supported from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7678 * @param event packet 7679 * @return supported 7680 * @note: btstack_type 1 7681 */ 7682 static inline uint8_t hfp_subevent_apple_extension_supported_get_supported(const uint8_t * event){ 7683 return event[5]; 7684 } 7685 7686 /** 7687 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7688 * @param event packet 7689 * @return acl_handle 7690 * @note: btstack_type H 7691 */ 7692 static inline hci_con_handle_t hfp_subevent_apple_accessory_information_get_acl_handle(const uint8_t * event){ 7693 return little_endian_read_16(event, 3); 7694 } 7695 /** 7696 * @brief Get field vendor_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7697 * @param event packet 7698 * @return vendor_id 7699 * @note: btstack_type 2 7700 */ 7701 static inline uint16_t hfp_subevent_apple_accessory_information_get_vendor_id(const uint8_t * event){ 7702 return little_endian_read_16(event, 5); 7703 } 7704 /** 7705 * @brief Get field product_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7706 * @param event packet 7707 * @return product_id 7708 * @note: btstack_type 2 7709 */ 7710 static inline uint16_t hfp_subevent_apple_accessory_information_get_product_id(const uint8_t * event){ 7711 return little_endian_read_16(event, 7); 7712 } 7713 /** 7714 * @brief Get field features from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7715 * @param event packet 7716 * @return features 7717 * @note: btstack_type 1 7718 */ 7719 static inline uint8_t hfp_subevent_apple_accessory_information_get_features(const uint8_t * event){ 7720 return event[9]; 7721 } 7722 /** 7723 * @brief Get field version_len from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7724 * @param event packet 7725 * @return version_len 7726 * @note: btstack_type J 7727 */ 7728 static inline uint8_t hfp_subevent_apple_accessory_information_get_version_len(const uint8_t * event){ 7729 return event[10]; 7730 } 7731 /** 7732 * @brief Get field version from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7733 * @param event packet 7734 * @return version 7735 * @note: btstack_type V 7736 */ 7737 static inline const uint8_t * hfp_subevent_apple_accessory_information_get_version(const uint8_t * event){ 7738 return &event[11]; 7739 } 7740 7741 /** 7742 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7743 * @param event packet 7744 * @return acl_handle 7745 * @note: btstack_type H 7746 */ 7747 static inline hci_con_handle_t hfp_subevent_apple_battery_level_get_acl_handle(const uint8_t * event){ 7748 return little_endian_read_16(event, 3); 7749 } 7750 /** 7751 * @brief Get field battery_level from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7752 * @param event packet 7753 * @return battery_level 7754 * @note: btstack_type 1 7755 */ 7756 static inline uint8_t hfp_subevent_apple_battery_level_get_battery_level(const uint8_t * event){ 7757 return event[5]; 7758 } 7759 7760 /** 7761 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7762 * @param event packet 7763 * @return acl_handle 7764 * @note: btstack_type H 7765 */ 7766 static inline hci_con_handle_t hfp_subevent_apple_docked_state_get_acl_handle(const uint8_t * event){ 7767 return little_endian_read_16(event, 3); 7768 } 7769 /** 7770 * @brief Get field docket from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7771 * @param event packet 7772 * @return docket 7773 * @note: btstack_type 1 7774 */ 7775 static inline uint8_t hfp_subevent_apple_docked_state_get_docket(const uint8_t * event){ 7776 return event[5]; 7777 } 7778 7779 #ifdef ENABLE_BLE 7780 /** 7781 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 7782 * @param event packet 7783 * @return handle 7784 * @note: btstack_type H 7785 */ 7786 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 7787 return little_endian_read_16(event, 3); 7788 } 7789 #endif 7790 7791 #ifdef ENABLE_BLE 7792 /** 7793 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7794 * @param event packet 7795 * @return handle 7796 * @note: btstack_type H 7797 */ 7798 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 7799 return little_endian_read_16(event, 3); 7800 } 7801 /** 7802 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7803 * @param event packet 7804 * @return attribute_id 7805 * @note: btstack_type 2 7806 */ 7807 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 7808 return little_endian_read_16(event, 5); 7809 } 7810 /** 7811 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7812 * @param event packet 7813 * @return text 7814 * @note: btstack_type T 7815 */ 7816 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 7817 return (const char *) &event[7]; 7818 } 7819 #endif 7820 7821 #ifdef ENABLE_BLE 7822 /** 7823 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 7824 * @param event packet 7825 * @return handle 7826 * @note: btstack_type H 7827 */ 7828 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 7829 return little_endian_read_16(event, 3); 7830 } 7831 #endif 7832 7833 /** 7834 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7835 * @param event packet 7836 * @return avdtp_cid 7837 * @note: btstack_type 2 7838 */ 7839 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 7840 return little_endian_read_16(event, 3); 7841 } 7842 /** 7843 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7844 * @param event packet 7845 * @return local_seid 7846 * @note: btstack_type 1 7847 */ 7848 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 7849 return event[5]; 7850 } 7851 /** 7852 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7853 * @param event packet 7854 * @return is_initiator 7855 * @note: btstack_type 1 7856 */ 7857 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 7858 return event[6]; 7859 } 7860 /** 7861 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7862 * @param event packet 7863 * @return signal_identifier 7864 * @note: btstack_type 1 7865 */ 7866 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 7867 return event[7]; 7868 } 7869 7870 /** 7871 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7872 * @param event packet 7873 * @return avdtp_cid 7874 * @note: btstack_type 2 7875 */ 7876 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 7877 return little_endian_read_16(event, 3); 7878 } 7879 /** 7880 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7881 * @param event packet 7882 * @return local_seid 7883 * @note: btstack_type 1 7884 */ 7885 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 7886 return event[5]; 7887 } 7888 /** 7889 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 7890 * @param event packet 7891 * @return is_initiator 7892 * @note: btstack_type 1 7893 */ 7894 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 7895 return event[6]; 7896 } 7897 /** 7898 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 7899 * @param event packet 7900 * @return signal_identifier 7901 * @note: btstack_type 1 7902 */ 7903 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 7904 return event[7]; 7905 } 7906 7907 /** 7908 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7909 * @param event packet 7910 * @return avdtp_cid 7911 * @note: btstack_type 2 7912 */ 7913 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 7914 return little_endian_read_16(event, 3); 7915 } 7916 /** 7917 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7918 * @param event packet 7919 * @return local_seid 7920 * @note: btstack_type 1 7921 */ 7922 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 7923 return event[5]; 7924 } 7925 /** 7926 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7927 * @param event packet 7928 * @return is_initiator 7929 * @note: btstack_type 1 7930 */ 7931 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 7932 return event[6]; 7933 } 7934 /** 7935 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7936 * @param event packet 7937 * @return signal_identifier 7938 * @note: btstack_type 1 7939 */ 7940 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 7941 return event[7]; 7942 } 7943 7944 /** 7945 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7946 * @param event packet 7947 * @return avdtp_cid 7948 * @note: btstack_type 2 7949 */ 7950 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 7951 return little_endian_read_16(event, 3); 7952 } 7953 /** 7954 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7955 * @param event packet 7956 * @param Pointer to storage for bd_addr 7957 * @note: btstack_type B 7958 */ 7959 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7960 reverse_bytes(&event[5], bd_addr, 6); 7961 } 7962 /** 7963 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7964 * @param event packet 7965 * @return con_handle 7966 * @note: btstack_type 2 7967 */ 7968 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 7969 return little_endian_read_16(event, 11); 7970 } 7971 /** 7972 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7973 * @param event packet 7974 * @return status 7975 * @note: btstack_type 1 7976 */ 7977 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 7978 return event[13]; 7979 } 7980 7981 /** 7982 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 7983 * @param event packet 7984 * @return avdtp_cid 7985 * @note: btstack_type 2 7986 */ 7987 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 7988 return little_endian_read_16(event, 3); 7989 } 7990 7991 /** 7992 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7993 * @param event packet 7994 * @return avdtp_cid 7995 * @note: btstack_type 2 7996 */ 7997 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 7998 return little_endian_read_16(event, 3); 7999 } 8000 /** 8001 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8002 * @param event packet 8003 * @return remote_seid 8004 * @note: btstack_type 1 8005 */ 8006 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 8007 return event[5]; 8008 } 8009 /** 8010 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8011 * @param event packet 8012 * @return in_use 8013 * @note: btstack_type 1 8014 */ 8015 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 8016 return event[6]; 8017 } 8018 /** 8019 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8020 * @param event packet 8021 * @return media_type 8022 * @note: btstack_type 1 8023 */ 8024 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 8025 return event[7]; 8026 } 8027 /** 8028 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8029 * @param event packet 8030 * @return sep_type 8031 * @note: btstack_type 1 8032 */ 8033 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 8034 return event[8]; 8035 } 8036 8037 /** 8038 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8039 * @param event packet 8040 * @return avdtp_cid 8041 * @note: btstack_type 2 8042 */ 8043 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 8044 return little_endian_read_16(event, 3); 8045 } 8046 /** 8047 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8048 * @param event packet 8049 * @return remote_seid 8050 * @note: btstack_type 1 8051 */ 8052 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 8053 return event[5]; 8054 } 8055 /** 8056 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8057 * @param event packet 8058 * @return media_type 8059 * @note: btstack_type 1 8060 */ 8061 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 8062 return event[6]; 8063 } 8064 /** 8065 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8066 * @param event packet 8067 * @return sampling_frequency_bitmap 8068 * @note: btstack_type 1 8069 */ 8070 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8071 return event[7]; 8072 } 8073 /** 8074 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8075 * @param event packet 8076 * @return channel_mode_bitmap 8077 * @note: btstack_type 1 8078 */ 8079 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 8080 return event[8]; 8081 } 8082 /** 8083 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8084 * @param event packet 8085 * @return block_length_bitmap 8086 * @note: btstack_type 1 8087 */ 8088 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 8089 return event[9]; 8090 } 8091 /** 8092 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8093 * @param event packet 8094 * @return subbands_bitmap 8095 * @note: btstack_type 1 8096 */ 8097 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 8098 return event[10]; 8099 } 8100 /** 8101 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8102 * @param event packet 8103 * @return allocation_method_bitmap 8104 * @note: btstack_type 1 8105 */ 8106 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 8107 return event[11]; 8108 } 8109 /** 8110 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8111 * @param event packet 8112 * @return min_bitpool_value 8113 * @note: btstack_type 1 8114 */ 8115 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 8116 return event[12]; 8117 } 8118 /** 8119 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8120 * @param event packet 8121 * @return max_bitpool_value 8122 * @note: btstack_type 1 8123 */ 8124 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 8125 return event[13]; 8126 } 8127 8128 /** 8129 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8130 * @param event packet 8131 * @return avdtp_cid 8132 * @note: btstack_type 2 8133 */ 8134 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ 8135 return little_endian_read_16(event, 3); 8136 } 8137 /** 8138 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8139 * @param event packet 8140 * @return remote_seid 8141 * @note: btstack_type 1 8142 */ 8143 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 8144 return event[5]; 8145 } 8146 /** 8147 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8148 * @param event packet 8149 * @return media_type 8150 * @note: btstack_type 1 8151 */ 8152 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 8153 return event[6]; 8154 } 8155 /** 8156 * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8157 * @param event packet 8158 * @return layer_bitmap 8159 * @note: btstack_type 1 8160 */ 8161 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 8162 return event[7]; 8163 } 8164 /** 8165 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8166 * @param event packet 8167 * @return crc 8168 * @note: btstack_type 1 8169 */ 8170 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 8171 return event[8]; 8172 } 8173 /** 8174 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8175 * @param event packet 8176 * @return channel_mode_bitmap 8177 * @note: btstack_type 1 8178 */ 8179 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 8180 return event[9]; 8181 } 8182 /** 8183 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8184 * @param event packet 8185 * @return media_payload_format 8186 * @note: btstack_type 1 8187 */ 8188 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 8189 return event[10]; 8190 } 8191 /** 8192 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8193 * @param event packet 8194 * @return sampling_frequency_bitmap 8195 * @note: btstack_type 1 8196 */ 8197 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8198 return event[11]; 8199 } 8200 /** 8201 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8202 * @param event packet 8203 * @return vbr 8204 * @note: btstack_type 1 8205 */ 8206 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 8207 return event[12]; 8208 } 8209 /** 8210 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8211 * @param event packet 8212 * @return bit_rate_index_bitmap 8213 * @note: btstack_type 2 8214 */ 8215 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8216 return little_endian_read_16(event, 13); 8217 } 8218 8219 /** 8220 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8221 * @param event packet 8222 * @return avdtp_cid 8223 * @note: btstack_type 2 8224 */ 8225 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ 8226 return little_endian_read_16(event, 3); 8227 } 8228 /** 8229 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8230 * @param event packet 8231 * @return remote_seid 8232 * @note: btstack_type 1 8233 */ 8234 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 8235 return event[5]; 8236 } 8237 /** 8238 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8239 * @param event packet 8240 * @return media_type 8241 * @note: btstack_type 1 8242 */ 8243 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 8244 return event[6]; 8245 } 8246 /** 8247 * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8248 * @param event packet 8249 * @return object_type_bitmap 8250 * @note: btstack_type 1 8251 */ 8252 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 8253 return event[7]; 8254 } 8255 /** 8256 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8257 * @param event packet 8258 * @return sampling_frequency_bitmap 8259 * @note: btstack_type 2 8260 */ 8261 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8262 return little_endian_read_16(event, 8); 8263 } 8264 /** 8265 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8266 * @param event packet 8267 * @return channels_bitmap 8268 * @note: btstack_type 1 8269 */ 8270 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 8271 return event[10]; 8272 } 8273 /** 8274 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8275 * @param event packet 8276 * @return bit_rate 8277 * @note: btstack_type 3 8278 */ 8279 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 8280 return little_endian_read_24(event, 11); 8281 } 8282 /** 8283 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8284 * @param event packet 8285 * @return vbr 8286 * @note: btstack_type 1 8287 */ 8288 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 8289 return event[14]; 8290 } 8291 8292 /** 8293 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8294 * @param event packet 8295 * @return avdtp_cid 8296 * @note: btstack_type 2 8297 */ 8298 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ 8299 return little_endian_read_16(event, 3); 8300 } 8301 /** 8302 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8303 * @param event packet 8304 * @return remote_seid 8305 * @note: btstack_type 1 8306 */ 8307 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 8308 return event[5]; 8309 } 8310 /** 8311 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8312 * @param event packet 8313 * @return media_type 8314 * @note: btstack_type 1 8315 */ 8316 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 8317 return event[6]; 8318 } 8319 /** 8320 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8321 * @param event packet 8322 * @return version 8323 * @note: btstack_type 1 8324 */ 8325 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 8326 return event[7]; 8327 } 8328 /** 8329 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8330 * @param event packet 8331 * @return channel_mode_bitmap 8332 * @note: btstack_type 1 8333 */ 8334 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 8335 return event[8]; 8336 } 8337 /** 8338 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8339 * @param event packet 8340 * @return sampling_frequency_bitmap 8341 * @note: btstack_type 1 8342 */ 8343 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8344 return event[9]; 8345 } 8346 /** 8347 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8348 * @param event packet 8349 * @return vbr 8350 * @note: btstack_type 1 8351 */ 8352 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 8353 return event[10]; 8354 } 8355 /** 8356 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8357 * @param event packet 8358 * @return bit_rate_index_bitmap 8359 * @note: btstack_type 3 8360 */ 8361 static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8362 return little_endian_read_24(event, 11); 8363 } 8364 /** 8365 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8366 * @param event packet 8367 * @return maximum_sul 8368 * @note: btstack_type 2 8369 */ 8370 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 8371 return little_endian_read_16(event, 14); 8372 } 8373 8374 /** 8375 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8376 * @param event packet 8377 * @return avdtp_cid 8378 * @note: btstack_type 2 8379 */ 8380 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 8381 return little_endian_read_16(event, 3); 8382 } 8383 /** 8384 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8385 * @param event packet 8386 * @return remote_seid 8387 * @note: btstack_type 1 8388 */ 8389 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 8390 return event[5]; 8391 } 8392 /** 8393 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8394 * @param event packet 8395 * @return media_type 8396 * @note: btstack_type 1 8397 */ 8398 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 8399 return event[6]; 8400 } 8401 /** 8402 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8403 * @param event packet 8404 * @return media_codec_type 8405 * @note: btstack_type 2 8406 */ 8407 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 8408 return little_endian_read_16(event, 7); 8409 } 8410 /** 8411 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8412 * @param event packet 8413 * @return media_codec_information_len 8414 * @note: btstack_type L 8415 */ 8416 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 8417 return little_endian_read_16(event, 9); 8418 } 8419 /** 8420 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8421 * @param event packet 8422 * @return media_codec_information 8423 * @note: btstack_type V 8424 */ 8425 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 8426 return &event[11]; 8427 } 8428 8429 /** 8430 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8431 * @param event packet 8432 * @return avdtp_cid 8433 * @note: btstack_type 2 8434 */ 8435 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 8436 return little_endian_read_16(event, 3); 8437 } 8438 /** 8439 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8440 * @param event packet 8441 * @return remote_seid 8442 * @note: btstack_type 1 8443 */ 8444 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 8445 return event[5]; 8446 } 8447 8448 /** 8449 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8450 * @param event packet 8451 * @return avdtp_cid 8452 * @note: btstack_type 2 8453 */ 8454 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8455 return little_endian_read_16(event, 3); 8456 } 8457 /** 8458 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8459 * @param event packet 8460 * @return remote_seid 8461 * @note: btstack_type 1 8462 */ 8463 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 8464 return event[5]; 8465 } 8466 8467 /** 8468 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8469 * @param event packet 8470 * @return avdtp_cid 8471 * @note: btstack_type 2 8472 */ 8473 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 8474 return little_endian_read_16(event, 3); 8475 } 8476 /** 8477 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8478 * @param event packet 8479 * @return remote_seid 8480 * @note: btstack_type 1 8481 */ 8482 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 8483 return event[5]; 8484 } 8485 /** 8486 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8487 * @param event packet 8488 * @return recovery_type 8489 * @note: btstack_type 1 8490 */ 8491 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 8492 return event[6]; 8493 } 8494 /** 8495 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8496 * @param event packet 8497 * @return maximum_recovery_window_size 8498 * @note: btstack_type 1 8499 */ 8500 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 8501 return event[7]; 8502 } 8503 /** 8504 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8505 * @param event packet 8506 * @return maximum_number_media_packets 8507 * @note: btstack_type 1 8508 */ 8509 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 8510 return event[8]; 8511 } 8512 8513 /** 8514 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8515 * @param event packet 8516 * @return avdtp_cid 8517 * @note: btstack_type 2 8518 */ 8519 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 8520 return little_endian_read_16(event, 3); 8521 } 8522 /** 8523 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8524 * @param event packet 8525 * @return remote_seid 8526 * @note: btstack_type 1 8527 */ 8528 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 8529 return event[5]; 8530 } 8531 /** 8532 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8533 * @param event packet 8534 * @return cp_type 8535 * @note: btstack_type 2 8536 */ 8537 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 8538 return little_endian_read_16(event, 6); 8539 } 8540 /** 8541 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8542 * @param event packet 8543 * @return cp_type_value_len 8544 * @note: btstack_type L 8545 */ 8546 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 8547 return little_endian_read_16(event, 8); 8548 } 8549 /** 8550 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8551 * @param event packet 8552 * @return cp_type_value 8553 * @note: btstack_type V 8554 */ 8555 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 8556 return &event[10]; 8557 } 8558 8559 /** 8560 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8561 * @param event packet 8562 * @return avdtp_cid 8563 * @note: btstack_type 2 8564 */ 8565 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 8566 return little_endian_read_16(event, 3); 8567 } 8568 /** 8569 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8570 * @param event packet 8571 * @return remote_seid 8572 * @note: btstack_type 1 8573 */ 8574 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 8575 return event[5]; 8576 } 8577 /** 8578 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8579 * @param event packet 8580 * @return fragmentation 8581 * @note: btstack_type 1 8582 */ 8583 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 8584 return event[6]; 8585 } 8586 /** 8587 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8588 * @param event packet 8589 * @return transport_identifiers_num 8590 * @note: btstack_type 1 8591 */ 8592 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 8593 return event[7]; 8594 } 8595 /** 8596 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8597 * @param event packet 8598 * @return transport_session_identifier_1 8599 * @note: btstack_type 1 8600 */ 8601 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 8602 return event[8]; 8603 } 8604 /** 8605 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8606 * @param event packet 8607 * @return transport_session_identifier_2 8608 * @note: btstack_type 1 8609 */ 8610 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 8611 return event[9]; 8612 } 8613 /** 8614 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8615 * @param event packet 8616 * @return transport_session_identifier_3 8617 * @note: btstack_type 1 8618 */ 8619 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 8620 return event[10]; 8621 } 8622 /** 8623 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8624 * @param event packet 8625 * @return tcid_1 8626 * @note: btstack_type 1 8627 */ 8628 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 8629 return event[11]; 8630 } 8631 /** 8632 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8633 * @param event packet 8634 * @return tcid_2 8635 * @note: btstack_type 1 8636 */ 8637 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 8638 return event[12]; 8639 } 8640 /** 8641 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8642 * @param event packet 8643 * @return tcid_3 8644 * @note: btstack_type 1 8645 */ 8646 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 8647 return event[13]; 8648 } 8649 8650 /** 8651 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8652 * @param event packet 8653 * @return avdtp_cid 8654 * @note: btstack_type 2 8655 */ 8656 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8657 return little_endian_read_16(event, 3); 8658 } 8659 /** 8660 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8661 * @param event packet 8662 * @return remote_seid 8663 * @note: btstack_type 1 8664 */ 8665 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 8666 return event[5]; 8667 } 8668 8669 /** 8670 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8671 * @param event packet 8672 * @return avdtp_cid 8673 * @note: btstack_type 2 8674 */ 8675 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 8676 return little_endian_read_16(event, 3); 8677 } 8678 /** 8679 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8680 * @param event packet 8681 * @return remote_seid 8682 * @note: btstack_type 1 8683 */ 8684 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 8685 return event[5]; 8686 } 8687 /** 8688 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8689 * @param event packet 8690 * @return back_ch 8691 * @note: btstack_type 1 8692 */ 8693 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 8694 return event[6]; 8695 } 8696 /** 8697 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8698 * @param event packet 8699 * @return media 8700 * @note: btstack_type 1 8701 */ 8702 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 8703 return event[7]; 8704 } 8705 /** 8706 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8707 * @param event packet 8708 * @return recovery 8709 * @note: btstack_type 1 8710 */ 8711 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 8712 return event[8]; 8713 } 8714 8715 /** 8716 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8717 * @param event packet 8718 * @return avdtp_cid 8719 * @note: btstack_type 2 8720 */ 8721 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 8722 return little_endian_read_16(event, 3); 8723 } 8724 /** 8725 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8726 * @param event packet 8727 * @return remote_seid 8728 * @note: btstack_type 1 8729 */ 8730 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 8731 return event[5]; 8732 } 8733 8734 /** 8735 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8736 * @param event packet 8737 * @return avdtp_cid 8738 * @note: btstack_type 2 8739 */ 8740 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 8741 return little_endian_read_16(event, 3); 8742 } 8743 /** 8744 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8745 * @param event packet 8746 * @return local_seid 8747 * @note: btstack_type 1 8748 */ 8749 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 8750 return event[5]; 8751 } 8752 /** 8753 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8754 * @param event packet 8755 * @return remote_seid 8756 * @note: btstack_type 1 8757 */ 8758 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 8759 return event[6]; 8760 } 8761 /** 8762 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8763 * @param event packet 8764 * @return reconfigure 8765 * @note: btstack_type 1 8766 */ 8767 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 8768 return event[7]; 8769 } 8770 /** 8771 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8772 * @param event packet 8773 * @return media_type 8774 * @note: btstack_type 1 8775 */ 8776 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 8777 return event[8]; 8778 } 8779 /** 8780 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8781 * @param event packet 8782 * @return sampling_frequency 8783 * @note: btstack_type 2 8784 */ 8785 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 8786 return little_endian_read_16(event, 9); 8787 } 8788 /** 8789 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8790 * @param event packet 8791 * @return channel_mode 8792 * @note: btstack_type 1 8793 */ 8794 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 8795 return event[11]; 8796 } 8797 /** 8798 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8799 * @param event packet 8800 * @return num_channels 8801 * @note: btstack_type 1 8802 */ 8803 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 8804 return event[12]; 8805 } 8806 /** 8807 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8808 * @param event packet 8809 * @return block_length 8810 * @note: btstack_type 1 8811 */ 8812 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 8813 return event[13]; 8814 } 8815 /** 8816 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8817 * @param event packet 8818 * @return subbands 8819 * @note: btstack_type 1 8820 */ 8821 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 8822 return event[14]; 8823 } 8824 /** 8825 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8826 * @param event packet 8827 * @return allocation_method 8828 * @note: btstack_type 1 8829 */ 8830 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 8831 return event[15]; 8832 } 8833 /** 8834 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8835 * @param event packet 8836 * @return min_bitpool_value 8837 * @note: btstack_type 1 8838 */ 8839 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 8840 return event[16]; 8841 } 8842 /** 8843 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8844 * @param event packet 8845 * @return max_bitpool_value 8846 * @note: btstack_type 1 8847 */ 8848 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 8849 return event[17]; 8850 } 8851 8852 /** 8853 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8854 * @param event packet 8855 * @return avdtp_cid 8856 * @note: btstack_type 2 8857 */ 8858 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ 8859 return little_endian_read_16(event, 3); 8860 } 8861 /** 8862 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8863 * @param event packet 8864 * @return local_seid 8865 * @note: btstack_type 1 8866 */ 8867 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 8868 return event[5]; 8869 } 8870 /** 8871 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8872 * @param event packet 8873 * @return remote_seid 8874 * @note: btstack_type 1 8875 */ 8876 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 8877 return event[6]; 8878 } 8879 /** 8880 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8881 * @param event packet 8882 * @return reconfigure 8883 * @note: btstack_type 1 8884 */ 8885 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 8886 return event[7]; 8887 } 8888 /** 8889 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8890 * @param event packet 8891 * @return media_type 8892 * @note: btstack_type 1 8893 */ 8894 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 8895 return event[8]; 8896 } 8897 /** 8898 * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8899 * @param event packet 8900 * @return layer 8901 * @note: btstack_type 1 8902 */ 8903 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 8904 return event[9]; 8905 } 8906 /** 8907 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8908 * @param event packet 8909 * @return crc 8910 * @note: btstack_type 1 8911 */ 8912 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 8913 return event[10]; 8914 } 8915 /** 8916 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8917 * @param event packet 8918 * @return channel_mode 8919 * @note: btstack_type 1 8920 */ 8921 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 8922 return event[11]; 8923 } 8924 /** 8925 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8926 * @param event packet 8927 * @return num_channels 8928 * @note: btstack_type 1 8929 */ 8930 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 8931 return event[12]; 8932 } 8933 /** 8934 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8935 * @param event packet 8936 * @return media_payload_format 8937 * @note: btstack_type 1 8938 */ 8939 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 8940 return event[13]; 8941 } 8942 /** 8943 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8944 * @param event packet 8945 * @return sampling_frequency 8946 * @note: btstack_type 2 8947 */ 8948 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 8949 return little_endian_read_16(event, 14); 8950 } 8951 /** 8952 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8953 * @param event packet 8954 * @return vbr 8955 * @note: btstack_type 1 8956 */ 8957 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 8958 return event[16]; 8959 } 8960 /** 8961 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8962 * @param event packet 8963 * @return bit_rate_index 8964 * @note: btstack_type 1 8965 */ 8966 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 8967 return event[17]; 8968 } 8969 8970 /** 8971 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8972 * @param event packet 8973 * @return avdtp_cid 8974 * @note: btstack_type 2 8975 */ 8976 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ 8977 return little_endian_read_16(event, 3); 8978 } 8979 /** 8980 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8981 * @param event packet 8982 * @return local_seid 8983 * @note: btstack_type 1 8984 */ 8985 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 8986 return event[5]; 8987 } 8988 /** 8989 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8990 * @param event packet 8991 * @return remote_seid 8992 * @note: btstack_type 1 8993 */ 8994 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 8995 return event[6]; 8996 } 8997 /** 8998 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8999 * @param event packet 9000 * @return reconfigure 9001 * @note: btstack_type 1 9002 */ 9003 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 9004 return event[7]; 9005 } 9006 /** 9007 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9008 * @param event packet 9009 * @return media_type 9010 * @note: btstack_type 1 9011 */ 9012 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 9013 return event[8]; 9014 } 9015 /** 9016 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9017 * @param event packet 9018 * @return object_type 9019 * @note: btstack_type 1 9020 */ 9021 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 9022 return event[9]; 9023 } 9024 /** 9025 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9026 * @param event packet 9027 * @return sampling_frequency 9028 * @note: btstack_type 3 9029 */ 9030 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 9031 return little_endian_read_24(event, 10); 9032 } 9033 /** 9034 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9035 * @param event packet 9036 * @return num_channels 9037 * @note: btstack_type 1 9038 */ 9039 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9040 return event[13]; 9041 } 9042 /** 9043 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9044 * @param event packet 9045 * @return bit_rate 9046 * @note: btstack_type 3 9047 */ 9048 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9049 return little_endian_read_24(event, 14); 9050 } 9051 /** 9052 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9053 * @param event packet 9054 * @return vbr 9055 * @note: btstack_type 1 9056 */ 9057 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9058 return event[17]; 9059 } 9060 9061 /** 9062 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9063 * @param event packet 9064 * @return avdtp_cid 9065 * @note: btstack_type 2 9066 */ 9067 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ 9068 return little_endian_read_16(event, 3); 9069 } 9070 /** 9071 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9072 * @param event packet 9073 * @return local_seid 9074 * @note: btstack_type 1 9075 */ 9076 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9077 return event[5]; 9078 } 9079 /** 9080 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9081 * @param event packet 9082 * @return remote_seid 9083 * @note: btstack_type 1 9084 */ 9085 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9086 return event[6]; 9087 } 9088 /** 9089 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9090 * @param event packet 9091 * @return reconfigure 9092 * @note: btstack_type 1 9093 */ 9094 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9095 return event[7]; 9096 } 9097 /** 9098 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9099 * @param event packet 9100 * @return media_type 9101 * @note: btstack_type 1 9102 */ 9103 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9104 return event[8]; 9105 } 9106 /** 9107 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9108 * @param event packet 9109 * @return version 9110 * @note: btstack_type 1 9111 */ 9112 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9113 return event[9]; 9114 } 9115 /** 9116 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9117 * @param event packet 9118 * @return channel_mode 9119 * @note: btstack_type 1 9120 */ 9121 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9122 return event[10]; 9123 } 9124 /** 9125 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9126 * @param event packet 9127 * @return num_channels 9128 * @note: btstack_type 1 9129 */ 9130 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9131 return event[11]; 9132 } 9133 /** 9134 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9135 * @param event packet 9136 * @return sampling_frequency 9137 * @note: btstack_type 2 9138 */ 9139 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9140 return little_endian_read_16(event, 12); 9141 } 9142 /** 9143 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9144 * @param event packet 9145 * @return vbr 9146 * @note: btstack_type 1 9147 */ 9148 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9149 return event[14]; 9150 } 9151 /** 9152 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9153 * @param event packet 9154 * @return bit_rate_index 9155 * @note: btstack_type 1 9156 */ 9157 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9158 return event[15]; 9159 } 9160 /** 9161 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9162 * @param event packet 9163 * @return maximum_sul 9164 * @note: btstack_type 2 9165 */ 9166 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9167 return little_endian_read_16(event, 16); 9168 } 9169 9170 /** 9171 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9172 * @param event packet 9173 * @return avdtp_cid 9174 * @note: btstack_type 2 9175 */ 9176 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 9177 return little_endian_read_16(event, 3); 9178 } 9179 /** 9180 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9181 * @param event packet 9182 * @return local_seid 9183 * @note: btstack_type 1 9184 */ 9185 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9186 return event[5]; 9187 } 9188 /** 9189 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9190 * @param event packet 9191 * @return remote_seid 9192 * @note: btstack_type 1 9193 */ 9194 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9195 return event[6]; 9196 } 9197 /** 9198 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9199 * @param event packet 9200 * @return reconfigure 9201 * @note: btstack_type 1 9202 */ 9203 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9204 return event[7]; 9205 } 9206 /** 9207 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9208 * @param event packet 9209 * @return media_type 9210 * @note: btstack_type 1 9211 */ 9212 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9213 return event[8]; 9214 } 9215 /** 9216 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9217 * @param event packet 9218 * @return media_codec_type 9219 * @note: btstack_type 2 9220 */ 9221 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9222 return little_endian_read_16(event, 9); 9223 } 9224 /** 9225 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9226 * @param event packet 9227 * @return media_codec_information_len 9228 * @note: btstack_type L 9229 */ 9230 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9231 return little_endian_read_16(event, 11); 9232 } 9233 /** 9234 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9235 * @param event packet 9236 * @return media_codec_information 9237 * @note: btstack_type V 9238 */ 9239 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9240 return &event[13]; 9241 } 9242 9243 /** 9244 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9245 * @param event packet 9246 * @return avdtp_cid 9247 * @note: btstack_type 2 9248 */ 9249 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 9250 return little_endian_read_16(event, 3); 9251 } 9252 /** 9253 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9254 * @param event packet 9255 * @param Pointer to storage for bd_addr 9256 * @note: btstack_type B 9257 */ 9258 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9259 reverse_bytes(&event[5], bd_addr, 6); 9260 } 9261 /** 9262 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9263 * @param event packet 9264 * @return local_seid 9265 * @note: btstack_type 1 9266 */ 9267 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 9268 return event[11]; 9269 } 9270 /** 9271 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9272 * @param event packet 9273 * @return remote_seid 9274 * @note: btstack_type 1 9275 */ 9276 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 9277 return event[12]; 9278 } 9279 /** 9280 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9281 * @param event packet 9282 * @return status 9283 * @note: btstack_type 1 9284 */ 9285 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 9286 return event[13]; 9287 } 9288 9289 /** 9290 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9291 * @param event packet 9292 * @return avdtp_cid 9293 * @note: btstack_type 2 9294 */ 9295 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 9296 return little_endian_read_16(event, 3); 9297 } 9298 /** 9299 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9300 * @param event packet 9301 * @return local_seid 9302 * @note: btstack_type 1 9303 */ 9304 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 9305 return event[5]; 9306 } 9307 9308 /** 9309 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9310 * @param event packet 9311 * @return avdtp_cid 9312 * @note: btstack_type 2 9313 */ 9314 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 9315 return little_endian_read_16(event, 3); 9316 } 9317 /** 9318 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9319 * @param event packet 9320 * @return local_seid 9321 * @note: btstack_type 1 9322 */ 9323 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9324 return event[5]; 9325 } 9326 /** 9327 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9328 * @param event packet 9329 * @return sequence_number 9330 * @note: btstack_type 2 9331 */ 9332 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 9333 return little_endian_read_16(event, 6); 9334 } 9335 9336 /** 9337 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 9338 * @param event packet 9339 * @return avdtp_cid 9340 * @note: btstack_type 2 9341 */ 9342 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 9343 return little_endian_read_16(event, 3); 9344 } 9345 9346 /** 9347 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9348 * @param event packet 9349 * @return avdtp_cid 9350 * @note: btstack_type 2 9351 */ 9352 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 9353 return little_endian_read_16(event, 3); 9354 } 9355 /** 9356 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9357 * @param event packet 9358 * @return local_seid 9359 * @note: btstack_type 1 9360 */ 9361 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 9362 return event[5]; 9363 } 9364 /** 9365 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9366 * @param event packet 9367 * @return delay_100us 9368 * @note: btstack_type 2 9369 */ 9370 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 9371 return little_endian_read_16(event, 6); 9372 } 9373 9374 /** 9375 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9376 * @param event packet 9377 * @return a2dp_cid 9378 * @note: btstack_type 2 9379 */ 9380 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 9381 return little_endian_read_16(event, 3); 9382 } 9383 /** 9384 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9385 * @param event packet 9386 * @return local_seid 9387 * @note: btstack_type 1 9388 */ 9389 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9390 return event[5]; 9391 } 9392 9393 /** 9394 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9395 * @param event packet 9396 * @return a2dp_cid 9397 * @note: btstack_type 2 9398 */ 9399 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 9400 return little_endian_read_16(event, 3); 9401 } 9402 /** 9403 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9404 * @param event packet 9405 * @return local_seid 9406 * @note: btstack_type 1 9407 */ 9408 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 9409 return event[5]; 9410 } 9411 /** 9412 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9413 * @param event packet 9414 * @return remote_seid 9415 * @note: btstack_type 1 9416 */ 9417 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 9418 return event[6]; 9419 } 9420 /** 9421 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9422 * @param event packet 9423 * @return reconfigure 9424 * @note: btstack_type 1 9425 */ 9426 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 9427 return event[7]; 9428 } 9429 /** 9430 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9431 * @param event packet 9432 * @return media_type 9433 * @note: btstack_type 1 9434 */ 9435 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 9436 return event[8]; 9437 } 9438 /** 9439 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9440 * @param event packet 9441 * @return sampling_frequency 9442 * @note: btstack_type 2 9443 */ 9444 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 9445 return little_endian_read_16(event, 9); 9446 } 9447 /** 9448 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9449 * @param event packet 9450 * @return channel_mode 9451 * @note: btstack_type 1 9452 */ 9453 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 9454 return event[11]; 9455 } 9456 /** 9457 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9458 * @param event packet 9459 * @return num_channels 9460 * @note: btstack_type 1 9461 */ 9462 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 9463 return event[12]; 9464 } 9465 /** 9466 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9467 * @param event packet 9468 * @return block_length 9469 * @note: btstack_type 1 9470 */ 9471 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 9472 return event[13]; 9473 } 9474 /** 9475 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9476 * @param event packet 9477 * @return subbands 9478 * @note: btstack_type 1 9479 */ 9480 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 9481 return event[14]; 9482 } 9483 /** 9484 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9485 * @param event packet 9486 * @return allocation_method 9487 * @note: btstack_type 1 9488 */ 9489 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 9490 return event[15]; 9491 } 9492 /** 9493 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9494 * @param event packet 9495 * @return min_bitpool_value 9496 * @note: btstack_type 1 9497 */ 9498 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 9499 return event[16]; 9500 } 9501 /** 9502 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9503 * @param event packet 9504 * @return max_bitpool_value 9505 * @note: btstack_type 1 9506 */ 9507 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 9508 return event[17]; 9509 } 9510 9511 /** 9512 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9513 * @param event packet 9514 * @return a2dp_cid 9515 * @note: btstack_type 2 9516 */ 9517 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_a2dp_cid(const uint8_t * event){ 9518 return little_endian_read_16(event, 3); 9519 } 9520 /** 9521 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9522 * @param event packet 9523 * @return local_seid 9524 * @note: btstack_type 1 9525 */ 9526 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 9527 return event[5]; 9528 } 9529 /** 9530 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9531 * @param event packet 9532 * @return remote_seid 9533 * @note: btstack_type 1 9534 */ 9535 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 9536 return event[6]; 9537 } 9538 /** 9539 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9540 * @param event packet 9541 * @return reconfigure 9542 * @note: btstack_type 1 9543 */ 9544 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 9545 return event[7]; 9546 } 9547 /** 9548 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9549 * @param event packet 9550 * @return media_type 9551 * @note: btstack_type 1 9552 */ 9553 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 9554 return event[8]; 9555 } 9556 /** 9557 * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9558 * @param event packet 9559 * @return layer 9560 * @note: btstack_type 1 9561 */ 9562 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 9563 return event[9]; 9564 } 9565 /** 9566 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9567 * @param event packet 9568 * @return crc 9569 * @note: btstack_type 1 9570 */ 9571 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 9572 return event[10]; 9573 } 9574 /** 9575 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9576 * @param event packet 9577 * @return channel_mode 9578 * @note: btstack_type 1 9579 */ 9580 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 9581 return event[11]; 9582 } 9583 /** 9584 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9585 * @param event packet 9586 * @return num_channels 9587 * @note: btstack_type 1 9588 */ 9589 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 9590 return event[12]; 9591 } 9592 /** 9593 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9594 * @param event packet 9595 * @return media_payload_format 9596 * @note: btstack_type 1 9597 */ 9598 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 9599 return event[13]; 9600 } 9601 /** 9602 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9603 * @param event packet 9604 * @return sampling_frequency 9605 * @note: btstack_type 2 9606 */ 9607 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 9608 return little_endian_read_16(event, 14); 9609 } 9610 /** 9611 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9612 * @param event packet 9613 * @return vbr 9614 * @note: btstack_type 1 9615 */ 9616 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 9617 return event[16]; 9618 } 9619 /** 9620 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9621 * @param event packet 9622 * @return bit_rate_index 9623 * @note: btstack_type 1 9624 */ 9625 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 9626 return event[17]; 9627 } 9628 9629 /** 9630 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9631 * @param event packet 9632 * @return a2dp_cid 9633 * @note: btstack_type 2 9634 */ 9635 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_a2dp_cid(const uint8_t * event){ 9636 return little_endian_read_16(event, 3); 9637 } 9638 /** 9639 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9640 * @param event packet 9641 * @return local_seid 9642 * @note: btstack_type 1 9643 */ 9644 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 9645 return event[5]; 9646 } 9647 /** 9648 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9649 * @param event packet 9650 * @return remote_seid 9651 * @note: btstack_type 1 9652 */ 9653 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 9654 return event[6]; 9655 } 9656 /** 9657 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9658 * @param event packet 9659 * @return reconfigure 9660 * @note: btstack_type 1 9661 */ 9662 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 9663 return event[7]; 9664 } 9665 /** 9666 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9667 * @param event packet 9668 * @return media_type 9669 * @note: btstack_type 1 9670 */ 9671 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 9672 return event[8]; 9673 } 9674 /** 9675 * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9676 * @param event packet 9677 * @return object_type 9678 * @note: btstack_type 1 9679 */ 9680 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 9681 return event[9]; 9682 } 9683 /** 9684 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9685 * @param event packet 9686 * @return sampling_frequency 9687 * @note: btstack_type 3 9688 */ 9689 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 9690 return little_endian_read_24(event, 10); 9691 } 9692 /** 9693 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9694 * @param event packet 9695 * @return num_channels 9696 * @note: btstack_type 1 9697 */ 9698 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9699 return event[13]; 9700 } 9701 /** 9702 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9703 * @param event packet 9704 * @return bit_rate 9705 * @note: btstack_type 3 9706 */ 9707 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9708 return little_endian_read_24(event, 14); 9709 } 9710 /** 9711 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9712 * @param event packet 9713 * @return vbr 9714 * @note: btstack_type 1 9715 */ 9716 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9717 return event[17]; 9718 } 9719 9720 /** 9721 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9722 * @param event packet 9723 * @return a2dp_cid 9724 * @note: btstack_type 2 9725 */ 9726 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_a2dp_cid(const uint8_t * event){ 9727 return little_endian_read_16(event, 3); 9728 } 9729 /** 9730 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9731 * @param event packet 9732 * @return local_seid 9733 * @note: btstack_type 1 9734 */ 9735 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9736 return event[5]; 9737 } 9738 /** 9739 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9740 * @param event packet 9741 * @return remote_seid 9742 * @note: btstack_type 1 9743 */ 9744 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9745 return event[6]; 9746 } 9747 /** 9748 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9749 * @param event packet 9750 * @return reconfigure 9751 * @note: btstack_type 1 9752 */ 9753 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9754 return event[7]; 9755 } 9756 /** 9757 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9758 * @param event packet 9759 * @return media_type 9760 * @note: btstack_type 1 9761 */ 9762 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9763 return event[8]; 9764 } 9765 /** 9766 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9767 * @param event packet 9768 * @return version 9769 * @note: btstack_type 1 9770 */ 9771 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9772 return event[9]; 9773 } 9774 /** 9775 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9776 * @param event packet 9777 * @return channel_mode 9778 * @note: btstack_type 1 9779 */ 9780 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9781 return event[10]; 9782 } 9783 /** 9784 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9785 * @param event packet 9786 * @return num_channels 9787 * @note: btstack_type 1 9788 */ 9789 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9790 return event[11]; 9791 } 9792 /** 9793 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9794 * @param event packet 9795 * @return sampling_frequency 9796 * @note: btstack_type 2 9797 */ 9798 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9799 return little_endian_read_16(event, 12); 9800 } 9801 /** 9802 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9803 * @param event packet 9804 * @return vbr 9805 * @note: btstack_type 1 9806 */ 9807 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9808 return event[14]; 9809 } 9810 /** 9811 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9812 * @param event packet 9813 * @return bit_rate_index 9814 * @note: btstack_type 1 9815 */ 9816 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9817 return event[15]; 9818 } 9819 /** 9820 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9821 * @param event packet 9822 * @return maximum_sul 9823 * @note: btstack_type 2 9824 */ 9825 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9826 return little_endian_read_16(event, 16); 9827 } 9828 9829 /** 9830 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9831 * @param event packet 9832 * @return a2dp_cid 9833 * @note: btstack_type 2 9834 */ 9835 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 9836 return little_endian_read_16(event, 3); 9837 } 9838 /** 9839 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9840 * @param event packet 9841 * @return local_seid 9842 * @note: btstack_type 1 9843 */ 9844 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9845 return event[5]; 9846 } 9847 /** 9848 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9849 * @param event packet 9850 * @return remote_seid 9851 * @note: btstack_type 1 9852 */ 9853 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9854 return event[6]; 9855 } 9856 /** 9857 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9858 * @param event packet 9859 * @return reconfigure 9860 * @note: btstack_type 1 9861 */ 9862 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9863 return event[7]; 9864 } 9865 /** 9866 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9867 * @param event packet 9868 * @return media_type 9869 * @note: btstack_type 1 9870 */ 9871 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9872 return event[8]; 9873 } 9874 /** 9875 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9876 * @param event packet 9877 * @return media_codec_type 9878 * @note: btstack_type 2 9879 */ 9880 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9881 return little_endian_read_16(event, 9); 9882 } 9883 /** 9884 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9885 * @param event packet 9886 * @return media_codec_information_len 9887 * @note: btstack_type L 9888 */ 9889 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9890 return little_endian_read_16(event, 11); 9891 } 9892 /** 9893 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9894 * @param event packet 9895 * @return media_codec_information 9896 * @note: btstack_type V 9897 */ 9898 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9899 return &event[13]; 9900 } 9901 9902 /** 9903 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9904 * @param event packet 9905 * @return a2dp_cid 9906 * @note: btstack_type 2 9907 */ 9908 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 9909 return little_endian_read_16(event, 3); 9910 } 9911 /** 9912 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9913 * @param event packet 9914 * @param Pointer to storage for bd_addr 9915 * @note: btstack_type B 9916 */ 9917 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9918 reverse_bytes(&event[5], bd_addr, 6); 9919 } 9920 /** 9921 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9922 * @param event packet 9923 * @return local_seid 9924 * @note: btstack_type 1 9925 */ 9926 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 9927 return event[11]; 9928 } 9929 /** 9930 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9931 * @param event packet 9932 * @return remote_seid 9933 * @note: btstack_type 1 9934 */ 9935 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 9936 return event[12]; 9937 } 9938 /** 9939 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9940 * @param event packet 9941 * @return status 9942 * @note: btstack_type 1 9943 */ 9944 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 9945 return event[13]; 9946 } 9947 9948 /** 9949 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9950 * @param event packet 9951 * @return a2dp_cid 9952 * @note: btstack_type 2 9953 */ 9954 static inline uint16_t a2dp_subevent_start_stream_requested_get_a2dp_cid(const uint8_t * event){ 9955 return little_endian_read_16(event, 3); 9956 } 9957 /** 9958 * @brief Get field local_seid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9959 * @param event packet 9960 * @return local_seid 9961 * @note: btstack_type 1 9962 */ 9963 static inline uint8_t a2dp_subevent_start_stream_requested_get_local_seid(const uint8_t * event){ 9964 return event[5]; 9965 } 9966 9967 /** 9968 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 9969 * @param event packet 9970 * @return a2dp_cid 9971 * @note: btstack_type 2 9972 */ 9973 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 9974 return little_endian_read_16(event, 3); 9975 } 9976 /** 9977 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 9978 * @param event packet 9979 * @return local_seid 9980 * @note: btstack_type 1 9981 */ 9982 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 9983 return event[5]; 9984 } 9985 9986 /** 9987 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9988 * @param event packet 9989 * @return a2dp_cid 9990 * @note: btstack_type 2 9991 */ 9992 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 9993 return little_endian_read_16(event, 3); 9994 } 9995 /** 9996 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9997 * @param event packet 9998 * @return local_seid 9999 * @note: btstack_type 1 10000 */ 10001 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 10002 return event[5]; 10003 } 10004 10005 /** 10006 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 10007 * @param event packet 10008 * @return a2dp_cid 10009 * @note: btstack_type 2 10010 */ 10011 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 10012 return little_endian_read_16(event, 3); 10013 } 10014 /** 10015 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 10016 * @param event packet 10017 * @return local_seid 10018 * @note: btstack_type 1 10019 */ 10020 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 10021 return event[5]; 10022 } 10023 10024 /** 10025 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 10026 * @param event packet 10027 * @return a2dp_cid 10028 * @note: btstack_type 2 10029 */ 10030 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 10031 return little_endian_read_16(event, 3); 10032 } 10033 /** 10034 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 10035 * @param event packet 10036 * @return local_seid 10037 * @note: btstack_type 1 10038 */ 10039 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 10040 return event[5]; 10041 } 10042 10043 /** 10044 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10045 * @param event packet 10046 * @return a2dp_cid 10047 * @note: btstack_type 2 10048 */ 10049 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 10050 return little_endian_read_16(event, 3); 10051 } 10052 /** 10053 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10054 * @param event packet 10055 * @return local_seid 10056 * @note: btstack_type 1 10057 */ 10058 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 10059 return event[5]; 10060 } 10061 /** 10062 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10063 * @param event packet 10064 * @return signal_identifier 10065 * @note: btstack_type 1 10066 */ 10067 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 10068 return event[6]; 10069 } 10070 10071 /** 10072 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 10073 * @param event packet 10074 * @return a2dp_cid 10075 * @note: btstack_type 2 10076 */ 10077 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 10078 return little_endian_read_16(event, 3); 10079 } 10080 /** 10081 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 10082 * @param event packet 10083 * @return local_seid 10084 * @note: btstack_type 1 10085 */ 10086 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 10087 return event[5]; 10088 } 10089 /** 10090 * @brief Get field is_initiator from event A2DP_SUBEVENT_COMMAND_REJECTED 10091 * @param event packet 10092 * @return is_initiator 10093 * @note: btstack_type 1 10094 */ 10095 static inline uint8_t a2dp_subevent_command_rejected_get_is_initiator(const uint8_t * event){ 10096 return event[6]; 10097 } 10098 /** 10099 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 10100 * @param event packet 10101 * @return signal_identifier 10102 * @note: btstack_type 1 10103 */ 10104 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 10105 return event[7]; 10106 } 10107 10108 /** 10109 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10110 * @param event packet 10111 * @return a2dp_cid 10112 * @note: btstack_type 2 10113 */ 10114 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 10115 return little_endian_read_16(event, 3); 10116 } 10117 /** 10118 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10119 * @param event packet 10120 * @param Pointer to storage for bd_addr 10121 * @note: btstack_type B 10122 */ 10123 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10124 reverse_bytes(&event[5], bd_addr, 6); 10125 } 10126 /** 10127 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10128 * @param event packet 10129 * @return con_handle 10130 * @note: btstack_type 2 10131 */ 10132 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 10133 return little_endian_read_16(event, 11); 10134 } 10135 /** 10136 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10137 * @param event packet 10138 * @return status 10139 * @note: btstack_type 1 10140 */ 10141 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 10142 return event[13]; 10143 } 10144 10145 /** 10146 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 10147 * @param event packet 10148 * @return a2dp_cid 10149 * @note: btstack_type 2 10150 */ 10151 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 10152 return little_endian_read_16(event, 3); 10153 } 10154 10155 /** 10156 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10157 * @param event packet 10158 * @return a2dp_cid 10159 * @note: btstack_type 2 10160 */ 10161 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 10162 return little_endian_read_16(event, 3); 10163 } 10164 /** 10165 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10166 * @param event packet 10167 * @return local_seid 10168 * @note: btstack_type 1 10169 */ 10170 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 10171 return event[5]; 10172 } 10173 /** 10174 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10175 * @param event packet 10176 * @return status 10177 * @note: btstack_type 1 10178 */ 10179 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 10180 return event[6]; 10181 } 10182 10183 /** 10184 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10185 * @param event packet 10186 * @return a2dp_cid 10187 * @note: btstack_type 2 10188 */ 10189 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_a2dp_cid(const uint8_t * event){ 10190 return little_endian_read_16(event, 3); 10191 } 10192 /** 10193 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10194 * @param event packet 10195 * @return remote_seid 10196 * @note: btstack_type 1 10197 */ 10198 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 10199 return event[5]; 10200 } 10201 /** 10202 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10203 * @param event packet 10204 * @return media_type 10205 * @note: btstack_type 1 10206 */ 10207 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 10208 return event[6]; 10209 } 10210 /** 10211 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10212 * @param event packet 10213 * @return sampling_frequency_bitmap 10214 * @note: btstack_type 1 10215 */ 10216 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10217 return event[7]; 10218 } 10219 /** 10220 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10221 * @param event packet 10222 * @return channel_mode_bitmap 10223 * @note: btstack_type 1 10224 */ 10225 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 10226 return event[8]; 10227 } 10228 /** 10229 * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10230 * @param event packet 10231 * @return block_length_bitmap 10232 * @note: btstack_type 1 10233 */ 10234 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 10235 return event[9]; 10236 } 10237 /** 10238 * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10239 * @param event packet 10240 * @return subbands_bitmap 10241 * @note: btstack_type 1 10242 */ 10243 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 10244 return event[10]; 10245 } 10246 /** 10247 * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10248 * @param event packet 10249 * @return allocation_method_bitmap 10250 * @note: btstack_type 1 10251 */ 10252 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 10253 return event[11]; 10254 } 10255 /** 10256 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10257 * @param event packet 10258 * @return min_bitpool_value 10259 * @note: btstack_type 1 10260 */ 10261 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 10262 return event[12]; 10263 } 10264 /** 10265 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10266 * @param event packet 10267 * @return max_bitpool_value 10268 * @note: btstack_type 1 10269 */ 10270 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 10271 return event[13]; 10272 } 10273 10274 /** 10275 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10276 * @param event packet 10277 * @return a2dp_cid 10278 * @note: btstack_type 2 10279 */ 10280 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_a2dp_cid(const uint8_t * event){ 10281 return little_endian_read_16(event, 3); 10282 } 10283 /** 10284 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10285 * @param event packet 10286 * @return remote_seid 10287 * @note: btstack_type 1 10288 */ 10289 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 10290 return event[5]; 10291 } 10292 /** 10293 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10294 * @param event packet 10295 * @return media_type 10296 * @note: btstack_type 1 10297 */ 10298 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 10299 return event[6]; 10300 } 10301 /** 10302 * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10303 * @param event packet 10304 * @return layer_bitmap 10305 * @note: btstack_type 1 10306 */ 10307 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 10308 return event[7]; 10309 } 10310 /** 10311 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10312 * @param event packet 10313 * @return crc 10314 * @note: btstack_type 1 10315 */ 10316 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 10317 return event[8]; 10318 } 10319 /** 10320 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10321 * @param event packet 10322 * @return channel_mode_bitmap 10323 * @note: btstack_type 1 10324 */ 10325 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 10326 return event[9]; 10327 } 10328 /** 10329 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10330 * @param event packet 10331 * @return media_payload_format 10332 * @note: btstack_type 1 10333 */ 10334 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 10335 return event[10]; 10336 } 10337 /** 10338 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10339 * @param event packet 10340 * @return sampling_frequency_bitmap 10341 * @note: btstack_type 1 10342 */ 10343 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10344 return event[11]; 10345 } 10346 /** 10347 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10348 * @param event packet 10349 * @return vbr 10350 * @note: btstack_type 1 10351 */ 10352 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 10353 return event[12]; 10354 } 10355 /** 10356 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10357 * @param event packet 10358 * @return bit_rate_index_bitmap 10359 * @note: btstack_type 2 10360 */ 10361 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10362 return little_endian_read_16(event, 13); 10363 } 10364 10365 /** 10366 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10367 * @param event packet 10368 * @return a2dp_cid 10369 * @note: btstack_type 2 10370 */ 10371 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_a2dp_cid(const uint8_t * event){ 10372 return little_endian_read_16(event, 3); 10373 } 10374 /** 10375 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10376 * @param event packet 10377 * @return remote_seid 10378 * @note: btstack_type 1 10379 */ 10380 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 10381 return event[5]; 10382 } 10383 /** 10384 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10385 * @param event packet 10386 * @return media_type 10387 * @note: btstack_type 1 10388 */ 10389 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 10390 return event[6]; 10391 } 10392 /** 10393 * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10394 * @param event packet 10395 * @return object_type_bitmap 10396 * @note: btstack_type 1 10397 */ 10398 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 10399 return event[7]; 10400 } 10401 /** 10402 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10403 * @param event packet 10404 * @return sampling_frequency_bitmap 10405 * @note: btstack_type 2 10406 */ 10407 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10408 return little_endian_read_16(event, 8); 10409 } 10410 /** 10411 * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10412 * @param event packet 10413 * @return channels_bitmap 10414 * @note: btstack_type 1 10415 */ 10416 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 10417 return event[10]; 10418 } 10419 /** 10420 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10421 * @param event packet 10422 * @return bit_rate 10423 * @note: btstack_type 3 10424 */ 10425 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 10426 return little_endian_read_24(event, 11); 10427 } 10428 /** 10429 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10430 * @param event packet 10431 * @return vbr 10432 * @note: btstack_type 1 10433 */ 10434 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 10435 return event[14]; 10436 } 10437 10438 /** 10439 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10440 * @param event packet 10441 * @return a2dp_cid 10442 * @note: btstack_type 2 10443 */ 10444 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_a2dp_cid(const uint8_t * event){ 10445 return little_endian_read_16(event, 3); 10446 } 10447 /** 10448 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10449 * @param event packet 10450 * @return remote_seid 10451 * @note: btstack_type 1 10452 */ 10453 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 10454 return event[5]; 10455 } 10456 /** 10457 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10458 * @param event packet 10459 * @return media_type 10460 * @note: btstack_type 1 10461 */ 10462 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 10463 return event[6]; 10464 } 10465 /** 10466 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10467 * @param event packet 10468 * @return version 10469 * @note: btstack_type 1 10470 */ 10471 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 10472 return event[7]; 10473 } 10474 /** 10475 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10476 * @param event packet 10477 * @return channel_mode_bitmap 10478 * @note: btstack_type 1 10479 */ 10480 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 10481 return event[8]; 10482 } 10483 /** 10484 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10485 * @param event packet 10486 * @return sampling_frequency_bitmap 10487 * @note: btstack_type 1 10488 */ 10489 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10490 return event[9]; 10491 } 10492 /** 10493 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10494 * @param event packet 10495 * @return vbr 10496 * @note: btstack_type 1 10497 */ 10498 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 10499 return event[10]; 10500 } 10501 /** 10502 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10503 * @param event packet 10504 * @return bit_rate_index_bitmap 10505 * @note: btstack_type 3 10506 */ 10507 static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10508 return little_endian_read_24(event, 11); 10509 } 10510 /** 10511 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10512 * @param event packet 10513 * @return maximum_sul 10514 * @note: btstack_type 2 10515 */ 10516 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 10517 return little_endian_read_16(event, 14); 10518 } 10519 10520 /** 10521 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10522 * @param event packet 10523 * @return a2dp_cid 10524 * @note: btstack_type 2 10525 */ 10526 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_a2dp_cid(const uint8_t * event){ 10527 return little_endian_read_16(event, 3); 10528 } 10529 /** 10530 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10531 * @param event packet 10532 * @return remote_seid 10533 * @note: btstack_type 1 10534 */ 10535 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 10536 return event[5]; 10537 } 10538 /** 10539 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10540 * @param event packet 10541 * @return media_type 10542 * @note: btstack_type 1 10543 */ 10544 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 10545 return event[6]; 10546 } 10547 /** 10548 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10549 * @param event packet 10550 * @return media_codec_type 10551 * @note: btstack_type 2 10552 */ 10553 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 10554 return little_endian_read_16(event, 7); 10555 } 10556 /** 10557 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10558 * @param event packet 10559 * @return media_codec_information_len 10560 * @note: btstack_type L 10561 */ 10562 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 10563 return little_endian_read_16(event, 9); 10564 } 10565 /** 10566 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10567 * @param event packet 10568 * @return media_codec_information 10569 * @note: btstack_type V 10570 */ 10571 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 10572 return &event[11]; 10573 } 10574 10575 /** 10576 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10577 * @param event packet 10578 * @return a2dp_cid 10579 * @note: btstack_type 2 10580 */ 10581 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_a2dp_cid(const uint8_t * event){ 10582 return little_endian_read_16(event, 3); 10583 } 10584 /** 10585 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10586 * @param event packet 10587 * @return remote_seid 10588 * @note: btstack_type 1 10589 */ 10590 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 10591 return event[5]; 10592 } 10593 10594 /** 10595 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10596 * @param event packet 10597 * @return a2dp_cid 10598 * @note: btstack_type 2 10599 */ 10600 static inline uint16_t a2dp_subevent_signaling_delay_report_get_a2dp_cid(const uint8_t * event){ 10601 return little_endian_read_16(event, 3); 10602 } 10603 /** 10604 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10605 * @param event packet 10606 * @return local_seid 10607 * @note: btstack_type 1 10608 */ 10609 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 10610 return event[5]; 10611 } 10612 /** 10613 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10614 * @param event packet 10615 * @return delay_100us 10616 * @note: btstack_type 2 10617 */ 10618 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 10619 return little_endian_read_16(event, 6); 10620 } 10621 10622 /** 10623 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10624 * @param event packet 10625 * @return a2dp_cid 10626 * @note: btstack_type 2 10627 */ 10628 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_a2dp_cid(const uint8_t * event){ 10629 return little_endian_read_16(event, 3); 10630 } 10631 /** 10632 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10633 * @param event packet 10634 * @return remote_seid 10635 * @note: btstack_type 1 10636 */ 10637 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 10638 return event[5]; 10639 } 10640 10641 /** 10642 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 10643 * @param event packet 10644 * @return a2dp_cid 10645 * @note: btstack_type 2 10646 */ 10647 static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_a2dp_cid(const uint8_t * event){ 10648 return little_endian_read_16(event, 3); 10649 } 10650 10651 /** 10652 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10653 * @param event packet 10654 * @return avrcp_cid 10655 * @note: btstack_type 2 10656 */ 10657 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 10658 return little_endian_read_16(event, 3); 10659 } 10660 /** 10661 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10662 * @param event packet 10663 * @return command_type 10664 * @note: btstack_type 1 10665 */ 10666 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 10667 return event[5]; 10668 } 10669 /** 10670 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10671 * @param event packet 10672 * @return play_status 10673 * @note: btstack_type 1 10674 */ 10675 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 10676 return event[6]; 10677 } 10678 10679 /** 10680 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10681 * @param event packet 10682 * @return avrcp_cid 10683 * @note: btstack_type 2 10684 */ 10685 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 10686 return little_endian_read_16(event, 3); 10687 } 10688 /** 10689 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10690 * @param event packet 10691 * @return command_type 10692 * @note: btstack_type 1 10693 */ 10694 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 10695 return event[5]; 10696 } 10697 10698 /** 10699 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10700 * @param event packet 10701 * @return avrcp_cid 10702 * @note: btstack_type 2 10703 */ 10704 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 10705 return little_endian_read_16(event, 3); 10706 } 10707 /** 10708 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10709 * @param event packet 10710 * @return command_type 10711 * @note: btstack_type 1 10712 */ 10713 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 10714 return event[5]; 10715 } 10716 10717 /** 10718 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10719 * @param event packet 10720 * @return avrcp_cid 10721 * @note: btstack_type 2 10722 */ 10723 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){ 10724 return little_endian_read_16(event, 3); 10725 } 10726 /** 10727 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10728 * @param event packet 10729 * @return command_type 10730 * @note: btstack_type 1 10731 */ 10732 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 10733 return event[5]; 10734 } 10735 10736 /** 10737 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10738 * @param event packet 10739 * @return avrcp_cid 10740 * @note: btstack_type 2 10741 */ 10742 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 10743 return little_endian_read_16(event, 3); 10744 } 10745 /** 10746 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10747 * @param event packet 10748 * @return command_type 10749 * @note: btstack_type 1 10750 */ 10751 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 10752 return event[5]; 10753 } 10754 /** 10755 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10756 * @param event packet 10757 * @return playback_position 10758 * @note: btstack_type 4 10759 */ 10760 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 10761 return little_endian_read_32(event, 6); 10762 } 10763 10764 /** 10765 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10766 * @param event packet 10767 * @return avrcp_cid 10768 * @note: btstack_type 2 10769 */ 10770 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 10771 return little_endian_read_16(event, 3); 10772 } 10773 /** 10774 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10775 * @param event packet 10776 * @return command_type 10777 * @note: btstack_type 1 10778 */ 10779 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 10780 return event[5]; 10781 } 10782 /** 10783 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10784 * @param event packet 10785 * @return battery_status 10786 * @note: btstack_type 1 10787 */ 10788 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 10789 return event[6]; 10790 } 10791 10792 /** 10793 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10794 * @param event packet 10795 * @return avrcp_cid 10796 * @note: btstack_type 2 10797 */ 10798 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 10799 return little_endian_read_16(event, 3); 10800 } 10801 /** 10802 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10803 * @param event packet 10804 * @return command_type 10805 * @note: btstack_type 1 10806 */ 10807 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 10808 return event[5]; 10809 } 10810 /** 10811 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10812 * @param event packet 10813 * @return system_status 10814 * @note: btstack_type 1 10815 */ 10816 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 10817 return event[6]; 10818 } 10819 10820 /** 10821 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10822 * @param event packet 10823 * @return avrcp_cid 10824 * @note: btstack_type 2 10825 */ 10826 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 10827 return little_endian_read_16(event, 3); 10828 } 10829 /** 10830 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10831 * @param event packet 10832 * @return command_type 10833 * @note: btstack_type 1 10834 */ 10835 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 10836 return event[5]; 10837 } 10838 10839 /** 10840 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10841 * @param event packet 10842 * @return avrcp_cid 10843 * @note: btstack_type 2 10844 */ 10845 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 10846 return little_endian_read_16(event, 3); 10847 } 10848 /** 10849 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10850 * @param event packet 10851 * @return command_type 10852 * @note: btstack_type 1 10853 */ 10854 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 10855 return event[5]; 10856 } 10857 10858 /** 10859 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10860 * @param event packet 10861 * @return avrcp_cid 10862 * @note: btstack_type 2 10863 */ 10864 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 10865 return little_endian_read_16(event, 3); 10866 } 10867 /** 10868 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10869 * @param event packet 10870 * @return command_type 10871 * @note: btstack_type 1 10872 */ 10873 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 10874 return event[5]; 10875 } 10876 /** 10877 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10878 * @param event packet 10879 * @return uid_counter 10880 * @note: btstack_type 2 10881 */ 10882 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 10883 return little_endian_read_16(event, 6); 10884 } 10885 10886 /** 10887 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10888 * @param event packet 10889 * @return avrcp_cid 10890 * @note: btstack_type 2 10891 */ 10892 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 10893 return little_endian_read_16(event, 3); 10894 } 10895 /** 10896 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10897 * @param event packet 10898 * @return command_type 10899 * @note: btstack_type 1 10900 */ 10901 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 10902 return event[5]; 10903 } 10904 /** 10905 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10906 * @param event packet 10907 * @return absolute_volume 10908 * @note: btstack_type 1 10909 */ 10910 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 10911 return event[6]; 10912 } 10913 10914 /** 10915 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10916 * @param event packet 10917 * @return avrcp_cid 10918 * @note: btstack_type 2 10919 */ 10920 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 10921 return little_endian_read_16(event, 3); 10922 } 10923 /** 10924 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10925 * @param event packet 10926 * @return command_type 10927 * @note: btstack_type 1 10928 */ 10929 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 10930 return event[5]; 10931 } 10932 /** 10933 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10934 * @param event packet 10935 * @return absolute_volume 10936 * @note: btstack_type 1 10937 */ 10938 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 10939 return event[6]; 10940 } 10941 10942 /** 10943 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10944 * @param event packet 10945 * @return avrcp_cid 10946 * @note: btstack_type 2 10947 */ 10948 static inline uint16_t avrcp_subevent_notification_state_get_avrcp_cid(const uint8_t * event){ 10949 return little_endian_read_16(event, 3); 10950 } 10951 /** 10952 * @brief Get field status from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10953 * @param event packet 10954 * @return status 10955 * @note: btstack_type 1 10956 */ 10957 static inline uint8_t avrcp_subevent_notification_state_get_status(const uint8_t * event){ 10958 return event[5]; 10959 } 10960 /** 10961 * @brief Get field enabled from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10962 * @param event packet 10963 * @return enabled 10964 * @note: btstack_type 1 10965 */ 10966 static inline uint8_t avrcp_subevent_notification_state_get_enabled(const uint8_t * event){ 10967 return event[6]; 10968 } 10969 /** 10970 * @brief Get field event_id from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10971 * @param event packet 10972 * @return event_id 10973 * @note: btstack_type 1 10974 */ 10975 static inline uint8_t avrcp_subevent_notification_state_get_event_id(const uint8_t * event){ 10976 return event[7]; 10977 } 10978 10979 /** 10980 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10981 * @param event packet 10982 * @return status 10983 * @note: btstack_type 1 10984 */ 10985 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 10986 return event[3]; 10987 } 10988 /** 10989 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10990 * @param event packet 10991 * @return avrcp_cid 10992 * @note: btstack_type 2 10993 */ 10994 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 10995 return little_endian_read_16(event, 4); 10996 } 10997 /** 10998 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10999 * @param event packet 11000 * @param Pointer to storage for bd_addr 11001 * @note: btstack_type B 11002 */ 11003 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11004 reverse_bytes(&event[6], bd_addr, 6); 11005 } 11006 /** 11007 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 11008 * @param event packet 11009 * @return con_handle 11010 * @note: btstack_type 2 11011 */ 11012 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 11013 return little_endian_read_16(event, 12); 11014 } 11015 11016 /** 11017 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 11018 * @param event packet 11019 * @return avrcp_cid 11020 * @note: btstack_type 2 11021 */ 11022 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 11023 return little_endian_read_16(event, 3); 11024 } 11025 11026 /** 11027 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11028 * @param event packet 11029 * @return avrcp_cid 11030 * @note: btstack_type 2 11031 */ 11032 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 11033 return little_endian_read_16(event, 3); 11034 } 11035 /** 11036 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11037 * @param event packet 11038 * @return command_type 11039 * @note: btstack_type 1 11040 */ 11041 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 11042 return event[5]; 11043 } 11044 /** 11045 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11046 * @param event packet 11047 * @return repeat_mode 11048 * @note: btstack_type 1 11049 */ 11050 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 11051 return event[6]; 11052 } 11053 /** 11054 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11055 * @param event packet 11056 * @return shuffle_mode 11057 * @note: btstack_type 1 11058 */ 11059 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 11060 return event[7]; 11061 } 11062 11063 /** 11064 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 11065 * @param event packet 11066 * @return avrcp_cid 11067 * @note: btstack_type 2 11068 */ 11069 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 11070 return little_endian_read_16(event, 3); 11071 } 11072 /** 11073 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 11074 * @param event packet 11075 * @return command_type 11076 * @note: btstack_type 1 11077 */ 11078 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 11079 return event[5]; 11080 } 11081 /** 11082 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 11083 * @param event packet 11084 * @return song_length 11085 * @note: btstack_type 4 11086 */ 11087 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 11088 return little_endian_read_32(event, 6); 11089 } 11090 /** 11091 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 11092 * @param event packet 11093 * @return song_position 11094 * @note: btstack_type 4 11095 */ 11096 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 11097 return little_endian_read_32(event, 10); 11098 } 11099 /** 11100 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 11101 * @param event packet 11102 * @return play_status 11103 * @note: btstack_type 1 11104 */ 11105 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 11106 return event[14]; 11107 } 11108 11109 /** 11110 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 11111 * @param event packet 11112 * @return avrcp_cid 11113 * @note: btstack_type 2 11114 */ 11115 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 11116 return little_endian_read_16(event, 3); 11117 } 11118 /** 11119 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 11120 * @param event packet 11121 * @return command_type 11122 * @note: btstack_type 1 11123 */ 11124 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 11125 return event[5]; 11126 } 11127 /** 11128 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 11129 * @param event packet 11130 * @return operation_id 11131 * @note: btstack_type 1 11132 */ 11133 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 11134 return event[6]; 11135 } 11136 11137 /** 11138 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11139 * @param event packet 11140 * @return avrcp_cid 11141 * @note: btstack_type 2 11142 */ 11143 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 11144 return little_endian_read_16(event, 3); 11145 } 11146 /** 11147 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11148 * @param event packet 11149 * @return command_type 11150 * @note: btstack_type 1 11151 */ 11152 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 11153 return event[5]; 11154 } 11155 /** 11156 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11157 * @param event packet 11158 * @return operation_id 11159 * @note: btstack_type 1 11160 */ 11161 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 11162 return event[6]; 11163 } 11164 11165 /** 11166 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 11167 * @param event packet 11168 * @return avrcp_cid 11169 * @note: btstack_type 2 11170 */ 11171 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 11172 return little_endian_read_16(event, 3); 11173 } 11174 /** 11175 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 11176 * @param event packet 11177 * @return command_type 11178 * @note: btstack_type 1 11179 */ 11180 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 11181 return event[5]; 11182 } 11183 11184 /** 11185 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 11186 * @param event packet 11187 * @return avrcp_cid 11188 * @note: btstack_type 2 11189 */ 11190 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 11191 return little_endian_read_16(event, 3); 11192 } 11193 11194 /** 11195 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 11196 * @param event packet 11197 * @return avrcp_cid 11198 * @note: btstack_type 2 11199 */ 11200 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 11201 return little_endian_read_16(event, 3); 11202 } 11203 /** 11204 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 11205 * @param event packet 11206 * @return operation_id 11207 * @note: btstack_type 1 11208 */ 11209 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 11210 return event[5]; 11211 } 11212 /** 11213 * @brief Get field button_pressed from event AVRCP_SUBEVENT_OPERATION 11214 * @param event packet 11215 * @return button_pressed 11216 * @note: btstack_type 1 11217 */ 11218 static inline uint8_t avrcp_subevent_operation_get_button_pressed(const uint8_t * event){ 11219 return event[6]; 11220 } 11221 /** 11222 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 11223 * @param event packet 11224 * @return operands_length 11225 * @note: btstack_type 1 11226 */ 11227 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 11228 return event[7]; 11229 } 11230 /** 11231 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 11232 * @param event packet 11233 * @return operand 11234 * @note: btstack_type 1 11235 */ 11236 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 11237 return event[8]; 11238 } 11239 11240 /** 11241 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11242 * @param event packet 11243 * @return avrcp_cid 11244 * @note: btstack_type 2 11245 */ 11246 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 11247 return little_endian_read_16(event, 3); 11248 } 11249 /** 11250 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11251 * @param event packet 11252 * @return command_type 11253 * @note: btstack_type 1 11254 */ 11255 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 11256 return event[5]; 11257 } 11258 /** 11259 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11260 * @param event packet 11261 * @return track 11262 * @note: btstack_type 1 11263 */ 11264 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 11265 return event[6]; 11266 } 11267 11268 /** 11269 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11270 * @param event packet 11271 * @return avrcp_cid 11272 * @note: btstack_type 2 11273 */ 11274 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 11275 return little_endian_read_16(event, 3); 11276 } 11277 /** 11278 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11279 * @param event packet 11280 * @return command_type 11281 * @note: btstack_type 1 11282 */ 11283 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 11284 return event[5]; 11285 } 11286 /** 11287 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11288 * @param event packet 11289 * @return total_tracks 11290 * @note: btstack_type 1 11291 */ 11292 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 11293 return event[6]; 11294 } 11295 11296 /** 11297 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11298 * @param event packet 11299 * @return avrcp_cid 11300 * @note: btstack_type 2 11301 */ 11302 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 11303 return little_endian_read_16(event, 3); 11304 } 11305 /** 11306 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11307 * @param event packet 11308 * @return command_type 11309 * @note: btstack_type 1 11310 */ 11311 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 11312 return event[5]; 11313 } 11314 /** 11315 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11316 * @param event packet 11317 * @return song_length 11318 * @note: btstack_type 4 11319 */ 11320 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 11321 return little_endian_read_32(event, 6); 11322 } 11323 11324 /** 11325 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11326 * @param event packet 11327 * @return avrcp_cid 11328 * @note: btstack_type 2 11329 */ 11330 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 11331 return little_endian_read_16(event, 3); 11332 } 11333 /** 11334 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11335 * @param event packet 11336 * @return command_type 11337 * @note: btstack_type 1 11338 */ 11339 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 11340 return event[5]; 11341 } 11342 /** 11343 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11344 * @param event packet 11345 * @return value_len 11346 * @note: btstack_type J 11347 */ 11348 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 11349 return event[6]; 11350 } 11351 /** 11352 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11353 * @param event packet 11354 * @return value 11355 * @note: btstack_type V 11356 */ 11357 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 11358 return &event[7]; 11359 } 11360 11361 /** 11362 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11363 * @param event packet 11364 * @return avrcp_cid 11365 * @note: btstack_type 2 11366 */ 11367 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 11368 return little_endian_read_16(event, 3); 11369 } 11370 /** 11371 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11372 * @param event packet 11373 * @return command_type 11374 * @note: btstack_type 1 11375 */ 11376 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 11377 return event[5]; 11378 } 11379 /** 11380 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11381 * @param event packet 11382 * @return value_len 11383 * @note: btstack_type J 11384 */ 11385 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 11386 return event[6]; 11387 } 11388 /** 11389 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11390 * @param event packet 11391 * @return value 11392 * @note: btstack_type V 11393 */ 11394 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 11395 return &event[7]; 11396 } 11397 11398 /** 11399 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11400 * @param event packet 11401 * @return avrcp_cid 11402 * @note: btstack_type 2 11403 */ 11404 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 11405 return little_endian_read_16(event, 3); 11406 } 11407 /** 11408 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11409 * @param event packet 11410 * @return command_type 11411 * @note: btstack_type 1 11412 */ 11413 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 11414 return event[5]; 11415 } 11416 /** 11417 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11418 * @param event packet 11419 * @return value_len 11420 * @note: btstack_type J 11421 */ 11422 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 11423 return event[6]; 11424 } 11425 /** 11426 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11427 * @param event packet 11428 * @return value 11429 * @note: btstack_type V 11430 */ 11431 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 11432 return &event[7]; 11433 } 11434 11435 /** 11436 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11437 * @param event packet 11438 * @return avrcp_cid 11439 * @note: btstack_type 2 11440 */ 11441 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 11442 return little_endian_read_16(event, 3); 11443 } 11444 /** 11445 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11446 * @param event packet 11447 * @return command_type 11448 * @note: btstack_type 1 11449 */ 11450 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 11451 return event[5]; 11452 } 11453 /** 11454 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11455 * @param event packet 11456 * @return value_len 11457 * @note: btstack_type J 11458 */ 11459 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 11460 return event[6]; 11461 } 11462 /** 11463 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11464 * @param event packet 11465 * @return value 11466 * @note: btstack_type V 11467 */ 11468 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 11469 return &event[7]; 11470 } 11471 11472 /** 11473 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11474 * @param event packet 11475 * @return avrcp_cid 11476 * @note: btstack_type 2 11477 */ 11478 static inline uint16_t avrcp_subevent_now_playing_cover_art_info_get_avrcp_cid(const uint8_t * event){ 11479 return little_endian_read_16(event, 3); 11480 } 11481 /** 11482 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11483 * @param event packet 11484 * @return command_type 11485 * @note: btstack_type 1 11486 */ 11487 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_command_type(const uint8_t * event){ 11488 return event[5]; 11489 } 11490 /** 11491 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11492 * @param event packet 11493 * @return value_len 11494 * @note: btstack_type J 11495 */ 11496 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_value_len(const uint8_t * event){ 11497 return event[6]; 11498 } 11499 /** 11500 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11501 * @param event packet 11502 * @return value 11503 * @note: btstack_type V 11504 */ 11505 static inline const uint8_t * avrcp_subevent_now_playing_cover_art_info_get_value(const uint8_t * event){ 11506 return &event[7]; 11507 } 11508 11509 /** 11510 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11511 * @param event packet 11512 * @return avrcp_cid 11513 * @note: btstack_type 2 11514 */ 11515 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 11516 return little_endian_read_16(event, 3); 11517 } 11518 /** 11519 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11520 * @param event packet 11521 * @return command_type 11522 * @note: btstack_type 1 11523 */ 11524 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 11525 return event[5]; 11526 } 11527 /** 11528 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11529 * @param event packet 11530 * @return status 11531 * @note: btstack_type 1 11532 */ 11533 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 11534 return event[6]; 11535 } 11536 11537 /** 11538 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11539 * @param event packet 11540 * @return avrcp_cid 11541 * @note: btstack_type 2 11542 */ 11543 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 11544 return little_endian_read_16(event, 3); 11545 } 11546 /** 11547 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11548 * @param event packet 11549 * @return command_type 11550 * @note: btstack_type 1 11551 */ 11552 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 11553 return event[5]; 11554 } 11555 /** 11556 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11557 * @param event packet 11558 * @return playback_position_ms 11559 * @note: btstack_type 4 11560 */ 11561 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 11562 return little_endian_read_32(event, 6); 11563 } 11564 11565 /** 11566 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11567 * @param event packet 11568 * @return avrcp_cid 11569 * @note: btstack_type 2 11570 */ 11571 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 11572 return little_endian_read_16(event, 3); 11573 } 11574 /** 11575 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11576 * @param event packet 11577 * @return command_type 11578 * @note: btstack_type 1 11579 */ 11580 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 11581 return event[5]; 11582 } 11583 /** 11584 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11585 * @param event packet 11586 * @return status 11587 * @note: btstack_type 1 11588 */ 11589 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 11590 return event[6]; 11591 } 11592 /** 11593 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11594 * @param event packet 11595 * @return event_id 11596 * @note: btstack_type 1 11597 */ 11598 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 11599 return event[7]; 11600 } 11601 11602 /** 11603 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11604 * @param event packet 11605 * @return avrcp_cid 11606 * @note: btstack_type 2 11607 */ 11608 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){ 11609 return little_endian_read_16(event, 3); 11610 } 11611 /** 11612 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11613 * @param event packet 11614 * @return command_type 11615 * @note: btstack_type 1 11616 */ 11617 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 11618 return event[5]; 11619 } 11620 /** 11621 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11622 * @param event packet 11623 * @return status 11624 * @note: btstack_type 1 11625 */ 11626 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 11627 return event[6]; 11628 } 11629 11630 /** 11631 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11632 * @param event packet 11633 * @return avrcp_cid 11634 * @note: btstack_type 2 11635 */ 11636 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 11637 return little_endian_read_16(event, 3); 11638 } 11639 /** 11640 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11641 * @param event packet 11642 * @return command_type 11643 * @note: btstack_type 1 11644 */ 11645 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 11646 return event[5]; 11647 } 11648 /** 11649 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11650 * @param event packet 11651 * @return status 11652 * @note: btstack_type 1 11653 */ 11654 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 11655 return event[6]; 11656 } 11657 /** 11658 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11659 * @param event packet 11660 * @return company_id 11661 * @note: btstack_type 3 11662 */ 11663 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 11664 return little_endian_read_24(event, 7); 11665 } 11666 11667 /** 11668 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11669 * @param event packet 11670 * @return avrcp_cid 11671 * @note: btstack_type 2 11672 */ 11673 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){ 11674 return little_endian_read_16(event, 3); 11675 } 11676 /** 11677 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11678 * @param event packet 11679 * @return command_type 11680 * @note: btstack_type 1 11681 */ 11682 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 11683 return event[5]; 11684 } 11685 /** 11686 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11687 * @param event packet 11688 * @return status 11689 * @note: btstack_type 1 11690 */ 11691 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 11692 return event[6]; 11693 } 11694 11695 /** 11696 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11697 * @param event packet 11698 * @return avrcp_cid 11699 * @note: btstack_type 2 11700 */ 11701 static inline uint16_t avrcp_subevent_custom_command_response_get_avrcp_cid(const uint8_t * event){ 11702 return little_endian_read_16(event, 3); 11703 } 11704 /** 11705 * @brief Get field command_type from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11706 * @param event packet 11707 * @return command_type 11708 * @note: btstack_type 1 11709 */ 11710 static inline uint8_t avrcp_subevent_custom_command_response_get_command_type(const uint8_t * event){ 11711 return event[5]; 11712 } 11713 /** 11714 * @brief Get field pdu_id from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11715 * @param event packet 11716 * @return pdu_id 11717 * @note: btstack_type 1 11718 */ 11719 static inline uint8_t avrcp_subevent_custom_command_response_get_pdu_id(const uint8_t * event){ 11720 return event[6]; 11721 } 11722 /** 11723 * @brief Get field params_len from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11724 * @param event packet 11725 * @return params_len 11726 * @note: btstack_type L 11727 */ 11728 static inline uint16_t avrcp_subevent_custom_command_response_get_params_len(const uint8_t * event){ 11729 return little_endian_read_16(event, 7); 11730 } 11731 /** 11732 * @brief Get field params from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11733 * @param event packet 11734 * @return params 11735 * @note: btstack_type V 11736 */ 11737 static inline const uint8_t * avrcp_subevent_custom_command_response_get_params(const uint8_t * event){ 11738 return &event[9]; 11739 } 11740 11741 /** 11742 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11743 * @param event packet 11744 * @param Pointer to storage for bd_addr 11745 * @note: btstack_type B 11746 */ 11747 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11748 reverse_bytes(&event[3], bd_addr, 6); 11749 } 11750 /** 11751 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11752 * @param event packet 11753 * @return browsing_cid 11754 * @note: btstack_type 2 11755 */ 11756 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 11757 return little_endian_read_16(event, 9); 11758 } 11759 11760 /** 11761 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11762 * @param event packet 11763 * @return status 11764 * @note: btstack_type 1 11765 */ 11766 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 11767 return event[3]; 11768 } 11769 /** 11770 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11771 * @param event packet 11772 * @param Pointer to storage for bd_addr 11773 * @note: btstack_type B 11774 */ 11775 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11776 reverse_bytes(&event[4], bd_addr, 6); 11777 } 11778 /** 11779 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11780 * @param event packet 11781 * @return browsing_cid 11782 * @note: btstack_type 2 11783 */ 11784 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 11785 return little_endian_read_16(event, 10); 11786 } 11787 11788 /** 11789 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 11790 * @param event packet 11791 * @return browsing_cid 11792 * @note: btstack_type 2 11793 */ 11794 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 11795 return little_endian_read_16(event, 3); 11796 } 11797 11798 /** 11799 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 11800 * @param event packet 11801 * @return browsing_cid 11802 * @note: btstack_type 2 11803 */ 11804 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 11805 return little_endian_read_16(event, 3); 11806 } 11807 /** 11808 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 11809 * @param event packet 11810 * @return uid_counter 11811 * @note: btstack_type 2 11812 */ 11813 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 11814 return little_endian_read_16(event, 5); 11815 } 11816 /** 11817 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 11818 * @param event packet 11819 * @return browsing_status 11820 * @note: btstack_type 1 11821 */ 11822 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 11823 return event[7]; 11824 } 11825 /** 11826 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 11827 * @param event packet 11828 * @return bluetooth_status 11829 * @note: btstack_type 1 11830 */ 11831 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 11832 return event[8]; 11833 } 11834 11835 /** 11836 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11837 * @param event packet 11838 * @return browsing_cid 11839 * @note: btstack_type 2 11840 */ 11841 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 11842 return little_endian_read_16(event, 3); 11843 } 11844 /** 11845 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11846 * @param event packet 11847 * @return scope 11848 * @note: btstack_type 1 11849 */ 11850 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 11851 return event[5]; 11852 } 11853 /** 11854 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11855 * @param event packet 11856 * @return attr_bitmap 11857 * @note: btstack_type 4 11858 */ 11859 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 11860 return little_endian_read_32(event, 6); 11861 } 11862 11863 /** 11864 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11865 * @param event packet 11866 * @return browsing_cid 11867 * @note: btstack_type 2 11868 */ 11869 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 11870 return little_endian_read_16(event, 3); 11871 } 11872 /** 11873 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11874 * @param event packet 11875 * @return scope 11876 * @note: btstack_type 1 11877 */ 11878 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 11879 return event[5]; 11880 } 11881 11882 /** 11883 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11884 * @param event packet 11885 * @return browsing_cid 11886 * @note: btstack_type 2 11887 */ 11888 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_browsing_cid(const uint8_t * event){ 11889 return little_endian_read_16(event, 3); 11890 } 11891 /** 11892 * @brief Get field player_id from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11893 * @param event packet 11894 * @return player_id 11895 * @note: btstack_type 2 11896 */ 11897 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_player_id(const uint8_t * event){ 11898 return little_endian_read_16(event, 5); 11899 } 11900 11901 /** 11902 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11903 * @param event packet 11904 * @return status 11905 * @note: btstack_type 1 11906 */ 11907 static inline uint8_t avrcp_subevent_cover_art_connection_established_get_status(const uint8_t * event){ 11908 return event[3]; 11909 } 11910 /** 11911 * @brief Get field bd_addr from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11912 * @param event packet 11913 * @param Pointer to storage for bd_addr 11914 * @note: btstack_type B 11915 */ 11916 static inline void avrcp_subevent_cover_art_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11917 reverse_bytes(&event[4], bd_addr, 6); 11918 } 11919 /** 11920 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11921 * @param event packet 11922 * @return avrcp_cid 11923 * @note: btstack_type 2 11924 */ 11925 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_avrcp_cid(const uint8_t * event){ 11926 return little_endian_read_16(event, 10); 11927 } 11928 /** 11929 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11930 * @param event packet 11931 * @return cover_art_cid 11932 * @note: btstack_type 2 11933 */ 11934 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_cover_art_cid(const uint8_t * event){ 11935 return little_endian_read_16(event, 12); 11936 } 11937 11938 /** 11939 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11940 * @param event packet 11941 * @return cover_art_cid 11942 * @note: btstack_type 2 11943 */ 11944 static inline uint16_t avrcp_subevent_cover_art_operation_complete_get_cover_art_cid(const uint8_t * event){ 11945 return little_endian_read_16(event, 3); 11946 } 11947 /** 11948 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11949 * @param event packet 11950 * @return status 11951 * @note: btstack_type 1 11952 */ 11953 static inline uint8_t avrcp_subevent_cover_art_operation_complete_get_status(const uint8_t * event){ 11954 return event[5]; 11955 } 11956 11957 /** 11958 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_RELEASED 11959 * @param event packet 11960 * @return cover_art_cid 11961 * @note: btstack_type 2 11962 */ 11963 static inline uint16_t avrcp_subevent_cover_art_connection_released_get_cover_art_cid(const uint8_t * event){ 11964 return little_endian_read_16(event, 3); 11965 } 11966 11967 /** 11968 * @brief Get field goep_cid from event GOEP_SUBEVENT_INCOMING_CONNECTION 11969 * @param event packet 11970 * @return goep_cid 11971 * @note: btstack_type 2 11972 */ 11973 static inline uint16_t goep_subevent_incoming_connection_get_goep_cid(const uint8_t * event){ 11974 return little_endian_read_16(event, 3); 11975 } 11976 /** 11977 * @brief Get field address from event GOEP_SUBEVENT_INCOMING_CONNECTION 11978 * @param event packet 11979 * @param Pointer to storage for address 11980 * @note: btstack_type B 11981 */ 11982 static inline void goep_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 11983 reverse_bytes(&event[5], address, 6); 11984 } 11985 /** 11986 * @brief Get field handle from event GOEP_SUBEVENT_INCOMING_CONNECTION 11987 * @param event packet 11988 * @return handle 11989 * @note: btstack_type H 11990 */ 11991 static inline hci_con_handle_t goep_subevent_incoming_connection_get_handle(const uint8_t * event){ 11992 return little_endian_read_16(event, 11); 11993 } 11994 11995 /** 11996 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 11997 * @param event packet 11998 * @return goep_cid 11999 * @note: btstack_type 2 12000 */ 12001 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 12002 return little_endian_read_16(event, 3); 12003 } 12004 /** 12005 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 12006 * @param event packet 12007 * @return status 12008 * @note: btstack_type 1 12009 */ 12010 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 12011 return event[5]; 12012 } 12013 /** 12014 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 12015 * @param event packet 12016 * @param Pointer to storage for bd_addr 12017 * @note: btstack_type B 12018 */ 12019 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12020 reverse_bytes(&event[6], bd_addr, 6); 12021 } 12022 /** 12023 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 12024 * @param event packet 12025 * @return con_handle 12026 * @note: btstack_type H 12027 */ 12028 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12029 return little_endian_read_16(event, 12); 12030 } 12031 /** 12032 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 12033 * @param event packet 12034 * @return incoming 12035 * @note: btstack_type 1 12036 */ 12037 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 12038 return event[14]; 12039 } 12040 12041 /** 12042 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 12043 * @param event packet 12044 * @return goep_cid 12045 * @note: btstack_type 2 12046 */ 12047 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 12048 return little_endian_read_16(event, 3); 12049 } 12050 12051 /** 12052 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 12053 * @param event packet 12054 * @return goep_cid 12055 * @note: btstack_type 2 12056 */ 12057 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 12058 return little_endian_read_16(event, 3); 12059 } 12060 12061 /** 12062 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 12063 * @param event packet 12064 * @return pbap_cid 12065 * @note: btstack_type 2 12066 */ 12067 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 12068 return little_endian_read_16(event, 3); 12069 } 12070 /** 12071 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 12072 * @param event packet 12073 * @return status 12074 * @note: btstack_type 1 12075 */ 12076 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 12077 return event[5]; 12078 } 12079 /** 12080 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 12081 * @param event packet 12082 * @param Pointer to storage for bd_addr 12083 * @note: btstack_type B 12084 */ 12085 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12086 reverse_bytes(&event[6], bd_addr, 6); 12087 } 12088 /** 12089 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 12090 * @param event packet 12091 * @return con_handle 12092 * @note: btstack_type H 12093 */ 12094 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12095 return little_endian_read_16(event, 12); 12096 } 12097 /** 12098 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 12099 * @param event packet 12100 * @return incoming 12101 * @note: btstack_type 1 12102 */ 12103 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 12104 return event[14]; 12105 } 12106 12107 /** 12108 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 12109 * @param event packet 12110 * @return goep_cid 12111 * @note: btstack_type 2 12112 */ 12113 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 12114 return little_endian_read_16(event, 3); 12115 } 12116 12117 /** 12118 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 12119 * @param event packet 12120 * @return goep_cid 12121 * @note: btstack_type 2 12122 */ 12123 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 12124 return little_endian_read_16(event, 3); 12125 } 12126 /** 12127 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 12128 * @param event packet 12129 * @return status 12130 * @note: btstack_type 1 12131 */ 12132 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 12133 return event[5]; 12134 } 12135 12136 /** 12137 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12138 * @param event packet 12139 * @return goep_cid 12140 * @note: btstack_type 2 12141 */ 12142 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 12143 return little_endian_read_16(event, 3); 12144 } 12145 /** 12146 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12147 * @param event packet 12148 * @return status 12149 * @note: btstack_type 1 12150 */ 12151 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 12152 return event[5]; 12153 } 12154 /** 12155 * @brief Get field phonebook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12156 * @param event packet 12157 * @return phonebook_size 12158 * @note: btstack_type 2 12159 */ 12160 static inline uint16_t pbap_subevent_phonebook_size_get_phonebook_size(const uint8_t * event){ 12161 return little_endian_read_16(event, 6); 12162 } 12163 12164 /** 12165 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12166 * @param event packet 12167 * @return goep_cid 12168 * @note: btstack_type 2 12169 */ 12170 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 12171 return little_endian_read_16(event, 3); 12172 } 12173 /** 12174 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12175 * @param event packet 12176 * @return user_id_required 12177 * @note: btstack_type 1 12178 */ 12179 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 12180 return event[5]; 12181 } 12182 /** 12183 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12184 * @param event packet 12185 * @return full_access 12186 * @note: btstack_type 1 12187 */ 12188 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 12189 return event[6]; 12190 } 12191 12192 /** 12193 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 12194 * @param event packet 12195 * @return goep_cid 12196 * @note: btstack_type 2 12197 */ 12198 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 12199 return little_endian_read_16(event, 3); 12200 } 12201 /** 12202 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 12203 * @param event packet 12204 * @return name_len 12205 * @note: btstack_type J 12206 */ 12207 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 12208 return event[5]; 12209 } 12210 /** 12211 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 12212 * @param event packet 12213 * @return name 12214 * @note: btstack_type V 12215 */ 12216 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 12217 return &event[6]; 12218 } 12219 /** 12220 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 12221 * @param event packet 12222 * @return handle_len 12223 * @note: btstack_type J 12224 */ 12225 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 12226 return event[6u + event[5]]; 12227 } 12228 /** 12229 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 12230 * @param event packet 12231 * @return handle 12232 * @note: btstack_type V 12233 */ 12234 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 12235 return &event[6u + event[5] + 1u]; 12236 } 12237 12238 /** 12239 * @brief Get field goep_cid from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12240 * @param event packet 12241 * @return goep_cid 12242 * @note: btstack_type 2 12243 */ 12244 static inline uint16_t pbap_subevent_reset_missed_calls_get_goep_cid(const uint8_t * event){ 12245 return little_endian_read_16(event, 3); 12246 } 12247 /** 12248 * @brief Get field phonebook from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12249 * @param event packet 12250 * @return phonebook 12251 * @note: btstack_type 1 12252 */ 12253 static inline uint8_t pbap_subevent_reset_missed_calls_get_phonebook(const uint8_t * event){ 12254 return event[5]; 12255 } 12256 12257 /** 12258 * @brief Get field goep_cid from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12259 * @param event packet 12260 * @return goep_cid 12261 * @note: btstack_type 2 12262 */ 12263 static inline uint16_t pbap_subevent_query_phonebook_size_get_goep_cid(const uint8_t * event){ 12264 return little_endian_read_16(event, 3); 12265 } 12266 /** 12267 * @brief Get field vcard_selector from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12268 * @param event packet 12269 * @return vcard_selector 12270 * @note: btstack_type 4 12271 */ 12272 static inline uint32_t pbap_subevent_query_phonebook_size_get_vcard_selector(const uint8_t * event){ 12273 return little_endian_read_32(event, 5); 12274 } 12275 /** 12276 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12277 * @param event packet 12278 * @return vcard_selector_operator 12279 * @note: btstack_type 1 12280 */ 12281 static inline uint8_t pbap_subevent_query_phonebook_size_get_vcard_selector_operator(const uint8_t * event){ 12282 return event[9]; 12283 } 12284 /** 12285 * @brief Get field phonebook from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12286 * @param event packet 12287 * @return phonebook 12288 * @note: btstack_type 1 12289 */ 12290 static inline uint8_t pbap_subevent_query_phonebook_size_get_phonebook(const uint8_t * event){ 12291 return event[10]; 12292 } 12293 12294 /** 12295 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_PHONEBOOK 12296 * @param event packet 12297 * @return goep_cid 12298 * @note: btstack_type 2 12299 */ 12300 static inline uint16_t pbap_subevent_pull_phonebook_get_goep_cid(const uint8_t * event){ 12301 return little_endian_read_16(event, 3); 12302 } 12303 /** 12304 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_PHONEBOOK 12305 * @param event packet 12306 * @return continuation 12307 * @note: btstack_type 4 12308 */ 12309 static inline uint32_t pbap_subevent_pull_phonebook_get_continuation(const uint8_t * event){ 12310 return little_endian_read_32(event, 5); 12311 } 12312 /** 12313 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12314 * @param event packet 12315 * @return property_selector 12316 * @note: btstack_type 4 12317 */ 12318 static inline uint32_t pbap_subevent_pull_phonebook_get_property_selector(const uint8_t * event){ 12319 return little_endian_read_32(event, 9); 12320 } 12321 /** 12322 * @brief Get field format from event PBAP_SUBEVENT_PULL_PHONEBOOK 12323 * @param event packet 12324 * @return format 12325 * @note: btstack_type 1 12326 */ 12327 static inline uint8_t pbap_subevent_pull_phonebook_get_format(const uint8_t * event){ 12328 return event[13]; 12329 } 12330 /** 12331 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_PHONEBOOK 12332 * @param event packet 12333 * @return max_list_count 12334 * @note: btstack_type 2 12335 */ 12336 static inline uint16_t pbap_subevent_pull_phonebook_get_max_list_count(const uint8_t * event){ 12337 return little_endian_read_16(event, 14); 12338 } 12339 /** 12340 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_PHONEBOOK 12341 * @param event packet 12342 * @return list_start_offset 12343 * @note: btstack_type 2 12344 */ 12345 static inline uint16_t pbap_subevent_pull_phonebook_get_list_start_offset(const uint8_t * event){ 12346 return little_endian_read_16(event, 16); 12347 } 12348 /** 12349 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12350 * @param event packet 12351 * @return vcard_selector 12352 * @note: btstack_type 4 12353 */ 12354 static inline uint32_t pbap_subevent_pull_phonebook_get_vcard_selector(const uint8_t * event){ 12355 return little_endian_read_32(event, 18); 12356 } 12357 /** 12358 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_PHONEBOOK 12359 * @param event packet 12360 * @return vcard_selector_operator 12361 * @note: btstack_type 1 12362 */ 12363 static inline uint8_t pbap_subevent_pull_phonebook_get_vcard_selector_operator(const uint8_t * event){ 12364 return event[22]; 12365 } 12366 /** 12367 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_PHONEBOOK 12368 * @param event packet 12369 * @return phonebook 12370 * @note: btstack_type 1 12371 */ 12372 static inline uint8_t pbap_subevent_pull_phonebook_get_phonebook(const uint8_t * event){ 12373 return event[23]; 12374 } 12375 12376 /** 12377 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12378 * @param event packet 12379 * @return goep_cid 12380 * @note: btstack_type 2 12381 */ 12382 static inline uint16_t pbap_subevent_pull_vcard_listing_get_goep_cid(const uint8_t * event){ 12383 return little_endian_read_16(event, 3); 12384 } 12385 /** 12386 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12387 * @param event packet 12388 * @return continuation 12389 * @note: btstack_type 4 12390 */ 12391 static inline uint32_t pbap_subevent_pull_vcard_listing_get_continuation(const uint8_t * event){ 12392 return little_endian_read_32(event, 5); 12393 } 12394 /** 12395 * @brief Get field order from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12396 * @param event packet 12397 * @return order 12398 * @note: btstack_type 1 12399 */ 12400 static inline uint8_t pbap_subevent_pull_vcard_listing_get_order(const uint8_t * event){ 12401 return event[9]; 12402 } 12403 /** 12404 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12405 * @param event packet 12406 * @return max_list_count 12407 * @note: btstack_type 2 12408 */ 12409 static inline uint16_t pbap_subevent_pull_vcard_listing_get_max_list_count(const uint8_t * event){ 12410 return little_endian_read_16(event, 10); 12411 } 12412 /** 12413 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12414 * @param event packet 12415 * @return list_start_offset 12416 * @note: btstack_type 2 12417 */ 12418 static inline uint16_t pbap_subevent_pull_vcard_listing_get_list_start_offset(const uint8_t * event){ 12419 return little_endian_read_16(event, 12); 12420 } 12421 /** 12422 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12423 * @param event packet 12424 * @return vcard_selector 12425 * @note: btstack_type 4 12426 */ 12427 static inline uint32_t pbap_subevent_pull_vcard_listing_get_vcard_selector(const uint8_t * event){ 12428 return little_endian_read_32(event, 14); 12429 } 12430 /** 12431 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12432 * @param event packet 12433 * @return vcard_selector_operator 12434 * @note: btstack_type 1 12435 */ 12436 static inline uint8_t pbap_subevent_pull_vcard_listing_get_vcard_selector_operator(const uint8_t * event){ 12437 return event[18]; 12438 } 12439 /** 12440 * @brief Get field search_property from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12441 * @param event packet 12442 * @return search_property 12443 * @note: btstack_type 1 12444 */ 12445 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_property(const uint8_t * event){ 12446 return event[19]; 12447 } 12448 /** 12449 * @brief Get field search_value_len from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12450 * @param event packet 12451 * @return search_value_len 12452 * @note: btstack_type J 12453 */ 12454 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_value_len(const uint8_t * event){ 12455 return event[20]; 12456 } 12457 /** 12458 * @brief Get field search_value from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12459 * @param event packet 12460 * @return search_value 12461 * @note: btstack_type V 12462 */ 12463 static inline const uint8_t * pbap_subevent_pull_vcard_listing_get_search_value(const uint8_t * event){ 12464 return &event[21]; 12465 } 12466 /** 12467 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12468 * @param event packet 12469 * @return phonebook 12470 * @note: btstack_type 1 12471 */ 12472 static inline uint8_t pbap_subevent_pull_vcard_listing_get_phonebook(const uint8_t * event){ 12473 return event[21u + event[20]]; 12474 } 12475 12476 /** 12477 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12478 * @param event packet 12479 * @return goep_cid 12480 * @note: btstack_type 2 12481 */ 12482 static inline uint16_t pbap_subevent_pull_vcard_entry_get_goep_cid(const uint8_t * event){ 12483 return little_endian_read_16(event, 3); 12484 } 12485 /** 12486 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12487 * @param event packet 12488 * @return continuation 12489 * @note: btstack_type 4 12490 */ 12491 static inline uint32_t pbap_subevent_pull_vcard_entry_get_continuation(const uint8_t * event){ 12492 return little_endian_read_32(event, 5); 12493 } 12494 /** 12495 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12496 * @param event packet 12497 * @return property_selector 12498 * @note: btstack_type 4 12499 */ 12500 static inline uint32_t pbap_subevent_pull_vcard_entry_get_property_selector(const uint8_t * event){ 12501 return little_endian_read_32(event, 9); 12502 } 12503 /** 12504 * @brief Get field format from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12505 * @param event packet 12506 * @return format 12507 * @note: btstack_type 1 12508 */ 12509 static inline uint8_t pbap_subevent_pull_vcard_entry_get_format(const uint8_t * event){ 12510 return event[13]; 12511 } 12512 /** 12513 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12514 * @param event packet 12515 * @return phonebook 12516 * @note: btstack_type 1 12517 */ 12518 static inline uint8_t pbap_subevent_pull_vcard_entry_get_phonebook(const uint8_t * event){ 12519 return event[14]; 12520 } 12521 /** 12522 * @brief Get field name from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12523 * @param event packet 12524 * @return name 12525 * @note: btstack_type T 12526 */ 12527 static inline const char * pbap_subevent_pull_vcard_entry_get_name(const uint8_t * event){ 12528 return (const char *) &event[15]; 12529 } 12530 12531 /** 12532 * @brief Get field hid_cid from event HID_SUBEVENT_INCOMING_CONNECTION 12533 * @param event packet 12534 * @return hid_cid 12535 * @note: btstack_type 2 12536 */ 12537 static inline uint16_t hid_subevent_incoming_connection_get_hid_cid(const uint8_t * event){ 12538 return little_endian_read_16(event, 3); 12539 } 12540 /** 12541 * @brief Get field address from event HID_SUBEVENT_INCOMING_CONNECTION 12542 * @param event packet 12543 * @param Pointer to storage for address 12544 * @note: btstack_type B 12545 */ 12546 static inline void hid_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 12547 reverse_bytes(&event[5], address, 6); 12548 } 12549 /** 12550 * @brief Get field handle from event HID_SUBEVENT_INCOMING_CONNECTION 12551 * @param event packet 12552 * @return handle 12553 * @note: btstack_type H 12554 */ 12555 static inline hci_con_handle_t hid_subevent_incoming_connection_get_handle(const uint8_t * event){ 12556 return little_endian_read_16(event, 11); 12557 } 12558 12559 /** 12560 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 12561 * @param event packet 12562 * @return hid_cid 12563 * @note: btstack_type 2 12564 */ 12565 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 12566 return little_endian_read_16(event, 3); 12567 } 12568 /** 12569 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 12570 * @param event packet 12571 * @return status 12572 * @note: btstack_type 1 12573 */ 12574 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 12575 return event[5]; 12576 } 12577 /** 12578 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 12579 * @param event packet 12580 * @param Pointer to storage for bd_addr 12581 * @note: btstack_type B 12582 */ 12583 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12584 reverse_bytes(&event[6], bd_addr, 6); 12585 } 12586 /** 12587 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 12588 * @param event packet 12589 * @return con_handle 12590 * @note: btstack_type H 12591 */ 12592 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12593 return little_endian_read_16(event, 12); 12594 } 12595 /** 12596 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 12597 * @param event packet 12598 * @return incoming 12599 * @note: btstack_type 1 12600 */ 12601 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 12602 return event[14]; 12603 } 12604 12605 /** 12606 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 12607 * @param event packet 12608 * @return hid_cid 12609 * @note: btstack_type 2 12610 */ 12611 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 12612 return little_endian_read_16(event, 3); 12613 } 12614 12615 /** 12616 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 12617 * @param event packet 12618 * @return hid_cid 12619 * @note: btstack_type 2 12620 */ 12621 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 12622 return little_endian_read_16(event, 3); 12623 } 12624 12625 /** 12626 * @brief Get field hid_cid from event HID_SUBEVENT_SUSPEND 12627 * @param event packet 12628 * @return hid_cid 12629 * @note: btstack_type 2 12630 */ 12631 static inline uint16_t hid_subevent_suspend_get_hid_cid(const uint8_t * event){ 12632 return little_endian_read_16(event, 3); 12633 } 12634 12635 /** 12636 * @brief Get field hid_cid from event HID_SUBEVENT_EXIT_SUSPEND 12637 * @param event packet 12638 * @return hid_cid 12639 * @note: btstack_type 2 12640 */ 12641 static inline uint16_t hid_subevent_exit_suspend_get_hid_cid(const uint8_t * event){ 12642 return little_endian_read_16(event, 3); 12643 } 12644 12645 /** 12646 * @brief Get field hid_cid from event HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 12647 * @param event packet 12648 * @return hid_cid 12649 * @note: btstack_type 2 12650 */ 12651 static inline uint16_t hid_subevent_virtual_cable_unplug_get_hid_cid(const uint8_t * event){ 12652 return little_endian_read_16(event, 3); 12653 } 12654 12655 /** 12656 * @brief Get field hid_cid from event HID_SUBEVENT_GET_REPORT_RESPONSE 12657 * @param event packet 12658 * @return hid_cid 12659 * @note: btstack_type 2 12660 */ 12661 static inline uint16_t hid_subevent_get_report_response_get_hid_cid(const uint8_t * event){ 12662 return little_endian_read_16(event, 3); 12663 } 12664 /** 12665 * @brief Get field handshake_status from event HID_SUBEVENT_GET_REPORT_RESPONSE 12666 * @param event packet 12667 * @return handshake_status 12668 * @note: btstack_type 1 12669 */ 12670 static inline uint8_t hid_subevent_get_report_response_get_handshake_status(const uint8_t * event){ 12671 return event[5]; 12672 } 12673 /** 12674 * @brief Get field report_len from event HID_SUBEVENT_GET_REPORT_RESPONSE 12675 * @param event packet 12676 * @return report_len 12677 * @note: btstack_type L 12678 */ 12679 static inline uint16_t hid_subevent_get_report_response_get_report_len(const uint8_t * event){ 12680 return little_endian_read_16(event, 6); 12681 } 12682 /** 12683 * @brief Get field report from event HID_SUBEVENT_GET_REPORT_RESPONSE 12684 * @param event packet 12685 * @return report 12686 * @note: btstack_type V 12687 */ 12688 static inline const uint8_t * hid_subevent_get_report_response_get_report(const uint8_t * event){ 12689 return &event[8]; 12690 } 12691 12692 /** 12693 * @brief Get field hid_cid from event HID_SUBEVENT_SET_REPORT_RESPONSE 12694 * @param event packet 12695 * @return hid_cid 12696 * @note: btstack_type 2 12697 */ 12698 static inline uint16_t hid_subevent_set_report_response_get_hid_cid(const uint8_t * event){ 12699 return little_endian_read_16(event, 3); 12700 } 12701 /** 12702 * @brief Get field handshake_status from event HID_SUBEVENT_SET_REPORT_RESPONSE 12703 * @param event packet 12704 * @return handshake_status 12705 * @note: btstack_type 1 12706 */ 12707 static inline uint8_t hid_subevent_set_report_response_get_handshake_status(const uint8_t * event){ 12708 return event[5]; 12709 } 12710 12711 /** 12712 * @brief Get field hid_cid from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12713 * @param event packet 12714 * @return hid_cid 12715 * @note: btstack_type 2 12716 */ 12717 static inline uint16_t hid_subevent_get_protocol_response_get_hid_cid(const uint8_t * event){ 12718 return little_endian_read_16(event, 3); 12719 } 12720 /** 12721 * @brief Get field handshake_status from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12722 * @param event packet 12723 * @return handshake_status 12724 * @note: btstack_type 1 12725 */ 12726 static inline uint8_t hid_subevent_get_protocol_response_get_handshake_status(const uint8_t * event){ 12727 return event[5]; 12728 } 12729 /** 12730 * @brief Get field protocol_mode from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12731 * @param event packet 12732 * @return protocol_mode 12733 * @note: btstack_type 1 12734 */ 12735 static inline uint8_t hid_subevent_get_protocol_response_get_protocol_mode(const uint8_t * event){ 12736 return event[6]; 12737 } 12738 12739 /** 12740 * @brief Get field hid_cid from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12741 * @param event packet 12742 * @return hid_cid 12743 * @note: btstack_type 2 12744 */ 12745 static inline uint16_t hid_subevent_set_protocol_response_get_hid_cid(const uint8_t * event){ 12746 return little_endian_read_16(event, 3); 12747 } 12748 /** 12749 * @brief Get field handshake_status from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12750 * @param event packet 12751 * @return handshake_status 12752 * @note: btstack_type 1 12753 */ 12754 static inline uint8_t hid_subevent_set_protocol_response_get_handshake_status(const uint8_t * event){ 12755 return event[5]; 12756 } 12757 /** 12758 * @brief Get field protocol_mode from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12759 * @param event packet 12760 * @return protocol_mode 12761 * @note: btstack_type 1 12762 */ 12763 static inline uint8_t hid_subevent_set_protocol_response_get_protocol_mode(const uint8_t * event){ 12764 return event[6]; 12765 } 12766 12767 /** 12768 * @brief Get field hid_cid from event HID_SUBEVENT_REPORT 12769 * @param event packet 12770 * @return hid_cid 12771 * @note: btstack_type 2 12772 */ 12773 static inline uint16_t hid_subevent_report_get_hid_cid(const uint8_t * event){ 12774 return little_endian_read_16(event, 3); 12775 } 12776 /** 12777 * @brief Get field report_len from event HID_SUBEVENT_REPORT 12778 * @param event packet 12779 * @return report_len 12780 * @note: btstack_type L 12781 */ 12782 static inline uint16_t hid_subevent_report_get_report_len(const uint8_t * event){ 12783 return little_endian_read_16(event, 5); 12784 } 12785 /** 12786 * @brief Get field report from event HID_SUBEVENT_REPORT 12787 * @param event packet 12788 * @return report 12789 * @note: btstack_type V 12790 */ 12791 static inline const uint8_t * hid_subevent_report_get_report(const uint8_t * event){ 12792 return &event[7]; 12793 } 12794 12795 /** 12796 * @brief Get field hid_cid from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12797 * @param event packet 12798 * @return hid_cid 12799 * @note: btstack_type 2 12800 */ 12801 static inline uint16_t hid_subevent_descriptor_available_get_hid_cid(const uint8_t * event){ 12802 return little_endian_read_16(event, 3); 12803 } 12804 /** 12805 * @brief Get field status from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12806 * @param event packet 12807 * @return status 12808 * @note: btstack_type 1 12809 */ 12810 static inline uint8_t hid_subevent_descriptor_available_get_status(const uint8_t * event){ 12811 return event[5]; 12812 } 12813 12814 /** 12815 * @brief Get field hid_cid from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12816 * @param event packet 12817 * @return hid_cid 12818 * @note: btstack_type 2 12819 */ 12820 static inline uint16_t hid_subevent_sniff_subrating_params_get_hid_cid(const uint8_t * event){ 12821 return little_endian_read_16(event, 3); 12822 } 12823 /** 12824 * @brief Get field host_max_latency from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12825 * @param event packet 12826 * @return host_max_latency 12827 * @note: btstack_type 2 12828 */ 12829 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_max_latency(const uint8_t * event){ 12830 return little_endian_read_16(event, 5); 12831 } 12832 /** 12833 * @brief Get field host_min_timeout from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12834 * @param event packet 12835 * @return host_min_timeout 12836 * @note: btstack_type 2 12837 */ 12838 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_min_timeout(const uint8_t * event){ 12839 return little_endian_read_16(event, 7); 12840 } 12841 12842 /** 12843 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 12844 * @param event packet 12845 * @return con_handle 12846 * @note: btstack_type 2 12847 */ 12848 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 12849 return little_endian_read_16(event, 3); 12850 } 12851 12852 /** 12853 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 12854 * @param event packet 12855 * @return con_handle 12856 * @note: btstack_type 2 12857 */ 12858 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 12859 return little_endian_read_16(event, 3); 12860 } 12861 /** 12862 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 12863 * @param event packet 12864 * @return protocol_mode 12865 * @note: btstack_type 1 12866 */ 12867 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 12868 return event[5]; 12869 } 12870 12871 /** 12872 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12873 * @param event packet 12874 * @return con_handle 12875 * @note: btstack_type 2 12876 */ 12877 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 12878 return little_endian_read_16(event, 3); 12879 } 12880 /** 12881 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12882 * @param event packet 12883 * @return enable 12884 * @note: btstack_type 1 12885 */ 12886 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 12887 return event[5]; 12888 } 12889 12890 /** 12891 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12892 * @param event packet 12893 * @return con_handle 12894 * @note: btstack_type 2 12895 */ 12896 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 12897 return little_endian_read_16(event, 3); 12898 } 12899 /** 12900 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12901 * @param event packet 12902 * @return enable 12903 * @note: btstack_type 1 12904 */ 12905 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 12906 return event[5]; 12907 } 12908 12909 /** 12910 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12911 * @param event packet 12912 * @return con_handle 12913 * @note: btstack_type 2 12914 */ 12915 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 12916 return little_endian_read_16(event, 3); 12917 } 12918 /** 12919 * @brief Get field report_id from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12920 * @param event packet 12921 * @return report_id 12922 * @note: btstack_type 1 12923 */ 12924 static inline uint8_t hids_subevent_input_report_enable_get_report_id(const uint8_t * event){ 12925 return event[5]; 12926 } 12927 /** 12928 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12929 * @param event packet 12930 * @return enable 12931 * @note: btstack_type 1 12932 */ 12933 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 12934 return event[6]; 12935 } 12936 12937 /** 12938 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12939 * @param event packet 12940 * @return con_handle 12941 * @note: btstack_type 2 12942 */ 12943 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 12944 return little_endian_read_16(event, 3); 12945 } 12946 /** 12947 * @brief Get field report_id from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12948 * @param event packet 12949 * @return report_id 12950 * @note: btstack_type 1 12951 */ 12952 static inline uint8_t hids_subevent_output_report_enable_get_report_id(const uint8_t * event){ 12953 return event[5]; 12954 } 12955 /** 12956 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12957 * @param event packet 12958 * @return enable 12959 * @note: btstack_type 1 12960 */ 12961 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 12962 return event[6]; 12963 } 12964 12965 /** 12966 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12967 * @param event packet 12968 * @return con_handle 12969 * @note: btstack_type 2 12970 */ 12971 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 12972 return little_endian_read_16(event, 3); 12973 } 12974 /** 12975 * @brief Get field report_id from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12976 * @param event packet 12977 * @return report_id 12978 * @note: btstack_type 1 12979 */ 12980 static inline uint8_t hids_subevent_feature_report_enable_get_report_id(const uint8_t * event){ 12981 return event[5]; 12982 } 12983 /** 12984 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12985 * @param event packet 12986 * @return enable 12987 * @note: btstack_type 1 12988 */ 12989 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 12990 return event[6]; 12991 } 12992 12993 /** 12994 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 12995 * @param event packet 12996 * @return con_handle 12997 * @note: btstack_type 2 12998 */ 12999 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 13000 return little_endian_read_16(event, 3); 13001 } 13002 13003 /** 13004 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 13005 * @param event packet 13006 * @return con_handle 13007 * @note: btstack_type 2 13008 */ 13009 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 13010 return little_endian_read_16(event, 3); 13011 } 13012 13013 /** 13014 * @brief Get field con_handle from event HIDS_SUBEVENT_SET_REPORT 13015 * @param event packet 13016 * @return con_handle 13017 * @note: btstack_type 2 13018 */ 13019 static inline uint16_t hids_subevent_set_report_get_con_handle(const uint8_t * event){ 13020 return little_endian_read_16(event, 3); 13021 } 13022 /** 13023 * @brief Get field report_id from event HIDS_SUBEVENT_SET_REPORT 13024 * @param event packet 13025 * @return report_id 13026 * @note: btstack_type 1 13027 */ 13028 static inline uint8_t hids_subevent_set_report_get_report_id(const uint8_t * event){ 13029 return event[5]; 13030 } 13031 /** 13032 * @brief Get field report_type from event HIDS_SUBEVENT_SET_REPORT 13033 * @param event packet 13034 * @return report_type 13035 * @note: btstack_type 1 13036 */ 13037 static inline uint8_t hids_subevent_set_report_get_report_type(const uint8_t * event){ 13038 return event[6]; 13039 } 13040 /** 13041 * @brief Get field report_length from event HIDS_SUBEVENT_SET_REPORT 13042 * @param event packet 13043 * @return report_length 13044 * @note: btstack_type J 13045 */ 13046 static inline uint8_t hids_subevent_set_report_get_report_length(const uint8_t * event){ 13047 return event[7]; 13048 } 13049 /** 13050 * @brief Get field report_data from event HIDS_SUBEVENT_SET_REPORT 13051 * @param event packet 13052 * @return report_data 13053 * @note: btstack_type V 13054 */ 13055 static inline const uint8_t * hids_subevent_set_report_get_report_data(const uint8_t * event){ 13056 return &event[8]; 13057 } 13058 13059 /** 13060 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13061 * @param event packet 13062 * @return con_handle 13063 * @note: btstack_type 2 13064 */ 13065 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 13066 return little_endian_read_16(event, 3); 13067 } 13068 /** 13069 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13070 * @param event packet 13071 * @return measurement_type 13072 * @note: btstack_type 1 13073 */ 13074 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 13075 return event[5]; 13076 } 13077 /** 13078 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13079 * @param event packet 13080 * @return is_enhanced 13081 * @note: btstack_type 1 13082 */ 13083 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 13084 return event[6]; 13085 } 13086 13087 /** 13088 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 13089 * @param event packet 13090 * @return con_handle 13091 * @note: btstack_type 2 13092 */ 13093 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 13094 return little_endian_read_16(event, 3); 13095 } 13096 13097 /** 13098 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 13099 * @param event packet 13100 * @return con_handle 13101 * @note: btstack_type 2 13102 */ 13103 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 13104 return little_endian_read_16(event, 3); 13105 } 13106 13107 /** 13108 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13109 * @param event packet 13110 * @return hids_cid 13111 * @note: btstack_type 2 13112 */ 13113 static inline uint16_t gattservice_subevent_battery_service_connected_get_hids_cid(const uint8_t * event){ 13114 return little_endian_read_16(event, 3); 13115 } 13116 /** 13117 * @brief Get field status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13118 * @param event packet 13119 * @return status 13120 * @note: btstack_type 1 13121 */ 13122 static inline uint8_t gattservice_subevent_battery_service_connected_get_status(const uint8_t * event){ 13123 return event[5]; 13124 } 13125 /** 13126 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13127 * @param event packet 13128 * @return num_instances 13129 * @note: btstack_type 1 13130 */ 13131 static inline uint8_t gattservice_subevent_battery_service_connected_get_num_instances(const uint8_t * event){ 13132 return event[6]; 13133 } 13134 /** 13135 * @brief Get field poll_bitmap from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13136 * @param event packet 13137 * @return poll_bitmap 13138 * @note: btstack_type 1 13139 */ 13140 static inline uint8_t gattservice_subevent_battery_service_connected_get_poll_bitmap(const uint8_t * event){ 13141 return event[7]; 13142 } 13143 13144 /** 13145 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13146 * @param event packet 13147 * @return hids_cid 13148 * @note: btstack_type 2 13149 */ 13150 static inline uint16_t gattservice_subevent_battery_service_level_get_hids_cid(const uint8_t * event){ 13151 return little_endian_read_16(event, 3); 13152 } 13153 /** 13154 * @brief Get field sevice_index from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13155 * @param event packet 13156 * @return sevice_index 13157 * @note: btstack_type 1 13158 */ 13159 static inline uint8_t gattservice_subevent_battery_service_level_get_sevice_index(const uint8_t * event){ 13160 return event[5]; 13161 } 13162 /** 13163 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13164 * @param event packet 13165 * @return att_status 13166 * @note: btstack_type 1 13167 */ 13168 static inline uint8_t gattservice_subevent_battery_service_level_get_att_status(const uint8_t * event){ 13169 return event[6]; 13170 } 13171 /** 13172 * @brief Get field level from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13173 * @param event packet 13174 * @return level 13175 * @note: btstack_type 1 13176 */ 13177 static inline uint8_t gattservice_subevent_battery_service_level_get_level(const uint8_t * event){ 13178 return event[7]; 13179 } 13180 13181 /** 13182 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 13183 * @param event packet 13184 * @return con_handle 13185 * @note: btstack_type H 13186 */ 13187 static inline hci_con_handle_t gattservice_subevent_device_information_done_get_con_handle(const uint8_t * event){ 13188 return little_endian_read_16(event, 3); 13189 } 13190 /** 13191 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 13192 * @param event packet 13193 * @return att_status 13194 * @note: btstack_type 1 13195 */ 13196 static inline uint8_t gattservice_subevent_device_information_done_get_att_status(const uint8_t * event){ 13197 return event[5]; 13198 } 13199 13200 /** 13201 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13202 * @param event packet 13203 * @return con_handle 13204 * @note: btstack_type H 13205 */ 13206 static inline hci_con_handle_t gattservice_subevent_device_information_manufacturer_name_get_con_handle(const uint8_t * event){ 13207 return little_endian_read_16(event, 3); 13208 } 13209 /** 13210 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13211 * @param event packet 13212 * @return att_status 13213 * @note: btstack_type 1 13214 */ 13215 static inline uint8_t gattservice_subevent_device_information_manufacturer_name_get_att_status(const uint8_t * event){ 13216 return event[5]; 13217 } 13218 /** 13219 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13220 * @param event packet 13221 * @return value 13222 * @note: btstack_type T 13223 */ 13224 static inline const char * gattservice_subevent_device_information_manufacturer_name_get_value(const uint8_t * event){ 13225 return (const char *) &event[6]; 13226 } 13227 13228 /** 13229 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13230 * @param event packet 13231 * @return con_handle 13232 * @note: btstack_type H 13233 */ 13234 static inline hci_con_handle_t gattservice_subevent_device_information_model_number_get_con_handle(const uint8_t * event){ 13235 return little_endian_read_16(event, 3); 13236 } 13237 /** 13238 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13239 * @param event packet 13240 * @return att_status 13241 * @note: btstack_type 1 13242 */ 13243 static inline uint8_t gattservice_subevent_device_information_model_number_get_att_status(const uint8_t * event){ 13244 return event[5]; 13245 } 13246 /** 13247 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13248 * @param event packet 13249 * @return value 13250 * @note: btstack_type T 13251 */ 13252 static inline const char * gattservice_subevent_device_information_model_number_get_value(const uint8_t * event){ 13253 return (const char *) &event[6]; 13254 } 13255 13256 /** 13257 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13258 * @param event packet 13259 * @return con_handle 13260 * @note: btstack_type H 13261 */ 13262 static inline hci_con_handle_t gattservice_subevent_device_information_serial_number_get_con_handle(const uint8_t * event){ 13263 return little_endian_read_16(event, 3); 13264 } 13265 /** 13266 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13267 * @param event packet 13268 * @return att_status 13269 * @note: btstack_type 1 13270 */ 13271 static inline uint8_t gattservice_subevent_device_information_serial_number_get_att_status(const uint8_t * event){ 13272 return event[5]; 13273 } 13274 /** 13275 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13276 * @param event packet 13277 * @return value 13278 * @note: btstack_type T 13279 */ 13280 static inline const char * gattservice_subevent_device_information_serial_number_get_value(const uint8_t * event){ 13281 return (const char *) &event[6]; 13282 } 13283 13284 /** 13285 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13286 * @param event packet 13287 * @return con_handle 13288 * @note: btstack_type H 13289 */ 13290 static inline hci_con_handle_t gattservice_subevent_device_information_hardware_revision_get_con_handle(const uint8_t * event){ 13291 return little_endian_read_16(event, 3); 13292 } 13293 /** 13294 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13295 * @param event packet 13296 * @return att_status 13297 * @note: btstack_type 1 13298 */ 13299 static inline uint8_t gattservice_subevent_device_information_hardware_revision_get_att_status(const uint8_t * event){ 13300 return event[5]; 13301 } 13302 /** 13303 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13304 * @param event packet 13305 * @return value 13306 * @note: btstack_type T 13307 */ 13308 static inline const char * gattservice_subevent_device_information_hardware_revision_get_value(const uint8_t * event){ 13309 return (const char *) &event[6]; 13310 } 13311 13312 /** 13313 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13314 * @param event packet 13315 * @return con_handle 13316 * @note: btstack_type H 13317 */ 13318 static inline hci_con_handle_t gattservice_subevent_device_information_firmware_revision_get_con_handle(const uint8_t * event){ 13319 return little_endian_read_16(event, 3); 13320 } 13321 /** 13322 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13323 * @param event packet 13324 * @return att_status 13325 * @note: btstack_type 1 13326 */ 13327 static inline uint8_t gattservice_subevent_device_information_firmware_revision_get_att_status(const uint8_t * event){ 13328 return event[5]; 13329 } 13330 /** 13331 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13332 * @param event packet 13333 * @return value 13334 * @note: btstack_type T 13335 */ 13336 static inline const char * gattservice_subevent_device_information_firmware_revision_get_value(const uint8_t * event){ 13337 return (const char *) &event[6]; 13338 } 13339 13340 /** 13341 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13342 * @param event packet 13343 * @return con_handle 13344 * @note: btstack_type H 13345 */ 13346 static inline hci_con_handle_t gattservice_subevent_device_information_software_revision_get_con_handle(const uint8_t * event){ 13347 return little_endian_read_16(event, 3); 13348 } 13349 /** 13350 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13351 * @param event packet 13352 * @return att_status 13353 * @note: btstack_type 1 13354 */ 13355 static inline uint8_t gattservice_subevent_device_information_software_revision_get_att_status(const uint8_t * event){ 13356 return event[5]; 13357 } 13358 /** 13359 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13360 * @param event packet 13361 * @return value 13362 * @note: btstack_type T 13363 */ 13364 static inline const char * gattservice_subevent_device_information_software_revision_get_value(const uint8_t * event){ 13365 return (const char *) &event[6]; 13366 } 13367 13368 /** 13369 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13370 * @param event packet 13371 * @return con_handle 13372 * @note: btstack_type H 13373 */ 13374 static inline hci_con_handle_t gattservice_subevent_device_information_system_id_get_con_handle(const uint8_t * event){ 13375 return little_endian_read_16(event, 3); 13376 } 13377 /** 13378 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13379 * @param event packet 13380 * @return att_status 13381 * @note: btstack_type 1 13382 */ 13383 static inline uint8_t gattservice_subevent_device_information_system_id_get_att_status(const uint8_t * event){ 13384 return event[5]; 13385 } 13386 /** 13387 * @brief Get field manufacturer_id_low from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13388 * @param event packet 13389 * @return manufacturer_id_low 13390 * @note: btstack_type 4 13391 */ 13392 static inline uint32_t gattservice_subevent_device_information_system_id_get_manufacturer_id_low(const uint8_t * event){ 13393 return little_endian_read_32(event, 6); 13394 } 13395 /** 13396 * @brief Get field manufacturer_id_high from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13397 * @param event packet 13398 * @return manufacturer_id_high 13399 * @note: btstack_type 1 13400 */ 13401 static inline uint8_t gattservice_subevent_device_information_system_id_get_manufacturer_id_high(const uint8_t * event){ 13402 return event[10]; 13403 } 13404 /** 13405 * @brief Get field organizationally_unique_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13406 * @param event packet 13407 * @return organizationally_unique_id 13408 * @note: btstack_type 3 13409 */ 13410 static inline uint32_t gattservice_subevent_device_information_system_id_get_organizationally_unique_id(const uint8_t * event){ 13411 return little_endian_read_24(event, 11); 13412 } 13413 13414 /** 13415 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13416 * @param event packet 13417 * @return con_handle 13418 * @note: btstack_type H 13419 */ 13420 static inline hci_con_handle_t gattservice_subevent_device_information_ieee_regulatory_certification_get_con_handle(const uint8_t * event){ 13421 return little_endian_read_16(event, 3); 13422 } 13423 /** 13424 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13425 * @param event packet 13426 * @return att_status 13427 * @note: btstack_type 1 13428 */ 13429 static inline uint8_t gattservice_subevent_device_information_ieee_regulatory_certification_get_att_status(const uint8_t * event){ 13430 return event[5]; 13431 } 13432 /** 13433 * @brief Get field value_a from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13434 * @param event packet 13435 * @return value_a 13436 * @note: btstack_type 2 13437 */ 13438 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_a(const uint8_t * event){ 13439 return little_endian_read_16(event, 6); 13440 } 13441 /** 13442 * @brief Get field value_b from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13443 * @param event packet 13444 * @return value_b 13445 * @note: btstack_type 2 13446 */ 13447 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_b(const uint8_t * event){ 13448 return little_endian_read_16(event, 8); 13449 } 13450 13451 /** 13452 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13453 * @param event packet 13454 * @return con_handle 13455 * @note: btstack_type H 13456 */ 13457 static inline hci_con_handle_t gattservice_subevent_device_information_pnp_id_get_con_handle(const uint8_t * event){ 13458 return little_endian_read_16(event, 3); 13459 } 13460 /** 13461 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13462 * @param event packet 13463 * @return att_status 13464 * @note: btstack_type 1 13465 */ 13466 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_att_status(const uint8_t * event){ 13467 return event[5]; 13468 } 13469 /** 13470 * @brief Get field vendor_source_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13471 * @param event packet 13472 * @return vendor_source_id 13473 * @note: btstack_type 1 13474 */ 13475 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_vendor_source_id(const uint8_t * event){ 13476 return event[6]; 13477 } 13478 /** 13479 * @brief Get field vendor_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13480 * @param event packet 13481 * @return vendor_id 13482 * @note: btstack_type 2 13483 */ 13484 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_vendor_id(const uint8_t * event){ 13485 return little_endian_read_16(event, 7); 13486 } 13487 /** 13488 * @brief Get field product_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13489 * @param event packet 13490 * @return product_id 13491 * @note: btstack_type 2 13492 */ 13493 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_id(const uint8_t * event){ 13494 return little_endian_read_16(event, 9); 13495 } 13496 /** 13497 * @brief Get field product_version from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13498 * @param event packet 13499 * @return product_version 13500 * @note: btstack_type 2 13501 */ 13502 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_version(const uint8_t * event){ 13503 return little_endian_read_16(event, 11); 13504 } 13505 13506 /** 13507 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13508 * @param event packet 13509 * @return con_handle 13510 * @note: btstack_type H 13511 */ 13512 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_connected_get_con_handle(const uint8_t * event){ 13513 return little_endian_read_16(event, 3); 13514 } 13515 /** 13516 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13517 * @param event packet 13518 * @return att_status 13519 * @note: btstack_type 1 13520 */ 13521 static inline uint8_t gattservice_subevent_scan_parameters_service_connected_get_att_status(const uint8_t * event){ 13522 return event[5]; 13523 } 13524 13525 /** 13526 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_DISCONNECTED 13527 * @param event packet 13528 * @return con_handle 13529 * @note: btstack_type H 13530 */ 13531 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_disconnected_get_con_handle(const uint8_t * event){ 13532 return little_endian_read_16(event, 3); 13533 } 13534 13535 /** 13536 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 13537 * @param event packet 13538 * @return con_handle 13539 * @note: btstack_type H 13540 */ 13541 static inline hci_con_handle_t gattservice_subevent_spp_service_connected_get_con_handle(const uint8_t * event){ 13542 return little_endian_read_16(event, 3); 13543 } 13544 13545 /** 13546 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 13547 * @param event packet 13548 * @return con_handle 13549 * @note: btstack_type H 13550 */ 13551 static inline hci_con_handle_t gattservice_subevent_spp_service_disconnected_get_con_handle(const uint8_t * event){ 13552 return little_endian_read_16(event, 3); 13553 } 13554 13555 /** 13556 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13557 * @param event packet 13558 * @return hids_cid 13559 * @note: btstack_type 2 13560 */ 13561 static inline uint16_t gattservice_subevent_hid_service_connected_get_hids_cid(const uint8_t * event){ 13562 return little_endian_read_16(event, 3); 13563 } 13564 /** 13565 * @brief Get field status from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13566 * @param event packet 13567 * @return status 13568 * @note: btstack_type 1 13569 */ 13570 static inline uint8_t gattservice_subevent_hid_service_connected_get_status(const uint8_t * event){ 13571 return event[5]; 13572 } 13573 /** 13574 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13575 * @param event packet 13576 * @return protocol_mode 13577 * @note: btstack_type 1 13578 */ 13579 static inline uint8_t gattservice_subevent_hid_service_connected_get_protocol_mode(const uint8_t * event){ 13580 return event[6]; 13581 } 13582 /** 13583 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13584 * @param event packet 13585 * @return num_instances 13586 * @note: btstack_type 1 13587 */ 13588 static inline uint8_t gattservice_subevent_hid_service_connected_get_num_instances(const uint8_t * event){ 13589 return event[7]; 13590 } 13591 13592 /** 13593 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_DISCONNECTED 13594 * @param event packet 13595 * @return hids_cid 13596 * @note: btstack_type 2 13597 */ 13598 static inline uint16_t gattservice_subevent_hid_service_disconnected_get_hids_cid(const uint8_t * event){ 13599 return little_endian_read_16(event, 3); 13600 } 13601 13602 /** 13603 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT 13604 * @param event packet 13605 * @return hids_cid 13606 * @note: btstack_type 2 13607 */ 13608 static inline uint16_t gattservice_subevent_hid_report_get_hids_cid(const uint8_t * event){ 13609 return little_endian_read_16(event, 3); 13610 } 13611 /** 13612 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT 13613 * @param event packet 13614 * @return service_index 13615 * @note: btstack_type 1 13616 */ 13617 static inline uint8_t gattservice_subevent_hid_report_get_service_index(const uint8_t * event){ 13618 return event[5]; 13619 } 13620 /** 13621 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT 13622 * @param event packet 13623 * @return report_id 13624 * @note: btstack_type 1 13625 */ 13626 static inline uint8_t gattservice_subevent_hid_report_get_report_id(const uint8_t * event){ 13627 return event[6]; 13628 } 13629 /** 13630 * @brief Get field report_len from event GATTSERVICE_SUBEVENT_HID_REPORT 13631 * @param event packet 13632 * @return report_len 13633 * @note: btstack_type L 13634 */ 13635 static inline uint16_t gattservice_subevent_hid_report_get_report_len(const uint8_t * event){ 13636 return little_endian_read_16(event, 7); 13637 } 13638 /** 13639 * @brief Get field report from event GATTSERVICE_SUBEVENT_HID_REPORT 13640 * @param event packet 13641 * @return report 13642 * @note: btstack_type V 13643 */ 13644 static inline const uint8_t * gattservice_subevent_hid_report_get_report(const uint8_t * event){ 13645 return &event[9]; 13646 } 13647 13648 /** 13649 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13650 * @param event packet 13651 * @return hids_cid 13652 * @note: btstack_type 2 13653 */ 13654 static inline uint16_t gattservice_subevent_hid_information_get_hids_cid(const uint8_t * event){ 13655 return little_endian_read_16(event, 3); 13656 } 13657 /** 13658 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13659 * @param event packet 13660 * @return service_index 13661 * @note: btstack_type 1 13662 */ 13663 static inline uint8_t gattservice_subevent_hid_information_get_service_index(const uint8_t * event){ 13664 return event[5]; 13665 } 13666 /** 13667 * @brief Get field base_usb_hid_version from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13668 * @param event packet 13669 * @return base_usb_hid_version 13670 * @note: btstack_type 2 13671 */ 13672 static inline uint16_t gattservice_subevent_hid_information_get_base_usb_hid_version(const uint8_t * event){ 13673 return little_endian_read_16(event, 6); 13674 } 13675 /** 13676 * @brief Get field country_code from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13677 * @param event packet 13678 * @return country_code 13679 * @note: btstack_type 1 13680 */ 13681 static inline uint8_t gattservice_subevent_hid_information_get_country_code(const uint8_t * event){ 13682 return event[8]; 13683 } 13684 /** 13685 * @brief Get field remote_wake from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13686 * @param event packet 13687 * @return remote_wake 13688 * @note: btstack_type 1 13689 */ 13690 static inline uint8_t gattservice_subevent_hid_information_get_remote_wake(const uint8_t * event){ 13691 return event[9]; 13692 } 13693 /** 13694 * @brief Get field normally_connectable from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13695 * @param event packet 13696 * @return normally_connectable 13697 * @note: btstack_type 1 13698 */ 13699 static inline uint8_t gattservice_subevent_hid_information_get_normally_connectable(const uint8_t * event){ 13700 return event[10]; 13701 } 13702 13703 /** 13704 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13705 * @param event packet 13706 * @return hids_cid 13707 * @note: btstack_type 2 13708 */ 13709 static inline uint16_t gattservice_subevent_hid_protocol_mode_get_hids_cid(const uint8_t * event){ 13710 return little_endian_read_16(event, 3); 13711 } 13712 /** 13713 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13714 * @param event packet 13715 * @return service_index 13716 * @note: btstack_type 1 13717 */ 13718 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_service_index(const uint8_t * event){ 13719 return event[5]; 13720 } 13721 /** 13722 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13723 * @param event packet 13724 * @return protocol_mode 13725 * @note: btstack_type 1 13726 */ 13727 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_protocol_mode(const uint8_t * event){ 13728 return event[6]; 13729 } 13730 13731 /** 13732 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13733 * @param event packet 13734 * @return hids_cid 13735 * @note: btstack_type 2 13736 */ 13737 static inline uint16_t gattservice_subevent_hid_service_reports_notification_get_hids_cid(const uint8_t * event){ 13738 return little_endian_read_16(event, 3); 13739 } 13740 /** 13741 * @brief Get field configuration from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13742 * @param event packet 13743 * @return configuration 13744 * @note: btstack_type 1 13745 */ 13746 static inline uint8_t gattservice_subevent_hid_service_reports_notification_get_configuration(const uint8_t * event){ 13747 return event[5]; 13748 } 13749 13750 /** 13751 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13752 * @param event packet 13753 * @return hids_cid 13754 * @note: btstack_type 2 13755 */ 13756 static inline uint16_t gattservice_subevent_hid_report_written_get_hids_cid(const uint8_t * event){ 13757 return little_endian_read_16(event, 3); 13758 } 13759 /** 13760 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13761 * @param event packet 13762 * @return service_index 13763 * @note: btstack_type 1 13764 */ 13765 static inline uint8_t gattservice_subevent_hid_report_written_get_service_index(const uint8_t * event){ 13766 return event[5]; 13767 } 13768 /** 13769 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13770 * @param event packet 13771 * @return report_id 13772 * @note: btstack_type 1 13773 */ 13774 static inline uint8_t gattservice_subevent_hid_report_written_get_report_id(const uint8_t * event){ 13775 return event[6]; 13776 } 13777 13778 /** 13779 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13780 * @param event packet 13781 * @return con_handle 13782 * @note: btstack_type H 13783 */ 13784 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_con_handle(const uint8_t * event){ 13785 return little_endian_read_16(event, 3); 13786 } 13787 /** 13788 * @brief Get field max_scan_interval from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13789 * @param event packet 13790 * @return max_scan_interval 13791 * @note: btstack_type 2 13792 */ 13793 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_max_scan_interval(const uint8_t * event){ 13794 return little_endian_read_16(event, 5); 13795 } 13796 /** 13797 * @brief Get field min_scan_window from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13798 * @param event packet 13799 * @return min_scan_window 13800 * @note: btstack_type 2 13801 */ 13802 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_min_scan_window(const uint8_t * event){ 13803 return little_endian_read_16(event, 7); 13804 } 13805 13806 /** 13807 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13808 * @param event packet 13809 * @return con_handle 13810 * @note: btstack_type H 13811 */ 13812 static inline hci_con_handle_t gattservice_subevent_gatt_service_changed_get_con_handle(const uint8_t * event){ 13813 return little_endian_read_16(event, 3); 13814 } 13815 /** 13816 * @brief Get field attribute_handle_start from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13817 * @param event packet 13818 * @return attribute_handle_start 13819 * @note: btstack_type 2 13820 */ 13821 static inline uint16_t gattservice_subevent_gatt_service_changed_get_attribute_handle_start(const uint8_t * event){ 13822 return little_endian_read_16(event, 5); 13823 } 13824 /** 13825 * @brief Get field attribute_handle_end from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13826 * @param event packet 13827 * @return attribute_handle_end 13828 * @note: btstack_type 2 13829 */ 13830 static inline uint16_t gattservice_subevent_gatt_service_changed_get_attribute_handle_end(const uint8_t * event){ 13831 return little_endian_read_16(event, 7); 13832 } 13833 13834 /** 13835 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_GATT_DATABASE_HASH 13836 * @param event packet 13837 * @return con_handle 13838 * @note: btstack_type H 13839 */ 13840 static inline hci_con_handle_t gattservice_subevent_gatt_database_hash_get_con_handle(const uint8_t * event){ 13841 return little_endian_read_16(event, 3); 13842 } 13843 /** 13844 * @brief Get field database_hash from event GATTSERVICE_SUBEVENT_GATT_DATABASE_HASH 13845 * @param event packet 13846 * @param Pointer to storage for database_hash 13847 * @note: btstack_type K 13848 */ 13849 static inline void gattservice_subevent_gatt_database_hash_get_database_hash(const uint8_t * event, uint8_t * database_hash){ 13850 reverse_bytes(&event[5], database_hash, 16); 13851 } 13852 13853 /** 13854 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13855 * @param event packet 13856 * @return con_handle 13857 * @note: btstack_type H 13858 */ 13859 static inline hci_con_handle_t gattservice_subevent_client_connected_get_con_handle(const uint8_t * event){ 13860 return little_endian_read_16(event, 3); 13861 } 13862 /** 13863 * @brief Get field cid from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13864 * @param event packet 13865 * @return cid 13866 * @note: btstack_type 2 13867 */ 13868 static inline uint16_t gattservice_subevent_client_connected_get_cid(const uint8_t * event){ 13869 return little_endian_read_16(event, 5); 13870 } 13871 /** 13872 * @brief Get field num_included_services from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13873 * @param event packet 13874 * @return num_included_services 13875 * @note: btstack_type 1 13876 */ 13877 static inline uint8_t gattservice_subevent_client_connected_get_num_included_services(const uint8_t * event){ 13878 return event[7]; 13879 } 13880 /** 13881 * @brief Get field status from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13882 * @param event packet 13883 * @return status 13884 * @note: btstack_type 1 13885 */ 13886 static inline uint8_t gattservice_subevent_client_connected_get_status(const uint8_t * event){ 13887 return event[8]; 13888 } 13889 13890 /** 13891 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CLIENT_DISCONNECTED 13892 * @param event packet 13893 * @return con_handle 13894 * @note: btstack_type H 13895 */ 13896 static inline hci_con_handle_t gattservice_subevent_client_disconnected_get_con_handle(const uint8_t * event){ 13897 return little_endian_read_16(event, 3); 13898 } 13899 /** 13900 * @brief Get field cid from event GATTSERVICE_SUBEVENT_CLIENT_DISCONNECTED 13901 * @param event packet 13902 * @return cid 13903 * @note: btstack_type 2 13904 */ 13905 static inline uint16_t gattservice_subevent_client_disconnected_get_cid(const uint8_t * event){ 13906 return little_endian_read_16(event, 5); 13907 } 13908 13909 /** 13910 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13911 * @param event packet 13912 * @return con_handle 13913 * @note: btstack_type H 13914 */ 13915 static inline hci_con_handle_t gattservice_subevent_lls_client_connected_get_con_handle(const uint8_t * event){ 13916 return little_endian_read_16(event, 3); 13917 } 13918 /** 13919 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13920 * @param event packet 13921 * @return lls_cid 13922 * @note: btstack_type 2 13923 */ 13924 static inline uint16_t gattservice_subevent_lls_client_connected_get_lls_cid(const uint8_t * event){ 13925 return little_endian_read_16(event, 5); 13926 } 13927 /** 13928 * @brief Get field status from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13929 * @param event packet 13930 * @return status 13931 * @note: btstack_type 1 13932 */ 13933 static inline uint8_t gattservice_subevent_lls_client_connected_get_status(const uint8_t * event){ 13934 return event[7]; 13935 } 13936 13937 /** 13938 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_DISCONNECTED 13939 * @param event packet 13940 * @return lls_cid 13941 * @note: btstack_type 2 13942 */ 13943 static inline uint16_t gattservice_subevent_lls_client_disconnected_get_lls_cid(const uint8_t * event){ 13944 return little_endian_read_16(event, 3); 13945 } 13946 13947 /** 13948 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 13949 * @param event packet 13950 * @return lls_cid 13951 * @note: btstack_type 2 13952 */ 13953 static inline uint16_t gattservice_subevent_lls_client_write_done_get_lls_cid(const uint8_t * event){ 13954 return little_endian_read_16(event, 3); 13955 } 13956 /** 13957 * @brief Get field characteristic_uuid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 13958 * @param event packet 13959 * @return characteristic_uuid 13960 * @note: btstack_type 2 13961 */ 13962 static inline uint16_t gattservice_subevent_lls_client_write_done_get_characteristic_uuid(const uint8_t * event){ 13963 return little_endian_read_16(event, 5); 13964 } 13965 /** 13966 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 13967 * @param event packet 13968 * @return att_status 13969 * @note: btstack_type 1 13970 */ 13971 static inline uint8_t gattservice_subevent_lls_client_write_done_get_att_status(const uint8_t * event){ 13972 return event[7]; 13973 } 13974 13975 /** 13976 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_START_ALERTING 13977 * @param event packet 13978 * @return lls_cid 13979 * @note: btstack_type 2 13980 */ 13981 static inline uint16_t gattservice_subevent_lls_client_start_alerting_get_lls_cid(const uint8_t * event){ 13982 return little_endian_read_16(event, 3); 13983 } 13984 13985 /** 13986 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_STOP_ALERTING 13987 * @param event packet 13988 * @return lls_cid 13989 * @note: btstack_type 2 13990 */ 13991 static inline uint16_t gattservice_subevent_lls_client_stop_alerting_get_lls_cid(const uint8_t * event){ 13992 return little_endian_read_16(event, 3); 13993 } 13994 /** 13995 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_LLS_CLIENT_STOP_ALERTING 13996 * @param event packet 13997 * @return timeout 13998 * @note: btstack_type 1 13999 */ 14000 static inline uint8_t gattservice_subevent_lls_client_stop_alerting_get_timeout(const uint8_t * event){ 14001 return event[5]; 14002 } 14003 14004 /** 14005 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_ALERT_LEVEL 14006 * @param event packet 14007 * @return lls_cid 14008 * @note: btstack_type 2 14009 */ 14010 static inline uint16_t gattservice_subevent_lls_client_alert_level_get_lls_cid(const uint8_t * event){ 14011 return little_endian_read_16(event, 3); 14012 } 14013 /** 14014 * @brief Get field value from event GATTSERVICE_SUBEVENT_LLS_CLIENT_ALERT_LEVEL 14015 * @param event packet 14016 * @return value 14017 * @note: btstack_type 1 14018 */ 14019 static inline uint8_t gattservice_subevent_lls_client_alert_level_get_value(const uint8_t * event){ 14020 return event[5]; 14021 } 14022 14023 /** 14024 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14025 * @param event packet 14026 * @return con_handle 14027 * @note: btstack_type H 14028 */ 14029 static inline hci_con_handle_t gattservice_subevent_ias_client_connected_get_con_handle(const uint8_t * event){ 14030 return little_endian_read_16(event, 3); 14031 } 14032 /** 14033 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14034 * @param event packet 14035 * @return ias_cid 14036 * @note: btstack_type 2 14037 */ 14038 static inline uint16_t gattservice_subevent_ias_client_connected_get_ias_cid(const uint8_t * event){ 14039 return little_endian_read_16(event, 5); 14040 } 14041 /** 14042 * @brief Get field status from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14043 * @param event packet 14044 * @return status 14045 * @note: btstack_type 1 14046 */ 14047 static inline uint8_t gattservice_subevent_ias_client_connected_get_status(const uint8_t * event){ 14048 return event[7]; 14049 } 14050 14051 /** 14052 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_DISCONNECTED 14053 * @param event packet 14054 * @return ias_cid 14055 * @note: btstack_type 2 14056 */ 14057 static inline uint16_t gattservice_subevent_ias_client_disconnected_get_ias_cid(const uint8_t * event){ 14058 return little_endian_read_16(event, 3); 14059 } 14060 14061 /** 14062 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_START_ALERTING 14063 * @param event packet 14064 * @return ias_cid 14065 * @note: btstack_type 2 14066 */ 14067 static inline uint16_t gattservice_subevent_ias_client_start_alerting_get_ias_cid(const uint8_t * event){ 14068 return little_endian_read_16(event, 3); 14069 } 14070 14071 /** 14072 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_STOP_ALERTING 14073 * @param event packet 14074 * @return ias_cid 14075 * @note: btstack_type 2 14076 */ 14077 static inline uint16_t gattservice_subevent_ias_client_stop_alerting_get_ias_cid(const uint8_t * event){ 14078 return little_endian_read_16(event, 3); 14079 } 14080 /** 14081 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_IAS_CLIENT_STOP_ALERTING 14082 * @param event packet 14083 * @return timeout 14084 * @note: btstack_type 1 14085 */ 14086 static inline uint8_t gattservice_subevent_ias_client_stop_alerting_get_timeout(const uint8_t * event){ 14087 return event[5]; 14088 } 14089 14090 /** 14091 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14092 * @param event packet 14093 * @return con_handle 14094 * @note: btstack_type H 14095 */ 14096 static inline hci_con_handle_t gattservice_subevent_txps_client_connected_get_con_handle(const uint8_t * event){ 14097 return little_endian_read_16(event, 3); 14098 } 14099 /** 14100 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14101 * @param event packet 14102 * @return tpxs_cid 14103 * @note: btstack_type 2 14104 */ 14105 static inline uint16_t gattservice_subevent_txps_client_connected_get_tpxs_cid(const uint8_t * event){ 14106 return little_endian_read_16(event, 5); 14107 } 14108 /** 14109 * @brief Get field status from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14110 * @param event packet 14111 * @return status 14112 * @note: btstack_type 1 14113 */ 14114 static inline uint8_t gattservice_subevent_txps_client_connected_get_status(const uint8_t * event){ 14115 return event[7]; 14116 } 14117 14118 /** 14119 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_DISCONNECTED 14120 * @param event packet 14121 * @return tpxs_cid 14122 * @note: btstack_type 2 14123 */ 14124 static inline uint16_t gattservice_subevent_txps_client_disconnected_get_tpxs_cid(const uint8_t * event){ 14125 return little_endian_read_16(event, 3); 14126 } 14127 14128 /** 14129 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_TX_POWER_LEVEL 14130 * @param event packet 14131 * @return tpxs_cid 14132 * @note: btstack_type 2 14133 */ 14134 static inline uint16_t gattservice_subevent_txps_client_tx_power_level_get_tpxs_cid(const uint8_t * event){ 14135 return little_endian_read_16(event, 3); 14136 } 14137 /** 14138 * @brief Get field value from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_TX_POWER_LEVEL 14139 * @param event packet 14140 * @return value 14141 * @note: btstack_type 1 14142 */ 14143 static inline uint8_t gattservice_subevent_txps_client_tx_power_level_get_value(const uint8_t * event){ 14144 return event[5]; 14145 } 14146 14147 /** 14148 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_LLS_SERVER_START_ALERTING 14149 * @param event packet 14150 * @return alert_level 14151 * @note: btstack_type 1 14152 */ 14153 static inline uint8_t gattservice_subevent_lls_server_start_alerting_get_alert_level(const uint8_t * event){ 14154 return event[3]; 14155 } 14156 14157 /** 14158 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_LLS_SERVER_STOP_ALERTING 14159 * @param event packet 14160 * @return alert_level 14161 * @note: btstack_type 1 14162 */ 14163 static inline uint8_t gattservice_subevent_lls_server_stop_alerting_get_alert_level(const uint8_t * event){ 14164 return event[3]; 14165 } 14166 /** 14167 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_LLS_SERVER_STOP_ALERTING 14168 * @param event packet 14169 * @return timeout 14170 * @note: btstack_type 1 14171 */ 14172 static inline uint8_t gattservice_subevent_lls_server_stop_alerting_get_timeout(const uint8_t * event){ 14173 return event[4]; 14174 } 14175 14176 /** 14177 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_IAS_SERVER_START_ALERTING 14178 * @param event packet 14179 * @return alert_level 14180 * @note: btstack_type 1 14181 */ 14182 static inline uint8_t gattservice_subevent_ias_server_start_alerting_get_alert_level(const uint8_t * event){ 14183 return event[3]; 14184 } 14185 14186 /** 14187 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_IAS_SERVER_STOP_ALERTING 14188 * @param event packet 14189 * @return alert_level 14190 * @note: btstack_type 1 14191 */ 14192 static inline uint8_t gattservice_subevent_ias_server_stop_alerting_get_alert_level(const uint8_t * event){ 14193 return event[3]; 14194 } 14195 /** 14196 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_IAS_SERVER_STOP_ALERTING 14197 * @param event packet 14198 * @return timeout 14199 * @note: btstack_type 1 14200 */ 14201 static inline uint8_t gattservice_subevent_ias_server_stop_alerting_get_timeout(const uint8_t * event){ 14202 return event[4]; 14203 } 14204 14205 /** 14206 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14207 * @param event packet 14208 * @return con_handle 14209 * @note: btstack_type H 14210 */ 14211 static inline hci_con_handle_t gattservice_subevent_device_information_udi_for_medical_devices_get_con_handle(const uint8_t * event){ 14212 return little_endian_read_16(event, 3); 14213 } 14214 /** 14215 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14216 * @param event packet 14217 * @return att_status 14218 * @note: btstack_type 1 14219 */ 14220 static inline uint8_t gattservice_subevent_device_information_udi_for_medical_devices_get_att_status(const uint8_t * event){ 14221 return event[5]; 14222 } 14223 /** 14224 * @brief Get field label from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14225 * @param event packet 14226 * @return label 14227 * @note: btstack_type T 14228 */ 14229 static inline const char * gattservice_subevent_device_information_udi_for_medical_devices_get_label(const uint8_t * event){ 14230 return (const char *) &event[6]; 14231 } 14232 14233 /** 14234 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 14235 * @param event packet 14236 * @return con_handle 14237 * @note: btstack_type H 14238 */ 14239 static inline hci_con_handle_t leaudio_subevent_bass_server_connected_get_con_handle(const uint8_t * event){ 14240 return little_endian_read_16(event, 3); 14241 } 14242 /** 14243 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 14244 * @param event packet 14245 * @return status 14246 * @note: btstack_type 1 14247 */ 14248 static inline uint8_t leaudio_subevent_bass_server_connected_get_status(const uint8_t * event){ 14249 return event[5]; 14250 } 14251 14252 /** 14253 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_DISCONNECTED 14254 * @param event packet 14255 * @return con_handle 14256 * @note: btstack_type H 14257 */ 14258 static inline hci_con_handle_t leaudio_subevent_bass_server_disconnected_get_con_handle(const uint8_t * event){ 14259 return little_endian_read_16(event, 3); 14260 } 14261 14262 /** 14263 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STOPPED 14264 * @param event packet 14265 * @return con_handle 14266 * @note: btstack_type H 14267 */ 14268 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_stopped_get_con_handle(const uint8_t * event){ 14269 return little_endian_read_16(event, 3); 14270 } 14271 14272 /** 14273 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STARTED 14274 * @param event packet 14275 * @return con_handle 14276 * @note: btstack_type H 14277 */ 14278 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_started_get_con_handle(const uint8_t * event){ 14279 return little_endian_read_16(event, 3); 14280 } 14281 14282 /** 14283 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14284 * @param event packet 14285 * @return con_handle 14286 * @note: btstack_type H 14287 */ 14288 static inline hci_con_handle_t leaudio_subevent_bass_server_broadcast_code_get_con_handle(const uint8_t * event){ 14289 return little_endian_read_16(event, 3); 14290 } 14291 /** 14292 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14293 * @param event packet 14294 * @return source_id 14295 * @note: btstack_type 1 14296 */ 14297 static inline uint8_t leaudio_subevent_bass_server_broadcast_code_get_source_id(const uint8_t * event){ 14298 return event[5]; 14299 } 14300 /** 14301 * @brief Get field broadcast_code from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14302 * @param event packet 14303 * @param Pointer to storage for broadcast_code 14304 * @note: btstack_type K 14305 */ 14306 static inline void leaudio_subevent_bass_server_broadcast_code_get_broadcast_code(const uint8_t * event, uint8_t * broadcast_code){ 14307 reverse_bytes(&event[6], broadcast_code, 16); 14308 } 14309 14310 /** 14311 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14312 * @param event packet 14313 * @return con_handle 14314 * @note: btstack_type H 14315 */ 14316 static inline hci_con_handle_t leaudio_subevent_bass_server_source_added_get_con_handle(const uint8_t * event){ 14317 return little_endian_read_16(event, 3); 14318 } 14319 /** 14320 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14321 * @param event packet 14322 * @return source_id 14323 * @note: btstack_type 1 14324 */ 14325 static inline uint8_t leaudio_subevent_bass_server_source_added_get_source_id(const uint8_t * event){ 14326 return event[5]; 14327 } 14328 /** 14329 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14330 * @param event packet 14331 * @return pa_sync 14332 * @note: btstack_type 1 14333 */ 14334 static inline uint8_t leaudio_subevent_bass_server_source_added_get_pa_sync(const uint8_t * event){ 14335 return event[6]; 14336 } 14337 14338 /** 14339 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14340 * @param event packet 14341 * @return con_handle 14342 * @note: btstack_type H 14343 */ 14344 static inline hci_con_handle_t leaudio_subevent_bass_server_source_modified_get_con_handle(const uint8_t * event){ 14345 return little_endian_read_16(event, 3); 14346 } 14347 /** 14348 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14349 * @param event packet 14350 * @return source_id 14351 * @note: btstack_type 1 14352 */ 14353 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_source_id(const uint8_t * event){ 14354 return event[5]; 14355 } 14356 /** 14357 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14358 * @param event packet 14359 * @return pa_sync 14360 * @note: btstack_type 1 14361 */ 14362 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_pa_sync(const uint8_t * event){ 14363 return event[6]; 14364 } 14365 14366 /** 14367 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14368 * @param event packet 14369 * @return con_handle 14370 * @note: btstack_type H 14371 */ 14372 static inline hci_con_handle_t leaudio_subevent_bass_server_source_deleted_get_con_handle(const uint8_t * event){ 14373 return little_endian_read_16(event, 3); 14374 } 14375 /** 14376 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14377 * @param event packet 14378 * @return source_id 14379 * @note: btstack_type 1 14380 */ 14381 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_source_id(const uint8_t * event){ 14382 return event[5]; 14383 } 14384 /** 14385 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14386 * @param event packet 14387 * @return pa_sync 14388 * @note: btstack_type 1 14389 */ 14390 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_pa_sync(const uint8_t * event){ 14391 return event[6]; 14392 } 14393 14394 /** 14395 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14396 * @param event packet 14397 * @return con_handle 14398 * @note: btstack_type H 14399 */ 14400 static inline hci_con_handle_t leaudio_subevent_bass_client_connected_get_con_handle(const uint8_t * event){ 14401 return little_endian_read_16(event, 3); 14402 } 14403 /** 14404 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14405 * @param event packet 14406 * @return bass_cid 14407 * @note: btstack_type 2 14408 */ 14409 static inline uint16_t leaudio_subevent_bass_client_connected_get_bass_cid(const uint8_t * event){ 14410 return little_endian_read_16(event, 5); 14411 } 14412 /** 14413 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14414 * @param event packet 14415 * @return status 14416 * @note: btstack_type 1 14417 */ 14418 static inline uint8_t leaudio_subevent_bass_client_connected_get_status(const uint8_t * event){ 14419 return event[7]; 14420 } 14421 14422 /** 14423 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_DISCONNECTED 14424 * @param event packet 14425 * @return bass_cid 14426 * @note: btstack_type 2 14427 */ 14428 static inline uint16_t leaudio_subevent_bass_client_disconnected_get_bass_cid(const uint8_t * event){ 14429 return little_endian_read_16(event, 3); 14430 } 14431 14432 /** 14433 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14434 * @param event packet 14435 * @return bass_cid 14436 * @note: btstack_type 2 14437 */ 14438 static inline uint16_t leaudio_subevent_bass_client_scan_operation_complete_get_bass_cid(const uint8_t * event){ 14439 return little_endian_read_16(event, 3); 14440 } 14441 /** 14442 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14443 * @param event packet 14444 * @return status 14445 * @note: btstack_type 1 14446 */ 14447 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_status(const uint8_t * event){ 14448 return event[5]; 14449 } 14450 /** 14451 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14452 * @param event packet 14453 * @return opcode 14454 * @note: btstack_type 1 14455 */ 14456 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_opcode(const uint8_t * event){ 14457 return event[6]; 14458 } 14459 14460 /** 14461 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14462 * @param event packet 14463 * @return bass_cid 14464 * @note: btstack_type 2 14465 */ 14466 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_base_get_bass_cid(const uint8_t * event){ 14467 return little_endian_read_16(event, 3); 14468 } 14469 /** 14470 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14471 * @param event packet 14472 * @return source_id 14473 * @note: btstack_type 1 14474 */ 14475 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_id(const uint8_t * event){ 14476 return event[5]; 14477 } 14478 /** 14479 * @brief Get field source_address_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14480 * @param event packet 14481 * @return source_address_type 14482 * @note: btstack_type 1 14483 */ 14484 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_address_type(const uint8_t * event){ 14485 return event[6]; 14486 } 14487 /** 14488 * @brief Get field source_address from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14489 * @param event packet 14490 * @param Pointer to storage for source_address 14491 * @note: btstack_type B 14492 */ 14493 static inline void leaudio_subevent_bass_client_notify_receive_state_base_get_source_address(const uint8_t * event, bd_addr_t source_address){ 14494 reverse_bytes(&event[7], source_address, 6); 14495 } 14496 /** 14497 * @brief Get field source_adv_sid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14498 * @param event packet 14499 * @return source_adv_sid 14500 * @note: btstack_type 1 14501 */ 14502 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_adv_sid(const uint8_t * event){ 14503 return event[13]; 14504 } 14505 /** 14506 * @brief Get field broadcast_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14507 * @param event packet 14508 * @return broadcast_id 14509 * @note: btstack_type 3 14510 */ 14511 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_base_get_broadcast_id(const uint8_t * event){ 14512 return little_endian_read_24(event, 14); 14513 } 14514 /** 14515 * @brief Get field pa_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14516 * @param event packet 14517 * @return pa_sync_state 14518 * @note: btstack_type 1 14519 */ 14520 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_pa_sync_state(const uint8_t * event){ 14521 return event[17]; 14522 } 14523 /** 14524 * @brief Get field big_encryption from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14525 * @param event packet 14526 * @return big_encryption 14527 * @note: btstack_type 1 14528 */ 14529 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_big_encryption(const uint8_t * event){ 14530 return event[18]; 14531 } 14532 /** 14533 * @brief Get field bad_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14534 * @param event packet 14535 * @return bad_code 14536 * @note: btstack_type P 14537 */ 14538 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_base_get_bad_code(const uint8_t * event){ 14539 return (const uint8_t *) &event[19]; 14540 } 14541 /** 14542 * @brief Get field subgroups_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14543 * @param event packet 14544 * @return subgroups_num 14545 * @note: btstack_type 1 14546 */ 14547 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_subgroups_num(const uint8_t * event){ 14548 return event[35]; 14549 } 14550 14551 /** 14552 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14553 * @param event packet 14554 * @return bass_cid 14555 * @note: btstack_type 2 14556 */ 14557 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){ 14558 return little_endian_read_16(event, 3); 14559 } 14560 /** 14561 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14562 * @param event packet 14563 * @return source_id 14564 * @note: btstack_type 1 14565 */ 14566 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_source_id(const uint8_t * event){ 14567 return event[5]; 14568 } 14569 /** 14570 * @brief Get field bis_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14571 * @param event packet 14572 * @return bis_sync_state 14573 * @note: btstack_type 4 14574 */ 14575 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){ 14576 return little_endian_read_32(event, 6); 14577 } 14578 /** 14579 * @brief Get field metadata_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14580 * @param event packet 14581 * @return metadata_mask 14582 * @note: btstack_type 1 14583 */ 14584 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){ 14585 return event[10]; 14586 } 14587 /** 14588 * @brief Get field preferred_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14589 * @param event packet 14590 * @return preferred_audio_contexts_mask 14591 * @note: btstack_type 2 14592 */ 14593 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){ 14594 return little_endian_read_16(event, 11); 14595 } 14596 /** 14597 * @brief Get field streaming_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14598 * @param event packet 14599 * @return streaming_audio_contexts_mask 14600 * @note: btstack_type 2 14601 */ 14602 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){ 14603 return little_endian_read_16(event, 13); 14604 } 14605 /** 14606 * @brief Get field program_info_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14607 * @param event packet 14608 * @return program_info_length 14609 * @note: btstack_type J 14610 */ 14611 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){ 14612 return event[15]; 14613 } 14614 /** 14615 * @brief Get field program_info from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14616 * @param event packet 14617 * @return program_info 14618 * @note: btstack_type V 14619 */ 14620 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info(const uint8_t * event){ 14621 return &event[16]; 14622 } 14623 /** 14624 * @brief Get field language_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14625 * @param event packet 14626 * @return language_code 14627 * @note: btstack_type 3 14628 */ 14629 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_language_code(const uint8_t * event){ 14630 uint8_t offset = 16u + event[15]; 14631 return little_endian_read_24(event, (int)(int8_t) offset); 14632 } 14633 /** 14634 * @brief Get field ccids_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14635 * @param event packet 14636 * @return ccids_num 14637 * @note: btstack_type J 14638 */ 14639 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){ 14640 return event[16u + event[15] + 3u]; 14641 } 14642 /** 14643 * @brief Get field ccids from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14644 * @param event packet 14645 * @return ccids 14646 * @note: btstack_type V 14647 */ 14648 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids(const uint8_t * event){ 14649 return &event[16u + event[15] + 3u + 1u]; 14650 } 14651 /** 14652 * @brief Get field parental_rating from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14653 * @param event packet 14654 * @return parental_rating 14655 * @note: btstack_type 1 14656 */ 14657 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){ 14658 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]]; 14659 } 14660 /** 14661 * @brief Get field program_info_uri_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14662 * @param event packet 14663 * @return program_info_uri_length 14664 * @note: btstack_type J 14665 */ 14666 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){ 14667 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; 14668 } 14669 /** 14670 * @brief Get field program_info_uri from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14671 * @param event packet 14672 * @return program_info_uri 14673 * @note: btstack_type V 14674 */ 14675 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){ 14676 return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u]; 14677 } 14678 /** 14679 * @brief Get field extended_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14680 * @param event packet 14681 * @return extended_metadata_type 14682 * @note: btstack_type 2 14683 */ 14684 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){ 14685 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]; 14686 return little_endian_read_16(event, (int)(int8_t) offset); 14687 } 14688 /** 14689 * @brief Get field extended_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14690 * @param event packet 14691 * @return extended_metadata_value_length 14692 * @note: btstack_type J 14693 */ 14694 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){ 14695 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]; 14696 } 14697 /** 14698 * @brief Get field extended_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14699 * @param event packet 14700 * @return extended_metadata_value 14701 * @note: btstack_type V 14702 */ 14703 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){ 14704 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]; 14705 } 14706 /** 14707 * @brief Get field vendor_specific_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14708 * @param event packet 14709 * @return vendor_specific_metadata_type 14710 * @note: btstack_type 2 14711 */ 14712 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){ 14713 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]; 14714 return little_endian_read_16(event, (int)(int8_t) offset); 14715 } 14716 /** 14717 * @brief Get field vendor_specific_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14718 * @param event packet 14719 * @return vendor_specific_metadata_value_length 14720 * @note: btstack_type J 14721 */ 14722 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){ 14723 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]; 14724 } 14725 /** 14726 * @brief Get field vendor_specific_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14727 * @param event packet 14728 * @return vendor_specific_metadata_value 14729 * @note: btstack_type V 14730 */ 14731 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){ 14732 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]; 14733 } 14734 14735 /** 14736 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14737 * @param event packet 14738 * @return bass_cid 14739 * @note: btstack_type 2 14740 */ 14741 static inline uint16_t leaudio_subevent_bass_client_notification_complete_get_bass_cid(const uint8_t * event){ 14742 return little_endian_read_16(event, 3); 14743 } 14744 /** 14745 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14746 * @param event packet 14747 * @return source_id 14748 * @note: btstack_type 1 14749 */ 14750 static inline uint8_t leaudio_subevent_bass_client_notification_complete_get_source_id(const uint8_t * event){ 14751 return event[5]; 14752 } 14753 14754 /** 14755 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14756 * @param event packet 14757 * @return bass_cid 14758 * @note: btstack_type 2 14759 */ 14760 static inline uint16_t leaudio_subevent_bass_client_source_operation_complete_get_bass_cid(const uint8_t * event){ 14761 return little_endian_read_16(event, 3); 14762 } 14763 /** 14764 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14765 * @param event packet 14766 * @return status 14767 * @note: btstack_type 1 14768 */ 14769 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_status(const uint8_t * event){ 14770 return event[5]; 14771 } 14772 /** 14773 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14774 * @param event packet 14775 * @return opcode 14776 * @note: btstack_type 1 14777 */ 14778 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_opcode(const uint8_t * event){ 14779 return event[6]; 14780 } 14781 /** 14782 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14783 * @param event packet 14784 * @return source_id 14785 * @note: btstack_type 1 14786 */ 14787 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_source_id(const uint8_t * event){ 14788 return event[7]; 14789 } 14790 14791 14792 /** 14793 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 14794 * @param event packet 14795 * @return status 14796 * @note: btstack_type 1 14797 */ 14798 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 14799 return event[3]; 14800 } 14801 14802 /** 14803 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14804 * @param event packet 14805 * @return status 14806 * @note: btstack_type 1 14807 */ 14808 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 14809 return event[3]; 14810 } 14811 /** 14812 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14813 * @param event packet 14814 * @return pb_transport_cid 14815 * @note: btstack_type 2 14816 */ 14817 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 14818 return little_endian_read_16(event, 4); 14819 } 14820 /** 14821 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14822 * @param event packet 14823 * @return pb_type 14824 * @note: btstack_type 1 14825 */ 14826 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 14827 return event[6]; 14828 } 14829 14830 /** 14831 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14832 * @param event packet 14833 * @return pb_transport_cid 14834 * @note: btstack_type 1 14835 */ 14836 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 14837 return event[3]; 14838 } 14839 /** 14840 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14841 * @param event packet 14842 * @return reason 14843 * @note: btstack_type 2 14844 */ 14845 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 14846 return little_endian_read_16(event, 4); 14847 } 14848 14849 /** 14850 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14851 * @param event packet 14852 * @return pb_transport_cid 14853 * @note: btstack_type 2 14854 */ 14855 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 14856 return little_endian_read_16(event, 3); 14857 } 14858 /** 14859 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14860 * @param event packet 14861 * @return attention_time 14862 * @note: btstack_type 1 14863 */ 14864 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 14865 return event[5]; 14866 } 14867 14868 /** 14869 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 14870 * @param event packet 14871 * @return pb_transport_cid 14872 * @note: btstack_type 2 14873 */ 14874 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14875 return little_endian_read_16(event, 3); 14876 } 14877 14878 /** 14879 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 14880 * @param event packet 14881 * @return pb_transport_cid 14882 * @note: btstack_type 2 14883 */ 14884 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14885 return little_endian_read_16(event, 3); 14886 } 14887 14888 /** 14889 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 14890 * @param event packet 14891 * @return pb_transport_cid 14892 * @note: btstack_type 2 14893 */ 14894 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 14895 return little_endian_read_16(event, 3); 14896 } 14897 14898 /** 14899 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14900 * @param event packet 14901 * @return pb_transport_cid 14902 * @note: btstack_type 2 14903 */ 14904 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14905 return little_endian_read_16(event, 3); 14906 } 14907 /** 14908 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14909 * @param event packet 14910 * @return output_oob 14911 * @note: btstack_type 4 14912 */ 14913 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 14914 return little_endian_read_32(event, 5); 14915 } 14916 14917 /** 14918 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 14919 * @param event packet 14920 * @return pb_transport_cid 14921 * @note: btstack_type 2 14922 */ 14923 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14924 return little_endian_read_16(event, 3); 14925 } 14926 14927 /** 14928 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 14929 * @param event packet 14930 * @return pb_transport_cid 14931 * @note: btstack_type 2 14932 */ 14933 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14934 return little_endian_read_16(event, 3); 14935 } 14936 14937 /** 14938 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 14939 * @param event packet 14940 * @return pb_transport_cid 14941 * @note: btstack_type 2 14942 */ 14943 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14944 return little_endian_read_16(event, 3); 14945 } 14946 14947 /** 14948 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 14949 * @param event packet 14950 * @return pb_transport_cid 14951 * @note: btstack_type 2 14952 */ 14953 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 14954 return little_endian_read_16(event, 3); 14955 } 14956 14957 /** 14958 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 14959 * @param event packet 14960 * @return pb_transport_cid 14961 * @note: btstack_type 2 14962 */ 14963 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 14964 return little_endian_read_16(event, 3); 14965 } 14966 /** 14967 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 14968 * @param event packet 14969 * @return output_oob 14970 * @note: btstack_type 4 14971 */ 14972 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 14973 return little_endian_read_32(event, 5); 14974 } 14975 14976 /** 14977 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 14978 * @param event packet 14979 * @return pb_transport_cid 14980 * @note: btstack_type 2 14981 */ 14982 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 14983 return little_endian_read_16(event, 3); 14984 } 14985 14986 /** 14987 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14988 * @param event packet 14989 * @return pb_transport_cid 14990 * @note: btstack_type 2 14991 */ 14992 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 14993 return little_endian_read_16(event, 3); 14994 } 14995 /** 14996 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14997 * @param event packet 14998 * @return num_elements 14999 * @note: btstack_type 1 15000 */ 15001 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 15002 return event[5]; 15003 } 15004 /** 15005 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15006 * @param event packet 15007 * @return algorithms 15008 * @note: btstack_type 2 15009 */ 15010 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 15011 return little_endian_read_16(event, 6); 15012 } 15013 /** 15014 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15015 * @param event packet 15016 * @return public_key 15017 * @note: btstack_type 1 15018 */ 15019 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 15020 return event[8]; 15021 } 15022 /** 15023 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15024 * @param event packet 15025 * @return static_oob_type 15026 * @note: btstack_type 1 15027 */ 15028 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 15029 return event[9]; 15030 } 15031 /** 15032 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15033 * @param event packet 15034 * @return output_oob_size 15035 * @note: btstack_type 1 15036 */ 15037 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 15038 return event[10]; 15039 } 15040 /** 15041 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15042 * @param event packet 15043 * @return output_oob_action 15044 * @note: btstack_type 2 15045 */ 15046 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 15047 return little_endian_read_16(event, 11); 15048 } 15049 /** 15050 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15051 * @param event packet 15052 * @return input_oob_size 15053 * @note: btstack_type 1 15054 */ 15055 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 15056 return event[13]; 15057 } 15058 /** 15059 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15060 * @param event packet 15061 * @return input_oob_action 15062 * @note: btstack_type 2 15063 */ 15064 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 15065 return little_endian_read_16(event, 14); 15066 } 15067 15068 /** 15069 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 15070 * @param event packet 15071 * @return pb_transport_cid 15072 * @note: btstack_type 2 15073 */ 15074 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 15075 return little_endian_read_16(event, 3); 15076 } 15077 15078 /** 15079 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 15080 * @param event packet 15081 * @return attention_time 15082 * @note: btstack_type 1 15083 */ 15084 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 15085 return event[3]; 15086 } 15087 15088 /** 15089 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 15090 * @param event packet 15091 * @return con_handle 15092 * @note: btstack_type H 15093 */ 15094 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 15095 return little_endian_read_16(event, 3); 15096 } 15097 15098 /** 15099 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 15100 * @param event packet 15101 * @return con_handle 15102 * @note: btstack_type H 15103 */ 15104 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 15105 return little_endian_read_16(event, 3); 15106 } 15107 15108 /** 15109 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 15110 * @param event packet 15111 * @return con_handle 15112 * @note: btstack_type H 15113 */ 15114 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 15115 return little_endian_read_16(event, 3); 15116 } 15117 15118 /** 15119 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 15120 * @param event packet 15121 * @return con_handle 15122 * @note: btstack_type H 15123 */ 15124 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 15125 return little_endian_read_16(event, 3); 15126 } 15127 15128 /** 15129 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15130 * @param event packet 15131 * @return element_index 15132 * @note: btstack_type 1 15133 */ 15134 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 15135 return event[3]; 15136 } 15137 /** 15138 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15139 * @param event packet 15140 * @return model_identifier 15141 * @note: btstack_type 4 15142 */ 15143 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 15144 return little_endian_read_32(event, 4); 15145 } 15146 /** 15147 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15148 * @param event packet 15149 * @return state_identifier 15150 * @note: btstack_type 4 15151 */ 15152 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 15153 return little_endian_read_32(event, 8); 15154 } 15155 /** 15156 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15157 * @param event packet 15158 * @return reason 15159 * @note: btstack_type 1 15160 */ 15161 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 15162 return event[12]; 15163 } 15164 /** 15165 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15166 * @param event packet 15167 * @return value 15168 * @note: btstack_type 1 15169 */ 15170 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 15171 return event[13]; 15172 } 15173 15174 /** 15175 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 15176 * @param event packet 15177 * @return element_index 15178 * @note: btstack_type 1 15179 */ 15180 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 15181 return event[3]; 15182 } 15183 /** 15184 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15185 * @param event packet 15186 * @return model_identifier 15187 * @note: btstack_type 4 15188 */ 15189 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 15190 return little_endian_read_32(event, 4); 15191 } 15192 /** 15193 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15194 * @param event packet 15195 * @return state_identifier 15196 * @note: btstack_type 4 15197 */ 15198 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 15199 return little_endian_read_32(event, 8); 15200 } 15201 /** 15202 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 15203 * @param event packet 15204 * @return reason 15205 * @note: btstack_type 1 15206 */ 15207 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 15208 return event[12]; 15209 } 15210 /** 15211 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 15212 * @param event packet 15213 * @return value 15214 * @note: btstack_type 2 15215 */ 15216 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 15217 return little_endian_read_16(event, 13); 15218 } 15219 15220 /** 15221 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15222 * @param event packet 15223 * @return element_index 15224 * @note: btstack_type 1 15225 */ 15226 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 15227 return event[3]; 15228 } 15229 /** 15230 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15231 * @param event packet 15232 * @return model_identifier 15233 * @note: btstack_type 4 15234 */ 15235 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 15236 return little_endian_read_32(event, 4); 15237 } 15238 /** 15239 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15240 * @param event packet 15241 * @return opcode 15242 * @note: btstack_type 4 15243 */ 15244 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 15245 return little_endian_read_32(event, 8); 15246 } 15247 /** 15248 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15249 * @param event packet 15250 * @return dest 15251 * @note: btstack_type 2 15252 */ 15253 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 15254 return little_endian_read_16(event, 12); 15255 } 15256 15257 /** 15258 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 15259 * @param event packet 15260 * @return dest 15261 * @note: btstack_type 2 15262 */ 15263 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 15264 return little_endian_read_16(event, 3); 15265 } 15266 /** 15267 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 15268 * @param event packet 15269 * @return status 15270 * @note: btstack_type 1 15271 */ 15272 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 15273 return event[5]; 15274 } 15275 /** 15276 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15277 * @param event packet 15278 * @return present_value 15279 * @note: btstack_type 1 15280 */ 15281 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 15282 return event[6]; 15283 } 15284 /** 15285 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15286 * @param event packet 15287 * @return target_value 15288 * @note: btstack_type 1 15289 */ 15290 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 15291 return event[7]; 15292 } 15293 /** 15294 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 15295 * @param event packet 15296 * @return remaining_time_ms 15297 * @note: btstack_type 4 15298 */ 15299 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 15300 return little_endian_read_32(event, 8); 15301 } 15302 15303 /** 15304 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 15305 * @param event packet 15306 * @return dest 15307 * @note: btstack_type 2 15308 */ 15309 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 15310 return little_endian_read_16(event, 3); 15311 } 15312 /** 15313 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 15314 * @param event packet 15315 * @return status 15316 * @note: btstack_type 1 15317 */ 15318 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 15319 return event[5]; 15320 } 15321 /** 15322 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 15323 * @param event packet 15324 * @return present_value 15325 * @note: btstack_type 2 15326 */ 15327 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 15328 return little_endian_read_16(event, 6); 15329 } 15330 /** 15331 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 15332 * @param event packet 15333 * @return target_value 15334 * @note: btstack_type 2 15335 */ 15336 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 15337 return little_endian_read_16(event, 8); 15338 } 15339 /** 15340 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 15341 * @param event packet 15342 * @return remaining_time_ms 15343 * @note: btstack_type 4 15344 */ 15345 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 15346 return little_endian_read_32(event, 10); 15347 } 15348 15349 /** 15350 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15351 * @param event packet 15352 * @return dest 15353 * @note: btstack_type 2 15354 */ 15355 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 15356 return little_endian_read_16(event, 3); 15357 } 15358 /** 15359 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15360 * @param event packet 15361 * @return netkey_index 15362 * @note: btstack_type 2 15363 */ 15364 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 15365 return little_endian_read_16(event, 5); 15366 } 15367 /** 15368 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15369 * @param event packet 15370 * @return appkey_index 15371 * @note: btstack_type 2 15372 */ 15373 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 15374 return little_endian_read_16(event, 7); 15375 } 15376 /** 15377 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15378 * @param event packet 15379 * @return company_id 15380 * @note: btstack_type 2 15381 */ 15382 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 15383 return little_endian_read_16(event, 9); 15384 } 15385 /** 15386 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15387 * @param event packet 15388 * @return test_id 15389 * @note: btstack_type 1 15390 */ 15391 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 15392 return event[11]; 15393 } 15394 /** 15395 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15396 * @param event packet 15397 * @return acknowledged 15398 * @note: btstack_type 1 15399 */ 15400 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 15401 return event[12]; 15402 } 15403 15404 /** 15405 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 15406 * @param event packet 15407 * @return element_index 15408 * @note: btstack_type 1 15409 */ 15410 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 15411 return event[3]; 15412 } 15413 15414 /** 15415 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15416 * @param event packet 15417 * @return dest 15418 * @note: btstack_type 2 15419 */ 15420 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 15421 return little_endian_read_16(event, 3); 15422 } 15423 /** 15424 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15425 * @param event packet 15426 * @return status 15427 * @note: btstack_type 1 15428 */ 15429 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 15430 return event[5]; 15431 } 15432 /** 15433 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15434 * @param event packet 15435 * @return transition_time_gdtt 15436 * @note: btstack_type 1 15437 */ 15438 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 15439 return event[6]; 15440 } 15441 15442 /** 15443 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 15444 * @param event packet 15445 * @return dest 15446 * @note: btstack_type 2 15447 */ 15448 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 15449 return little_endian_read_16(event, 3); 15450 } 15451 /** 15452 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 15453 * @param event packet 15454 * @return foundation_status 15455 * @note: btstack_type 1 15456 */ 15457 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 15458 return event[5]; 15459 } 15460 /** 15461 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 15462 * @param event packet 15463 * @return secure_network_beacon_state 15464 * @note: btstack_type 1 15465 */ 15466 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 15467 return event[6]; 15468 } 15469 15470 /** 15471 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15472 * @param event packet 15473 * @return dest 15474 * @note: btstack_type 2 15475 */ 15476 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 15477 return little_endian_read_16(event, 3); 15478 } 15479 /** 15480 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15481 * @param event packet 15482 * @return foundation_status 15483 * @note: btstack_type 1 15484 */ 15485 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 15486 return event[5]; 15487 } 15488 /** 15489 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15490 * @param event packet 15491 * @return default_ttl 15492 * @note: btstack_type 1 15493 */ 15494 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 15495 return event[6]; 15496 } 15497 15498 /** 15499 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15500 * @param event packet 15501 * @return dest 15502 * @note: btstack_type 2 15503 */ 15504 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 15505 return little_endian_read_16(event, 3); 15506 } 15507 /** 15508 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15509 * @param event packet 15510 * @return foundation_status 15511 * @note: btstack_type 1 15512 */ 15513 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 15514 return event[5]; 15515 } 15516 /** 15517 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15518 * @param event packet 15519 * @return gatt_proxy_state 15520 * @note: btstack_type 1 15521 */ 15522 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 15523 return event[6]; 15524 } 15525 15526 /** 15527 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 15528 * @param event packet 15529 * @return dest 15530 * @note: btstack_type 2 15531 */ 15532 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 15533 return little_endian_read_16(event, 3); 15534 } 15535 /** 15536 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 15537 * @param event packet 15538 * @return foundation_status 15539 * @note: btstack_type 1 15540 */ 15541 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 15542 return event[5]; 15543 } 15544 /** 15545 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 15546 * @param event packet 15547 * @return relay 15548 * @note: btstack_type 1 15549 */ 15550 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 15551 return event[6]; 15552 } 15553 /** 15554 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 15555 * @param event packet 15556 * @return retransmit_count 15557 * @note: btstack_type 1 15558 */ 15559 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 15560 return event[7]; 15561 } 15562 /** 15563 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 15564 * @param event packet 15565 * @return retransmit_interval_ms 15566 * @note: btstack_type 1 15567 */ 15568 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 15569 return event[8]; 15570 } 15571 15572 /** 15573 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15574 * @param event packet 15575 * @return dest 15576 * @note: btstack_type 2 15577 */ 15578 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 15579 return little_endian_read_16(event, 3); 15580 } 15581 /** 15582 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15583 * @param event packet 15584 * @return foundation_status 15585 * @note: btstack_type 1 15586 */ 15587 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 15588 return event[5]; 15589 } 15590 /** 15591 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15592 * @param event packet 15593 * @return publish_address 15594 * @note: btstack_type 2 15595 */ 15596 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 15597 return little_endian_read_16(event, 6); 15598 } 15599 /** 15600 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15601 * @param event packet 15602 * @return appkey_index 15603 * @note: btstack_type 2 15604 */ 15605 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 15606 return little_endian_read_16(event, 8); 15607 } 15608 /** 15609 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15610 * @param event packet 15611 * @return credential_flag 15612 * @note: btstack_type 1 15613 */ 15614 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 15615 return event[10]; 15616 } 15617 /** 15618 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15619 * @param event packet 15620 * @return publish_ttl 15621 * @note: btstack_type 1 15622 */ 15623 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 15624 return event[11]; 15625 } 15626 /** 15627 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15628 * @param event packet 15629 * @return publish_period 15630 * @note: btstack_type 1 15631 */ 15632 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 15633 return event[12]; 15634 } 15635 /** 15636 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15637 * @param event packet 15638 * @return publish_retransmit_count 15639 * @note: btstack_type 1 15640 */ 15641 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 15642 return event[13]; 15643 } 15644 /** 15645 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15646 * @param event packet 15647 * @return publish_retransmit_interval_steps 15648 * @note: btstack_type 1 15649 */ 15650 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 15651 return event[14]; 15652 } 15653 /** 15654 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15655 * @param event packet 15656 * @return model_identifier 15657 * @note: btstack_type 4 15658 */ 15659 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 15660 return little_endian_read_32(event, 15); 15661 } 15662 15663 /** 15664 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15665 * @param event packet 15666 * @return dest 15667 * @note: btstack_type 2 15668 */ 15669 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 15670 return little_endian_read_16(event, 3); 15671 } 15672 /** 15673 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15674 * @param event packet 15675 * @return foundation_status 15676 * @note: btstack_type 1 15677 */ 15678 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 15679 return event[5]; 15680 } 15681 /** 15682 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15683 * @param event packet 15684 * @return address 15685 * @note: btstack_type 2 15686 */ 15687 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 15688 return little_endian_read_16(event, 6); 15689 } 15690 /** 15691 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15692 * @param event packet 15693 * @return model_identifier 15694 * @note: btstack_type 4 15695 */ 15696 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 15697 return little_endian_read_32(event, 8); 15698 } 15699 15700 /** 15701 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15702 * @param event packet 15703 * @return dest 15704 * @note: btstack_type 2 15705 */ 15706 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 15707 return little_endian_read_16(event, 3); 15708 } 15709 /** 15710 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15711 * @param event packet 15712 * @return foundation_status 15713 * @note: btstack_type 1 15714 */ 15715 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 15716 return event[5]; 15717 } 15718 /** 15719 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15720 * @param event packet 15721 * @return model_identifier 15722 * @note: btstack_type 4 15723 */ 15724 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 15725 return little_endian_read_32(event, 6); 15726 } 15727 /** 15728 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15729 * @param event packet 15730 * @return num_subscription_addresses 15731 * @note: btstack_type 1 15732 */ 15733 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 15734 return event[10]; 15735 } 15736 /** 15737 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15738 * @param event packet 15739 * @return subscription_address_pos 15740 * @note: btstack_type 1 15741 */ 15742 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 15743 return event[11]; 15744 } 15745 /** 15746 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15747 * @param event packet 15748 * @return subscription_address_item 15749 * @note: btstack_type 2 15750 */ 15751 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 15752 return little_endian_read_16(event, 12); 15753 } 15754 15755 /** 15756 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 15757 * @param event packet 15758 * @return dest 15759 * @note: btstack_type 2 15760 */ 15761 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 15762 return little_endian_read_16(event, 3); 15763 } 15764 /** 15765 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 15766 * @param event packet 15767 * @return foundation_status 15768 * @note: btstack_type 1 15769 */ 15770 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 15771 return event[5]; 15772 } 15773 15774 /** 15775 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15776 * @param event packet 15777 * @return dest 15778 * @note: btstack_type 2 15779 */ 15780 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 15781 return little_endian_read_16(event, 3); 15782 } 15783 /** 15784 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15785 * @param event packet 15786 * @return foundation_status 15787 * @note: btstack_type 1 15788 */ 15789 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 15790 return event[5]; 15791 } 15792 /** 15793 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15794 * @param event packet 15795 * @return num_netkey_indexes 15796 * @note: btstack_type 1 15797 */ 15798 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 15799 return event[6]; 15800 } 15801 /** 15802 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15803 * @param event packet 15804 * @return netkey_index_pos 15805 * @note: btstack_type 1 15806 */ 15807 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 15808 return event[7]; 15809 } 15810 /** 15811 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15812 * @param event packet 15813 * @return netkey_index_item 15814 * @note: btstack_type 2 15815 */ 15816 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15817 return little_endian_read_16(event, 8); 15818 } 15819 15820 /** 15821 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15822 * @param event packet 15823 * @return dest 15824 * @note: btstack_type 2 15825 */ 15826 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 15827 return little_endian_read_16(event, 3); 15828 } 15829 /** 15830 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15831 * @param event packet 15832 * @return foundation_status 15833 * @note: btstack_type 1 15834 */ 15835 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 15836 return event[5]; 15837 } 15838 /** 15839 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15840 * @param event packet 15841 * @return netkey_index_item 15842 * @note: btstack_type 2 15843 */ 15844 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 15845 return little_endian_read_16(event, 6); 15846 } 15847 /** 15848 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15849 * @param event packet 15850 * @return appkey_index_item 15851 * @note: btstack_type 2 15852 */ 15853 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 15854 return little_endian_read_16(event, 8); 15855 } 15856 15857 /** 15858 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15859 * @param event packet 15860 * @return dest 15861 * @note: btstack_type 2 15862 */ 15863 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 15864 return little_endian_read_16(event, 3); 15865 } 15866 /** 15867 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15868 * @param event packet 15869 * @return foundation_status 15870 * @note: btstack_type 1 15871 */ 15872 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 15873 return event[5]; 15874 } 15875 /** 15876 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15877 * @param event packet 15878 * @return netkey_index 15879 * @note: btstack_type 2 15880 */ 15881 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 15882 return little_endian_read_16(event, 6); 15883 } 15884 /** 15885 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15886 * @param event packet 15887 * @return num_appkey_indexes 15888 * @note: btstack_type 1 15889 */ 15890 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 15891 return event[8]; 15892 } 15893 /** 15894 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15895 * @param event packet 15896 * @return appkey_index_pos 15897 * @note: btstack_type 1 15898 */ 15899 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 15900 return event[9]; 15901 } 15902 /** 15903 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15904 * @param event packet 15905 * @return netkey_index_item 15906 * @note: btstack_type 2 15907 */ 15908 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15909 return little_endian_read_16(event, 10); 15910 } 15911 /** 15912 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15913 * @param event packet 15914 * @return appkey_index_item 15915 * @note: btstack_type 2 15916 */ 15917 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 15918 return little_endian_read_16(event, 12); 15919 } 15920 15921 /** 15922 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15923 * @param event packet 15924 * @return dest 15925 * @note: btstack_type 2 15926 */ 15927 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 15928 return little_endian_read_16(event, 3); 15929 } 15930 /** 15931 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15932 * @param event packet 15933 * @return foundation_status 15934 * @note: btstack_type 1 15935 */ 15936 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 15937 return event[5]; 15938 } 15939 /** 15940 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15941 * @param event packet 15942 * @return netkey_index_item 15943 * @note: btstack_type 2 15944 */ 15945 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 15946 return little_endian_read_16(event, 6); 15947 } 15948 /** 15949 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15950 * @param event packet 15951 * @return identity_status 15952 * @note: btstack_type 1 15953 */ 15954 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 15955 return event[8]; 15956 } 15957 15958 /** 15959 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15960 * @param event packet 15961 * @return dest 15962 * @note: btstack_type 2 15963 */ 15964 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 15965 return little_endian_read_16(event, 3); 15966 } 15967 /** 15968 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15969 * @param event packet 15970 * @return foundation_status 15971 * @note: btstack_type 1 15972 */ 15973 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 15974 return event[5]; 15975 } 15976 /** 15977 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15978 * @param event packet 15979 * @return appkey_index 15980 * @note: btstack_type 2 15981 */ 15982 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 15983 return little_endian_read_16(event, 6); 15984 } 15985 /** 15986 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15987 * @param event packet 15988 * @return model_identifier 15989 * @note: btstack_type 4 15990 */ 15991 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 15992 return little_endian_read_32(event, 8); 15993 } 15994 15995 /** 15996 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15997 * @param event packet 15998 * @return dest 15999 * @note: btstack_type 2 16000 */ 16001 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 16002 return little_endian_read_16(event, 3); 16003 } 16004 /** 16005 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16006 * @param event packet 16007 * @return foundation_status 16008 * @note: btstack_type 1 16009 */ 16010 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 16011 return event[5]; 16012 } 16013 /** 16014 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16015 * @param event packet 16016 * @return model_id 16017 * @note: btstack_type 4 16018 */ 16019 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 16020 return little_endian_read_32(event, 6); 16021 } 16022 /** 16023 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16024 * @param event packet 16025 * @return num_appkey_indexes 16026 * @note: btstack_type 1 16027 */ 16028 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 16029 return event[10]; 16030 } 16031 /** 16032 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16033 * @param event packet 16034 * @return appkey_index_pos 16035 * @note: btstack_type 1 16036 */ 16037 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 16038 return event[11]; 16039 } 16040 /** 16041 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16042 * @param event packet 16043 * @return appkey_index_item 16044 * @note: btstack_type 2 16045 */ 16046 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 16047 return little_endian_read_16(event, 12); 16048 } 16049 16050 /** 16051 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16052 * @param event packet 16053 * @return dest 16054 * @note: btstack_type 2 16055 */ 16056 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 16057 return little_endian_read_16(event, 3); 16058 } 16059 /** 16060 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16061 * @param event packet 16062 * @return foundation_status 16063 * @note: btstack_type 1 16064 */ 16065 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 16066 return event[5]; 16067 } 16068 16069 /** 16070 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16071 * @param event packet 16072 * @return dest 16073 * @note: btstack_type 2 16074 */ 16075 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 16076 return little_endian_read_16(event, 3); 16077 } 16078 /** 16079 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16080 * @param event packet 16081 * @return foundation_status 16082 * @note: btstack_type 1 16083 */ 16084 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 16085 return event[5]; 16086 } 16087 /** 16088 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16089 * @param event packet 16090 * @return friend_state 16091 * @note: btstack_type 1 16092 */ 16093 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 16094 return event[6]; 16095 } 16096 16097 /** 16098 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16099 * @param event packet 16100 * @return dest 16101 * @note: btstack_type 2 16102 */ 16103 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 16104 return little_endian_read_16(event, 3); 16105 } 16106 /** 16107 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16108 * @param event packet 16109 * @return foundation_status 16110 * @note: btstack_type 1 16111 */ 16112 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 16113 return event[5]; 16114 } 16115 /** 16116 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16117 * @param event packet 16118 * @return netkey_index 16119 * @note: btstack_type 2 16120 */ 16121 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 16122 return little_endian_read_16(event, 6); 16123 } 16124 /** 16125 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16126 * @param event packet 16127 * @return phase 16128 * @note: btstack_type 1 16129 */ 16130 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 16131 return event[8]; 16132 } 16133 16134 /** 16135 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16136 * @param event packet 16137 * @return dest 16138 * @note: btstack_type 2 16139 */ 16140 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 16141 return little_endian_read_16(event, 3); 16142 } 16143 /** 16144 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16145 * @param event packet 16146 * @return foundation_status 16147 * @note: btstack_type 1 16148 */ 16149 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 16150 return event[5]; 16151 } 16152 /** 16153 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16154 * @param event packet 16155 * @return heartbeat_destination 16156 * @note: btstack_type 2 16157 */ 16158 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 16159 return little_endian_read_16(event, 6); 16160 } 16161 /** 16162 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16163 * @param event packet 16164 * @return count_S 16165 * @note: btstack_type 2 16166 */ 16167 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 16168 return little_endian_read_16(event, 8); 16169 } 16170 /** 16171 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16172 * @param event packet 16173 * @return period_S 16174 * @note: btstack_type 2 16175 */ 16176 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 16177 return little_endian_read_16(event, 10); 16178 } 16179 /** 16180 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16181 * @param event packet 16182 * @return ttl 16183 * @note: btstack_type 1 16184 */ 16185 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 16186 return event[12]; 16187 } 16188 /** 16189 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16190 * @param event packet 16191 * @return features 16192 * @note: btstack_type 2 16193 */ 16194 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 16195 return little_endian_read_16(event, 13); 16196 } 16197 /** 16198 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16199 * @param event packet 16200 * @return netkey_index 16201 * @note: btstack_type 2 16202 */ 16203 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 16204 return little_endian_read_16(event, 15); 16205 } 16206 16207 /** 16208 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16209 * @param event packet 16210 * @return dest 16211 * @note: btstack_type 2 16212 */ 16213 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 16214 return little_endian_read_16(event, 3); 16215 } 16216 /** 16217 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16218 * @param event packet 16219 * @return foundation_status 16220 * @note: btstack_type 1 16221 */ 16222 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 16223 return event[5]; 16224 } 16225 /** 16226 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16227 * @param event packet 16228 * @return heartbeat_destination 16229 * @note: btstack_type 2 16230 */ 16231 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 16232 return little_endian_read_16(event, 6); 16233 } 16234 /** 16235 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16236 * @param event packet 16237 * @return heartbeat_source 16238 * @note: btstack_type 2 16239 */ 16240 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 16241 return little_endian_read_16(event, 8); 16242 } 16243 /** 16244 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16245 * @param event packet 16246 * @return count_S 16247 * @note: btstack_type 2 16248 */ 16249 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 16250 return little_endian_read_16(event, 10); 16251 } 16252 /** 16253 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16254 * @param event packet 16255 * @return period_S 16256 * @note: btstack_type 2 16257 */ 16258 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 16259 return little_endian_read_16(event, 12); 16260 } 16261 /** 16262 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16263 * @param event packet 16264 * @return min_hops 16265 * @note: btstack_type 1 16266 */ 16267 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 16268 return event[14]; 16269 } 16270 /** 16271 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16272 * @param event packet 16273 * @return max_hops 16274 * @note: btstack_type 1 16275 */ 16276 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 16277 return event[15]; 16278 } 16279 16280 /** 16281 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16282 * @param event packet 16283 * @return dest 16284 * @note: btstack_type 2 16285 */ 16286 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 16287 return little_endian_read_16(event, 3); 16288 } 16289 /** 16290 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16291 * @param event packet 16292 * @return foundation_status 16293 * @note: btstack_type 1 16294 */ 16295 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 16296 return event[5]; 16297 } 16298 /** 16299 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16300 * @param event packet 16301 * @return lpn_address 16302 * @note: btstack_type 2 16303 */ 16304 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 16305 return little_endian_read_16(event, 6); 16306 } 16307 /** 16308 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16309 * @param event packet 16310 * @return poll_timeout 16311 * @note: btstack_type 3 16312 */ 16313 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 16314 return little_endian_read_24(event, 8); 16315 } 16316 16317 /** 16318 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16319 * @param event packet 16320 * @return dest 16321 * @note: btstack_type 2 16322 */ 16323 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 16324 return little_endian_read_16(event, 3); 16325 } 16326 /** 16327 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16328 * @param event packet 16329 * @return foundation_status 16330 * @note: btstack_type 1 16331 */ 16332 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 16333 return event[5]; 16334 } 16335 /** 16336 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16337 * @param event packet 16338 * @return transmit_count 16339 * @note: btstack_type 1 16340 */ 16341 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 16342 return event[6]; 16343 } 16344 /** 16345 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16346 * @param event packet 16347 * @return transmit_interval_steps_ms 16348 * @note: btstack_type 2 16349 */ 16350 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 16351 return little_endian_read_16(event, 7); 16352 } 16353 16354 16355 16356 /* API_END */ 16357 16358 #if defined __cplusplus 16359 } 16360 #endif 16361 16362 #endif // BTSTACK_EVENT_H 16363