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