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 * (int) 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 * (int) 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 * (int) 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 * @brief Get field iso_interval_1250us from event GAP_SUBEVENT_CIS_CREATED 5967 * @param event packet 5968 * @return iso_interval_1250us 5969 * @note: btstack_type 2 5970 */ 5971 static inline uint16_t gap_subevent_cis_created_get_iso_interval_1250us(const uint8_t * event){ 5972 return little_endian_read_16(event, 10); 5973 } 5974 /** 5975 * @brief Get field number_of_subevents from event GAP_SUBEVENT_CIS_CREATED 5976 * @param event packet 5977 * @return number_of_subevents 5978 * @note: btstack_type 1 5979 */ 5980 static inline uint8_t gap_subevent_cis_created_get_number_of_subevents(const uint8_t * event){ 5981 return event[12]; 5982 } 5983 /** 5984 * @brief Get field burst_number_c_to_p from event GAP_SUBEVENT_CIS_CREATED 5985 * @param event packet 5986 * @return burst_number_c_to_p 5987 * @note: btstack_type 1 5988 */ 5989 static inline uint8_t gap_subevent_cis_created_get_burst_number_c_to_p(const uint8_t * event){ 5990 return event[13]; 5991 } 5992 /** 5993 * @brief Get field burst_number_p_to_c from event GAP_SUBEVENT_CIS_CREATED 5994 * @param event packet 5995 * @return burst_number_p_to_c 5996 * @note: btstack_type 1 5997 */ 5998 static inline uint8_t gap_subevent_cis_created_get_burst_number_p_to_c(const uint8_t * event){ 5999 return event[14]; 6000 } 6001 /** 6002 * @brief Get field flush_timeout_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6003 * @param event packet 6004 * @return flush_timeout_c_to_p 6005 * @note: btstack_type 1 6006 */ 6007 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_c_to_p(const uint8_t * event){ 6008 return event[15]; 6009 } 6010 /** 6011 * @brief Get field flush_timeout_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6012 * @param event packet 6013 * @return flush_timeout_p_to_c 6014 * @note: btstack_type 1 6015 */ 6016 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_p_to_c(const uint8_t * event){ 6017 return event[16]; 6018 } 6019 6020 /** 6021 * @brief Get field status from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6022 * @param event packet 6023 * @return status 6024 * @note: btstack_type 1 6025 */ 6026 static inline uint8_t gap_subevent_le_connection_complete_get_status(const uint8_t * event){ 6027 return event[3]; 6028 } 6029 /** 6030 * @brief Get field connection_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6031 * @param event packet 6032 * @return connection_handle 6033 * @note: btstack_type H 6034 */ 6035 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 6036 return little_endian_read_16(event, 4); 6037 } 6038 /** 6039 * @brief Get field role from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6040 * @param event packet 6041 * @return role 6042 * @note: btstack_type 1 6043 */ 6044 static inline uint8_t gap_subevent_le_connection_complete_get_role(const uint8_t * event){ 6045 return event[6]; 6046 } 6047 /** 6048 * @brief Get field peer_address_type from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6049 * @param event packet 6050 * @return peer_address_type 6051 * @note: btstack_type 1 6052 */ 6053 static inline uint8_t gap_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 6054 return event[7]; 6055 } 6056 /** 6057 * @brief Get field peer_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6058 * @param event packet 6059 * @param Pointer to storage for peer_address 6060 * @note: btstack_type B 6061 */ 6062 static inline void gap_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 6063 reverse_bytes(&event[8], peer_address, 6); 6064 } 6065 /** 6066 * @brief Get field local_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6067 * @param event packet 6068 * @param Pointer to storage for local_resolvable_private_address 6069 * @note: btstack_type B 6070 */ 6071 static inline void gap_subevent_le_connection_complete_get_local_resolvable_private_address(const uint8_t * event, bd_addr_t local_resolvable_private_address){ 6072 reverse_bytes(&event[14], local_resolvable_private_address, 6); 6073 } 6074 /** 6075 * @brief Get field peer_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6076 * @param event packet 6077 * @param Pointer to storage for peer_resolvable_private_address 6078 * @note: btstack_type B 6079 */ 6080 static inline void gap_subevent_le_connection_complete_get_peer_resolvable_private_address(const uint8_t * event, bd_addr_t peer_resolvable_private_address){ 6081 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 6082 } 6083 /** 6084 * @brief Get field conn_interval from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6085 * @param event packet 6086 * @return conn_interval 6087 * @note: btstack_type 2 6088 */ 6089 static inline uint16_t gap_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 6090 return little_endian_read_16(event, 26); 6091 } 6092 /** 6093 * @brief Get field conn_latency from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6094 * @param event packet 6095 * @return conn_latency 6096 * @note: btstack_type 2 6097 */ 6098 static inline uint16_t gap_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 6099 return little_endian_read_16(event, 28); 6100 } 6101 /** 6102 * @brief Get field supervision_timeout from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6103 * @param event packet 6104 * @return supervision_timeout 6105 * @note: btstack_type 2 6106 */ 6107 static inline uint16_t gap_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 6108 return little_endian_read_16(event, 30); 6109 } 6110 /** 6111 * @brief Get field master_clock_accuracy from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6112 * @param event packet 6113 * @return master_clock_accuracy 6114 * @note: btstack_type 1 6115 */ 6116 static inline uint8_t gap_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 6117 return event[32]; 6118 } 6119 /** 6120 * @brief Get field advertising_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6121 * @param event packet 6122 * @return advertising_handle 6123 * @note: btstack_type 1 6124 */ 6125 static inline uint8_t gap_subevent_le_connection_complete_get_advertising_handle(const uint8_t * event){ 6126 return event[33]; 6127 } 6128 /** 6129 * @brief Get field sync_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6130 * @param event packet 6131 * @return sync_handle 6132 * @note: btstack_type H 6133 */ 6134 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_sync_handle(const uint8_t * event){ 6135 return little_endian_read_16(event, 34); 6136 } 6137 6138 /** 6139 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6140 * @param event packet 6141 * @return acl_handle 6142 * @note: btstack_type H 6143 */ 6144 static inline hci_con_handle_t hsp_subevent_rfcomm_connection_complete_get_acl_handle(const uint8_t * event){ 6145 return little_endian_read_16(event, 3); 6146 } 6147 /** 6148 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6149 * @param event packet 6150 * @return status 6151 * @note: btstack_type 1 6152 */ 6153 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 6154 return event[5]; 6155 } 6156 /** 6157 * @brief Get field bd_addr from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6158 * @param event packet 6159 * @param Pointer to storage for bd_addr 6160 * @note: btstack_type B 6161 */ 6162 static inline void hsp_subevent_rfcomm_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6163 reverse_bytes(&event[6], bd_addr, 6); 6164 } 6165 6166 /** 6167 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 6168 * @param event packet 6169 * @return acl_handle 6170 * @note: btstack_type H 6171 */ 6172 static inline hci_con_handle_t hsp_subevent_rfcomm_disconnection_complete_get_acl_handle(const uint8_t * event){ 6173 return little_endian_read_16(event, 3); 6174 } 6175 6176 /** 6177 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6178 * @param event packet 6179 * @return acl_handle 6180 * @note: btstack_type H 6181 */ 6182 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_acl_handle(const uint8_t * event){ 6183 return little_endian_read_16(event, 3); 6184 } 6185 /** 6186 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6187 * @param event packet 6188 * @return status 6189 * @note: btstack_type 1 6190 */ 6191 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 6192 return event[5]; 6193 } 6194 /** 6195 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6196 * @param event packet 6197 * @return sco_handle 6198 * @note: btstack_type H 6199 */ 6200 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_sco_handle(const uint8_t * event){ 6201 return little_endian_read_16(event, 6); 6202 } 6203 6204 /** 6205 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6206 * @param event packet 6207 * @return acl_handle 6208 * @note: btstack_type H 6209 */ 6210 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_acl_handle(const uint8_t * event){ 6211 return little_endian_read_16(event, 3); 6212 } 6213 /** 6214 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6215 * @param event packet 6216 * @return sco_handle 6217 * @note: btstack_type H 6218 */ 6219 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_sco_handle(const uint8_t * event){ 6220 return little_endian_read_16(event, 5); 6221 } 6222 6223 /** 6224 * @brief Get field acl_handle from event HSP_SUBEVENT_RING 6225 * @param event packet 6226 * @return acl_handle 6227 * @note: btstack_type H 6228 */ 6229 static inline hci_con_handle_t hsp_subevent_ring_get_acl_handle(const uint8_t * event){ 6230 return little_endian_read_16(event, 3); 6231 } 6232 6233 /** 6234 * @brief Get field acl_handle from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6235 * @param event packet 6236 * @return acl_handle 6237 * @note: btstack_type H 6238 */ 6239 static inline hci_con_handle_t hsp_subevent_microphone_gain_changed_get_acl_handle(const uint8_t * event){ 6240 return little_endian_read_16(event, 3); 6241 } 6242 /** 6243 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6244 * @param event packet 6245 * @return gain 6246 * @note: btstack_type 1 6247 */ 6248 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 6249 return event[5]; 6250 } 6251 6252 /** 6253 * @brief Get field acl_handle from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6254 * @param event packet 6255 * @return acl_handle 6256 * @note: btstack_type H 6257 */ 6258 static inline hci_con_handle_t hsp_subevent_speaker_gain_changed_get_acl_handle(const uint8_t * event){ 6259 return little_endian_read_16(event, 3); 6260 } 6261 /** 6262 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6263 * @param event packet 6264 * @return gain 6265 * @note: btstack_type 1 6266 */ 6267 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 6268 return event[5]; 6269 } 6270 6271 /** 6272 * @brief Get field acl_handle from event HSP_SUBEVENT_HS_COMMAND 6273 * @param event packet 6274 * @return acl_handle 6275 * @note: btstack_type H 6276 */ 6277 static inline hci_con_handle_t hsp_subevent_hs_command_get_acl_handle(const uint8_t * event){ 6278 return little_endian_read_16(event, 3); 6279 } 6280 /** 6281 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 6282 * @param event packet 6283 * @return value_length 6284 * @note: btstack_type J 6285 */ 6286 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 6287 return event[5]; 6288 } 6289 /** 6290 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 6291 * @param event packet 6292 * @return value 6293 * @note: btstack_type V 6294 */ 6295 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 6296 return &event[6]; 6297 } 6298 6299 /** 6300 * @brief Get field acl_handle from event HSP_SUBEVENT_AG_INDICATION 6301 * @param event packet 6302 * @return acl_handle 6303 * @note: btstack_type H 6304 */ 6305 static inline hci_con_handle_t hsp_subevent_ag_indication_get_acl_handle(const uint8_t * event){ 6306 return little_endian_read_16(event, 3); 6307 } 6308 /** 6309 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 6310 * @param event packet 6311 * @return value_length 6312 * @note: btstack_type J 6313 */ 6314 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 6315 return event[5]; 6316 } 6317 /** 6318 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 6319 * @param event packet 6320 * @return value 6321 * @note: btstack_type V 6322 */ 6323 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 6324 return &event[6]; 6325 } 6326 6327 /** 6328 * @brief Get field acl_handle from event HSP_SUBEVENT_BUTTON_PRESSED 6329 * @param event packet 6330 * @return acl_handle 6331 * @note: btstack_type H 6332 */ 6333 static inline hci_con_handle_t hsp_subevent_button_pressed_get_acl_handle(const uint8_t * event){ 6334 return little_endian_read_16(event, 3); 6335 } 6336 6337 /** 6338 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6339 * @param event packet 6340 * @return acl_handle 6341 * @note: btstack_type H 6342 */ 6343 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_acl_handle(const uint8_t * event){ 6344 return little_endian_read_16(event, 3); 6345 } 6346 /** 6347 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6348 * @param event packet 6349 * @return status 6350 * @note: btstack_type 1 6351 */ 6352 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 6353 return event[5]; 6354 } 6355 /** 6356 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6357 * @param event packet 6358 * @param Pointer to storage for bd_addr 6359 * @note: btstack_type B 6360 */ 6361 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6362 reverse_bytes(&event[6], bd_addr, 6); 6363 } 6364 6365 /** 6366 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 6367 * @param event packet 6368 * @return acl_handle 6369 * @note: btstack_type H 6370 */ 6371 static inline hci_con_handle_t hfp_subevent_service_level_connection_released_get_acl_handle(const uint8_t * event){ 6372 return little_endian_read_16(event, 3); 6373 } 6374 6375 /** 6376 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6377 * @param event packet 6378 * @return acl_handle 6379 * @note: btstack_type H 6380 */ 6381 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_acl_handle(const uint8_t * event){ 6382 return little_endian_read_16(event, 3); 6383 } 6384 /** 6385 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6386 * @param event packet 6387 * @return status 6388 * @note: btstack_type 1 6389 */ 6390 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 6391 return event[5]; 6392 } 6393 /** 6394 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6395 * @param event packet 6396 * @return sco_handle 6397 * @note: btstack_type H 6398 */ 6399 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_sco_handle(const uint8_t * event){ 6400 return little_endian_read_16(event, 6); 6401 } 6402 /** 6403 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6404 * @param event packet 6405 * @param Pointer to storage for bd_addr 6406 * @note: btstack_type B 6407 */ 6408 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6409 reverse_bytes(&event[8], bd_addr, 6); 6410 } 6411 /** 6412 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6413 * @param event packet 6414 * @return negotiated_codec 6415 * @note: btstack_type 1 6416 */ 6417 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 6418 return event[14]; 6419 } 6420 /** 6421 * @brief Get field sco_packet_types from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6422 * @param event packet 6423 * @return sco_packet_types 6424 * @note: btstack_type 2 6425 */ 6426 static inline uint16_t hfp_subevent_audio_connection_established_get_sco_packet_types(const uint8_t * event){ 6427 return little_endian_read_16(event, 15); 6428 } 6429 /** 6430 * @brief Get field rx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6431 * @param event packet 6432 * @return rx_packet_length 6433 * @note: btstack_type 2 6434 */ 6435 static inline uint16_t hfp_subevent_audio_connection_established_get_rx_packet_length(const uint8_t * event){ 6436 return little_endian_read_16(event, 17); 6437 } 6438 /** 6439 * @brief Get field tx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6440 * @param event packet 6441 * @return tx_packet_length 6442 * @note: btstack_type 2 6443 */ 6444 static inline uint16_t hfp_subevent_audio_connection_established_get_tx_packet_length(const uint8_t * event){ 6445 return little_endian_read_16(event, 19); 6446 } 6447 6448 /** 6449 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6450 * @param event packet 6451 * @return acl_handle 6452 * @note: btstack_type H 6453 */ 6454 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_acl_handle(const uint8_t * event){ 6455 return little_endian_read_16(event, 3); 6456 } 6457 /** 6458 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6459 * @param event packet 6460 * @return sco_handle 6461 * @note: btstack_type H 6462 */ 6463 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_sco_handle(const uint8_t * event){ 6464 return little_endian_read_16(event, 5); 6465 } 6466 6467 /** 6468 * @brief Get field acl_handle from event HFP_SUBEVENT_COMPLETE 6469 * @param event packet 6470 * @return acl_handle 6471 * @note: btstack_type H 6472 */ 6473 static inline hci_con_handle_t hfp_subevent_complete_get_acl_handle(const uint8_t * event){ 6474 return little_endian_read_16(event, 3); 6475 } 6476 /** 6477 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 6478 * @param event packet 6479 * @return status 6480 * @note: btstack_type 1 6481 */ 6482 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 6483 return event[5]; 6484 } 6485 6486 /** 6487 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6488 * @param event packet 6489 * @return acl_handle 6490 * @note: btstack_type H 6491 */ 6492 static inline hci_con_handle_t hfp_subevent_ag_indicator_mapping_get_acl_handle(const uint8_t * event){ 6493 return little_endian_read_16(event, 3); 6494 } 6495 /** 6496 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6497 * @param event packet 6498 * @return indicator_index 6499 * @note: btstack_type 1 6500 */ 6501 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_index(const uint8_t * event){ 6502 return event[5]; 6503 } 6504 /** 6505 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6506 * @param event packet 6507 * @return indicator_min_range 6508 * @note: btstack_type 1 6509 */ 6510 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_min_range(const uint8_t * event){ 6511 return event[6]; 6512 } 6513 /** 6514 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6515 * @param event packet 6516 * @return indicator_max_range 6517 * @note: btstack_type 1 6518 */ 6519 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_max_range(const uint8_t * event){ 6520 return event[7]; 6521 } 6522 /** 6523 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6524 * @param event packet 6525 * @return indicator_name 6526 * @note: btstack_type T 6527 */ 6528 static inline const char * hfp_subevent_ag_indicator_mapping_get_indicator_name(const uint8_t * event){ 6529 return (const char *) &event[8]; 6530 } 6531 6532 /** 6533 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6534 * @param event packet 6535 * @return acl_handle 6536 * @note: btstack_type H 6537 */ 6538 static inline hci_con_handle_t hfp_subevent_ag_indicator_status_changed_get_acl_handle(const uint8_t * event){ 6539 return little_endian_read_16(event, 3); 6540 } 6541 /** 6542 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6543 * @param event packet 6544 * @return indicator_index 6545 * @note: btstack_type 1 6546 */ 6547 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 6548 return event[5]; 6549 } 6550 /** 6551 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6552 * @param event packet 6553 * @return indicator_status 6554 * @note: btstack_type 1 6555 */ 6556 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 6557 return event[6]; 6558 } 6559 /** 6560 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6561 * @param event packet 6562 * @return indicator_min_range 6563 * @note: btstack_type 1 6564 */ 6565 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 6566 return event[7]; 6567 } 6568 /** 6569 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6570 * @param event packet 6571 * @return indicator_max_range 6572 * @note: btstack_type 1 6573 */ 6574 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 6575 return event[8]; 6576 } 6577 /** 6578 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6579 * @param event packet 6580 * @return indicator_mandatory 6581 * @note: btstack_type 1 6582 */ 6583 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 6584 return event[9]; 6585 } 6586 /** 6587 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6588 * @param event packet 6589 * @return indicator_enabled 6590 * @note: btstack_type 1 6591 */ 6592 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 6593 return event[10]; 6594 } 6595 /** 6596 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6597 * @param event packet 6598 * @return indicator_status_changed 6599 * @note: btstack_type 1 6600 */ 6601 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 6602 return event[11]; 6603 } 6604 /** 6605 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6606 * @param event packet 6607 * @return indicator_name 6608 * @note: btstack_type T 6609 */ 6610 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 6611 return (const char *) &event[12]; 6612 } 6613 6614 /** 6615 * @brief Get field acl_handle from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6616 * @param event packet 6617 * @return acl_handle 6618 * @note: btstack_type H 6619 */ 6620 static inline hci_con_handle_t hfp_subevent_network_operator_changed_get_acl_handle(const uint8_t * event){ 6621 return little_endian_read_16(event, 3); 6622 } 6623 /** 6624 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6625 * @param event packet 6626 * @return network_operator_mode 6627 * @note: btstack_type 1 6628 */ 6629 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 6630 return event[5]; 6631 } 6632 /** 6633 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6634 * @param event packet 6635 * @return network_operator_format 6636 * @note: btstack_type 1 6637 */ 6638 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 6639 return event[6]; 6640 } 6641 /** 6642 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6643 * @param event packet 6644 * @return network_operator_name 6645 * @note: btstack_type T 6646 */ 6647 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 6648 return (const char *) &event[7]; 6649 } 6650 6651 /** 6652 * @brief Get field acl_handle from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6653 * @param event packet 6654 * @return acl_handle 6655 * @note: btstack_type H 6656 */ 6657 static inline hci_con_handle_t hfp_subevent_extended_audio_gateway_error_get_acl_handle(const uint8_t * event){ 6658 return little_endian_read_16(event, 3); 6659 } 6660 /** 6661 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6662 * @param event packet 6663 * @return error 6664 * @note: btstack_type 1 6665 */ 6666 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 6667 return event[5]; 6668 } 6669 6670 /** 6671 * @brief Get field acl_handle from event HFP_SUBEVENT_START_RINGING 6672 * @param event packet 6673 * @return acl_handle 6674 * @note: btstack_type H 6675 */ 6676 static inline hci_con_handle_t hfp_subevent_start_ringing_get_acl_handle(const uint8_t * event){ 6677 return little_endian_read_16(event, 3); 6678 } 6679 6680 /** 6681 * @brief Get field acl_handle from event HFP_SUBEVENT_RING 6682 * @param event packet 6683 * @return acl_handle 6684 * @note: btstack_type H 6685 */ 6686 static inline hci_con_handle_t hfp_subevent_ring_get_acl_handle(const uint8_t * event){ 6687 return little_endian_read_16(event, 3); 6688 } 6689 6690 /** 6691 * @brief Get field acl_handle from event HFP_SUBEVENT_STOP_RINGING 6692 * @param event packet 6693 * @return acl_handle 6694 * @note: btstack_type H 6695 */ 6696 static inline hci_con_handle_t hfp_subevent_stop_ringing_get_acl_handle(const uint8_t * event){ 6697 return little_endian_read_16(event, 3); 6698 } 6699 6700 /** 6701 * @brief Get field acl_handle from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6702 * @param event packet 6703 * @return acl_handle 6704 * @note: btstack_type H 6705 */ 6706 static inline hci_con_handle_t hfp_subevent_place_call_with_number_get_acl_handle(const uint8_t * event){ 6707 return little_endian_read_16(event, 3); 6708 } 6709 /** 6710 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6711 * @param event packet 6712 * @return number 6713 * @note: btstack_type T 6714 */ 6715 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 6716 return (const char *) &event[5]; 6717 } 6718 6719 /** 6720 * @brief Get field acl_handle from event HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 6721 * @param event packet 6722 * @return acl_handle 6723 * @note: btstack_type H 6724 */ 6725 static inline hci_con_handle_t hfp_subevent_attach_number_to_voice_tag_get_acl_handle(const uint8_t * event){ 6726 return little_endian_read_16(event, 3); 6727 } 6728 6729 /** 6730 * @brief Get field acl_handle from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6731 * @param event packet 6732 * @return acl_handle 6733 * @note: btstack_type H 6734 */ 6735 static inline hci_con_handle_t hfp_subevent_number_for_voice_tag_get_acl_handle(const uint8_t * event){ 6736 return little_endian_read_16(event, 3); 6737 } 6738 /** 6739 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6740 * @param event packet 6741 * @return number 6742 * @note: btstack_type T 6743 */ 6744 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 6745 return (const char *) &event[5]; 6746 } 6747 6748 /** 6749 * @brief Get field acl_handle from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 6750 * @param event packet 6751 * @return acl_handle 6752 * @note: btstack_type H 6753 */ 6754 static inline hci_con_handle_t hfp_subevent_transmit_dtmf_codes_get_acl_handle(const uint8_t * event){ 6755 return little_endian_read_16(event, 3); 6756 } 6757 /** 6758 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 6759 * @param event packet 6760 * @return dtmf 6761 * @note: btstack_type T 6762 */ 6763 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 6764 return (const char *) &event[5]; 6765 } 6766 6767 /** 6768 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_ANSWERED 6769 * @param event packet 6770 * @return acl_handle 6771 * @note: btstack_type H 6772 */ 6773 static inline hci_con_handle_t hfp_subevent_call_answered_get_acl_handle(const uint8_t * event){ 6774 return little_endian_read_16(event, 3); 6775 } 6776 6777 /** 6778 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_TERMINATED 6779 * @param event packet 6780 * @return acl_handle 6781 * @note: btstack_type H 6782 */ 6783 static inline hci_con_handle_t hfp_subevent_call_terminated_get_acl_handle(const uint8_t * event){ 6784 return little_endian_read_16(event, 3); 6785 } 6786 6787 /** 6788 * @brief Get field acl_handle from event HFP_SUBEVENT_CONFERENCE_CALL 6789 * @param event packet 6790 * @return acl_handle 6791 * @note: btstack_type H 6792 */ 6793 static inline hci_con_handle_t hfp_subevent_conference_call_get_acl_handle(const uint8_t * event){ 6794 return little_endian_read_16(event, 3); 6795 } 6796 6797 /** 6798 * @brief Get field acl_handle from event HFP_SUBEVENT_SPEAKER_VOLUME 6799 * @param event packet 6800 * @return acl_handle 6801 * @note: btstack_type H 6802 */ 6803 static inline hci_con_handle_t hfp_subevent_speaker_volume_get_acl_handle(const uint8_t * event){ 6804 return little_endian_read_16(event, 3); 6805 } 6806 /** 6807 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 6808 * @param event packet 6809 * @return gain 6810 * @note: btstack_type 1 6811 */ 6812 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 6813 return event[5]; 6814 } 6815 6816 /** 6817 * @brief Get field acl_handle from event HFP_SUBEVENT_MICROPHONE_VOLUME 6818 * @param event packet 6819 * @return acl_handle 6820 * @note: btstack_type H 6821 */ 6822 static inline hci_con_handle_t hfp_subevent_microphone_volume_get_acl_handle(const uint8_t * event){ 6823 return little_endian_read_16(event, 3); 6824 } 6825 /** 6826 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 6827 * @param event packet 6828 * @return gain 6829 * @note: btstack_type 1 6830 */ 6831 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 6832 return event[5]; 6833 } 6834 6835 /** 6836 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6837 * @param event packet 6838 * @return acl_handle 6839 * @note: btstack_type H 6840 */ 6841 static inline hci_con_handle_t hfp_subevent_call_waiting_notification_get_acl_handle(const uint8_t * event){ 6842 return little_endian_read_16(event, 3); 6843 } 6844 /** 6845 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6846 * @param event packet 6847 * @return type 6848 * @note: btstack_type 1 6849 */ 6850 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 6851 return event[5]; 6852 } 6853 /** 6854 * @brief Get field number_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6855 * @param event packet 6856 * @return number_length 6857 * @note: btstack_type J 6858 */ 6859 static inline uint8_t hfp_subevent_call_waiting_notification_get_number_length(const uint8_t * event){ 6860 return event[6]; 6861 } 6862 /** 6863 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6864 * @param event packet 6865 * @return number 6866 * @note: btstack_type V 6867 */ 6868 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 6869 return &event[7]; 6870 } 6871 /** 6872 * @brief Get field alpha_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6873 * @param event packet 6874 * @return alpha_length 6875 * @note: btstack_type J 6876 */ 6877 static inline uint8_t hfp_subevent_call_waiting_notification_get_alpha_length(const uint8_t * event){ 6878 return event[7u + event[6]]; 6879 } 6880 /** 6881 * @brief Get field alpha from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6882 * @param event packet 6883 * @return alpha 6884 * @note: btstack_type V 6885 */ 6886 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_alpha(const uint8_t * event){ 6887 return &event[7u + event[6] + 1u]; 6888 } 6889 6890 /** 6891 * @brief Get field acl_handle from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6892 * @param event packet 6893 * @return acl_handle 6894 * @note: btstack_type H 6895 */ 6896 static inline hci_con_handle_t hfp_subevent_calling_line_identification_notification_get_acl_handle(const uint8_t * event){ 6897 return little_endian_read_16(event, 3); 6898 } 6899 /** 6900 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6901 * @param event packet 6902 * @return type 6903 * @note: btstack_type 1 6904 */ 6905 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 6906 return event[5]; 6907 } 6908 /** 6909 * @brief Get field number_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6910 * @param event packet 6911 * @return number_length 6912 * @note: btstack_type J 6913 */ 6914 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_number_length(const uint8_t * event){ 6915 return event[6]; 6916 } 6917 /** 6918 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6919 * @param event packet 6920 * @return number 6921 * @note: btstack_type V 6922 */ 6923 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 6924 return &event[7]; 6925 } 6926 /** 6927 * @brief Get field alpha_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6928 * @param event packet 6929 * @return alpha_length 6930 * @note: btstack_type J 6931 */ 6932 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_alpha_length(const uint8_t * event){ 6933 return event[7u + event[6]]; 6934 } 6935 /** 6936 * @brief Get field alpha from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6937 * @param event packet 6938 * @return alpha 6939 * @note: btstack_type V 6940 */ 6941 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_alpha(const uint8_t * event){ 6942 return &event[7u + event[6] + 1u]; 6943 } 6944 6945 /** 6946 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6947 * @param event packet 6948 * @return acl_handle 6949 * @note: btstack_type H 6950 */ 6951 static inline hci_con_handle_t hfp_subevent_enhanced_call_status_get_acl_handle(const uint8_t * event){ 6952 return little_endian_read_16(event, 3); 6953 } 6954 /** 6955 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6956 * @param event packet 6957 * @return clcc_idx 6958 * @note: btstack_type 1 6959 */ 6960 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 6961 return event[5]; 6962 } 6963 /** 6964 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6965 * @param event packet 6966 * @return clcc_dir 6967 * @note: btstack_type 1 6968 */ 6969 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 6970 return event[6]; 6971 } 6972 /** 6973 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6974 * @param event packet 6975 * @return clcc_status 6976 * @note: btstack_type 1 6977 */ 6978 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 6979 return event[7]; 6980 } 6981 /** 6982 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6983 * @param event packet 6984 * @return clcc_mode 6985 * @note: btstack_type 1 6986 */ 6987 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 6988 return event[8]; 6989 } 6990 /** 6991 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6992 * @param event packet 6993 * @return clcc_mpty 6994 * @note: btstack_type 1 6995 */ 6996 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 6997 return event[9]; 6998 } 6999 /** 7000 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7001 * @param event packet 7002 * @return bnip_type 7003 * @note: btstack_type 1 7004 */ 7005 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 7006 return event[10]; 7007 } 7008 /** 7009 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7010 * @param event packet 7011 * @return bnip_number 7012 * @note: btstack_type T 7013 */ 7014 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 7015 return (const char *) &event[11]; 7016 } 7017 7018 /** 7019 * @brief Get field acl_handle from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7020 * @param event packet 7021 * @return acl_handle 7022 * @note: btstack_type H 7023 */ 7024 static inline hci_con_handle_t hfp_subevent_subscriber_number_information_get_acl_handle(const uint8_t * event){ 7025 return little_endian_read_16(event, 3); 7026 } 7027 /** 7028 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7029 * @param event packet 7030 * @return status 7031 * @note: btstack_type 1 7032 */ 7033 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 7034 return event[5]; 7035 } 7036 /** 7037 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7038 * @param event packet 7039 * @return bnip_type 7040 * @note: btstack_type 1 7041 */ 7042 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 7043 return event[6]; 7044 } 7045 /** 7046 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7047 * @param event packet 7048 * @return bnip_number 7049 * @note: btstack_type T 7050 */ 7051 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 7052 return (const char *) &event[7]; 7053 } 7054 7055 /** 7056 * @brief Get field acl_handle from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7057 * @param event packet 7058 * @return acl_handle 7059 * @note: btstack_type H 7060 */ 7061 static inline hci_con_handle_t hfp_subevent_response_and_hold_status_get_acl_handle(const uint8_t * event){ 7062 return little_endian_read_16(event, 3); 7063 } 7064 /** 7065 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7066 * @param event packet 7067 * @return value 7068 * @note: btstack_type T 7069 */ 7070 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 7071 return (const char *) &event[5]; 7072 } 7073 7074 /** 7075 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_SENT 7076 * @param event packet 7077 * @return acl_handle 7078 * @note: btstack_type H 7079 */ 7080 static inline hci_con_handle_t hfp_subevent_at_message_sent_get_acl_handle(const uint8_t * event){ 7081 return little_endian_read_16(event, 3); 7082 } 7083 /** 7084 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_SENT 7085 * @param event packet 7086 * @return command 7087 * @note: btstack_type T 7088 */ 7089 static inline const char * hfp_subevent_at_message_sent_get_command(const uint8_t * event){ 7090 return (const char *) &event[5]; 7091 } 7092 7093 /** 7094 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7095 * @param event packet 7096 * @return acl_handle 7097 * @note: btstack_type H 7098 */ 7099 static inline hci_con_handle_t hfp_subevent_at_message_received_get_acl_handle(const uint8_t * event){ 7100 return little_endian_read_16(event, 3); 7101 } 7102 /** 7103 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7104 * @param event packet 7105 * @return command 7106 * @note: btstack_type T 7107 */ 7108 static inline const char * hfp_subevent_at_message_received_get_command(const uint8_t * event){ 7109 return (const char *) &event[5]; 7110 } 7111 7112 /** 7113 * @brief Get field acl_handle from event HFP_SUBEVENT_IN_BAND_RING_TONE 7114 * @param event packet 7115 * @return acl_handle 7116 * @note: btstack_type H 7117 */ 7118 static inline hci_con_handle_t hfp_subevent_in_band_ring_tone_get_acl_handle(const uint8_t * event){ 7119 return little_endian_read_16(event, 3); 7120 } 7121 /** 7122 * @brief Get field status from event HFP_SUBEVENT_IN_BAND_RING_TONE 7123 * @param event packet 7124 * @return status 7125 * @note: btstack_type 1 7126 */ 7127 static inline uint8_t hfp_subevent_in_band_ring_tone_get_status(const uint8_t * event){ 7128 return event[5]; 7129 } 7130 7131 /** 7132 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7133 * @param event packet 7134 * @return acl_handle 7135 * @note: btstack_type H 7136 */ 7137 static inline hci_con_handle_t hfp_subevent_voice_recognition_activated_get_acl_handle(const uint8_t * event){ 7138 return little_endian_read_16(event, 3); 7139 } 7140 /** 7141 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7142 * @param event packet 7143 * @return status 7144 * @note: btstack_type 1 7145 */ 7146 static inline uint8_t hfp_subevent_voice_recognition_activated_get_status(const uint8_t * event){ 7147 return event[5]; 7148 } 7149 /** 7150 * @brief Get field enhanced from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7151 * @param event packet 7152 * @return enhanced 7153 * @note: btstack_type 1 7154 */ 7155 static inline uint8_t hfp_subevent_voice_recognition_activated_get_enhanced(const uint8_t * event){ 7156 return event[6]; 7157 } 7158 7159 /** 7160 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7161 * @param event packet 7162 * @return acl_handle 7163 * @note: btstack_type H 7164 */ 7165 static inline hci_con_handle_t hfp_subevent_voice_recognition_deactivated_get_acl_handle(const uint8_t * event){ 7166 return little_endian_read_16(event, 3); 7167 } 7168 /** 7169 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7170 * @param event packet 7171 * @return status 7172 * @note: btstack_type 1 7173 */ 7174 static inline uint8_t hfp_subevent_voice_recognition_deactivated_get_status(const uint8_t * event){ 7175 return event[5]; 7176 } 7177 7178 /** 7179 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7180 * @param event packet 7181 * @return acl_handle 7182 * @note: btstack_type H 7183 */ 7184 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_acl_handle(const uint8_t * event){ 7185 return little_endian_read_16(event, 3); 7186 } 7187 /** 7188 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7189 * @param event packet 7190 * @return status 7191 * @note: btstack_type 1 7192 */ 7193 static inline uint8_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_status(const uint8_t * event){ 7194 return event[5]; 7195 } 7196 7197 /** 7198 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7199 * @param event packet 7200 * @return acl_handle 7201 * @note: btstack_type H 7202 */ 7203 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_acl_handle(const uint8_t * event){ 7204 return little_endian_read_16(event, 3); 7205 } 7206 /** 7207 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7208 * @param event packet 7209 * @return status 7210 * @note: btstack_type 1 7211 */ 7212 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_status(const uint8_t * event){ 7213 return event[5]; 7214 } 7215 7216 /** 7217 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7218 * @param event packet 7219 * @return acl_handle 7220 * @note: btstack_type H 7221 */ 7222 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_acl_handle(const uint8_t * event){ 7223 return little_endian_read_16(event, 3); 7224 } 7225 /** 7226 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7227 * @param event packet 7228 * @return status 7229 * @note: btstack_type 1 7230 */ 7231 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_status(const uint8_t * event){ 7232 return event[5]; 7233 } 7234 7235 /** 7236 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7237 * @param event packet 7238 * @return acl_handle 7239 * @note: btstack_type H 7240 */ 7241 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_acl_handle(const uint8_t * event){ 7242 return little_endian_read_16(event, 3); 7243 } 7244 /** 7245 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7246 * @param event packet 7247 * @return status 7248 * @note: btstack_type 1 7249 */ 7250 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_status(const uint8_t * event){ 7251 return event[5]; 7252 } 7253 7254 /** 7255 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7256 * @param event packet 7257 * @return acl_handle 7258 * @note: btstack_type H 7259 */ 7260 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_acl_handle(const uint8_t * event){ 7261 return little_endian_read_16(event, 3); 7262 } 7263 /** 7264 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7265 * @param event packet 7266 * @return status 7267 * @note: btstack_type 1 7268 */ 7269 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_status(const uint8_t * event){ 7270 return event[5]; 7271 } 7272 7273 /** 7274 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7275 * @param event packet 7276 * @return acl_handle 7277 * @note: btstack_type H 7278 */ 7279 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_get_acl_handle(const uint8_t * event){ 7280 return little_endian_read_16(event, 3); 7281 } 7282 /** 7283 * @brief Get field text_id from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7284 * @param event packet 7285 * @return text_id 7286 * @note: btstack_type 2 7287 */ 7288 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_id(const uint8_t * event){ 7289 return little_endian_read_16(event, 5); 7290 } 7291 /** 7292 * @brief Get field text_type from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7293 * @param event packet 7294 * @return text_type 7295 * @note: btstack_type 1 7296 */ 7297 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_type(const uint8_t * event){ 7298 return event[7]; 7299 } 7300 /** 7301 * @brief Get field text_operation from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7302 * @param event packet 7303 * @return text_operation 7304 * @note: btstack_type 1 7305 */ 7306 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_operation(const uint8_t * event){ 7307 return event[8]; 7308 } 7309 /** 7310 * @brief Get field text_length from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7311 * @param event packet 7312 * @return text_length 7313 * @note: btstack_type L 7314 */ 7315 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_length(const uint8_t * event){ 7316 return little_endian_read_16(event, 9); 7317 } 7318 /** 7319 * @brief Get field text from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7320 * @param event packet 7321 * @return text 7322 * @note: btstack_type V 7323 */ 7324 static inline const uint8_t * hfp_subevent_enhanced_voice_recognition_ag_message_get_text(const uint8_t * event){ 7325 return &event[11]; 7326 } 7327 7328 /** 7329 * @brief Get field acl_handle from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7330 * @param event packet 7331 * @return acl_handle 7332 * @note: btstack_type H 7333 */ 7334 static inline hci_con_handle_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_acl_handle(const uint8_t * event){ 7335 return little_endian_read_16(event, 3); 7336 } 7337 /** 7338 * @brief Get field status from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7339 * @param event packet 7340 * @return status 7341 * @note: btstack_type 1 7342 */ 7343 static inline uint8_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_status(const uint8_t * event){ 7344 return event[5]; 7345 } 7346 7347 /** 7348 * @brief Get field acl_handle from event HFP_SUBEVENT_HF_INDICATOR 7349 * @param event packet 7350 * @return acl_handle 7351 * @note: btstack_type H 7352 */ 7353 static inline hci_con_handle_t hfp_subevent_hf_indicator_get_acl_handle(const uint8_t * event){ 7354 return little_endian_read_16(event, 3); 7355 } 7356 /** 7357 * @brief Get field uuid from event HFP_SUBEVENT_HF_INDICATOR 7358 * @param event packet 7359 * @return uuid 7360 * @note: btstack_type 2 7361 */ 7362 static inline uint16_t hfp_subevent_hf_indicator_get_uuid(const uint8_t * event){ 7363 return little_endian_read_16(event, 5); 7364 } 7365 /** 7366 * @brief Get field value from event HFP_SUBEVENT_HF_INDICATOR 7367 * @param event packet 7368 * @return value 7369 * @note: btstack_type 1 7370 */ 7371 static inline uint8_t hfp_subevent_hf_indicator_get_value(const uint8_t * event){ 7372 return event[7]; 7373 } 7374 7375 /** 7376 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7377 * @param event packet 7378 * @return acl_handle 7379 * @note: btstack_type H 7380 */ 7381 static inline hci_con_handle_t hfp_subevent_custom_at_command_get_acl_handle(const uint8_t * event){ 7382 return little_endian_read_16(event, 3); 7383 } 7384 /** 7385 * @brief Get field command_id from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7386 * @param event packet 7387 * @return command_id 7388 * @note: btstack_type 2 7389 */ 7390 static inline uint16_t hfp_subevent_custom_at_command_get_command_id(const uint8_t * event){ 7391 return little_endian_read_16(event, 5); 7392 } 7393 /** 7394 * @brief Get field command_string from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7395 * @param event packet 7396 * @return command_string 7397 * @note: btstack_type T 7398 */ 7399 static inline const char * hfp_subevent_custom_at_command_get_command_string(const uint8_t * event){ 7400 return (const char *) &event[7]; 7401 } 7402 7403 /** 7404 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7405 * @param event packet 7406 * @return acl_handle 7407 * @note: btstack_type H 7408 */ 7409 static inline hci_con_handle_t hfp_subevent_custom_at_message_sent_get_acl_handle(const uint8_t * event){ 7410 return little_endian_read_16(event, 3); 7411 } 7412 /** 7413 * @brief Get field status from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7414 * @param event packet 7415 * @return status 7416 * @note: btstack_type 1 7417 */ 7418 static inline uint8_t hfp_subevent_custom_at_message_sent_get_status(const uint8_t * event){ 7419 return event[5]; 7420 } 7421 7422 #ifdef ENABLE_BLE 7423 /** 7424 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 7425 * @param event packet 7426 * @return handle 7427 * @note: btstack_type H 7428 */ 7429 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 7430 return little_endian_read_16(event, 3); 7431 } 7432 #endif 7433 7434 #ifdef ENABLE_BLE 7435 /** 7436 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7437 * @param event packet 7438 * @return handle 7439 * @note: btstack_type H 7440 */ 7441 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 7442 return little_endian_read_16(event, 3); 7443 } 7444 /** 7445 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7446 * @param event packet 7447 * @return attribute_id 7448 * @note: btstack_type 2 7449 */ 7450 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 7451 return little_endian_read_16(event, 5); 7452 } 7453 /** 7454 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7455 * @param event packet 7456 * @return text 7457 * @note: btstack_type T 7458 */ 7459 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 7460 return (const char *) &event[7]; 7461 } 7462 #endif 7463 7464 #ifdef ENABLE_BLE 7465 /** 7466 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 7467 * @param event packet 7468 * @return handle 7469 * @note: btstack_type H 7470 */ 7471 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 7472 return little_endian_read_16(event, 3); 7473 } 7474 #endif 7475 7476 /** 7477 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7478 * @param event packet 7479 * @return avdtp_cid 7480 * @note: btstack_type 2 7481 */ 7482 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 7483 return little_endian_read_16(event, 3); 7484 } 7485 /** 7486 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7487 * @param event packet 7488 * @return local_seid 7489 * @note: btstack_type 1 7490 */ 7491 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 7492 return event[5]; 7493 } 7494 /** 7495 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7496 * @param event packet 7497 * @return is_initiator 7498 * @note: btstack_type 1 7499 */ 7500 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 7501 return event[6]; 7502 } 7503 /** 7504 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7505 * @param event packet 7506 * @return signal_identifier 7507 * @note: btstack_type 1 7508 */ 7509 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 7510 return event[7]; 7511 } 7512 7513 /** 7514 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7515 * @param event packet 7516 * @return avdtp_cid 7517 * @note: btstack_type 2 7518 */ 7519 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 7520 return little_endian_read_16(event, 3); 7521 } 7522 /** 7523 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7524 * @param event packet 7525 * @return local_seid 7526 * @note: btstack_type 1 7527 */ 7528 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 7529 return event[5]; 7530 } 7531 /** 7532 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 7533 * @param event packet 7534 * @return is_initiator 7535 * @note: btstack_type 1 7536 */ 7537 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 7538 return event[6]; 7539 } 7540 /** 7541 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 7542 * @param event packet 7543 * @return signal_identifier 7544 * @note: btstack_type 1 7545 */ 7546 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 7547 return event[7]; 7548 } 7549 7550 /** 7551 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7552 * @param event packet 7553 * @return avdtp_cid 7554 * @note: btstack_type 2 7555 */ 7556 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 7557 return little_endian_read_16(event, 3); 7558 } 7559 /** 7560 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7561 * @param event packet 7562 * @return local_seid 7563 * @note: btstack_type 1 7564 */ 7565 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 7566 return event[5]; 7567 } 7568 /** 7569 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7570 * @param event packet 7571 * @return is_initiator 7572 * @note: btstack_type 1 7573 */ 7574 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 7575 return event[6]; 7576 } 7577 /** 7578 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7579 * @param event packet 7580 * @return signal_identifier 7581 * @note: btstack_type 1 7582 */ 7583 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 7584 return event[7]; 7585 } 7586 7587 /** 7588 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7589 * @param event packet 7590 * @return avdtp_cid 7591 * @note: btstack_type 2 7592 */ 7593 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 7594 return little_endian_read_16(event, 3); 7595 } 7596 /** 7597 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7598 * @param event packet 7599 * @param Pointer to storage for bd_addr 7600 * @note: btstack_type B 7601 */ 7602 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7603 reverse_bytes(&event[5], bd_addr, 6); 7604 } 7605 /** 7606 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7607 * @param event packet 7608 * @return con_handle 7609 * @note: btstack_type 2 7610 */ 7611 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 7612 return little_endian_read_16(event, 11); 7613 } 7614 /** 7615 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7616 * @param event packet 7617 * @return status 7618 * @note: btstack_type 1 7619 */ 7620 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 7621 return event[13]; 7622 } 7623 7624 /** 7625 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 7626 * @param event packet 7627 * @return avdtp_cid 7628 * @note: btstack_type 2 7629 */ 7630 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 7631 return little_endian_read_16(event, 3); 7632 } 7633 7634 /** 7635 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7636 * @param event packet 7637 * @return avdtp_cid 7638 * @note: btstack_type 2 7639 */ 7640 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 7641 return little_endian_read_16(event, 3); 7642 } 7643 /** 7644 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7645 * @param event packet 7646 * @return remote_seid 7647 * @note: btstack_type 1 7648 */ 7649 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 7650 return event[5]; 7651 } 7652 /** 7653 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7654 * @param event packet 7655 * @return in_use 7656 * @note: btstack_type 1 7657 */ 7658 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 7659 return event[6]; 7660 } 7661 /** 7662 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7663 * @param event packet 7664 * @return media_type 7665 * @note: btstack_type 1 7666 */ 7667 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 7668 return event[7]; 7669 } 7670 /** 7671 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7672 * @param event packet 7673 * @return sep_type 7674 * @note: btstack_type 1 7675 */ 7676 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 7677 return event[8]; 7678 } 7679 7680 /** 7681 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7682 * @param event packet 7683 * @return avdtp_cid 7684 * @note: btstack_type 2 7685 */ 7686 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 7687 return little_endian_read_16(event, 3); 7688 } 7689 /** 7690 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7691 * @param event packet 7692 * @return remote_seid 7693 * @note: btstack_type 1 7694 */ 7695 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 7696 return event[5]; 7697 } 7698 /** 7699 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7700 * @param event packet 7701 * @return media_type 7702 * @note: btstack_type 1 7703 */ 7704 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 7705 return event[6]; 7706 } 7707 /** 7708 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7709 * @param event packet 7710 * @return sampling_frequency_bitmap 7711 * @note: btstack_type 1 7712 */ 7713 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7714 return event[7]; 7715 } 7716 /** 7717 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7718 * @param event packet 7719 * @return channel_mode_bitmap 7720 * @note: btstack_type 1 7721 */ 7722 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 7723 return event[8]; 7724 } 7725 /** 7726 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7727 * @param event packet 7728 * @return block_length_bitmap 7729 * @note: btstack_type 1 7730 */ 7731 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 7732 return event[9]; 7733 } 7734 /** 7735 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7736 * @param event packet 7737 * @return subbands_bitmap 7738 * @note: btstack_type 1 7739 */ 7740 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 7741 return event[10]; 7742 } 7743 /** 7744 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7745 * @param event packet 7746 * @return allocation_method_bitmap 7747 * @note: btstack_type 1 7748 */ 7749 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 7750 return event[11]; 7751 } 7752 /** 7753 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7754 * @param event packet 7755 * @return min_bitpool_value 7756 * @note: btstack_type 1 7757 */ 7758 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 7759 return event[12]; 7760 } 7761 /** 7762 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7763 * @param event packet 7764 * @return max_bitpool_value 7765 * @note: btstack_type 1 7766 */ 7767 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 7768 return event[13]; 7769 } 7770 7771 /** 7772 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7773 * @param event packet 7774 * @return avdtp_cid 7775 * @note: btstack_type 2 7776 */ 7777 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ 7778 return little_endian_read_16(event, 3); 7779 } 7780 /** 7781 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7782 * @param event packet 7783 * @return remote_seid 7784 * @note: btstack_type 1 7785 */ 7786 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 7787 return event[5]; 7788 } 7789 /** 7790 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7791 * @param event packet 7792 * @return media_type 7793 * @note: btstack_type 1 7794 */ 7795 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 7796 return event[6]; 7797 } 7798 /** 7799 * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7800 * @param event packet 7801 * @return layer_bitmap 7802 * @note: btstack_type 1 7803 */ 7804 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 7805 return event[7]; 7806 } 7807 /** 7808 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7809 * @param event packet 7810 * @return crc 7811 * @note: btstack_type 1 7812 */ 7813 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 7814 return event[8]; 7815 } 7816 /** 7817 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7818 * @param event packet 7819 * @return channel_mode_bitmap 7820 * @note: btstack_type 1 7821 */ 7822 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 7823 return event[9]; 7824 } 7825 /** 7826 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7827 * @param event packet 7828 * @return media_payload_format 7829 * @note: btstack_type 1 7830 */ 7831 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 7832 return event[10]; 7833 } 7834 /** 7835 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7836 * @param event packet 7837 * @return sampling_frequency_bitmap 7838 * @note: btstack_type 1 7839 */ 7840 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7841 return event[11]; 7842 } 7843 /** 7844 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7845 * @param event packet 7846 * @return vbr 7847 * @note: btstack_type 1 7848 */ 7849 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 7850 return event[12]; 7851 } 7852 /** 7853 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7854 * @param event packet 7855 * @return bit_rate_index_bitmap 7856 * @note: btstack_type 2 7857 */ 7858 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 7859 return little_endian_read_16(event, 13); 7860 } 7861 7862 /** 7863 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7864 * @param event packet 7865 * @return avdtp_cid 7866 * @note: btstack_type 2 7867 */ 7868 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ 7869 return little_endian_read_16(event, 3); 7870 } 7871 /** 7872 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7873 * @param event packet 7874 * @return remote_seid 7875 * @note: btstack_type 1 7876 */ 7877 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 7878 return event[5]; 7879 } 7880 /** 7881 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7882 * @param event packet 7883 * @return media_type 7884 * @note: btstack_type 1 7885 */ 7886 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 7887 return event[6]; 7888 } 7889 /** 7890 * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7891 * @param event packet 7892 * @return object_type_bitmap 7893 * @note: btstack_type 1 7894 */ 7895 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 7896 return event[7]; 7897 } 7898 /** 7899 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7900 * @param event packet 7901 * @return sampling_frequency_bitmap 7902 * @note: btstack_type 2 7903 */ 7904 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7905 return little_endian_read_16(event, 8); 7906 } 7907 /** 7908 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7909 * @param event packet 7910 * @return channels_bitmap 7911 * @note: btstack_type 1 7912 */ 7913 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 7914 return event[10]; 7915 } 7916 /** 7917 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7918 * @param event packet 7919 * @return bit_rate 7920 * @note: btstack_type 3 7921 */ 7922 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 7923 return little_endian_read_24(event, 11); 7924 } 7925 /** 7926 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7927 * @param event packet 7928 * @return vbr 7929 * @note: btstack_type 1 7930 */ 7931 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 7932 return event[14]; 7933 } 7934 7935 /** 7936 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7937 * @param event packet 7938 * @return avdtp_cid 7939 * @note: btstack_type 2 7940 */ 7941 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ 7942 return little_endian_read_16(event, 3); 7943 } 7944 /** 7945 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7946 * @param event packet 7947 * @return remote_seid 7948 * @note: btstack_type 1 7949 */ 7950 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 7951 return event[5]; 7952 } 7953 /** 7954 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7955 * @param event packet 7956 * @return media_type 7957 * @note: btstack_type 1 7958 */ 7959 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 7960 return event[6]; 7961 } 7962 /** 7963 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7964 * @param event packet 7965 * @return version 7966 * @note: btstack_type 1 7967 */ 7968 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 7969 return event[7]; 7970 } 7971 /** 7972 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7973 * @param event packet 7974 * @return channel_mode_bitmap 7975 * @note: btstack_type 1 7976 */ 7977 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 7978 return event[8]; 7979 } 7980 /** 7981 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7982 * @param event packet 7983 * @return sampling_frequency_bitmap 7984 * @note: btstack_type 1 7985 */ 7986 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7987 return event[9]; 7988 } 7989 /** 7990 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7991 * @param event packet 7992 * @return vbr 7993 * @note: btstack_type 1 7994 */ 7995 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 7996 return event[10]; 7997 } 7998 /** 7999 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8000 * @param event packet 8001 * @return bit_rate_index_bitmap 8002 * @note: btstack_type 3 8003 */ 8004 static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8005 return little_endian_read_24(event, 11); 8006 } 8007 /** 8008 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8009 * @param event packet 8010 * @return maximum_sul 8011 * @note: btstack_type 2 8012 */ 8013 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 8014 return little_endian_read_16(event, 14); 8015 } 8016 8017 /** 8018 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8019 * @param event packet 8020 * @return avdtp_cid 8021 * @note: btstack_type 2 8022 */ 8023 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 8024 return little_endian_read_16(event, 3); 8025 } 8026 /** 8027 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8028 * @param event packet 8029 * @return remote_seid 8030 * @note: btstack_type 1 8031 */ 8032 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 8033 return event[5]; 8034 } 8035 /** 8036 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8037 * @param event packet 8038 * @return media_type 8039 * @note: btstack_type 1 8040 */ 8041 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 8042 return event[6]; 8043 } 8044 /** 8045 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8046 * @param event packet 8047 * @return media_codec_type 8048 * @note: btstack_type 2 8049 */ 8050 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 8051 return little_endian_read_16(event, 7); 8052 } 8053 /** 8054 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8055 * @param event packet 8056 * @return media_codec_information_len 8057 * @note: btstack_type L 8058 */ 8059 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 8060 return little_endian_read_16(event, 9); 8061 } 8062 /** 8063 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8064 * @param event packet 8065 * @return media_codec_information 8066 * @note: btstack_type V 8067 */ 8068 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 8069 return &event[11]; 8070 } 8071 8072 /** 8073 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8074 * @param event packet 8075 * @return avdtp_cid 8076 * @note: btstack_type 2 8077 */ 8078 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 8079 return little_endian_read_16(event, 3); 8080 } 8081 /** 8082 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8083 * @param event packet 8084 * @return remote_seid 8085 * @note: btstack_type 1 8086 */ 8087 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 8088 return event[5]; 8089 } 8090 8091 /** 8092 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8093 * @param event packet 8094 * @return avdtp_cid 8095 * @note: btstack_type 2 8096 */ 8097 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8098 return little_endian_read_16(event, 3); 8099 } 8100 /** 8101 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8102 * @param event packet 8103 * @return remote_seid 8104 * @note: btstack_type 1 8105 */ 8106 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 8107 return event[5]; 8108 } 8109 8110 /** 8111 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8112 * @param event packet 8113 * @return avdtp_cid 8114 * @note: btstack_type 2 8115 */ 8116 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 8117 return little_endian_read_16(event, 3); 8118 } 8119 /** 8120 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8121 * @param event packet 8122 * @return remote_seid 8123 * @note: btstack_type 1 8124 */ 8125 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 8126 return event[5]; 8127 } 8128 /** 8129 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8130 * @param event packet 8131 * @return recovery_type 8132 * @note: btstack_type 1 8133 */ 8134 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 8135 return event[6]; 8136 } 8137 /** 8138 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8139 * @param event packet 8140 * @return maximum_recovery_window_size 8141 * @note: btstack_type 1 8142 */ 8143 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 8144 return event[7]; 8145 } 8146 /** 8147 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8148 * @param event packet 8149 * @return maximum_number_media_packets 8150 * @note: btstack_type 1 8151 */ 8152 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 8153 return event[8]; 8154 } 8155 8156 /** 8157 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8158 * @param event packet 8159 * @return avdtp_cid 8160 * @note: btstack_type 2 8161 */ 8162 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 8163 return little_endian_read_16(event, 3); 8164 } 8165 /** 8166 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8167 * @param event packet 8168 * @return remote_seid 8169 * @note: btstack_type 1 8170 */ 8171 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 8172 return event[5]; 8173 } 8174 /** 8175 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8176 * @param event packet 8177 * @return cp_type 8178 * @note: btstack_type 2 8179 */ 8180 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 8181 return little_endian_read_16(event, 6); 8182 } 8183 /** 8184 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8185 * @param event packet 8186 * @return cp_type_value_len 8187 * @note: btstack_type L 8188 */ 8189 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 8190 return little_endian_read_16(event, 8); 8191 } 8192 /** 8193 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8194 * @param event packet 8195 * @return cp_type_value 8196 * @note: btstack_type V 8197 */ 8198 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 8199 return &event[10]; 8200 } 8201 8202 /** 8203 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8204 * @param event packet 8205 * @return avdtp_cid 8206 * @note: btstack_type 2 8207 */ 8208 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 8209 return little_endian_read_16(event, 3); 8210 } 8211 /** 8212 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8213 * @param event packet 8214 * @return remote_seid 8215 * @note: btstack_type 1 8216 */ 8217 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 8218 return event[5]; 8219 } 8220 /** 8221 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8222 * @param event packet 8223 * @return fragmentation 8224 * @note: btstack_type 1 8225 */ 8226 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 8227 return event[6]; 8228 } 8229 /** 8230 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8231 * @param event packet 8232 * @return transport_identifiers_num 8233 * @note: btstack_type 1 8234 */ 8235 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 8236 return event[7]; 8237 } 8238 /** 8239 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8240 * @param event packet 8241 * @return transport_session_identifier_1 8242 * @note: btstack_type 1 8243 */ 8244 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 8245 return event[8]; 8246 } 8247 /** 8248 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8249 * @param event packet 8250 * @return transport_session_identifier_2 8251 * @note: btstack_type 1 8252 */ 8253 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 8254 return event[9]; 8255 } 8256 /** 8257 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8258 * @param event packet 8259 * @return transport_session_identifier_3 8260 * @note: btstack_type 1 8261 */ 8262 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 8263 return event[10]; 8264 } 8265 /** 8266 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8267 * @param event packet 8268 * @return tcid_1 8269 * @note: btstack_type 1 8270 */ 8271 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 8272 return event[11]; 8273 } 8274 /** 8275 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8276 * @param event packet 8277 * @return tcid_2 8278 * @note: btstack_type 1 8279 */ 8280 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 8281 return event[12]; 8282 } 8283 /** 8284 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8285 * @param event packet 8286 * @return tcid_3 8287 * @note: btstack_type 1 8288 */ 8289 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 8290 return event[13]; 8291 } 8292 8293 /** 8294 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8295 * @param event packet 8296 * @return avdtp_cid 8297 * @note: btstack_type 2 8298 */ 8299 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8300 return little_endian_read_16(event, 3); 8301 } 8302 /** 8303 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8304 * @param event packet 8305 * @return remote_seid 8306 * @note: btstack_type 1 8307 */ 8308 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 8309 return event[5]; 8310 } 8311 8312 /** 8313 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8314 * @param event packet 8315 * @return avdtp_cid 8316 * @note: btstack_type 2 8317 */ 8318 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 8319 return little_endian_read_16(event, 3); 8320 } 8321 /** 8322 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8323 * @param event packet 8324 * @return remote_seid 8325 * @note: btstack_type 1 8326 */ 8327 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 8328 return event[5]; 8329 } 8330 /** 8331 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8332 * @param event packet 8333 * @return back_ch 8334 * @note: btstack_type 1 8335 */ 8336 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 8337 return event[6]; 8338 } 8339 /** 8340 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8341 * @param event packet 8342 * @return media 8343 * @note: btstack_type 1 8344 */ 8345 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 8346 return event[7]; 8347 } 8348 /** 8349 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8350 * @param event packet 8351 * @return recovery 8352 * @note: btstack_type 1 8353 */ 8354 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 8355 return event[8]; 8356 } 8357 8358 /** 8359 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8360 * @param event packet 8361 * @return avdtp_cid 8362 * @note: btstack_type 2 8363 */ 8364 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 8365 return little_endian_read_16(event, 3); 8366 } 8367 /** 8368 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8369 * @param event packet 8370 * @return remote_seid 8371 * @note: btstack_type 1 8372 */ 8373 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 8374 return event[5]; 8375 } 8376 8377 /** 8378 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8379 * @param event packet 8380 * @return avdtp_cid 8381 * @note: btstack_type 2 8382 */ 8383 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 8384 return little_endian_read_16(event, 3); 8385 } 8386 /** 8387 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8388 * @param event packet 8389 * @return local_seid 8390 * @note: btstack_type 1 8391 */ 8392 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 8393 return event[5]; 8394 } 8395 /** 8396 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8397 * @param event packet 8398 * @return remote_seid 8399 * @note: btstack_type 1 8400 */ 8401 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 8402 return event[6]; 8403 } 8404 /** 8405 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8406 * @param event packet 8407 * @return reconfigure 8408 * @note: btstack_type 1 8409 */ 8410 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 8411 return event[7]; 8412 } 8413 /** 8414 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8415 * @param event packet 8416 * @return media_type 8417 * @note: btstack_type 1 8418 */ 8419 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 8420 return event[8]; 8421 } 8422 /** 8423 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8424 * @param event packet 8425 * @return sampling_frequency 8426 * @note: btstack_type 2 8427 */ 8428 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 8429 return little_endian_read_16(event, 9); 8430 } 8431 /** 8432 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8433 * @param event packet 8434 * @return channel_mode 8435 * @note: btstack_type 1 8436 */ 8437 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 8438 return event[11]; 8439 } 8440 /** 8441 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8442 * @param event packet 8443 * @return num_channels 8444 * @note: btstack_type 1 8445 */ 8446 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 8447 return event[12]; 8448 } 8449 /** 8450 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8451 * @param event packet 8452 * @return block_length 8453 * @note: btstack_type 1 8454 */ 8455 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 8456 return event[13]; 8457 } 8458 /** 8459 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8460 * @param event packet 8461 * @return subbands 8462 * @note: btstack_type 1 8463 */ 8464 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 8465 return event[14]; 8466 } 8467 /** 8468 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8469 * @param event packet 8470 * @return allocation_method 8471 * @note: btstack_type 1 8472 */ 8473 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 8474 return event[15]; 8475 } 8476 /** 8477 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8478 * @param event packet 8479 * @return min_bitpool_value 8480 * @note: btstack_type 1 8481 */ 8482 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 8483 return event[16]; 8484 } 8485 /** 8486 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8487 * @param event packet 8488 * @return max_bitpool_value 8489 * @note: btstack_type 1 8490 */ 8491 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 8492 return event[17]; 8493 } 8494 8495 /** 8496 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8497 * @param event packet 8498 * @return avdtp_cid 8499 * @note: btstack_type 2 8500 */ 8501 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ 8502 return little_endian_read_16(event, 3); 8503 } 8504 /** 8505 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8506 * @param event packet 8507 * @return local_seid 8508 * @note: btstack_type 1 8509 */ 8510 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 8511 return event[5]; 8512 } 8513 /** 8514 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8515 * @param event packet 8516 * @return remote_seid 8517 * @note: btstack_type 1 8518 */ 8519 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 8520 return event[6]; 8521 } 8522 /** 8523 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8524 * @param event packet 8525 * @return reconfigure 8526 * @note: btstack_type 1 8527 */ 8528 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 8529 return event[7]; 8530 } 8531 /** 8532 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8533 * @param event packet 8534 * @return media_type 8535 * @note: btstack_type 1 8536 */ 8537 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 8538 return event[8]; 8539 } 8540 /** 8541 * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8542 * @param event packet 8543 * @return layer 8544 * @note: btstack_type 1 8545 */ 8546 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 8547 return event[9]; 8548 } 8549 /** 8550 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8551 * @param event packet 8552 * @return crc 8553 * @note: btstack_type 1 8554 */ 8555 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 8556 return event[10]; 8557 } 8558 /** 8559 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8560 * @param event packet 8561 * @return channel_mode 8562 * @note: btstack_type 1 8563 */ 8564 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 8565 return event[11]; 8566 } 8567 /** 8568 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8569 * @param event packet 8570 * @return num_channels 8571 * @note: btstack_type 1 8572 */ 8573 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 8574 return event[12]; 8575 } 8576 /** 8577 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8578 * @param event packet 8579 * @return media_payload_format 8580 * @note: btstack_type 1 8581 */ 8582 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 8583 return event[13]; 8584 } 8585 /** 8586 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8587 * @param event packet 8588 * @return sampling_frequency 8589 * @note: btstack_type 2 8590 */ 8591 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 8592 return little_endian_read_16(event, 14); 8593 } 8594 /** 8595 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8596 * @param event packet 8597 * @return vbr 8598 * @note: btstack_type 1 8599 */ 8600 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 8601 return event[16]; 8602 } 8603 /** 8604 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8605 * @param event packet 8606 * @return bit_rate_index 8607 * @note: btstack_type 1 8608 */ 8609 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 8610 return event[17]; 8611 } 8612 8613 /** 8614 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8615 * @param event packet 8616 * @return avdtp_cid 8617 * @note: btstack_type 2 8618 */ 8619 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ 8620 return little_endian_read_16(event, 3); 8621 } 8622 /** 8623 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8624 * @param event packet 8625 * @return local_seid 8626 * @note: btstack_type 1 8627 */ 8628 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 8629 return event[5]; 8630 } 8631 /** 8632 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8633 * @param event packet 8634 * @return remote_seid 8635 * @note: btstack_type 1 8636 */ 8637 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 8638 return event[6]; 8639 } 8640 /** 8641 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8642 * @param event packet 8643 * @return reconfigure 8644 * @note: btstack_type 1 8645 */ 8646 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 8647 return event[7]; 8648 } 8649 /** 8650 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8651 * @param event packet 8652 * @return media_type 8653 * @note: btstack_type 1 8654 */ 8655 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 8656 return event[8]; 8657 } 8658 /** 8659 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8660 * @param event packet 8661 * @return object_type 8662 * @note: btstack_type 1 8663 */ 8664 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 8665 return event[9]; 8666 } 8667 /** 8668 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8669 * @param event packet 8670 * @return sampling_frequency 8671 * @note: btstack_type 3 8672 */ 8673 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 8674 return little_endian_read_24(event, 10); 8675 } 8676 /** 8677 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8678 * @param event packet 8679 * @return num_channels 8680 * @note: btstack_type 1 8681 */ 8682 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 8683 return event[13]; 8684 } 8685 /** 8686 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8687 * @param event packet 8688 * @return bit_rate 8689 * @note: btstack_type 3 8690 */ 8691 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 8692 return little_endian_read_24(event, 14); 8693 } 8694 /** 8695 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8696 * @param event packet 8697 * @return vbr 8698 * @note: btstack_type 1 8699 */ 8700 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 8701 return event[17]; 8702 } 8703 8704 /** 8705 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8706 * @param event packet 8707 * @return avdtp_cid 8708 * @note: btstack_type 2 8709 */ 8710 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ 8711 return little_endian_read_16(event, 3); 8712 } 8713 /** 8714 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8715 * @param event packet 8716 * @return local_seid 8717 * @note: btstack_type 1 8718 */ 8719 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 8720 return event[5]; 8721 } 8722 /** 8723 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8724 * @param event packet 8725 * @return remote_seid 8726 * @note: btstack_type 1 8727 */ 8728 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 8729 return event[6]; 8730 } 8731 /** 8732 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8733 * @param event packet 8734 * @return reconfigure 8735 * @note: btstack_type 1 8736 */ 8737 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 8738 return event[7]; 8739 } 8740 /** 8741 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8742 * @param event packet 8743 * @return media_type 8744 * @note: btstack_type 1 8745 */ 8746 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 8747 return event[8]; 8748 } 8749 /** 8750 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8751 * @param event packet 8752 * @return version 8753 * @note: btstack_type 1 8754 */ 8755 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 8756 return event[9]; 8757 } 8758 /** 8759 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8760 * @param event packet 8761 * @return channel_mode 8762 * @note: btstack_type 1 8763 */ 8764 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 8765 return event[10]; 8766 } 8767 /** 8768 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8769 * @param event packet 8770 * @return num_channels 8771 * @note: btstack_type 1 8772 */ 8773 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 8774 return event[11]; 8775 } 8776 /** 8777 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8778 * @param event packet 8779 * @return sampling_frequency 8780 * @note: btstack_type 2 8781 */ 8782 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 8783 return little_endian_read_16(event, 12); 8784 } 8785 /** 8786 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8787 * @param event packet 8788 * @return vbr 8789 * @note: btstack_type 1 8790 */ 8791 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 8792 return event[14]; 8793 } 8794 /** 8795 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8796 * @param event packet 8797 * @return bit_rate_index 8798 * @note: btstack_type 1 8799 */ 8800 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 8801 return event[15]; 8802 } 8803 /** 8804 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8805 * @param event packet 8806 * @return maximum_sul 8807 * @note: btstack_type 2 8808 */ 8809 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 8810 return little_endian_read_16(event, 16); 8811 } 8812 8813 /** 8814 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8815 * @param event packet 8816 * @return avdtp_cid 8817 * @note: btstack_type 2 8818 */ 8819 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 8820 return little_endian_read_16(event, 3); 8821 } 8822 /** 8823 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8824 * @param event packet 8825 * @return local_seid 8826 * @note: btstack_type 1 8827 */ 8828 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 8829 return event[5]; 8830 } 8831 /** 8832 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8833 * @param event packet 8834 * @return remote_seid 8835 * @note: btstack_type 1 8836 */ 8837 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 8838 return event[6]; 8839 } 8840 /** 8841 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8842 * @param event packet 8843 * @return reconfigure 8844 * @note: btstack_type 1 8845 */ 8846 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 8847 return event[7]; 8848 } 8849 /** 8850 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8851 * @param event packet 8852 * @return media_type 8853 * @note: btstack_type 1 8854 */ 8855 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 8856 return event[8]; 8857 } 8858 /** 8859 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8860 * @param event packet 8861 * @return media_codec_type 8862 * @note: btstack_type 2 8863 */ 8864 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 8865 return little_endian_read_16(event, 9); 8866 } 8867 /** 8868 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8869 * @param event packet 8870 * @return media_codec_information_len 8871 * @note: btstack_type L 8872 */ 8873 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 8874 return little_endian_read_16(event, 11); 8875 } 8876 /** 8877 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8878 * @param event packet 8879 * @return media_codec_information 8880 * @note: btstack_type V 8881 */ 8882 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 8883 return &event[13]; 8884 } 8885 8886 /** 8887 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8888 * @param event packet 8889 * @return avdtp_cid 8890 * @note: btstack_type 2 8891 */ 8892 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 8893 return little_endian_read_16(event, 3); 8894 } 8895 /** 8896 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8897 * @param event packet 8898 * @param Pointer to storage for bd_addr 8899 * @note: btstack_type B 8900 */ 8901 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8902 reverse_bytes(&event[5], bd_addr, 6); 8903 } 8904 /** 8905 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8906 * @param event packet 8907 * @return local_seid 8908 * @note: btstack_type 1 8909 */ 8910 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 8911 return event[11]; 8912 } 8913 /** 8914 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8915 * @param event packet 8916 * @return remote_seid 8917 * @note: btstack_type 1 8918 */ 8919 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 8920 return event[12]; 8921 } 8922 /** 8923 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8924 * @param event packet 8925 * @return status 8926 * @note: btstack_type 1 8927 */ 8928 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 8929 return event[13]; 8930 } 8931 8932 /** 8933 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 8934 * @param event packet 8935 * @return avdtp_cid 8936 * @note: btstack_type 2 8937 */ 8938 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 8939 return little_endian_read_16(event, 3); 8940 } 8941 /** 8942 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 8943 * @param event packet 8944 * @return local_seid 8945 * @note: btstack_type 1 8946 */ 8947 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 8948 return event[5]; 8949 } 8950 8951 /** 8952 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8953 * @param event packet 8954 * @return avdtp_cid 8955 * @note: btstack_type 2 8956 */ 8957 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 8958 return little_endian_read_16(event, 3); 8959 } 8960 /** 8961 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8962 * @param event packet 8963 * @return local_seid 8964 * @note: btstack_type 1 8965 */ 8966 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 8967 return event[5]; 8968 } 8969 /** 8970 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8971 * @param event packet 8972 * @return sequence_number 8973 * @note: btstack_type 2 8974 */ 8975 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 8976 return little_endian_read_16(event, 6); 8977 } 8978 8979 /** 8980 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 8981 * @param event packet 8982 * @return avdtp_cid 8983 * @note: btstack_type 2 8984 */ 8985 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 8986 return little_endian_read_16(event, 3); 8987 } 8988 8989 /** 8990 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 8991 * @param event packet 8992 * @return avdtp_cid 8993 * @note: btstack_type 2 8994 */ 8995 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 8996 return little_endian_read_16(event, 3); 8997 } 8998 /** 8999 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9000 * @param event packet 9001 * @return local_seid 9002 * @note: btstack_type 1 9003 */ 9004 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 9005 return event[5]; 9006 } 9007 /** 9008 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9009 * @param event packet 9010 * @return delay_100us 9011 * @note: btstack_type 2 9012 */ 9013 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 9014 return little_endian_read_16(event, 6); 9015 } 9016 9017 /** 9018 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9019 * @param event packet 9020 * @return a2dp_cid 9021 * @note: btstack_type 2 9022 */ 9023 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 9024 return little_endian_read_16(event, 3); 9025 } 9026 /** 9027 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9028 * @param event packet 9029 * @return local_seid 9030 * @note: btstack_type 1 9031 */ 9032 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9033 return event[5]; 9034 } 9035 9036 /** 9037 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9038 * @param event packet 9039 * @return a2dp_cid 9040 * @note: btstack_type 2 9041 */ 9042 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 9043 return little_endian_read_16(event, 3); 9044 } 9045 /** 9046 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9047 * @param event packet 9048 * @return local_seid 9049 * @note: btstack_type 1 9050 */ 9051 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 9052 return event[5]; 9053 } 9054 /** 9055 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9056 * @param event packet 9057 * @return remote_seid 9058 * @note: btstack_type 1 9059 */ 9060 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 9061 return event[6]; 9062 } 9063 /** 9064 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9065 * @param event packet 9066 * @return reconfigure 9067 * @note: btstack_type 1 9068 */ 9069 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 9070 return event[7]; 9071 } 9072 /** 9073 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9074 * @param event packet 9075 * @return media_type 9076 * @note: btstack_type 1 9077 */ 9078 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 9079 return event[8]; 9080 } 9081 /** 9082 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9083 * @param event packet 9084 * @return sampling_frequency 9085 * @note: btstack_type 2 9086 */ 9087 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 9088 return little_endian_read_16(event, 9); 9089 } 9090 /** 9091 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9092 * @param event packet 9093 * @return channel_mode 9094 * @note: btstack_type 1 9095 */ 9096 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 9097 return event[11]; 9098 } 9099 /** 9100 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9101 * @param event packet 9102 * @return num_channels 9103 * @note: btstack_type 1 9104 */ 9105 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 9106 return event[12]; 9107 } 9108 /** 9109 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9110 * @param event packet 9111 * @return block_length 9112 * @note: btstack_type 1 9113 */ 9114 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 9115 return event[13]; 9116 } 9117 /** 9118 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9119 * @param event packet 9120 * @return subbands 9121 * @note: btstack_type 1 9122 */ 9123 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 9124 return event[14]; 9125 } 9126 /** 9127 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9128 * @param event packet 9129 * @return allocation_method 9130 * @note: btstack_type 1 9131 */ 9132 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 9133 return event[15]; 9134 } 9135 /** 9136 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9137 * @param event packet 9138 * @return min_bitpool_value 9139 * @note: btstack_type 1 9140 */ 9141 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 9142 return event[16]; 9143 } 9144 /** 9145 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9146 * @param event packet 9147 * @return max_bitpool_value 9148 * @note: btstack_type 1 9149 */ 9150 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 9151 return event[17]; 9152 } 9153 9154 /** 9155 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9156 * @param event packet 9157 * @return a2dp_cid 9158 * @note: btstack_type 2 9159 */ 9160 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_a2dp_cid(const uint8_t * event){ 9161 return little_endian_read_16(event, 3); 9162 } 9163 /** 9164 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9165 * @param event packet 9166 * @return local_seid 9167 * @note: btstack_type 1 9168 */ 9169 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 9170 return event[5]; 9171 } 9172 /** 9173 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9174 * @param event packet 9175 * @return remote_seid 9176 * @note: btstack_type 1 9177 */ 9178 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 9179 return event[6]; 9180 } 9181 /** 9182 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9183 * @param event packet 9184 * @return reconfigure 9185 * @note: btstack_type 1 9186 */ 9187 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 9188 return event[7]; 9189 } 9190 /** 9191 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9192 * @param event packet 9193 * @return media_type 9194 * @note: btstack_type 1 9195 */ 9196 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 9197 return event[8]; 9198 } 9199 /** 9200 * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9201 * @param event packet 9202 * @return layer 9203 * @note: btstack_type 1 9204 */ 9205 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 9206 return event[9]; 9207 } 9208 /** 9209 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9210 * @param event packet 9211 * @return crc 9212 * @note: btstack_type 1 9213 */ 9214 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 9215 return event[10]; 9216 } 9217 /** 9218 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9219 * @param event packet 9220 * @return channel_mode 9221 * @note: btstack_type 1 9222 */ 9223 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 9224 return event[11]; 9225 } 9226 /** 9227 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9228 * @param event packet 9229 * @return num_channels 9230 * @note: btstack_type 1 9231 */ 9232 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 9233 return event[12]; 9234 } 9235 /** 9236 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9237 * @param event packet 9238 * @return media_payload_format 9239 * @note: btstack_type 1 9240 */ 9241 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 9242 return event[13]; 9243 } 9244 /** 9245 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9246 * @param event packet 9247 * @return sampling_frequency 9248 * @note: btstack_type 2 9249 */ 9250 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 9251 return little_endian_read_16(event, 14); 9252 } 9253 /** 9254 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9255 * @param event packet 9256 * @return vbr 9257 * @note: btstack_type 1 9258 */ 9259 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 9260 return event[16]; 9261 } 9262 /** 9263 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9264 * @param event packet 9265 * @return bit_rate_index 9266 * @note: btstack_type 1 9267 */ 9268 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 9269 return event[17]; 9270 } 9271 9272 /** 9273 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9274 * @param event packet 9275 * @return a2dp_cid 9276 * @note: btstack_type 2 9277 */ 9278 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_a2dp_cid(const uint8_t * event){ 9279 return little_endian_read_16(event, 3); 9280 } 9281 /** 9282 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9283 * @param event packet 9284 * @return local_seid 9285 * @note: btstack_type 1 9286 */ 9287 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 9288 return event[5]; 9289 } 9290 /** 9291 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9292 * @param event packet 9293 * @return remote_seid 9294 * @note: btstack_type 1 9295 */ 9296 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 9297 return event[6]; 9298 } 9299 /** 9300 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9301 * @param event packet 9302 * @return reconfigure 9303 * @note: btstack_type 1 9304 */ 9305 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 9306 return event[7]; 9307 } 9308 /** 9309 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9310 * @param event packet 9311 * @return media_type 9312 * @note: btstack_type 1 9313 */ 9314 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 9315 return event[8]; 9316 } 9317 /** 9318 * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9319 * @param event packet 9320 * @return object_type 9321 * @note: btstack_type 1 9322 */ 9323 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 9324 return event[9]; 9325 } 9326 /** 9327 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9328 * @param event packet 9329 * @return sampling_frequency 9330 * @note: btstack_type 3 9331 */ 9332 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 9333 return little_endian_read_24(event, 10); 9334 } 9335 /** 9336 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9337 * @param event packet 9338 * @return num_channels 9339 * @note: btstack_type 1 9340 */ 9341 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9342 return event[13]; 9343 } 9344 /** 9345 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9346 * @param event packet 9347 * @return bit_rate 9348 * @note: btstack_type 3 9349 */ 9350 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9351 return little_endian_read_24(event, 14); 9352 } 9353 /** 9354 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9355 * @param event packet 9356 * @return vbr 9357 * @note: btstack_type 1 9358 */ 9359 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9360 return event[17]; 9361 } 9362 9363 /** 9364 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9365 * @param event packet 9366 * @return a2dp_cid 9367 * @note: btstack_type 2 9368 */ 9369 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_a2dp_cid(const uint8_t * event){ 9370 return little_endian_read_16(event, 3); 9371 } 9372 /** 9373 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9374 * @param event packet 9375 * @return local_seid 9376 * @note: btstack_type 1 9377 */ 9378 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9379 return event[5]; 9380 } 9381 /** 9382 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9383 * @param event packet 9384 * @return remote_seid 9385 * @note: btstack_type 1 9386 */ 9387 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9388 return event[6]; 9389 } 9390 /** 9391 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9392 * @param event packet 9393 * @return reconfigure 9394 * @note: btstack_type 1 9395 */ 9396 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9397 return event[7]; 9398 } 9399 /** 9400 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9401 * @param event packet 9402 * @return media_type 9403 * @note: btstack_type 1 9404 */ 9405 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9406 return event[8]; 9407 } 9408 /** 9409 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9410 * @param event packet 9411 * @return version 9412 * @note: btstack_type 1 9413 */ 9414 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9415 return event[9]; 9416 } 9417 /** 9418 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9419 * @param event packet 9420 * @return channel_mode 9421 * @note: btstack_type 1 9422 */ 9423 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9424 return event[10]; 9425 } 9426 /** 9427 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9428 * @param event packet 9429 * @return num_channels 9430 * @note: btstack_type 1 9431 */ 9432 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9433 return event[11]; 9434 } 9435 /** 9436 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9437 * @param event packet 9438 * @return sampling_frequency 9439 * @note: btstack_type 2 9440 */ 9441 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9442 return little_endian_read_16(event, 12); 9443 } 9444 /** 9445 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9446 * @param event packet 9447 * @return vbr 9448 * @note: btstack_type 1 9449 */ 9450 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9451 return event[14]; 9452 } 9453 /** 9454 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9455 * @param event packet 9456 * @return bit_rate_index 9457 * @note: btstack_type 1 9458 */ 9459 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9460 return event[15]; 9461 } 9462 /** 9463 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9464 * @param event packet 9465 * @return maximum_sul 9466 * @note: btstack_type 2 9467 */ 9468 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9469 return little_endian_read_16(event, 16); 9470 } 9471 9472 /** 9473 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9474 * @param event packet 9475 * @return a2dp_cid 9476 * @note: btstack_type 2 9477 */ 9478 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 9479 return little_endian_read_16(event, 3); 9480 } 9481 /** 9482 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9483 * @param event packet 9484 * @return local_seid 9485 * @note: btstack_type 1 9486 */ 9487 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9488 return event[5]; 9489 } 9490 /** 9491 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9492 * @param event packet 9493 * @return remote_seid 9494 * @note: btstack_type 1 9495 */ 9496 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9497 return event[6]; 9498 } 9499 /** 9500 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9501 * @param event packet 9502 * @return reconfigure 9503 * @note: btstack_type 1 9504 */ 9505 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9506 return event[7]; 9507 } 9508 /** 9509 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9510 * @param event packet 9511 * @return media_type 9512 * @note: btstack_type 1 9513 */ 9514 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9515 return event[8]; 9516 } 9517 /** 9518 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9519 * @param event packet 9520 * @return media_codec_type 9521 * @note: btstack_type 2 9522 */ 9523 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9524 return little_endian_read_16(event, 9); 9525 } 9526 /** 9527 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9528 * @param event packet 9529 * @return media_codec_information_len 9530 * @note: btstack_type L 9531 */ 9532 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9533 return little_endian_read_16(event, 11); 9534 } 9535 /** 9536 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9537 * @param event packet 9538 * @return media_codec_information 9539 * @note: btstack_type V 9540 */ 9541 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9542 return &event[13]; 9543 } 9544 9545 /** 9546 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9547 * @param event packet 9548 * @return a2dp_cid 9549 * @note: btstack_type 2 9550 */ 9551 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 9552 return little_endian_read_16(event, 3); 9553 } 9554 /** 9555 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9556 * @param event packet 9557 * @param Pointer to storage for bd_addr 9558 * @note: btstack_type B 9559 */ 9560 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9561 reverse_bytes(&event[5], bd_addr, 6); 9562 } 9563 /** 9564 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9565 * @param event packet 9566 * @return local_seid 9567 * @note: btstack_type 1 9568 */ 9569 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 9570 return event[11]; 9571 } 9572 /** 9573 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9574 * @param event packet 9575 * @return remote_seid 9576 * @note: btstack_type 1 9577 */ 9578 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 9579 return event[12]; 9580 } 9581 /** 9582 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9583 * @param event packet 9584 * @return status 9585 * @note: btstack_type 1 9586 */ 9587 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 9588 return event[13]; 9589 } 9590 9591 /** 9592 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9593 * @param event packet 9594 * @return a2dp_cid 9595 * @note: btstack_type 2 9596 */ 9597 static inline uint16_t a2dp_subevent_start_stream_requested_get_a2dp_cid(const uint8_t * event){ 9598 return little_endian_read_16(event, 3); 9599 } 9600 /** 9601 * @brief Get field local_seid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9602 * @param event packet 9603 * @return local_seid 9604 * @note: btstack_type 1 9605 */ 9606 static inline uint8_t a2dp_subevent_start_stream_requested_get_local_seid(const uint8_t * event){ 9607 return event[5]; 9608 } 9609 9610 /** 9611 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 9612 * @param event packet 9613 * @return a2dp_cid 9614 * @note: btstack_type 2 9615 */ 9616 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 9617 return little_endian_read_16(event, 3); 9618 } 9619 /** 9620 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 9621 * @param event packet 9622 * @return local_seid 9623 * @note: btstack_type 1 9624 */ 9625 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 9626 return event[5]; 9627 } 9628 9629 /** 9630 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9631 * @param event packet 9632 * @return a2dp_cid 9633 * @note: btstack_type 2 9634 */ 9635 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 9636 return little_endian_read_16(event, 3); 9637 } 9638 /** 9639 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9640 * @param event packet 9641 * @return local_seid 9642 * @note: btstack_type 1 9643 */ 9644 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 9645 return event[5]; 9646 } 9647 9648 /** 9649 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 9650 * @param event packet 9651 * @return a2dp_cid 9652 * @note: btstack_type 2 9653 */ 9654 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 9655 return little_endian_read_16(event, 3); 9656 } 9657 /** 9658 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 9659 * @param event packet 9660 * @return local_seid 9661 * @note: btstack_type 1 9662 */ 9663 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 9664 return event[5]; 9665 } 9666 9667 /** 9668 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 9669 * @param event packet 9670 * @return a2dp_cid 9671 * @note: btstack_type 2 9672 */ 9673 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 9674 return little_endian_read_16(event, 3); 9675 } 9676 /** 9677 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 9678 * @param event packet 9679 * @return local_seid 9680 * @note: btstack_type 1 9681 */ 9682 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 9683 return event[5]; 9684 } 9685 9686 /** 9687 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9688 * @param event packet 9689 * @return a2dp_cid 9690 * @note: btstack_type 2 9691 */ 9692 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 9693 return little_endian_read_16(event, 3); 9694 } 9695 /** 9696 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9697 * @param event packet 9698 * @return local_seid 9699 * @note: btstack_type 1 9700 */ 9701 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 9702 return event[5]; 9703 } 9704 /** 9705 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9706 * @param event packet 9707 * @return signal_identifier 9708 * @note: btstack_type 1 9709 */ 9710 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 9711 return event[6]; 9712 } 9713 9714 /** 9715 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 9716 * @param event packet 9717 * @return a2dp_cid 9718 * @note: btstack_type 2 9719 */ 9720 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 9721 return little_endian_read_16(event, 3); 9722 } 9723 /** 9724 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 9725 * @param event packet 9726 * @return local_seid 9727 * @note: btstack_type 1 9728 */ 9729 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 9730 return event[5]; 9731 } 9732 /** 9733 * @brief Get field is_initiator from event A2DP_SUBEVENT_COMMAND_REJECTED 9734 * @param event packet 9735 * @return is_initiator 9736 * @note: btstack_type 1 9737 */ 9738 static inline uint8_t a2dp_subevent_command_rejected_get_is_initiator(const uint8_t * event){ 9739 return event[6]; 9740 } 9741 /** 9742 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 9743 * @param event packet 9744 * @return signal_identifier 9745 * @note: btstack_type 1 9746 */ 9747 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 9748 return event[7]; 9749 } 9750 9751 /** 9752 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9753 * @param event packet 9754 * @return a2dp_cid 9755 * @note: btstack_type 2 9756 */ 9757 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 9758 return little_endian_read_16(event, 3); 9759 } 9760 /** 9761 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9762 * @param event packet 9763 * @param Pointer to storage for bd_addr 9764 * @note: btstack_type B 9765 */ 9766 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9767 reverse_bytes(&event[5], bd_addr, 6); 9768 } 9769 /** 9770 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9771 * @param event packet 9772 * @return con_handle 9773 * @note: btstack_type 2 9774 */ 9775 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 9776 return little_endian_read_16(event, 11); 9777 } 9778 /** 9779 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9780 * @param event packet 9781 * @return status 9782 * @note: btstack_type 1 9783 */ 9784 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 9785 return event[13]; 9786 } 9787 9788 /** 9789 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 9790 * @param event packet 9791 * @return a2dp_cid 9792 * @note: btstack_type 2 9793 */ 9794 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 9795 return little_endian_read_16(event, 3); 9796 } 9797 9798 /** 9799 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9800 * @param event packet 9801 * @return a2dp_cid 9802 * @note: btstack_type 2 9803 */ 9804 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 9805 return little_endian_read_16(event, 3); 9806 } 9807 /** 9808 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9809 * @param event packet 9810 * @return local_seid 9811 * @note: btstack_type 1 9812 */ 9813 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 9814 return event[5]; 9815 } 9816 /** 9817 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9818 * @param event packet 9819 * @return status 9820 * @note: btstack_type 1 9821 */ 9822 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 9823 return event[6]; 9824 } 9825 9826 /** 9827 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9828 * @param event packet 9829 * @return a2dp_cid 9830 * @note: btstack_type 2 9831 */ 9832 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_a2dp_cid(const uint8_t * event){ 9833 return little_endian_read_16(event, 3); 9834 } 9835 /** 9836 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9837 * @param event packet 9838 * @return remote_seid 9839 * @note: btstack_type 1 9840 */ 9841 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 9842 return event[5]; 9843 } 9844 /** 9845 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9846 * @param event packet 9847 * @return media_type 9848 * @note: btstack_type 1 9849 */ 9850 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 9851 return event[6]; 9852 } 9853 /** 9854 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9855 * @param event packet 9856 * @return sampling_frequency_bitmap 9857 * @note: btstack_type 1 9858 */ 9859 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9860 return event[7]; 9861 } 9862 /** 9863 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9864 * @param event packet 9865 * @return channel_mode_bitmap 9866 * @note: btstack_type 1 9867 */ 9868 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 9869 return event[8]; 9870 } 9871 /** 9872 * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9873 * @param event packet 9874 * @return block_length_bitmap 9875 * @note: btstack_type 1 9876 */ 9877 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 9878 return event[9]; 9879 } 9880 /** 9881 * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9882 * @param event packet 9883 * @return subbands_bitmap 9884 * @note: btstack_type 1 9885 */ 9886 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 9887 return event[10]; 9888 } 9889 /** 9890 * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9891 * @param event packet 9892 * @return allocation_method_bitmap 9893 * @note: btstack_type 1 9894 */ 9895 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 9896 return event[11]; 9897 } 9898 /** 9899 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9900 * @param event packet 9901 * @return min_bitpool_value 9902 * @note: btstack_type 1 9903 */ 9904 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 9905 return event[12]; 9906 } 9907 /** 9908 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9909 * @param event packet 9910 * @return max_bitpool_value 9911 * @note: btstack_type 1 9912 */ 9913 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 9914 return event[13]; 9915 } 9916 9917 /** 9918 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9919 * @param event packet 9920 * @return a2dp_cid 9921 * @note: btstack_type 2 9922 */ 9923 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_a2dp_cid(const uint8_t * event){ 9924 return little_endian_read_16(event, 3); 9925 } 9926 /** 9927 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9928 * @param event packet 9929 * @return remote_seid 9930 * @note: btstack_type 1 9931 */ 9932 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 9933 return event[5]; 9934 } 9935 /** 9936 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9937 * @param event packet 9938 * @return media_type 9939 * @note: btstack_type 1 9940 */ 9941 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 9942 return event[6]; 9943 } 9944 /** 9945 * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9946 * @param event packet 9947 * @return layer_bitmap 9948 * @note: btstack_type 1 9949 */ 9950 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 9951 return event[7]; 9952 } 9953 /** 9954 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9955 * @param event packet 9956 * @return crc 9957 * @note: btstack_type 1 9958 */ 9959 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 9960 return event[8]; 9961 } 9962 /** 9963 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9964 * @param event packet 9965 * @return channel_mode_bitmap 9966 * @note: btstack_type 1 9967 */ 9968 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 9969 return event[9]; 9970 } 9971 /** 9972 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9973 * @param event packet 9974 * @return media_payload_format 9975 * @note: btstack_type 1 9976 */ 9977 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 9978 return event[10]; 9979 } 9980 /** 9981 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9982 * @param event packet 9983 * @return sampling_frequency_bitmap 9984 * @note: btstack_type 1 9985 */ 9986 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9987 return event[11]; 9988 } 9989 /** 9990 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9991 * @param event packet 9992 * @return vbr 9993 * @note: btstack_type 1 9994 */ 9995 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 9996 return event[12]; 9997 } 9998 /** 9999 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10000 * @param event packet 10001 * @return bit_rate_index_bitmap 10002 * @note: btstack_type 2 10003 */ 10004 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10005 return little_endian_read_16(event, 13); 10006 } 10007 10008 /** 10009 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10010 * @param event packet 10011 * @return a2dp_cid 10012 * @note: btstack_type 2 10013 */ 10014 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_a2dp_cid(const uint8_t * event){ 10015 return little_endian_read_16(event, 3); 10016 } 10017 /** 10018 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10019 * @param event packet 10020 * @return remote_seid 10021 * @note: btstack_type 1 10022 */ 10023 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 10024 return event[5]; 10025 } 10026 /** 10027 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10028 * @param event packet 10029 * @return media_type 10030 * @note: btstack_type 1 10031 */ 10032 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 10033 return event[6]; 10034 } 10035 /** 10036 * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10037 * @param event packet 10038 * @return object_type_bitmap 10039 * @note: btstack_type 1 10040 */ 10041 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 10042 return event[7]; 10043 } 10044 /** 10045 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10046 * @param event packet 10047 * @return sampling_frequency_bitmap 10048 * @note: btstack_type 2 10049 */ 10050 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10051 return little_endian_read_16(event, 8); 10052 } 10053 /** 10054 * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10055 * @param event packet 10056 * @return channels_bitmap 10057 * @note: btstack_type 1 10058 */ 10059 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 10060 return event[10]; 10061 } 10062 /** 10063 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10064 * @param event packet 10065 * @return bit_rate 10066 * @note: btstack_type 3 10067 */ 10068 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 10069 return little_endian_read_24(event, 11); 10070 } 10071 /** 10072 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10073 * @param event packet 10074 * @return vbr 10075 * @note: btstack_type 1 10076 */ 10077 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 10078 return event[14]; 10079 } 10080 10081 /** 10082 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10083 * @param event packet 10084 * @return a2dp_cid 10085 * @note: btstack_type 2 10086 */ 10087 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_a2dp_cid(const uint8_t * event){ 10088 return little_endian_read_16(event, 3); 10089 } 10090 /** 10091 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10092 * @param event packet 10093 * @return remote_seid 10094 * @note: btstack_type 1 10095 */ 10096 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 10097 return event[5]; 10098 } 10099 /** 10100 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10101 * @param event packet 10102 * @return media_type 10103 * @note: btstack_type 1 10104 */ 10105 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 10106 return event[6]; 10107 } 10108 /** 10109 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10110 * @param event packet 10111 * @return version 10112 * @note: btstack_type 1 10113 */ 10114 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 10115 return event[7]; 10116 } 10117 /** 10118 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10119 * @param event packet 10120 * @return channel_mode_bitmap 10121 * @note: btstack_type 1 10122 */ 10123 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 10124 return event[8]; 10125 } 10126 /** 10127 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10128 * @param event packet 10129 * @return sampling_frequency_bitmap 10130 * @note: btstack_type 1 10131 */ 10132 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10133 return event[9]; 10134 } 10135 /** 10136 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10137 * @param event packet 10138 * @return vbr 10139 * @note: btstack_type 1 10140 */ 10141 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 10142 return event[10]; 10143 } 10144 /** 10145 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10146 * @param event packet 10147 * @return bit_rate_index_bitmap 10148 * @note: btstack_type 3 10149 */ 10150 static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10151 return little_endian_read_24(event, 11); 10152 } 10153 /** 10154 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10155 * @param event packet 10156 * @return maximum_sul 10157 * @note: btstack_type 2 10158 */ 10159 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 10160 return little_endian_read_16(event, 14); 10161 } 10162 10163 /** 10164 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10165 * @param event packet 10166 * @return a2dp_cid 10167 * @note: btstack_type 2 10168 */ 10169 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_a2dp_cid(const uint8_t * event){ 10170 return little_endian_read_16(event, 3); 10171 } 10172 /** 10173 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10174 * @param event packet 10175 * @return remote_seid 10176 * @note: btstack_type 1 10177 */ 10178 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 10179 return event[5]; 10180 } 10181 /** 10182 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10183 * @param event packet 10184 * @return media_type 10185 * @note: btstack_type 1 10186 */ 10187 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 10188 return event[6]; 10189 } 10190 /** 10191 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10192 * @param event packet 10193 * @return media_codec_type 10194 * @note: btstack_type 2 10195 */ 10196 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 10197 return little_endian_read_16(event, 7); 10198 } 10199 /** 10200 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10201 * @param event packet 10202 * @return media_codec_information_len 10203 * @note: btstack_type L 10204 */ 10205 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 10206 return little_endian_read_16(event, 9); 10207 } 10208 /** 10209 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10210 * @param event packet 10211 * @return media_codec_information 10212 * @note: btstack_type V 10213 */ 10214 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 10215 return &event[11]; 10216 } 10217 10218 /** 10219 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10220 * @param event packet 10221 * @return a2dp_cid 10222 * @note: btstack_type 2 10223 */ 10224 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_a2dp_cid(const uint8_t * event){ 10225 return little_endian_read_16(event, 3); 10226 } 10227 /** 10228 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10229 * @param event packet 10230 * @return remote_seid 10231 * @note: btstack_type 1 10232 */ 10233 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 10234 return event[5]; 10235 } 10236 10237 /** 10238 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10239 * @param event packet 10240 * @return a2dp_cid 10241 * @note: btstack_type 2 10242 */ 10243 static inline uint16_t a2dp_subevent_signaling_delay_report_get_a2dp_cid(const uint8_t * event){ 10244 return little_endian_read_16(event, 3); 10245 } 10246 /** 10247 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10248 * @param event packet 10249 * @return local_seid 10250 * @note: btstack_type 1 10251 */ 10252 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 10253 return event[5]; 10254 } 10255 /** 10256 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10257 * @param event packet 10258 * @return delay_100us 10259 * @note: btstack_type 2 10260 */ 10261 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 10262 return little_endian_read_16(event, 6); 10263 } 10264 10265 /** 10266 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10267 * @param event packet 10268 * @return a2dp_cid 10269 * @note: btstack_type 2 10270 */ 10271 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_a2dp_cid(const uint8_t * event){ 10272 return little_endian_read_16(event, 3); 10273 } 10274 /** 10275 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10276 * @param event packet 10277 * @return remote_seid 10278 * @note: btstack_type 1 10279 */ 10280 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 10281 return event[5]; 10282 } 10283 10284 /** 10285 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 10286 * @param event packet 10287 * @return a2dp_cid 10288 * @note: btstack_type 2 10289 */ 10290 static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_a2dp_cid(const uint8_t * event){ 10291 return little_endian_read_16(event, 3); 10292 } 10293 10294 /** 10295 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10296 * @param event packet 10297 * @return avrcp_cid 10298 * @note: btstack_type 2 10299 */ 10300 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 10301 return little_endian_read_16(event, 3); 10302 } 10303 /** 10304 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10305 * @param event packet 10306 * @return command_type 10307 * @note: btstack_type 1 10308 */ 10309 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 10310 return event[5]; 10311 } 10312 /** 10313 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10314 * @param event packet 10315 * @return play_status 10316 * @note: btstack_type 1 10317 */ 10318 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 10319 return event[6]; 10320 } 10321 10322 /** 10323 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10324 * @param event packet 10325 * @return avrcp_cid 10326 * @note: btstack_type 2 10327 */ 10328 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 10329 return little_endian_read_16(event, 3); 10330 } 10331 /** 10332 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10333 * @param event packet 10334 * @return command_type 10335 * @note: btstack_type 1 10336 */ 10337 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 10338 return event[5]; 10339 } 10340 10341 /** 10342 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10343 * @param event packet 10344 * @return avrcp_cid 10345 * @note: btstack_type 2 10346 */ 10347 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 10348 return little_endian_read_16(event, 3); 10349 } 10350 /** 10351 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10352 * @param event packet 10353 * @return command_type 10354 * @note: btstack_type 1 10355 */ 10356 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 10357 return event[5]; 10358 } 10359 10360 /** 10361 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10362 * @param event packet 10363 * @return avrcp_cid 10364 * @note: btstack_type 2 10365 */ 10366 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){ 10367 return little_endian_read_16(event, 3); 10368 } 10369 /** 10370 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10371 * @param event packet 10372 * @return command_type 10373 * @note: btstack_type 1 10374 */ 10375 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 10376 return event[5]; 10377 } 10378 10379 /** 10380 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10381 * @param event packet 10382 * @return avrcp_cid 10383 * @note: btstack_type 2 10384 */ 10385 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 10386 return little_endian_read_16(event, 3); 10387 } 10388 /** 10389 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10390 * @param event packet 10391 * @return command_type 10392 * @note: btstack_type 1 10393 */ 10394 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 10395 return event[5]; 10396 } 10397 /** 10398 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10399 * @param event packet 10400 * @return playback_position 10401 * @note: btstack_type 4 10402 */ 10403 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 10404 return little_endian_read_32(event, 6); 10405 } 10406 10407 /** 10408 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10409 * @param event packet 10410 * @return avrcp_cid 10411 * @note: btstack_type 2 10412 */ 10413 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 10414 return little_endian_read_16(event, 3); 10415 } 10416 /** 10417 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10418 * @param event packet 10419 * @return command_type 10420 * @note: btstack_type 1 10421 */ 10422 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 10423 return event[5]; 10424 } 10425 /** 10426 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10427 * @param event packet 10428 * @return battery_status 10429 * @note: btstack_type 1 10430 */ 10431 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 10432 return event[6]; 10433 } 10434 10435 /** 10436 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10437 * @param event packet 10438 * @return avrcp_cid 10439 * @note: btstack_type 2 10440 */ 10441 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 10442 return little_endian_read_16(event, 3); 10443 } 10444 /** 10445 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10446 * @param event packet 10447 * @return command_type 10448 * @note: btstack_type 1 10449 */ 10450 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 10451 return event[5]; 10452 } 10453 /** 10454 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10455 * @param event packet 10456 * @return system_status 10457 * @note: btstack_type 1 10458 */ 10459 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 10460 return event[6]; 10461 } 10462 10463 /** 10464 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10465 * @param event packet 10466 * @return avrcp_cid 10467 * @note: btstack_type 2 10468 */ 10469 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 10470 return little_endian_read_16(event, 3); 10471 } 10472 /** 10473 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10474 * @param event packet 10475 * @return command_type 10476 * @note: btstack_type 1 10477 */ 10478 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 10479 return event[5]; 10480 } 10481 10482 /** 10483 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10484 * @param event packet 10485 * @return avrcp_cid 10486 * @note: btstack_type 2 10487 */ 10488 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 10489 return little_endian_read_16(event, 3); 10490 } 10491 /** 10492 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10493 * @param event packet 10494 * @return command_type 10495 * @note: btstack_type 1 10496 */ 10497 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 10498 return event[5]; 10499 } 10500 10501 /** 10502 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10503 * @param event packet 10504 * @return avrcp_cid 10505 * @note: btstack_type 2 10506 */ 10507 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 10508 return little_endian_read_16(event, 3); 10509 } 10510 /** 10511 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10512 * @param event packet 10513 * @return command_type 10514 * @note: btstack_type 1 10515 */ 10516 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 10517 return event[5]; 10518 } 10519 /** 10520 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10521 * @param event packet 10522 * @return uid_counter 10523 * @note: btstack_type 2 10524 */ 10525 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 10526 return little_endian_read_16(event, 6); 10527 } 10528 10529 /** 10530 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10531 * @param event packet 10532 * @return avrcp_cid 10533 * @note: btstack_type 2 10534 */ 10535 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 10536 return little_endian_read_16(event, 3); 10537 } 10538 /** 10539 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10540 * @param event packet 10541 * @return command_type 10542 * @note: btstack_type 1 10543 */ 10544 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 10545 return event[5]; 10546 } 10547 /** 10548 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10549 * @param event packet 10550 * @return absolute_volume 10551 * @note: btstack_type 1 10552 */ 10553 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 10554 return event[6]; 10555 } 10556 10557 /** 10558 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10559 * @param event packet 10560 * @return avrcp_cid 10561 * @note: btstack_type 2 10562 */ 10563 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 10564 return little_endian_read_16(event, 3); 10565 } 10566 /** 10567 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10568 * @param event packet 10569 * @return command_type 10570 * @note: btstack_type 1 10571 */ 10572 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 10573 return event[5]; 10574 } 10575 /** 10576 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10577 * @param event packet 10578 * @return absolute_volume 10579 * @note: btstack_type 1 10580 */ 10581 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 10582 return event[6]; 10583 } 10584 10585 /** 10586 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10587 * @param event packet 10588 * @return avrcp_cid 10589 * @note: btstack_type 2 10590 */ 10591 static inline uint16_t avrcp_subevent_notification_state_get_avrcp_cid(const uint8_t * event){ 10592 return little_endian_read_16(event, 3); 10593 } 10594 /** 10595 * @brief Get field status from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10596 * @param event packet 10597 * @return status 10598 * @note: btstack_type 1 10599 */ 10600 static inline uint8_t avrcp_subevent_notification_state_get_status(const uint8_t * event){ 10601 return event[5]; 10602 } 10603 /** 10604 * @brief Get field enabled from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10605 * @param event packet 10606 * @return enabled 10607 * @note: btstack_type 1 10608 */ 10609 static inline uint8_t avrcp_subevent_notification_state_get_enabled(const uint8_t * event){ 10610 return event[6]; 10611 } 10612 /** 10613 * @brief Get field event_id from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10614 * @param event packet 10615 * @return event_id 10616 * @note: btstack_type 1 10617 */ 10618 static inline uint8_t avrcp_subevent_notification_state_get_event_id(const uint8_t * event){ 10619 return event[7]; 10620 } 10621 10622 /** 10623 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10624 * @param event packet 10625 * @return status 10626 * @note: btstack_type 1 10627 */ 10628 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 10629 return event[3]; 10630 } 10631 /** 10632 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10633 * @param event packet 10634 * @return avrcp_cid 10635 * @note: btstack_type 2 10636 */ 10637 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 10638 return little_endian_read_16(event, 4); 10639 } 10640 /** 10641 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10642 * @param event packet 10643 * @param Pointer to storage for bd_addr 10644 * @note: btstack_type B 10645 */ 10646 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10647 reverse_bytes(&event[6], bd_addr, 6); 10648 } 10649 /** 10650 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10651 * @param event packet 10652 * @return con_handle 10653 * @note: btstack_type 2 10654 */ 10655 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 10656 return little_endian_read_16(event, 12); 10657 } 10658 10659 /** 10660 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 10661 * @param event packet 10662 * @return avrcp_cid 10663 * @note: btstack_type 2 10664 */ 10665 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 10666 return little_endian_read_16(event, 3); 10667 } 10668 10669 /** 10670 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10671 * @param event packet 10672 * @return avrcp_cid 10673 * @note: btstack_type 2 10674 */ 10675 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 10676 return little_endian_read_16(event, 3); 10677 } 10678 /** 10679 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10680 * @param event packet 10681 * @return command_type 10682 * @note: btstack_type 1 10683 */ 10684 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 10685 return event[5]; 10686 } 10687 /** 10688 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10689 * @param event packet 10690 * @return repeat_mode 10691 * @note: btstack_type 1 10692 */ 10693 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 10694 return event[6]; 10695 } 10696 /** 10697 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10698 * @param event packet 10699 * @return shuffle_mode 10700 * @note: btstack_type 1 10701 */ 10702 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 10703 return event[7]; 10704 } 10705 10706 /** 10707 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 10708 * @param event packet 10709 * @return avrcp_cid 10710 * @note: btstack_type 2 10711 */ 10712 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 10713 return little_endian_read_16(event, 3); 10714 } 10715 /** 10716 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 10717 * @param event packet 10718 * @return command_type 10719 * @note: btstack_type 1 10720 */ 10721 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 10722 return event[5]; 10723 } 10724 /** 10725 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 10726 * @param event packet 10727 * @return song_length 10728 * @note: btstack_type 4 10729 */ 10730 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 10731 return little_endian_read_32(event, 6); 10732 } 10733 /** 10734 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 10735 * @param event packet 10736 * @return song_position 10737 * @note: btstack_type 4 10738 */ 10739 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 10740 return little_endian_read_32(event, 10); 10741 } 10742 /** 10743 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 10744 * @param event packet 10745 * @return play_status 10746 * @note: btstack_type 1 10747 */ 10748 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 10749 return event[14]; 10750 } 10751 10752 /** 10753 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 10754 * @param event packet 10755 * @return avrcp_cid 10756 * @note: btstack_type 2 10757 */ 10758 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 10759 return little_endian_read_16(event, 3); 10760 } 10761 /** 10762 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 10763 * @param event packet 10764 * @return command_type 10765 * @note: btstack_type 1 10766 */ 10767 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 10768 return event[5]; 10769 } 10770 /** 10771 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 10772 * @param event packet 10773 * @return operation_id 10774 * @note: btstack_type 1 10775 */ 10776 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 10777 return event[6]; 10778 } 10779 10780 /** 10781 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10782 * @param event packet 10783 * @return avrcp_cid 10784 * @note: btstack_type 2 10785 */ 10786 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 10787 return little_endian_read_16(event, 3); 10788 } 10789 /** 10790 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10791 * @param event packet 10792 * @return command_type 10793 * @note: btstack_type 1 10794 */ 10795 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 10796 return event[5]; 10797 } 10798 /** 10799 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10800 * @param event packet 10801 * @return operation_id 10802 * @note: btstack_type 1 10803 */ 10804 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 10805 return event[6]; 10806 } 10807 10808 /** 10809 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 10810 * @param event packet 10811 * @return avrcp_cid 10812 * @note: btstack_type 2 10813 */ 10814 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 10815 return little_endian_read_16(event, 3); 10816 } 10817 /** 10818 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 10819 * @param event packet 10820 * @return command_type 10821 * @note: btstack_type 1 10822 */ 10823 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 10824 return event[5]; 10825 } 10826 10827 /** 10828 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 10829 * @param event packet 10830 * @return avrcp_cid 10831 * @note: btstack_type 2 10832 */ 10833 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 10834 return little_endian_read_16(event, 3); 10835 } 10836 10837 /** 10838 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 10839 * @param event packet 10840 * @return avrcp_cid 10841 * @note: btstack_type 2 10842 */ 10843 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 10844 return little_endian_read_16(event, 3); 10845 } 10846 /** 10847 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 10848 * @param event packet 10849 * @return operation_id 10850 * @note: btstack_type 1 10851 */ 10852 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 10853 return event[5]; 10854 } 10855 /** 10856 * @brief Get field button_pressed from event AVRCP_SUBEVENT_OPERATION 10857 * @param event packet 10858 * @return button_pressed 10859 * @note: btstack_type 1 10860 */ 10861 static inline uint8_t avrcp_subevent_operation_get_button_pressed(const uint8_t * event){ 10862 return event[6]; 10863 } 10864 /** 10865 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 10866 * @param event packet 10867 * @return operands_length 10868 * @note: btstack_type 1 10869 */ 10870 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 10871 return event[7]; 10872 } 10873 /** 10874 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 10875 * @param event packet 10876 * @return operand 10877 * @note: btstack_type 1 10878 */ 10879 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 10880 return event[8]; 10881 } 10882 10883 /** 10884 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 10885 * @param event packet 10886 * @return avrcp_cid 10887 * @note: btstack_type 2 10888 */ 10889 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 10890 return little_endian_read_16(event, 3); 10891 } 10892 /** 10893 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 10894 * @param event packet 10895 * @return command_type 10896 * @note: btstack_type 1 10897 */ 10898 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 10899 return event[5]; 10900 } 10901 /** 10902 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 10903 * @param event packet 10904 * @return track 10905 * @note: btstack_type 1 10906 */ 10907 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 10908 return event[6]; 10909 } 10910 10911 /** 10912 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 10913 * @param event packet 10914 * @return avrcp_cid 10915 * @note: btstack_type 2 10916 */ 10917 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 10918 return little_endian_read_16(event, 3); 10919 } 10920 /** 10921 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 10922 * @param event packet 10923 * @return command_type 10924 * @note: btstack_type 1 10925 */ 10926 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 10927 return event[5]; 10928 } 10929 /** 10930 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 10931 * @param event packet 10932 * @return total_tracks 10933 * @note: btstack_type 1 10934 */ 10935 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 10936 return event[6]; 10937 } 10938 10939 /** 10940 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 10941 * @param event packet 10942 * @return avrcp_cid 10943 * @note: btstack_type 2 10944 */ 10945 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 10946 return little_endian_read_16(event, 3); 10947 } 10948 /** 10949 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 10950 * @param event packet 10951 * @return command_type 10952 * @note: btstack_type 1 10953 */ 10954 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 10955 return event[5]; 10956 } 10957 /** 10958 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 10959 * @param event packet 10960 * @return song_length 10961 * @note: btstack_type 4 10962 */ 10963 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 10964 return little_endian_read_32(event, 6); 10965 } 10966 10967 /** 10968 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10969 * @param event packet 10970 * @return avrcp_cid 10971 * @note: btstack_type 2 10972 */ 10973 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 10974 return little_endian_read_16(event, 3); 10975 } 10976 /** 10977 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10978 * @param event packet 10979 * @return command_type 10980 * @note: btstack_type 1 10981 */ 10982 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 10983 return event[5]; 10984 } 10985 /** 10986 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10987 * @param event packet 10988 * @return value_len 10989 * @note: btstack_type J 10990 */ 10991 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 10992 return event[6]; 10993 } 10994 /** 10995 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10996 * @param event packet 10997 * @return value 10998 * @note: btstack_type V 10999 */ 11000 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 11001 return &event[7]; 11002 } 11003 11004 /** 11005 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11006 * @param event packet 11007 * @return avrcp_cid 11008 * @note: btstack_type 2 11009 */ 11010 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 11011 return little_endian_read_16(event, 3); 11012 } 11013 /** 11014 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11015 * @param event packet 11016 * @return command_type 11017 * @note: btstack_type 1 11018 */ 11019 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 11020 return event[5]; 11021 } 11022 /** 11023 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11024 * @param event packet 11025 * @return value_len 11026 * @note: btstack_type J 11027 */ 11028 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 11029 return event[6]; 11030 } 11031 /** 11032 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11033 * @param event packet 11034 * @return value 11035 * @note: btstack_type V 11036 */ 11037 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 11038 return &event[7]; 11039 } 11040 11041 /** 11042 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11043 * @param event packet 11044 * @return avrcp_cid 11045 * @note: btstack_type 2 11046 */ 11047 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 11048 return little_endian_read_16(event, 3); 11049 } 11050 /** 11051 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11052 * @param event packet 11053 * @return command_type 11054 * @note: btstack_type 1 11055 */ 11056 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 11057 return event[5]; 11058 } 11059 /** 11060 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11061 * @param event packet 11062 * @return value_len 11063 * @note: btstack_type J 11064 */ 11065 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 11066 return event[6]; 11067 } 11068 /** 11069 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11070 * @param event packet 11071 * @return value 11072 * @note: btstack_type V 11073 */ 11074 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 11075 return &event[7]; 11076 } 11077 11078 /** 11079 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11080 * @param event packet 11081 * @return avrcp_cid 11082 * @note: btstack_type 2 11083 */ 11084 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 11085 return little_endian_read_16(event, 3); 11086 } 11087 /** 11088 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11089 * @param event packet 11090 * @return command_type 11091 * @note: btstack_type 1 11092 */ 11093 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 11094 return event[5]; 11095 } 11096 /** 11097 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11098 * @param event packet 11099 * @return value_len 11100 * @note: btstack_type J 11101 */ 11102 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 11103 return event[6]; 11104 } 11105 /** 11106 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11107 * @param event packet 11108 * @return value 11109 * @note: btstack_type V 11110 */ 11111 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 11112 return &event[7]; 11113 } 11114 11115 /** 11116 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11117 * @param event packet 11118 * @return avrcp_cid 11119 * @note: btstack_type 2 11120 */ 11121 static inline uint16_t avrcp_subevent_now_playing_cover_art_info_get_avrcp_cid(const uint8_t * event){ 11122 return little_endian_read_16(event, 3); 11123 } 11124 /** 11125 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11126 * @param event packet 11127 * @return command_type 11128 * @note: btstack_type 1 11129 */ 11130 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_command_type(const uint8_t * event){ 11131 return event[5]; 11132 } 11133 /** 11134 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11135 * @param event packet 11136 * @return value_len 11137 * @note: btstack_type J 11138 */ 11139 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_value_len(const uint8_t * event){ 11140 return event[6]; 11141 } 11142 /** 11143 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11144 * @param event packet 11145 * @return value 11146 * @note: btstack_type V 11147 */ 11148 static inline const uint8_t * avrcp_subevent_now_playing_cover_art_info_get_value(const uint8_t * event){ 11149 return &event[7]; 11150 } 11151 11152 /** 11153 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11154 * @param event packet 11155 * @return avrcp_cid 11156 * @note: btstack_type 2 11157 */ 11158 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 11159 return little_endian_read_16(event, 3); 11160 } 11161 /** 11162 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11163 * @param event packet 11164 * @return command_type 11165 * @note: btstack_type 1 11166 */ 11167 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 11168 return event[5]; 11169 } 11170 /** 11171 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11172 * @param event packet 11173 * @return status 11174 * @note: btstack_type 1 11175 */ 11176 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 11177 return event[6]; 11178 } 11179 11180 /** 11181 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11182 * @param event packet 11183 * @return avrcp_cid 11184 * @note: btstack_type 2 11185 */ 11186 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 11187 return little_endian_read_16(event, 3); 11188 } 11189 /** 11190 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11191 * @param event packet 11192 * @return command_type 11193 * @note: btstack_type 1 11194 */ 11195 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 11196 return event[5]; 11197 } 11198 /** 11199 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11200 * @param event packet 11201 * @return playback_position_ms 11202 * @note: btstack_type 4 11203 */ 11204 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 11205 return little_endian_read_32(event, 6); 11206 } 11207 11208 /** 11209 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11210 * @param event packet 11211 * @return avrcp_cid 11212 * @note: btstack_type 2 11213 */ 11214 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 11215 return little_endian_read_16(event, 3); 11216 } 11217 /** 11218 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11219 * @param event packet 11220 * @return command_type 11221 * @note: btstack_type 1 11222 */ 11223 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 11224 return event[5]; 11225 } 11226 /** 11227 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11228 * @param event packet 11229 * @return status 11230 * @note: btstack_type 1 11231 */ 11232 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 11233 return event[6]; 11234 } 11235 /** 11236 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11237 * @param event packet 11238 * @return event_id 11239 * @note: btstack_type 1 11240 */ 11241 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 11242 return event[7]; 11243 } 11244 11245 /** 11246 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11247 * @param event packet 11248 * @return avrcp_cid 11249 * @note: btstack_type 2 11250 */ 11251 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){ 11252 return little_endian_read_16(event, 3); 11253 } 11254 /** 11255 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11256 * @param event packet 11257 * @return command_type 11258 * @note: btstack_type 1 11259 */ 11260 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 11261 return event[5]; 11262 } 11263 /** 11264 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11265 * @param event packet 11266 * @return status 11267 * @note: btstack_type 1 11268 */ 11269 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 11270 return event[6]; 11271 } 11272 11273 /** 11274 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11275 * @param event packet 11276 * @return avrcp_cid 11277 * @note: btstack_type 2 11278 */ 11279 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 11280 return little_endian_read_16(event, 3); 11281 } 11282 /** 11283 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11284 * @param event packet 11285 * @return command_type 11286 * @note: btstack_type 1 11287 */ 11288 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 11289 return event[5]; 11290 } 11291 /** 11292 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11293 * @param event packet 11294 * @return status 11295 * @note: btstack_type 1 11296 */ 11297 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 11298 return event[6]; 11299 } 11300 /** 11301 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11302 * @param event packet 11303 * @return company_id 11304 * @note: btstack_type 3 11305 */ 11306 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 11307 return little_endian_read_24(event, 7); 11308 } 11309 11310 /** 11311 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11312 * @param event packet 11313 * @return avrcp_cid 11314 * @note: btstack_type 2 11315 */ 11316 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){ 11317 return little_endian_read_16(event, 3); 11318 } 11319 /** 11320 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11321 * @param event packet 11322 * @return command_type 11323 * @note: btstack_type 1 11324 */ 11325 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 11326 return event[5]; 11327 } 11328 /** 11329 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11330 * @param event packet 11331 * @return status 11332 * @note: btstack_type 1 11333 */ 11334 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 11335 return event[6]; 11336 } 11337 11338 /** 11339 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11340 * @param event packet 11341 * @return avrcp_cid 11342 * @note: btstack_type 2 11343 */ 11344 static inline uint16_t avrcp_subevent_custom_command_response_get_avrcp_cid(const uint8_t * event){ 11345 return little_endian_read_16(event, 3); 11346 } 11347 /** 11348 * @brief Get field command_type from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11349 * @param event packet 11350 * @return command_type 11351 * @note: btstack_type 1 11352 */ 11353 static inline uint8_t avrcp_subevent_custom_command_response_get_command_type(const uint8_t * event){ 11354 return event[5]; 11355 } 11356 /** 11357 * @brief Get field pdu_id from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11358 * @param event packet 11359 * @return pdu_id 11360 * @note: btstack_type 1 11361 */ 11362 static inline uint8_t avrcp_subevent_custom_command_response_get_pdu_id(const uint8_t * event){ 11363 return event[6]; 11364 } 11365 /** 11366 * @brief Get field params_len from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11367 * @param event packet 11368 * @return params_len 11369 * @note: btstack_type L 11370 */ 11371 static inline uint16_t avrcp_subevent_custom_command_response_get_params_len(const uint8_t * event){ 11372 return little_endian_read_16(event, 7); 11373 } 11374 /** 11375 * @brief Get field params from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11376 * @param event packet 11377 * @return params 11378 * @note: btstack_type V 11379 */ 11380 static inline const uint8_t * avrcp_subevent_custom_command_response_get_params(const uint8_t * event){ 11381 return &event[9]; 11382 } 11383 11384 /** 11385 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11386 * @param event packet 11387 * @param Pointer to storage for bd_addr 11388 * @note: btstack_type B 11389 */ 11390 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11391 reverse_bytes(&event[3], bd_addr, 6); 11392 } 11393 /** 11394 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11395 * @param event packet 11396 * @return browsing_cid 11397 * @note: btstack_type 2 11398 */ 11399 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 11400 return little_endian_read_16(event, 9); 11401 } 11402 11403 /** 11404 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11405 * @param event packet 11406 * @return status 11407 * @note: btstack_type 1 11408 */ 11409 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 11410 return event[3]; 11411 } 11412 /** 11413 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11414 * @param event packet 11415 * @param Pointer to storage for bd_addr 11416 * @note: btstack_type B 11417 */ 11418 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11419 reverse_bytes(&event[4], bd_addr, 6); 11420 } 11421 /** 11422 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11423 * @param event packet 11424 * @return browsing_cid 11425 * @note: btstack_type 2 11426 */ 11427 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 11428 return little_endian_read_16(event, 10); 11429 } 11430 11431 /** 11432 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 11433 * @param event packet 11434 * @return browsing_cid 11435 * @note: btstack_type 2 11436 */ 11437 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 11438 return little_endian_read_16(event, 3); 11439 } 11440 11441 /** 11442 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 11443 * @param event packet 11444 * @return browsing_cid 11445 * @note: btstack_type 2 11446 */ 11447 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 11448 return little_endian_read_16(event, 3); 11449 } 11450 /** 11451 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 11452 * @param event packet 11453 * @return uid_counter 11454 * @note: btstack_type 2 11455 */ 11456 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 11457 return little_endian_read_16(event, 5); 11458 } 11459 /** 11460 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 11461 * @param event packet 11462 * @return browsing_status 11463 * @note: btstack_type 1 11464 */ 11465 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 11466 return event[7]; 11467 } 11468 /** 11469 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 11470 * @param event packet 11471 * @return bluetooth_status 11472 * @note: btstack_type 1 11473 */ 11474 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 11475 return event[8]; 11476 } 11477 11478 /** 11479 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11480 * @param event packet 11481 * @return browsing_cid 11482 * @note: btstack_type 2 11483 */ 11484 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 11485 return little_endian_read_16(event, 3); 11486 } 11487 /** 11488 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11489 * @param event packet 11490 * @return scope 11491 * @note: btstack_type 1 11492 */ 11493 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 11494 return event[5]; 11495 } 11496 /** 11497 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11498 * @param event packet 11499 * @return attr_bitmap 11500 * @note: btstack_type 4 11501 */ 11502 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 11503 return little_endian_read_32(event, 6); 11504 } 11505 11506 /** 11507 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11508 * @param event packet 11509 * @return browsing_cid 11510 * @note: btstack_type 2 11511 */ 11512 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 11513 return little_endian_read_16(event, 3); 11514 } 11515 /** 11516 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11517 * @param event packet 11518 * @return scope 11519 * @note: btstack_type 1 11520 */ 11521 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 11522 return event[5]; 11523 } 11524 11525 /** 11526 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11527 * @param event packet 11528 * @return browsing_cid 11529 * @note: btstack_type 2 11530 */ 11531 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_browsing_cid(const uint8_t * event){ 11532 return little_endian_read_16(event, 3); 11533 } 11534 /** 11535 * @brief Get field player_id from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11536 * @param event packet 11537 * @return player_id 11538 * @note: btstack_type 2 11539 */ 11540 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_player_id(const uint8_t * event){ 11541 return little_endian_read_16(event, 5); 11542 } 11543 11544 /** 11545 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11546 * @param event packet 11547 * @return status 11548 * @note: btstack_type 1 11549 */ 11550 static inline uint8_t avrcp_subevent_cover_art_connection_established_get_status(const uint8_t * event){ 11551 return event[3]; 11552 } 11553 /** 11554 * @brief Get field bd_addr from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11555 * @param event packet 11556 * @param Pointer to storage for bd_addr 11557 * @note: btstack_type B 11558 */ 11559 static inline void avrcp_subevent_cover_art_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11560 reverse_bytes(&event[4], bd_addr, 6); 11561 } 11562 /** 11563 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11564 * @param event packet 11565 * @return avrcp_cid 11566 * @note: btstack_type 2 11567 */ 11568 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_avrcp_cid(const uint8_t * event){ 11569 return little_endian_read_16(event, 10); 11570 } 11571 /** 11572 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11573 * @param event packet 11574 * @return cover_art_cid 11575 * @note: btstack_type 2 11576 */ 11577 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_cover_art_cid(const uint8_t * event){ 11578 return little_endian_read_16(event, 12); 11579 } 11580 11581 /** 11582 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11583 * @param event packet 11584 * @return cover_art_cid 11585 * @note: btstack_type 2 11586 */ 11587 static inline uint16_t avrcp_subevent_cover_art_operation_complete_get_cover_art_cid(const uint8_t * event){ 11588 return little_endian_read_16(event, 3); 11589 } 11590 /** 11591 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11592 * @param event packet 11593 * @return status 11594 * @note: btstack_type 1 11595 */ 11596 static inline uint8_t avrcp_subevent_cover_art_operation_complete_get_status(const uint8_t * event){ 11597 return event[5]; 11598 } 11599 11600 /** 11601 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_RELEASED 11602 * @param event packet 11603 * @return cover_art_cid 11604 * @note: btstack_type 2 11605 */ 11606 static inline uint16_t avrcp_subevent_cover_art_connection_released_get_cover_art_cid(const uint8_t * event){ 11607 return little_endian_read_16(event, 3); 11608 } 11609 11610 /** 11611 * @brief Get field goep_cid from event GOEP_SUBEVENT_INCOMING_CONNECTION 11612 * @param event packet 11613 * @return goep_cid 11614 * @note: btstack_type 2 11615 */ 11616 static inline uint16_t goep_subevent_incoming_connection_get_goep_cid(const uint8_t * event){ 11617 return little_endian_read_16(event, 3); 11618 } 11619 /** 11620 * @brief Get field address from event GOEP_SUBEVENT_INCOMING_CONNECTION 11621 * @param event packet 11622 * @param Pointer to storage for address 11623 * @note: btstack_type B 11624 */ 11625 static inline void goep_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 11626 reverse_bytes(&event[5], address, 6); 11627 } 11628 /** 11629 * @brief Get field handle from event GOEP_SUBEVENT_INCOMING_CONNECTION 11630 * @param event packet 11631 * @return handle 11632 * @note: btstack_type H 11633 */ 11634 static inline hci_con_handle_t goep_subevent_incoming_connection_get_handle(const uint8_t * event){ 11635 return little_endian_read_16(event, 11); 11636 } 11637 11638 /** 11639 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 11640 * @param event packet 11641 * @return goep_cid 11642 * @note: btstack_type 2 11643 */ 11644 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 11645 return little_endian_read_16(event, 3); 11646 } 11647 /** 11648 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 11649 * @param event packet 11650 * @return status 11651 * @note: btstack_type 1 11652 */ 11653 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 11654 return event[5]; 11655 } 11656 /** 11657 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 11658 * @param event packet 11659 * @param Pointer to storage for bd_addr 11660 * @note: btstack_type B 11661 */ 11662 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11663 reverse_bytes(&event[6], bd_addr, 6); 11664 } 11665 /** 11666 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 11667 * @param event packet 11668 * @return con_handle 11669 * @note: btstack_type H 11670 */ 11671 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 11672 return little_endian_read_16(event, 12); 11673 } 11674 /** 11675 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 11676 * @param event packet 11677 * @return incoming 11678 * @note: btstack_type 1 11679 */ 11680 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 11681 return event[14]; 11682 } 11683 11684 /** 11685 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 11686 * @param event packet 11687 * @return goep_cid 11688 * @note: btstack_type 2 11689 */ 11690 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 11691 return little_endian_read_16(event, 3); 11692 } 11693 11694 /** 11695 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 11696 * @param event packet 11697 * @return goep_cid 11698 * @note: btstack_type 2 11699 */ 11700 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 11701 return little_endian_read_16(event, 3); 11702 } 11703 11704 /** 11705 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 11706 * @param event packet 11707 * @return pbap_cid 11708 * @note: btstack_type 2 11709 */ 11710 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 11711 return little_endian_read_16(event, 3); 11712 } 11713 /** 11714 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 11715 * @param event packet 11716 * @return status 11717 * @note: btstack_type 1 11718 */ 11719 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 11720 return event[5]; 11721 } 11722 /** 11723 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 11724 * @param event packet 11725 * @param Pointer to storage for bd_addr 11726 * @note: btstack_type B 11727 */ 11728 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11729 reverse_bytes(&event[6], bd_addr, 6); 11730 } 11731 /** 11732 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 11733 * @param event packet 11734 * @return con_handle 11735 * @note: btstack_type H 11736 */ 11737 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 11738 return little_endian_read_16(event, 12); 11739 } 11740 /** 11741 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 11742 * @param event packet 11743 * @return incoming 11744 * @note: btstack_type 1 11745 */ 11746 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 11747 return event[14]; 11748 } 11749 11750 /** 11751 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 11752 * @param event packet 11753 * @return goep_cid 11754 * @note: btstack_type 2 11755 */ 11756 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 11757 return little_endian_read_16(event, 3); 11758 } 11759 11760 /** 11761 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 11762 * @param event packet 11763 * @return goep_cid 11764 * @note: btstack_type 2 11765 */ 11766 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 11767 return little_endian_read_16(event, 3); 11768 } 11769 /** 11770 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 11771 * @param event packet 11772 * @return status 11773 * @note: btstack_type 1 11774 */ 11775 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 11776 return event[5]; 11777 } 11778 11779 /** 11780 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11781 * @param event packet 11782 * @return goep_cid 11783 * @note: btstack_type 2 11784 */ 11785 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 11786 return little_endian_read_16(event, 3); 11787 } 11788 /** 11789 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11790 * @param event packet 11791 * @return status 11792 * @note: btstack_type 1 11793 */ 11794 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 11795 return event[5]; 11796 } 11797 /** 11798 * @brief Get field phonebook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11799 * @param event packet 11800 * @return phonebook_size 11801 * @note: btstack_type 2 11802 */ 11803 static inline uint16_t pbap_subevent_phonebook_size_get_phonebook_size(const uint8_t * event){ 11804 return little_endian_read_16(event, 6); 11805 } 11806 11807 /** 11808 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11809 * @param event packet 11810 * @return goep_cid 11811 * @note: btstack_type 2 11812 */ 11813 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 11814 return little_endian_read_16(event, 3); 11815 } 11816 /** 11817 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11818 * @param event packet 11819 * @return user_id_required 11820 * @note: btstack_type 1 11821 */ 11822 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 11823 return event[5]; 11824 } 11825 /** 11826 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11827 * @param event packet 11828 * @return full_access 11829 * @note: btstack_type 1 11830 */ 11831 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 11832 return event[6]; 11833 } 11834 11835 /** 11836 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 11837 * @param event packet 11838 * @return goep_cid 11839 * @note: btstack_type 2 11840 */ 11841 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 11842 return little_endian_read_16(event, 3); 11843 } 11844 /** 11845 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 11846 * @param event packet 11847 * @return name_len 11848 * @note: btstack_type J 11849 */ 11850 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 11851 return event[5]; 11852 } 11853 /** 11854 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 11855 * @param event packet 11856 * @return name 11857 * @note: btstack_type V 11858 */ 11859 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 11860 return &event[6]; 11861 } 11862 /** 11863 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 11864 * @param event packet 11865 * @return handle_len 11866 * @note: btstack_type J 11867 */ 11868 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 11869 return event[6u + event[5]]; 11870 } 11871 /** 11872 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 11873 * @param event packet 11874 * @return handle 11875 * @note: btstack_type V 11876 */ 11877 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 11878 return &event[6u + event[5] + 1u]; 11879 } 11880 11881 /** 11882 * @brief Get field goep_cid from event PBAP_SUBEVENT_RESET_MISSED_CALLS 11883 * @param event packet 11884 * @return goep_cid 11885 * @note: btstack_type 2 11886 */ 11887 static inline uint16_t pbap_subevent_reset_missed_calls_get_goep_cid(const uint8_t * event){ 11888 return little_endian_read_16(event, 3); 11889 } 11890 /** 11891 * @brief Get field phonebook from event PBAP_SUBEVENT_RESET_MISSED_CALLS 11892 * @param event packet 11893 * @return phonebook 11894 * @note: btstack_type 1 11895 */ 11896 static inline uint8_t pbap_subevent_reset_missed_calls_get_phonebook(const uint8_t * event){ 11897 return event[5]; 11898 } 11899 11900 /** 11901 * @brief Get field goep_cid from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11902 * @param event packet 11903 * @return goep_cid 11904 * @note: btstack_type 2 11905 */ 11906 static inline uint16_t pbap_subevent_query_phonebook_size_get_goep_cid(const uint8_t * event){ 11907 return little_endian_read_16(event, 3); 11908 } 11909 /** 11910 * @brief Get field vcard_selector from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11911 * @param event packet 11912 * @return vcard_selector 11913 * @note: btstack_type 4 11914 */ 11915 static inline uint32_t pbap_subevent_query_phonebook_size_get_vcard_selector(const uint8_t * event){ 11916 return little_endian_read_32(event, 5); 11917 } 11918 /** 11919 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11920 * @param event packet 11921 * @return vcard_selector_operator 11922 * @note: btstack_type 1 11923 */ 11924 static inline uint8_t pbap_subevent_query_phonebook_size_get_vcard_selector_operator(const uint8_t * event){ 11925 return event[9]; 11926 } 11927 /** 11928 * @brief Get field phonebook from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11929 * @param event packet 11930 * @return phonebook 11931 * @note: btstack_type 1 11932 */ 11933 static inline uint8_t pbap_subevent_query_phonebook_size_get_phonebook(const uint8_t * event){ 11934 return event[10]; 11935 } 11936 11937 /** 11938 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_PHONEBOOK 11939 * @param event packet 11940 * @return goep_cid 11941 * @note: btstack_type 2 11942 */ 11943 static inline uint16_t pbap_subevent_pull_phonebook_get_goep_cid(const uint8_t * event){ 11944 return little_endian_read_16(event, 3); 11945 } 11946 /** 11947 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_PHONEBOOK 11948 * @param event packet 11949 * @return continuation 11950 * @note: btstack_type 4 11951 */ 11952 static inline uint32_t pbap_subevent_pull_phonebook_get_continuation(const uint8_t * event){ 11953 return little_endian_read_32(event, 5); 11954 } 11955 /** 11956 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 11957 * @param event packet 11958 * @return property_selector 11959 * @note: btstack_type 4 11960 */ 11961 static inline uint32_t pbap_subevent_pull_phonebook_get_property_selector(const uint8_t * event){ 11962 return little_endian_read_32(event, 9); 11963 } 11964 /** 11965 * @brief Get field format from event PBAP_SUBEVENT_PULL_PHONEBOOK 11966 * @param event packet 11967 * @return format 11968 * @note: btstack_type 1 11969 */ 11970 static inline uint8_t pbap_subevent_pull_phonebook_get_format(const uint8_t * event){ 11971 return event[13]; 11972 } 11973 /** 11974 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_PHONEBOOK 11975 * @param event packet 11976 * @return max_list_count 11977 * @note: btstack_type 2 11978 */ 11979 static inline uint16_t pbap_subevent_pull_phonebook_get_max_list_count(const uint8_t * event){ 11980 return little_endian_read_16(event, 14); 11981 } 11982 /** 11983 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_PHONEBOOK 11984 * @param event packet 11985 * @return list_start_offset 11986 * @note: btstack_type 2 11987 */ 11988 static inline uint16_t pbap_subevent_pull_phonebook_get_list_start_offset(const uint8_t * event){ 11989 return little_endian_read_16(event, 16); 11990 } 11991 /** 11992 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 11993 * @param event packet 11994 * @return vcard_selector 11995 * @note: btstack_type 4 11996 */ 11997 static inline uint32_t pbap_subevent_pull_phonebook_get_vcard_selector(const uint8_t * event){ 11998 return little_endian_read_32(event, 18); 11999 } 12000 /** 12001 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_PHONEBOOK 12002 * @param event packet 12003 * @return vcard_selector_operator 12004 * @note: btstack_type 1 12005 */ 12006 static inline uint8_t pbap_subevent_pull_phonebook_get_vcard_selector_operator(const uint8_t * event){ 12007 return event[22]; 12008 } 12009 /** 12010 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_PHONEBOOK 12011 * @param event packet 12012 * @return phonebook 12013 * @note: btstack_type 1 12014 */ 12015 static inline uint8_t pbap_subevent_pull_phonebook_get_phonebook(const uint8_t * event){ 12016 return event[23]; 12017 } 12018 12019 /** 12020 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12021 * @param event packet 12022 * @return goep_cid 12023 * @note: btstack_type 2 12024 */ 12025 static inline uint16_t pbap_subevent_pull_vcard_listing_get_goep_cid(const uint8_t * event){ 12026 return little_endian_read_16(event, 3); 12027 } 12028 /** 12029 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12030 * @param event packet 12031 * @return continuation 12032 * @note: btstack_type 4 12033 */ 12034 static inline uint32_t pbap_subevent_pull_vcard_listing_get_continuation(const uint8_t * event){ 12035 return little_endian_read_32(event, 5); 12036 } 12037 /** 12038 * @brief Get field order from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12039 * @param event packet 12040 * @return order 12041 * @note: btstack_type 1 12042 */ 12043 static inline uint8_t pbap_subevent_pull_vcard_listing_get_order(const uint8_t * event){ 12044 return event[9]; 12045 } 12046 /** 12047 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12048 * @param event packet 12049 * @return max_list_count 12050 * @note: btstack_type 2 12051 */ 12052 static inline uint16_t pbap_subevent_pull_vcard_listing_get_max_list_count(const uint8_t * event){ 12053 return little_endian_read_16(event, 10); 12054 } 12055 /** 12056 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12057 * @param event packet 12058 * @return list_start_offset 12059 * @note: btstack_type 2 12060 */ 12061 static inline uint16_t pbap_subevent_pull_vcard_listing_get_list_start_offset(const uint8_t * event){ 12062 return little_endian_read_16(event, 12); 12063 } 12064 /** 12065 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12066 * @param event packet 12067 * @return vcard_selector 12068 * @note: btstack_type 4 12069 */ 12070 static inline uint32_t pbap_subevent_pull_vcard_listing_get_vcard_selector(const uint8_t * event){ 12071 return little_endian_read_32(event, 14); 12072 } 12073 /** 12074 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12075 * @param event packet 12076 * @return vcard_selector_operator 12077 * @note: btstack_type 1 12078 */ 12079 static inline uint8_t pbap_subevent_pull_vcard_listing_get_vcard_selector_operator(const uint8_t * event){ 12080 return event[18]; 12081 } 12082 /** 12083 * @brief Get field search_property from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12084 * @param event packet 12085 * @return search_property 12086 * @note: btstack_type 1 12087 */ 12088 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_property(const uint8_t * event){ 12089 return event[19]; 12090 } 12091 /** 12092 * @brief Get field search_value_len from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12093 * @param event packet 12094 * @return search_value_len 12095 * @note: btstack_type J 12096 */ 12097 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_value_len(const uint8_t * event){ 12098 return event[20]; 12099 } 12100 /** 12101 * @brief Get field search_value from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12102 * @param event packet 12103 * @return search_value 12104 * @note: btstack_type V 12105 */ 12106 static inline const uint8_t * pbap_subevent_pull_vcard_listing_get_search_value(const uint8_t * event){ 12107 return &event[21]; 12108 } 12109 /** 12110 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12111 * @param event packet 12112 * @return phonebook 12113 * @note: btstack_type 1 12114 */ 12115 static inline uint8_t pbap_subevent_pull_vcard_listing_get_phonebook(const uint8_t * event){ 12116 return event[21u + event[20]]; 12117 } 12118 12119 /** 12120 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12121 * @param event packet 12122 * @return goep_cid 12123 * @note: btstack_type 2 12124 */ 12125 static inline uint16_t pbap_subevent_pull_vcard_entry_get_goep_cid(const uint8_t * event){ 12126 return little_endian_read_16(event, 3); 12127 } 12128 /** 12129 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12130 * @param event packet 12131 * @return continuation 12132 * @note: btstack_type 4 12133 */ 12134 static inline uint32_t pbap_subevent_pull_vcard_entry_get_continuation(const uint8_t * event){ 12135 return little_endian_read_32(event, 5); 12136 } 12137 /** 12138 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12139 * @param event packet 12140 * @return property_selector 12141 * @note: btstack_type 4 12142 */ 12143 static inline uint32_t pbap_subevent_pull_vcard_entry_get_property_selector(const uint8_t * event){ 12144 return little_endian_read_32(event, 9); 12145 } 12146 /** 12147 * @brief Get field format from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12148 * @param event packet 12149 * @return format 12150 * @note: btstack_type 1 12151 */ 12152 static inline uint8_t pbap_subevent_pull_vcard_entry_get_format(const uint8_t * event){ 12153 return event[13]; 12154 } 12155 /** 12156 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12157 * @param event packet 12158 * @return phonebook 12159 * @note: btstack_type 1 12160 */ 12161 static inline uint8_t pbap_subevent_pull_vcard_entry_get_phonebook(const uint8_t * event){ 12162 return event[14]; 12163 } 12164 /** 12165 * @brief Get field name from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12166 * @param event packet 12167 * @return name 12168 * @note: btstack_type T 12169 */ 12170 static inline const char * pbap_subevent_pull_vcard_entry_get_name(const uint8_t * event){ 12171 return (const char *) &event[15]; 12172 } 12173 12174 /** 12175 * @brief Get field hid_cid from event HID_SUBEVENT_INCOMING_CONNECTION 12176 * @param event packet 12177 * @return hid_cid 12178 * @note: btstack_type 2 12179 */ 12180 static inline uint16_t hid_subevent_incoming_connection_get_hid_cid(const uint8_t * event){ 12181 return little_endian_read_16(event, 3); 12182 } 12183 /** 12184 * @brief Get field address from event HID_SUBEVENT_INCOMING_CONNECTION 12185 * @param event packet 12186 * @param Pointer to storage for address 12187 * @note: btstack_type B 12188 */ 12189 static inline void hid_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 12190 reverse_bytes(&event[5], address, 6); 12191 } 12192 /** 12193 * @brief Get field handle from event HID_SUBEVENT_INCOMING_CONNECTION 12194 * @param event packet 12195 * @return handle 12196 * @note: btstack_type H 12197 */ 12198 static inline hci_con_handle_t hid_subevent_incoming_connection_get_handle(const uint8_t * event){ 12199 return little_endian_read_16(event, 11); 12200 } 12201 12202 /** 12203 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 12204 * @param event packet 12205 * @return hid_cid 12206 * @note: btstack_type 2 12207 */ 12208 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 12209 return little_endian_read_16(event, 3); 12210 } 12211 /** 12212 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 12213 * @param event packet 12214 * @return status 12215 * @note: btstack_type 1 12216 */ 12217 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 12218 return event[5]; 12219 } 12220 /** 12221 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 12222 * @param event packet 12223 * @param Pointer to storage for bd_addr 12224 * @note: btstack_type B 12225 */ 12226 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12227 reverse_bytes(&event[6], bd_addr, 6); 12228 } 12229 /** 12230 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 12231 * @param event packet 12232 * @return con_handle 12233 * @note: btstack_type H 12234 */ 12235 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12236 return little_endian_read_16(event, 12); 12237 } 12238 /** 12239 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 12240 * @param event packet 12241 * @return incoming 12242 * @note: btstack_type 1 12243 */ 12244 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 12245 return event[14]; 12246 } 12247 12248 /** 12249 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 12250 * @param event packet 12251 * @return hid_cid 12252 * @note: btstack_type 2 12253 */ 12254 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 12255 return little_endian_read_16(event, 3); 12256 } 12257 12258 /** 12259 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 12260 * @param event packet 12261 * @return hid_cid 12262 * @note: btstack_type 2 12263 */ 12264 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 12265 return little_endian_read_16(event, 3); 12266 } 12267 12268 /** 12269 * @brief Get field hid_cid from event HID_SUBEVENT_SUSPEND 12270 * @param event packet 12271 * @return hid_cid 12272 * @note: btstack_type 2 12273 */ 12274 static inline uint16_t hid_subevent_suspend_get_hid_cid(const uint8_t * event){ 12275 return little_endian_read_16(event, 3); 12276 } 12277 12278 /** 12279 * @brief Get field hid_cid from event HID_SUBEVENT_EXIT_SUSPEND 12280 * @param event packet 12281 * @return hid_cid 12282 * @note: btstack_type 2 12283 */ 12284 static inline uint16_t hid_subevent_exit_suspend_get_hid_cid(const uint8_t * event){ 12285 return little_endian_read_16(event, 3); 12286 } 12287 12288 /** 12289 * @brief Get field hid_cid from event HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 12290 * @param event packet 12291 * @return hid_cid 12292 * @note: btstack_type 2 12293 */ 12294 static inline uint16_t hid_subevent_virtual_cable_unplug_get_hid_cid(const uint8_t * event){ 12295 return little_endian_read_16(event, 3); 12296 } 12297 12298 /** 12299 * @brief Get field hid_cid from event HID_SUBEVENT_GET_REPORT_RESPONSE 12300 * @param event packet 12301 * @return hid_cid 12302 * @note: btstack_type 2 12303 */ 12304 static inline uint16_t hid_subevent_get_report_response_get_hid_cid(const uint8_t * event){ 12305 return little_endian_read_16(event, 3); 12306 } 12307 /** 12308 * @brief Get field handshake_status from event HID_SUBEVENT_GET_REPORT_RESPONSE 12309 * @param event packet 12310 * @return handshake_status 12311 * @note: btstack_type 1 12312 */ 12313 static inline uint8_t hid_subevent_get_report_response_get_handshake_status(const uint8_t * event){ 12314 return event[5]; 12315 } 12316 /** 12317 * @brief Get field report_len from event HID_SUBEVENT_GET_REPORT_RESPONSE 12318 * @param event packet 12319 * @return report_len 12320 * @note: btstack_type L 12321 */ 12322 static inline uint16_t hid_subevent_get_report_response_get_report_len(const uint8_t * event){ 12323 return little_endian_read_16(event, 6); 12324 } 12325 /** 12326 * @brief Get field report from event HID_SUBEVENT_GET_REPORT_RESPONSE 12327 * @param event packet 12328 * @return report 12329 * @note: btstack_type V 12330 */ 12331 static inline const uint8_t * hid_subevent_get_report_response_get_report(const uint8_t * event){ 12332 return &event[8]; 12333 } 12334 12335 /** 12336 * @brief Get field hid_cid from event HID_SUBEVENT_SET_REPORT_RESPONSE 12337 * @param event packet 12338 * @return hid_cid 12339 * @note: btstack_type 2 12340 */ 12341 static inline uint16_t hid_subevent_set_report_response_get_hid_cid(const uint8_t * event){ 12342 return little_endian_read_16(event, 3); 12343 } 12344 /** 12345 * @brief Get field handshake_status from event HID_SUBEVENT_SET_REPORT_RESPONSE 12346 * @param event packet 12347 * @return handshake_status 12348 * @note: btstack_type 1 12349 */ 12350 static inline uint8_t hid_subevent_set_report_response_get_handshake_status(const uint8_t * event){ 12351 return event[5]; 12352 } 12353 12354 /** 12355 * @brief Get field hid_cid from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12356 * @param event packet 12357 * @return hid_cid 12358 * @note: btstack_type 2 12359 */ 12360 static inline uint16_t hid_subevent_get_protocol_response_get_hid_cid(const uint8_t * event){ 12361 return little_endian_read_16(event, 3); 12362 } 12363 /** 12364 * @brief Get field handshake_status from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12365 * @param event packet 12366 * @return handshake_status 12367 * @note: btstack_type 1 12368 */ 12369 static inline uint8_t hid_subevent_get_protocol_response_get_handshake_status(const uint8_t * event){ 12370 return event[5]; 12371 } 12372 /** 12373 * @brief Get field protocol_mode from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12374 * @param event packet 12375 * @return protocol_mode 12376 * @note: btstack_type 1 12377 */ 12378 static inline uint8_t hid_subevent_get_protocol_response_get_protocol_mode(const uint8_t * event){ 12379 return event[6]; 12380 } 12381 12382 /** 12383 * @brief Get field hid_cid from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12384 * @param event packet 12385 * @return hid_cid 12386 * @note: btstack_type 2 12387 */ 12388 static inline uint16_t hid_subevent_set_protocol_response_get_hid_cid(const uint8_t * event){ 12389 return little_endian_read_16(event, 3); 12390 } 12391 /** 12392 * @brief Get field handshake_status from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12393 * @param event packet 12394 * @return handshake_status 12395 * @note: btstack_type 1 12396 */ 12397 static inline uint8_t hid_subevent_set_protocol_response_get_handshake_status(const uint8_t * event){ 12398 return event[5]; 12399 } 12400 /** 12401 * @brief Get field protocol_mode from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12402 * @param event packet 12403 * @return protocol_mode 12404 * @note: btstack_type 1 12405 */ 12406 static inline uint8_t hid_subevent_set_protocol_response_get_protocol_mode(const uint8_t * event){ 12407 return event[6]; 12408 } 12409 12410 /** 12411 * @brief Get field hid_cid from event HID_SUBEVENT_REPORT 12412 * @param event packet 12413 * @return hid_cid 12414 * @note: btstack_type 2 12415 */ 12416 static inline uint16_t hid_subevent_report_get_hid_cid(const uint8_t * event){ 12417 return little_endian_read_16(event, 3); 12418 } 12419 /** 12420 * @brief Get field report_len from event HID_SUBEVENT_REPORT 12421 * @param event packet 12422 * @return report_len 12423 * @note: btstack_type L 12424 */ 12425 static inline uint16_t hid_subevent_report_get_report_len(const uint8_t * event){ 12426 return little_endian_read_16(event, 5); 12427 } 12428 /** 12429 * @brief Get field report from event HID_SUBEVENT_REPORT 12430 * @param event packet 12431 * @return report 12432 * @note: btstack_type V 12433 */ 12434 static inline const uint8_t * hid_subevent_report_get_report(const uint8_t * event){ 12435 return &event[7]; 12436 } 12437 12438 /** 12439 * @brief Get field hid_cid from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12440 * @param event packet 12441 * @return hid_cid 12442 * @note: btstack_type 2 12443 */ 12444 static inline uint16_t hid_subevent_descriptor_available_get_hid_cid(const uint8_t * event){ 12445 return little_endian_read_16(event, 3); 12446 } 12447 /** 12448 * @brief Get field status from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12449 * @param event packet 12450 * @return status 12451 * @note: btstack_type 1 12452 */ 12453 static inline uint8_t hid_subevent_descriptor_available_get_status(const uint8_t * event){ 12454 return event[5]; 12455 } 12456 12457 /** 12458 * @brief Get field hid_cid from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12459 * @param event packet 12460 * @return hid_cid 12461 * @note: btstack_type 2 12462 */ 12463 static inline uint16_t hid_subevent_sniff_subrating_params_get_hid_cid(const uint8_t * event){ 12464 return little_endian_read_16(event, 3); 12465 } 12466 /** 12467 * @brief Get field host_max_latency from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12468 * @param event packet 12469 * @return host_max_latency 12470 * @note: btstack_type 2 12471 */ 12472 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_max_latency(const uint8_t * event){ 12473 return little_endian_read_16(event, 5); 12474 } 12475 /** 12476 * @brief Get field host_min_timeout from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12477 * @param event packet 12478 * @return host_min_timeout 12479 * @note: btstack_type 2 12480 */ 12481 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_min_timeout(const uint8_t * event){ 12482 return little_endian_read_16(event, 7); 12483 } 12484 12485 /** 12486 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 12487 * @param event packet 12488 * @return con_handle 12489 * @note: btstack_type 2 12490 */ 12491 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 12492 return little_endian_read_16(event, 3); 12493 } 12494 12495 /** 12496 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 12497 * @param event packet 12498 * @return con_handle 12499 * @note: btstack_type 2 12500 */ 12501 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 12502 return little_endian_read_16(event, 3); 12503 } 12504 /** 12505 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 12506 * @param event packet 12507 * @return protocol_mode 12508 * @note: btstack_type 1 12509 */ 12510 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 12511 return event[5]; 12512 } 12513 12514 /** 12515 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12516 * @param event packet 12517 * @return con_handle 12518 * @note: btstack_type 2 12519 */ 12520 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 12521 return little_endian_read_16(event, 3); 12522 } 12523 /** 12524 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12525 * @param event packet 12526 * @return enable 12527 * @note: btstack_type 1 12528 */ 12529 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 12530 return event[5]; 12531 } 12532 12533 /** 12534 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12535 * @param event packet 12536 * @return con_handle 12537 * @note: btstack_type 2 12538 */ 12539 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 12540 return little_endian_read_16(event, 3); 12541 } 12542 /** 12543 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12544 * @param event packet 12545 * @return enable 12546 * @note: btstack_type 1 12547 */ 12548 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 12549 return event[5]; 12550 } 12551 12552 /** 12553 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12554 * @param event packet 12555 * @return con_handle 12556 * @note: btstack_type 2 12557 */ 12558 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 12559 return little_endian_read_16(event, 3); 12560 } 12561 /** 12562 * @brief Get field report_id from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12563 * @param event packet 12564 * @return report_id 12565 * @note: btstack_type 1 12566 */ 12567 static inline uint8_t hids_subevent_input_report_enable_get_report_id(const uint8_t * event){ 12568 return event[5]; 12569 } 12570 /** 12571 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12572 * @param event packet 12573 * @return enable 12574 * @note: btstack_type 1 12575 */ 12576 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 12577 return event[6]; 12578 } 12579 12580 /** 12581 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12582 * @param event packet 12583 * @return con_handle 12584 * @note: btstack_type 2 12585 */ 12586 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 12587 return little_endian_read_16(event, 3); 12588 } 12589 /** 12590 * @brief Get field report_id from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12591 * @param event packet 12592 * @return report_id 12593 * @note: btstack_type 1 12594 */ 12595 static inline uint8_t hids_subevent_output_report_enable_get_report_id(const uint8_t * event){ 12596 return event[5]; 12597 } 12598 /** 12599 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12600 * @param event packet 12601 * @return enable 12602 * @note: btstack_type 1 12603 */ 12604 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 12605 return event[6]; 12606 } 12607 12608 /** 12609 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12610 * @param event packet 12611 * @return con_handle 12612 * @note: btstack_type 2 12613 */ 12614 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 12615 return little_endian_read_16(event, 3); 12616 } 12617 /** 12618 * @brief Get field report_id from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12619 * @param event packet 12620 * @return report_id 12621 * @note: btstack_type 1 12622 */ 12623 static inline uint8_t hids_subevent_feature_report_enable_get_report_id(const uint8_t * event){ 12624 return event[5]; 12625 } 12626 /** 12627 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12628 * @param event packet 12629 * @return enable 12630 * @note: btstack_type 1 12631 */ 12632 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 12633 return event[6]; 12634 } 12635 12636 /** 12637 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 12638 * @param event packet 12639 * @return con_handle 12640 * @note: btstack_type 2 12641 */ 12642 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 12643 return little_endian_read_16(event, 3); 12644 } 12645 12646 /** 12647 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 12648 * @param event packet 12649 * @return con_handle 12650 * @note: btstack_type 2 12651 */ 12652 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 12653 return little_endian_read_16(event, 3); 12654 } 12655 12656 /** 12657 * @brief Get field con_handle from event HIDS_SUBEVENT_SET_REPORT 12658 * @param event packet 12659 * @return con_handle 12660 * @note: btstack_type 2 12661 */ 12662 static inline uint16_t hids_subevent_set_report_get_con_handle(const uint8_t * event){ 12663 return little_endian_read_16(event, 3); 12664 } 12665 /** 12666 * @brief Get field report_id from event HIDS_SUBEVENT_SET_REPORT 12667 * @param event packet 12668 * @return report_id 12669 * @note: btstack_type 1 12670 */ 12671 static inline uint8_t hids_subevent_set_report_get_report_id(const uint8_t * event){ 12672 return event[5]; 12673 } 12674 /** 12675 * @brief Get field report_type from event HIDS_SUBEVENT_SET_REPORT 12676 * @param event packet 12677 * @return report_type 12678 * @note: btstack_type 1 12679 */ 12680 static inline uint8_t hids_subevent_set_report_get_report_type(const uint8_t * event){ 12681 return event[6]; 12682 } 12683 /** 12684 * @brief Get field report_length from event HIDS_SUBEVENT_SET_REPORT 12685 * @param event packet 12686 * @return report_length 12687 * @note: btstack_type J 12688 */ 12689 static inline uint8_t hids_subevent_set_report_get_report_length(const uint8_t * event){ 12690 return event[7]; 12691 } 12692 /** 12693 * @brief Get field report_data from event HIDS_SUBEVENT_SET_REPORT 12694 * @param event packet 12695 * @return report_data 12696 * @note: btstack_type V 12697 */ 12698 static inline const uint8_t * hids_subevent_set_report_get_report_data(const uint8_t * event){ 12699 return &event[8]; 12700 } 12701 12702 /** 12703 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12704 * @param event packet 12705 * @return con_handle 12706 * @note: btstack_type 2 12707 */ 12708 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 12709 return little_endian_read_16(event, 3); 12710 } 12711 /** 12712 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12713 * @param event packet 12714 * @return measurement_type 12715 * @note: btstack_type 1 12716 */ 12717 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 12718 return event[5]; 12719 } 12720 /** 12721 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12722 * @param event packet 12723 * @return is_enhanced 12724 * @note: btstack_type 1 12725 */ 12726 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 12727 return event[6]; 12728 } 12729 12730 /** 12731 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 12732 * @param event packet 12733 * @return con_handle 12734 * @note: btstack_type 2 12735 */ 12736 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 12737 return little_endian_read_16(event, 3); 12738 } 12739 12740 /** 12741 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 12742 * @param event packet 12743 * @return con_handle 12744 * @note: btstack_type 2 12745 */ 12746 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 12747 return little_endian_read_16(event, 3); 12748 } 12749 12750 /** 12751 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12752 * @param event packet 12753 * @return hids_cid 12754 * @note: btstack_type 2 12755 */ 12756 static inline uint16_t gattservice_subevent_battery_service_connected_get_hids_cid(const uint8_t * event){ 12757 return little_endian_read_16(event, 3); 12758 } 12759 /** 12760 * @brief Get field status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12761 * @param event packet 12762 * @return status 12763 * @note: btstack_type 1 12764 */ 12765 static inline uint8_t gattservice_subevent_battery_service_connected_get_status(const uint8_t * event){ 12766 return event[5]; 12767 } 12768 /** 12769 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12770 * @param event packet 12771 * @return num_instances 12772 * @note: btstack_type 1 12773 */ 12774 static inline uint8_t gattservice_subevent_battery_service_connected_get_num_instances(const uint8_t * event){ 12775 return event[6]; 12776 } 12777 /** 12778 * @brief Get field poll_bitmap from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12779 * @param event packet 12780 * @return poll_bitmap 12781 * @note: btstack_type 1 12782 */ 12783 static inline uint8_t gattservice_subevent_battery_service_connected_get_poll_bitmap(const uint8_t * event){ 12784 return event[7]; 12785 } 12786 12787 /** 12788 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12789 * @param event packet 12790 * @return hids_cid 12791 * @note: btstack_type 2 12792 */ 12793 static inline uint16_t gattservice_subevent_battery_service_level_get_hids_cid(const uint8_t * event){ 12794 return little_endian_read_16(event, 3); 12795 } 12796 /** 12797 * @brief Get field sevice_index from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12798 * @param event packet 12799 * @return sevice_index 12800 * @note: btstack_type 1 12801 */ 12802 static inline uint8_t gattservice_subevent_battery_service_level_get_sevice_index(const uint8_t * event){ 12803 return event[5]; 12804 } 12805 /** 12806 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12807 * @param event packet 12808 * @return att_status 12809 * @note: btstack_type 1 12810 */ 12811 static inline uint8_t gattservice_subevent_battery_service_level_get_att_status(const uint8_t * event){ 12812 return event[6]; 12813 } 12814 /** 12815 * @brief Get field level from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12816 * @param event packet 12817 * @return level 12818 * @note: btstack_type 1 12819 */ 12820 static inline uint8_t gattservice_subevent_battery_service_level_get_level(const uint8_t * event){ 12821 return event[7]; 12822 } 12823 12824 /** 12825 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 12826 * @param event packet 12827 * @return con_handle 12828 * @note: btstack_type H 12829 */ 12830 static inline hci_con_handle_t gattservice_subevent_device_information_done_get_con_handle(const uint8_t * event){ 12831 return little_endian_read_16(event, 3); 12832 } 12833 /** 12834 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 12835 * @param event packet 12836 * @return att_status 12837 * @note: btstack_type 1 12838 */ 12839 static inline uint8_t gattservice_subevent_device_information_done_get_att_status(const uint8_t * event){ 12840 return event[5]; 12841 } 12842 12843 /** 12844 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 12845 * @param event packet 12846 * @return con_handle 12847 * @note: btstack_type H 12848 */ 12849 static inline hci_con_handle_t gattservice_subevent_device_information_manufacturer_name_get_con_handle(const uint8_t * event){ 12850 return little_endian_read_16(event, 3); 12851 } 12852 /** 12853 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 12854 * @param event packet 12855 * @return att_status 12856 * @note: btstack_type 1 12857 */ 12858 static inline uint8_t gattservice_subevent_device_information_manufacturer_name_get_att_status(const uint8_t * event){ 12859 return event[5]; 12860 } 12861 /** 12862 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 12863 * @param event packet 12864 * @return value 12865 * @note: btstack_type T 12866 */ 12867 static inline const char * gattservice_subevent_device_information_manufacturer_name_get_value(const uint8_t * event){ 12868 return (const char *) &event[6]; 12869 } 12870 12871 /** 12872 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 12873 * @param event packet 12874 * @return con_handle 12875 * @note: btstack_type H 12876 */ 12877 static inline hci_con_handle_t gattservice_subevent_device_information_model_number_get_con_handle(const uint8_t * event){ 12878 return little_endian_read_16(event, 3); 12879 } 12880 /** 12881 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 12882 * @param event packet 12883 * @return att_status 12884 * @note: btstack_type 1 12885 */ 12886 static inline uint8_t gattservice_subevent_device_information_model_number_get_att_status(const uint8_t * event){ 12887 return event[5]; 12888 } 12889 /** 12890 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 12891 * @param event packet 12892 * @return value 12893 * @note: btstack_type T 12894 */ 12895 static inline const char * gattservice_subevent_device_information_model_number_get_value(const uint8_t * event){ 12896 return (const char *) &event[6]; 12897 } 12898 12899 /** 12900 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 12901 * @param event packet 12902 * @return con_handle 12903 * @note: btstack_type H 12904 */ 12905 static inline hci_con_handle_t gattservice_subevent_device_information_serial_number_get_con_handle(const uint8_t * event){ 12906 return little_endian_read_16(event, 3); 12907 } 12908 /** 12909 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 12910 * @param event packet 12911 * @return att_status 12912 * @note: btstack_type 1 12913 */ 12914 static inline uint8_t gattservice_subevent_device_information_serial_number_get_att_status(const uint8_t * event){ 12915 return event[5]; 12916 } 12917 /** 12918 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 12919 * @param event packet 12920 * @return value 12921 * @note: btstack_type T 12922 */ 12923 static inline const char * gattservice_subevent_device_information_serial_number_get_value(const uint8_t * event){ 12924 return (const char *) &event[6]; 12925 } 12926 12927 /** 12928 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 12929 * @param event packet 12930 * @return con_handle 12931 * @note: btstack_type H 12932 */ 12933 static inline hci_con_handle_t gattservice_subevent_device_information_hardware_revision_get_con_handle(const uint8_t * event){ 12934 return little_endian_read_16(event, 3); 12935 } 12936 /** 12937 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 12938 * @param event packet 12939 * @return att_status 12940 * @note: btstack_type 1 12941 */ 12942 static inline uint8_t gattservice_subevent_device_information_hardware_revision_get_att_status(const uint8_t * event){ 12943 return event[5]; 12944 } 12945 /** 12946 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 12947 * @param event packet 12948 * @return value 12949 * @note: btstack_type T 12950 */ 12951 static inline const char * gattservice_subevent_device_information_hardware_revision_get_value(const uint8_t * event){ 12952 return (const char *) &event[6]; 12953 } 12954 12955 /** 12956 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 12957 * @param event packet 12958 * @return con_handle 12959 * @note: btstack_type H 12960 */ 12961 static inline hci_con_handle_t gattservice_subevent_device_information_firmware_revision_get_con_handle(const uint8_t * event){ 12962 return little_endian_read_16(event, 3); 12963 } 12964 /** 12965 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 12966 * @param event packet 12967 * @return att_status 12968 * @note: btstack_type 1 12969 */ 12970 static inline uint8_t gattservice_subevent_device_information_firmware_revision_get_att_status(const uint8_t * event){ 12971 return event[5]; 12972 } 12973 /** 12974 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 12975 * @param event packet 12976 * @return value 12977 * @note: btstack_type T 12978 */ 12979 static inline const char * gattservice_subevent_device_information_firmware_revision_get_value(const uint8_t * event){ 12980 return (const char *) &event[6]; 12981 } 12982 12983 /** 12984 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 12985 * @param event packet 12986 * @return con_handle 12987 * @note: btstack_type H 12988 */ 12989 static inline hci_con_handle_t gattservice_subevent_device_information_software_revision_get_con_handle(const uint8_t * event){ 12990 return little_endian_read_16(event, 3); 12991 } 12992 /** 12993 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 12994 * @param event packet 12995 * @return att_status 12996 * @note: btstack_type 1 12997 */ 12998 static inline uint8_t gattservice_subevent_device_information_software_revision_get_att_status(const uint8_t * event){ 12999 return event[5]; 13000 } 13001 /** 13002 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13003 * @param event packet 13004 * @return value 13005 * @note: btstack_type T 13006 */ 13007 static inline const char * gattservice_subevent_device_information_software_revision_get_value(const uint8_t * event){ 13008 return (const char *) &event[6]; 13009 } 13010 13011 /** 13012 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13013 * @param event packet 13014 * @return con_handle 13015 * @note: btstack_type H 13016 */ 13017 static inline hci_con_handle_t gattservice_subevent_device_information_system_id_get_con_handle(const uint8_t * event){ 13018 return little_endian_read_16(event, 3); 13019 } 13020 /** 13021 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13022 * @param event packet 13023 * @return att_status 13024 * @note: btstack_type 1 13025 */ 13026 static inline uint8_t gattservice_subevent_device_information_system_id_get_att_status(const uint8_t * event){ 13027 return event[5]; 13028 } 13029 /** 13030 * @brief Get field manufacturer_id_low from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13031 * @param event packet 13032 * @return manufacturer_id_low 13033 * @note: btstack_type 4 13034 */ 13035 static inline uint32_t gattservice_subevent_device_information_system_id_get_manufacturer_id_low(const uint8_t * event){ 13036 return little_endian_read_32(event, 6); 13037 } 13038 /** 13039 * @brief Get field manufacturer_id_high from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13040 * @param event packet 13041 * @return manufacturer_id_high 13042 * @note: btstack_type 1 13043 */ 13044 static inline uint8_t gattservice_subevent_device_information_system_id_get_manufacturer_id_high(const uint8_t * event){ 13045 return event[10]; 13046 } 13047 /** 13048 * @brief Get field organizationally_unique_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13049 * @param event packet 13050 * @return organizationally_unique_id 13051 * @note: btstack_type 3 13052 */ 13053 static inline uint32_t gattservice_subevent_device_information_system_id_get_organizationally_unique_id(const uint8_t * event){ 13054 return little_endian_read_24(event, 11); 13055 } 13056 13057 /** 13058 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13059 * @param event packet 13060 * @return con_handle 13061 * @note: btstack_type H 13062 */ 13063 static inline hci_con_handle_t gattservice_subevent_device_information_ieee_regulatory_certification_get_con_handle(const uint8_t * event){ 13064 return little_endian_read_16(event, 3); 13065 } 13066 /** 13067 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13068 * @param event packet 13069 * @return att_status 13070 * @note: btstack_type 1 13071 */ 13072 static inline uint8_t gattservice_subevent_device_information_ieee_regulatory_certification_get_att_status(const uint8_t * event){ 13073 return event[5]; 13074 } 13075 /** 13076 * @brief Get field value_a from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13077 * @param event packet 13078 * @return value_a 13079 * @note: btstack_type 2 13080 */ 13081 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_a(const uint8_t * event){ 13082 return little_endian_read_16(event, 6); 13083 } 13084 /** 13085 * @brief Get field value_b from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13086 * @param event packet 13087 * @return value_b 13088 * @note: btstack_type 2 13089 */ 13090 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_b(const uint8_t * event){ 13091 return little_endian_read_16(event, 8); 13092 } 13093 13094 /** 13095 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13096 * @param event packet 13097 * @return con_handle 13098 * @note: btstack_type H 13099 */ 13100 static inline hci_con_handle_t gattservice_subevent_device_information_pnp_id_get_con_handle(const uint8_t * event){ 13101 return little_endian_read_16(event, 3); 13102 } 13103 /** 13104 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13105 * @param event packet 13106 * @return att_status 13107 * @note: btstack_type 1 13108 */ 13109 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_att_status(const uint8_t * event){ 13110 return event[5]; 13111 } 13112 /** 13113 * @brief Get field vendor_source_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13114 * @param event packet 13115 * @return vendor_source_id 13116 * @note: btstack_type 1 13117 */ 13118 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_vendor_source_id(const uint8_t * event){ 13119 return event[6]; 13120 } 13121 /** 13122 * @brief Get field vendor_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13123 * @param event packet 13124 * @return vendor_id 13125 * @note: btstack_type 2 13126 */ 13127 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_vendor_id(const uint8_t * event){ 13128 return little_endian_read_16(event, 7); 13129 } 13130 /** 13131 * @brief Get field product_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13132 * @param event packet 13133 * @return product_id 13134 * @note: btstack_type 2 13135 */ 13136 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_id(const uint8_t * event){ 13137 return little_endian_read_16(event, 9); 13138 } 13139 /** 13140 * @brief Get field product_version from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13141 * @param event packet 13142 * @return product_version 13143 * @note: btstack_type 2 13144 */ 13145 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_version(const uint8_t * event){ 13146 return little_endian_read_16(event, 11); 13147 } 13148 13149 /** 13150 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13151 * @param event packet 13152 * @return con_handle 13153 * @note: btstack_type H 13154 */ 13155 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_connected_get_con_handle(const uint8_t * event){ 13156 return little_endian_read_16(event, 3); 13157 } 13158 /** 13159 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13160 * @param event packet 13161 * @return att_status 13162 * @note: btstack_type 1 13163 */ 13164 static inline uint8_t gattservice_subevent_scan_parameters_service_connected_get_att_status(const uint8_t * event){ 13165 return event[5]; 13166 } 13167 13168 /** 13169 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 13170 * @param event packet 13171 * @return con_handle 13172 * @note: btstack_type H 13173 */ 13174 static inline hci_con_handle_t gattservice_subevent_spp_service_connected_get_con_handle(const uint8_t * event){ 13175 return little_endian_read_16(event, 3); 13176 } 13177 13178 /** 13179 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 13180 * @param event packet 13181 * @return con_handle 13182 * @note: btstack_type H 13183 */ 13184 static inline hci_con_handle_t gattservice_subevent_spp_service_disconnected_get_con_handle(const uint8_t * event){ 13185 return little_endian_read_16(event, 3); 13186 } 13187 13188 /** 13189 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13190 * @param event packet 13191 * @return hids_cid 13192 * @note: btstack_type 2 13193 */ 13194 static inline uint16_t gattservice_subevent_hid_service_connected_get_hids_cid(const uint8_t * event){ 13195 return little_endian_read_16(event, 3); 13196 } 13197 /** 13198 * @brief Get field status from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13199 * @param event packet 13200 * @return status 13201 * @note: btstack_type 1 13202 */ 13203 static inline uint8_t gattservice_subevent_hid_service_connected_get_status(const uint8_t * event){ 13204 return event[5]; 13205 } 13206 /** 13207 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13208 * @param event packet 13209 * @return protocol_mode 13210 * @note: btstack_type 1 13211 */ 13212 static inline uint8_t gattservice_subevent_hid_service_connected_get_protocol_mode(const uint8_t * event){ 13213 return event[6]; 13214 } 13215 /** 13216 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13217 * @param event packet 13218 * @return num_instances 13219 * @note: btstack_type 1 13220 */ 13221 static inline uint8_t gattservice_subevent_hid_service_connected_get_num_instances(const uint8_t * event){ 13222 return event[7]; 13223 } 13224 13225 /** 13226 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT 13227 * @param event packet 13228 * @return hids_cid 13229 * @note: btstack_type 2 13230 */ 13231 static inline uint16_t gattservice_subevent_hid_report_get_hids_cid(const uint8_t * event){ 13232 return little_endian_read_16(event, 3); 13233 } 13234 /** 13235 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT 13236 * @param event packet 13237 * @return service_index 13238 * @note: btstack_type 1 13239 */ 13240 static inline uint8_t gattservice_subevent_hid_report_get_service_index(const uint8_t * event){ 13241 return event[5]; 13242 } 13243 /** 13244 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT 13245 * @param event packet 13246 * @return report_id 13247 * @note: btstack_type 1 13248 */ 13249 static inline uint8_t gattservice_subevent_hid_report_get_report_id(const uint8_t * event){ 13250 return event[6]; 13251 } 13252 /** 13253 * @brief Get field report_len from event GATTSERVICE_SUBEVENT_HID_REPORT 13254 * @param event packet 13255 * @return report_len 13256 * @note: btstack_type L 13257 */ 13258 static inline uint16_t gattservice_subevent_hid_report_get_report_len(const uint8_t * event){ 13259 return little_endian_read_16(event, 7); 13260 } 13261 /** 13262 * @brief Get field report from event GATTSERVICE_SUBEVENT_HID_REPORT 13263 * @param event packet 13264 * @return report 13265 * @note: btstack_type V 13266 */ 13267 static inline const uint8_t * gattservice_subevent_hid_report_get_report(const uint8_t * event){ 13268 return &event[9]; 13269 } 13270 13271 /** 13272 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13273 * @param event packet 13274 * @return hids_cid 13275 * @note: btstack_type 2 13276 */ 13277 static inline uint16_t gattservice_subevent_hid_information_get_hids_cid(const uint8_t * event){ 13278 return little_endian_read_16(event, 3); 13279 } 13280 /** 13281 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13282 * @param event packet 13283 * @return service_index 13284 * @note: btstack_type 1 13285 */ 13286 static inline uint8_t gattservice_subevent_hid_information_get_service_index(const uint8_t * event){ 13287 return event[5]; 13288 } 13289 /** 13290 * @brief Get field base_usb_hid_version from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13291 * @param event packet 13292 * @return base_usb_hid_version 13293 * @note: btstack_type 2 13294 */ 13295 static inline uint16_t gattservice_subevent_hid_information_get_base_usb_hid_version(const uint8_t * event){ 13296 return little_endian_read_16(event, 6); 13297 } 13298 /** 13299 * @brief Get field country_code from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13300 * @param event packet 13301 * @return country_code 13302 * @note: btstack_type 1 13303 */ 13304 static inline uint8_t gattservice_subevent_hid_information_get_country_code(const uint8_t * event){ 13305 return event[8]; 13306 } 13307 /** 13308 * @brief Get field remote_wake from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13309 * @param event packet 13310 * @return remote_wake 13311 * @note: btstack_type 1 13312 */ 13313 static inline uint8_t gattservice_subevent_hid_information_get_remote_wake(const uint8_t * event){ 13314 return event[9]; 13315 } 13316 /** 13317 * @brief Get field normally_connectable from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13318 * @param event packet 13319 * @return normally_connectable 13320 * @note: btstack_type 1 13321 */ 13322 static inline uint8_t gattservice_subevent_hid_information_get_normally_connectable(const uint8_t * event){ 13323 return event[10]; 13324 } 13325 13326 /** 13327 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13328 * @param event packet 13329 * @return hids_cid 13330 * @note: btstack_type 2 13331 */ 13332 static inline uint16_t gattservice_subevent_hid_protocol_mode_get_hids_cid(const uint8_t * event){ 13333 return little_endian_read_16(event, 3); 13334 } 13335 /** 13336 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13337 * @param event packet 13338 * @return service_index 13339 * @note: btstack_type 1 13340 */ 13341 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_service_index(const uint8_t * event){ 13342 return event[5]; 13343 } 13344 /** 13345 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13346 * @param event packet 13347 * @return protocol_mode 13348 * @note: btstack_type 1 13349 */ 13350 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_protocol_mode(const uint8_t * event){ 13351 return event[6]; 13352 } 13353 13354 /** 13355 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13356 * @param event packet 13357 * @return hids_cid 13358 * @note: btstack_type 2 13359 */ 13360 static inline uint16_t gattservice_subevent_hid_service_reports_notification_get_hids_cid(const uint8_t * event){ 13361 return little_endian_read_16(event, 3); 13362 } 13363 /** 13364 * @brief Get field configuration from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13365 * @param event packet 13366 * @return configuration 13367 * @note: btstack_type 1 13368 */ 13369 static inline uint8_t gattservice_subevent_hid_service_reports_notification_get_configuration(const uint8_t * event){ 13370 return event[5]; 13371 } 13372 13373 /** 13374 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13375 * @param event packet 13376 * @return con_handle 13377 * @note: btstack_type H 13378 */ 13379 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_con_handle(const uint8_t * event){ 13380 return little_endian_read_16(event, 3); 13381 } 13382 /** 13383 * @brief Get field max_scan_interval from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13384 * @param event packet 13385 * @return max_scan_interval 13386 * @note: btstack_type 2 13387 */ 13388 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_max_scan_interval(const uint8_t * event){ 13389 return little_endian_read_16(event, 5); 13390 } 13391 /** 13392 * @brief Get field min_scan_window from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13393 * @param event packet 13394 * @return min_scan_window 13395 * @note: btstack_type 2 13396 */ 13397 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_min_scan_window(const uint8_t * event){ 13398 return little_endian_read_16(event, 7); 13399 } 13400 13401 /** 13402 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SCAN_STOPPED 13403 * @param event packet 13404 * @return con_handle 13405 * @note: btstack_type H 13406 */ 13407 static inline hci_con_handle_t gattservice_subevent_bass_server_scan_stopped_get_con_handle(const uint8_t * event){ 13408 return little_endian_read_16(event, 3); 13409 } 13410 13411 /** 13412 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SCAN_STARTED 13413 * @param event packet 13414 * @return con_handle 13415 * @note: btstack_type H 13416 */ 13417 static inline hci_con_handle_t gattservice_subevent_bass_server_scan_started_get_con_handle(const uint8_t * event){ 13418 return little_endian_read_16(event, 3); 13419 } 13420 13421 /** 13422 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_BROADCAST_CODE 13423 * @param event packet 13424 * @return con_handle 13425 * @note: btstack_type H 13426 */ 13427 static inline hci_con_handle_t gattservice_subevent_bass_server_broadcast_code_get_con_handle(const uint8_t * event){ 13428 return little_endian_read_16(event, 3); 13429 } 13430 /** 13431 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SERVER_BROADCAST_CODE 13432 * @param event packet 13433 * @return source_id 13434 * @note: btstack_type 1 13435 */ 13436 static inline uint8_t gattservice_subevent_bass_server_broadcast_code_get_source_id(const uint8_t * event){ 13437 return event[5]; 13438 } 13439 /** 13440 * @brief Get field broadcast_code from event GATTSERVICE_SUBEVENT_BASS_SERVER_BROADCAST_CODE 13441 * @param event packet 13442 * @param Pointer to storage for broadcast_code 13443 * @note: btstack_type K 13444 */ 13445 static inline void gattservice_subevent_bass_server_broadcast_code_get_broadcast_code(const uint8_t * event, uint8_t * broadcast_code){ 13446 reverse_bytes(&event[6], broadcast_code, 16); 13447 } 13448 13449 /** 13450 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_ADDED 13451 * @param event packet 13452 * @return con_handle 13453 * @note: btstack_type H 13454 */ 13455 static inline hci_con_handle_t gattservice_subevent_bass_server_source_added_get_con_handle(const uint8_t * event){ 13456 return little_endian_read_16(event, 3); 13457 } 13458 /** 13459 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_ADDED 13460 * @param event packet 13461 * @return source_id 13462 * @note: btstack_type 1 13463 */ 13464 static inline uint8_t gattservice_subevent_bass_server_source_added_get_source_id(const uint8_t * event){ 13465 return event[5]; 13466 } 13467 /** 13468 * @brief Get field pa_sync from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_ADDED 13469 * @param event packet 13470 * @return pa_sync 13471 * @note: btstack_type 1 13472 */ 13473 static inline uint8_t gattservice_subevent_bass_server_source_added_get_pa_sync(const uint8_t * event){ 13474 return event[6]; 13475 } 13476 13477 /** 13478 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 13479 * @param event packet 13480 * @return con_handle 13481 * @note: btstack_type H 13482 */ 13483 static inline hci_con_handle_t gattservice_subevent_bass_server_source_modified_get_con_handle(const uint8_t * event){ 13484 return little_endian_read_16(event, 3); 13485 } 13486 /** 13487 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 13488 * @param event packet 13489 * @return source_id 13490 * @note: btstack_type 1 13491 */ 13492 static inline uint8_t gattservice_subevent_bass_server_source_modified_get_source_id(const uint8_t * event){ 13493 return event[5]; 13494 } 13495 /** 13496 * @brief Get field pa_sync from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 13497 * @param event packet 13498 * @return pa_sync 13499 * @note: btstack_type 1 13500 */ 13501 static inline uint8_t gattservice_subevent_bass_server_source_modified_get_pa_sync(const uint8_t * event){ 13502 return event[6]; 13503 } 13504 13505 /** 13506 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_DELETED 13507 * @param event packet 13508 * @return con_handle 13509 * @note: btstack_type H 13510 */ 13511 static inline hci_con_handle_t gattservice_subevent_bass_server_source_deleted_get_con_handle(const uint8_t * event){ 13512 return little_endian_read_16(event, 3); 13513 } 13514 /** 13515 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_DELETED 13516 * @param event packet 13517 * @return source_id 13518 * @note: btstack_type 1 13519 */ 13520 static inline uint8_t gattservice_subevent_bass_server_source_deleted_get_source_id(const uint8_t * event){ 13521 return event[5]; 13522 } 13523 /** 13524 * @brief Get field pa_sync from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_DELETED 13525 * @param event packet 13526 * @return pa_sync 13527 * @note: btstack_type 1 13528 */ 13529 static inline uint8_t gattservice_subevent_bass_server_source_deleted_get_pa_sync(const uint8_t * event){ 13530 return event[6]; 13531 } 13532 13533 /** 13534 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED 13535 * @param event packet 13536 * @return con_handle 13537 * @note: btstack_type H 13538 */ 13539 static inline hci_con_handle_t gattservice_subevent_bass_client_connected_get_con_handle(const uint8_t * event){ 13540 return little_endian_read_16(event, 3); 13541 } 13542 /** 13543 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED 13544 * @param event packet 13545 * @return bass_cid 13546 * @note: btstack_type 2 13547 */ 13548 static inline uint16_t gattservice_subevent_bass_client_connected_get_bass_cid(const uint8_t * event){ 13549 return little_endian_read_16(event, 5); 13550 } 13551 /** 13552 * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED 13553 * @param event packet 13554 * @return status 13555 * @note: btstack_type 1 13556 */ 13557 static inline uint8_t gattservice_subevent_bass_client_connected_get_status(const uint8_t * event){ 13558 return event[7]; 13559 } 13560 13561 /** 13562 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_DISCONNECTED 13563 * @param event packet 13564 * @return bass_cid 13565 * @note: btstack_type 2 13566 */ 13567 static inline uint16_t gattservice_subevent_bass_client_disconnected_get_bass_cid(const uint8_t * event){ 13568 return little_endian_read_16(event, 3); 13569 } 13570 13571 /** 13572 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13573 * @param event packet 13574 * @return bass_cid 13575 * @note: btstack_type 2 13576 */ 13577 static inline uint16_t gattservice_subevent_bass_client_scan_operation_complete_get_bass_cid(const uint8_t * event){ 13578 return little_endian_read_16(event, 3); 13579 } 13580 /** 13581 * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13582 * @param event packet 13583 * @return status 13584 * @note: btstack_type 1 13585 */ 13586 static inline uint8_t gattservice_subevent_bass_client_scan_operation_complete_get_status(const uint8_t * event){ 13587 return event[5]; 13588 } 13589 /** 13590 * @brief Get field opcode from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13591 * @param event packet 13592 * @return opcode 13593 * @note: btstack_type 1 13594 */ 13595 static inline uint8_t gattservice_subevent_bass_client_scan_operation_complete_get_opcode(const uint8_t * event){ 13596 return event[6]; 13597 } 13598 13599 /** 13600 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13601 * @param event packet 13602 * @return bass_cid 13603 * @note: btstack_type 2 13604 */ 13605 // static inline uint16_t gattservice_subevent_bass_notify_receive_state_base_get_bass_cid(const uint8_t * event){ 13606 // not implemented yet 13607 // } 13608 /** 13609 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13610 * @param event packet 13611 * @return source_id 13612 * @note: btstack_type 1 13613 */ 13614 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_source_id(const uint8_t * event){ 13615 // not implemented yet 13616 // } 13617 /** 13618 * @brief Get field source_address_type from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13619 * @param event packet 13620 * @return source_address_type 13621 * @note: btstack_type 1 13622 */ 13623 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_source_address_type(const uint8_t * event){ 13624 // not implemented yet 13625 // } 13626 /** 13627 * @brief Get field source_address from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13628 * @param event packet 13629 * @return source_address 13630 * @note: btstack_type B 13631 */ 13632 // static inline bd_addr_t gattservice_subevent_bass_notify_receive_state_base_get_source_address(const uint8_t * event){ 13633 // not implemented yet 13634 // } 13635 /** 13636 * @brief Get field source_adv_sid from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13637 * @param event packet 13638 * @return source_adv_sid 13639 * @note: btstack_type 1 13640 */ 13641 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_source_adv_sid(const uint8_t * event){ 13642 // not implemented yet 13643 // } 13644 /** 13645 * @brief Get field broadcast_id from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13646 * @param event packet 13647 * @return broadcast_id 13648 * @note: btstack_type 3 13649 */ 13650 // static inline uint32_t gattservice_subevent_bass_notify_receive_state_base_get_broadcast_id(const uint8_t * event){ 13651 // not implemented yet 13652 // } 13653 /** 13654 * @brief Get field pa_sync_state from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13655 * @param event packet 13656 * @return pa_sync_state 13657 * @note: btstack_type 1 13658 */ 13659 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_pa_sync_state(const uint8_t * event){ 13660 // not implemented yet 13661 // } 13662 /** 13663 * @brief Get field big_encryption from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13664 * @param event packet 13665 * @return big_encryption 13666 * @note: btstack_type 1 13667 */ 13668 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_big_encryption(const uint8_t * event){ 13669 // not implemented yet 13670 // } 13671 /** 13672 * @brief Get field bad_code from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13673 * @param event packet 13674 * @return bad_code 13675 * @note: btstack_type P 13676 */ 13677 // static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_base_get_bad_code(const uint8_t * event){ 13678 // not implemented yet 13679 // } 13680 /** 13681 * @brief Get field subgroups_num from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13682 * @param event packet 13683 * @return subgroups_num 13684 * @note: btstack_type 1 13685 */ 13686 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_subgroups_num(const uint8_t * event){ 13687 // not implemented yet 13688 // } 13689 13690 /** 13691 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13692 * @param event packet 13693 * @return bass_cid 13694 * @note: btstack_type 2 13695 */ 13696 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){ 13697 return little_endian_read_16(event, 3); 13698 } 13699 /** 13700 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13701 * @param event packet 13702 * @return source_id 13703 * @note: btstack_type 1 13704 */ 13705 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_source_id(const uint8_t * event){ 13706 return event[5]; 13707 } 13708 /** 13709 * @brief Get field bis_sync_state from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13710 * @param event packet 13711 * @return bis_sync_state 13712 * @note: btstack_type 4 13713 */ 13714 static inline uint32_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){ 13715 return little_endian_read_32(event, 6); 13716 } 13717 /** 13718 * @brief Get field metadata_mask from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13719 * @param event packet 13720 * @return metadata_mask 13721 * @note: btstack_type 1 13722 */ 13723 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){ 13724 return event[10]; 13725 } 13726 /** 13727 * @brief Get field preferred_audio_contexts_mask from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13728 * @param event packet 13729 * @return preferred_audio_contexts_mask 13730 * @note: btstack_type 2 13731 */ 13732 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){ 13733 return little_endian_read_16(event, 11); 13734 } 13735 /** 13736 * @brief Get field streaming_audio_contexts_mask from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13737 * @param event packet 13738 * @return streaming_audio_contexts_mask 13739 * @note: btstack_type 2 13740 */ 13741 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){ 13742 return little_endian_read_16(event, 13); 13743 } 13744 /** 13745 * @brief Get field program_info_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13746 * @param event packet 13747 * @return program_info_length 13748 * @note: btstack_type J 13749 */ 13750 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){ 13751 return event[15]; 13752 } 13753 /** 13754 * @brief Get field program_info from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13755 * @param event packet 13756 * @return program_info 13757 * @note: btstack_type V 13758 */ 13759 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info(const uint8_t * event){ 13760 return &event[16]; 13761 } 13762 /** 13763 * @brief Get field language_code from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13764 * @param event packet 13765 * @return language_code 13766 * @note: btstack_type 3 13767 */ 13768 static inline uint32_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_language_code(const uint8_t * event){ 13769 return little_endian_read_24(event, (int)(16u + event[15])); 13770 } 13771 /** 13772 * @brief Get field ccids_num from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13773 * @param event packet 13774 * @return ccids_num 13775 * @note: btstack_type J 13776 */ 13777 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){ 13778 return event[16u + event[15] + 3u]; 13779 } 13780 /** 13781 * @brief Get field ccids from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13782 * @param event packet 13783 * @return ccids 13784 * @note: btstack_type V 13785 */ 13786 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_ccids(const uint8_t * event){ 13787 return &event[16u + event[15] + 3u + 1u]; 13788 } 13789 /** 13790 * @brief Get field parental_rating from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13791 * @param event packet 13792 * @return parental_rating 13793 * @note: btstack_type 1 13794 */ 13795 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){ 13796 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]]; 13797 } 13798 /** 13799 * @brief Get field program_info_uri_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13800 * @param event packet 13801 * @return program_info_uri_length 13802 * @note: btstack_type J 13803 */ 13804 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){ 13805 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; 13806 } 13807 /** 13808 * @brief Get field program_info_uri from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13809 * @param event packet 13810 * @return program_info_uri 13811 * @note: btstack_type V 13812 */ 13813 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){ 13814 return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u]; 13815 } 13816 /** 13817 * @brief Get field extended_metadata_type from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13818 * @param event packet 13819 * @return extended_metadata_type 13820 * @note: btstack_type 2 13821 */ 13822 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){ 13823 return little_endian_read_16(event, (int)(16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u])); 13824 } 13825 /** 13826 * @brief Get field extended_metadata_value_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13827 * @param event packet 13828 * @return extended_metadata_value_length 13829 * @note: btstack_type J 13830 */ 13831 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){ 13832 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]; 13833 } 13834 /** 13835 * @brief Get field extended_metadata_value from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13836 * @param event packet 13837 * @return extended_metadata_value 13838 * @note: btstack_type V 13839 */ 13840 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){ 13841 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]; 13842 } 13843 /** 13844 * @brief Get field vendor_specific_metadata_type from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13845 * @param event packet 13846 * @return vendor_specific_metadata_type 13847 * @note: btstack_type 2 13848 */ 13849 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){ 13850 return little_endian_read_16(event, (int)(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])); 13851 } 13852 /** 13853 * @brief Get field vendor_specific_metadata_value_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13854 * @param event packet 13855 * @return vendor_specific_metadata_value_length 13856 * @note: btstack_type J 13857 */ 13858 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){ 13859 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]; 13860 } 13861 /** 13862 * @brief Get field vendor_specific_metadata_value from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13863 * @param event packet 13864 * @return vendor_specific_metadata_value 13865 * @note: btstack_type V 13866 */ 13867 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){ 13868 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]; 13869 } 13870 13871 /** 13872 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 13873 * @param event packet 13874 * @return bass_cid 13875 * @note: btstack_type 2 13876 */ 13877 static inline uint16_t gattservice_subevent_bass_client_notification_complete_get_bass_cid(const uint8_t * event){ 13878 return little_endian_read_16(event, 3); 13879 } 13880 /** 13881 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 13882 * @param event packet 13883 * @return source_id 13884 * @note: btstack_type 1 13885 */ 13886 static inline uint8_t gattservice_subevent_bass_client_notification_complete_get_source_id(const uint8_t * event){ 13887 return event[5]; 13888 } 13889 13890 /** 13891 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 13892 * @param event packet 13893 * @return bass_cid 13894 * @note: btstack_type 2 13895 */ 13896 static inline uint16_t gattservice_subevent_bass_client_source_operation_complete_get_bass_cid(const uint8_t * event){ 13897 return little_endian_read_16(event, 3); 13898 } 13899 /** 13900 * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 13901 * @param event packet 13902 * @return status 13903 * @note: btstack_type 1 13904 */ 13905 static inline uint8_t gattservice_subevent_bass_client_source_operation_complete_get_status(const uint8_t * event){ 13906 return event[5]; 13907 } 13908 /** 13909 * @brief Get field opcode from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 13910 * @param event packet 13911 * @return opcode 13912 * @note: btstack_type 1 13913 */ 13914 static inline uint8_t gattservice_subevent_bass_client_source_operation_complete_get_opcode(const uint8_t * event){ 13915 return event[6]; 13916 } 13917 /** 13918 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 13919 * @param event packet 13920 * @return source_id 13921 * @note: btstack_type 1 13922 */ 13923 static inline uint8_t gattservice_subevent_bass_client_source_operation_complete_get_source_id(const uint8_t * event){ 13924 return event[7]; 13925 } 13926 13927 /** 13928 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_CONNECTED 13929 * @param event packet 13930 * @return con_handle 13931 * @note: btstack_type H 13932 */ 13933 static inline hci_con_handle_t gattservice_subevent_bass_server_connected_get_con_handle(const uint8_t * event){ 13934 return little_endian_read_16(event, 3); 13935 } 13936 /** 13937 * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_SERVER_CONNECTED 13938 * @param event packet 13939 * @return status 13940 * @note: btstack_type 1 13941 */ 13942 static inline uint8_t gattservice_subevent_bass_server_connected_get_status(const uint8_t * event){ 13943 return event[5]; 13944 } 13945 13946 /** 13947 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_DISCONNECTED 13948 * @param event packet 13949 * @return con_handle 13950 * @note: btstack_type H 13951 */ 13952 static inline hci_con_handle_t gattservice_subevent_bass_server_disconnected_get_con_handle(const uint8_t * event){ 13953 return little_endian_read_16(event, 3); 13954 } 13955 13956 13957 /** 13958 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 13959 * @param event packet 13960 * @return status 13961 * @note: btstack_type 1 13962 */ 13963 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 13964 return event[3]; 13965 } 13966 13967 /** 13968 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 13969 * @param event packet 13970 * @return status 13971 * @note: btstack_type 1 13972 */ 13973 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 13974 return event[3]; 13975 } 13976 /** 13977 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 13978 * @param event packet 13979 * @return pb_transport_cid 13980 * @note: btstack_type 2 13981 */ 13982 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 13983 return little_endian_read_16(event, 4); 13984 } 13985 /** 13986 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 13987 * @param event packet 13988 * @return pb_type 13989 * @note: btstack_type 1 13990 */ 13991 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 13992 return event[6]; 13993 } 13994 13995 /** 13996 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 13997 * @param event packet 13998 * @return pb_transport_cid 13999 * @note: btstack_type 1 14000 */ 14001 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 14002 return event[3]; 14003 } 14004 /** 14005 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14006 * @param event packet 14007 * @return reason 14008 * @note: btstack_type 2 14009 */ 14010 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 14011 return little_endian_read_16(event, 4); 14012 } 14013 14014 /** 14015 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14016 * @param event packet 14017 * @return pb_transport_cid 14018 * @note: btstack_type 2 14019 */ 14020 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 14021 return little_endian_read_16(event, 3); 14022 } 14023 /** 14024 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14025 * @param event packet 14026 * @return attention_time 14027 * @note: btstack_type 1 14028 */ 14029 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 14030 return event[5]; 14031 } 14032 14033 /** 14034 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 14035 * @param event packet 14036 * @return pb_transport_cid 14037 * @note: btstack_type 2 14038 */ 14039 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14040 return little_endian_read_16(event, 3); 14041 } 14042 14043 /** 14044 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 14045 * @param event packet 14046 * @return pb_transport_cid 14047 * @note: btstack_type 2 14048 */ 14049 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14050 return little_endian_read_16(event, 3); 14051 } 14052 14053 /** 14054 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 14055 * @param event packet 14056 * @return pb_transport_cid 14057 * @note: btstack_type 2 14058 */ 14059 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 14060 return little_endian_read_16(event, 3); 14061 } 14062 14063 /** 14064 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14065 * @param event packet 14066 * @return pb_transport_cid 14067 * @note: btstack_type 2 14068 */ 14069 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14070 return little_endian_read_16(event, 3); 14071 } 14072 /** 14073 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14074 * @param event packet 14075 * @return output_oob 14076 * @note: btstack_type 4 14077 */ 14078 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 14079 return little_endian_read_32(event, 5); 14080 } 14081 14082 /** 14083 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 14084 * @param event packet 14085 * @return pb_transport_cid 14086 * @note: btstack_type 2 14087 */ 14088 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14089 return little_endian_read_16(event, 3); 14090 } 14091 14092 /** 14093 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 14094 * @param event packet 14095 * @return pb_transport_cid 14096 * @note: btstack_type 2 14097 */ 14098 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14099 return little_endian_read_16(event, 3); 14100 } 14101 14102 /** 14103 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 14104 * @param event packet 14105 * @return pb_transport_cid 14106 * @note: btstack_type 2 14107 */ 14108 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14109 return little_endian_read_16(event, 3); 14110 } 14111 14112 /** 14113 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 14114 * @param event packet 14115 * @return pb_transport_cid 14116 * @note: btstack_type 2 14117 */ 14118 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 14119 return little_endian_read_16(event, 3); 14120 } 14121 14122 /** 14123 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 14124 * @param event packet 14125 * @return pb_transport_cid 14126 * @note: btstack_type 2 14127 */ 14128 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 14129 return little_endian_read_16(event, 3); 14130 } 14131 /** 14132 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 14133 * @param event packet 14134 * @return output_oob 14135 * @note: btstack_type 4 14136 */ 14137 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 14138 return little_endian_read_32(event, 5); 14139 } 14140 14141 /** 14142 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 14143 * @param event packet 14144 * @return pb_transport_cid 14145 * @note: btstack_type 2 14146 */ 14147 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 14148 return little_endian_read_16(event, 3); 14149 } 14150 14151 /** 14152 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14153 * @param event packet 14154 * @return pb_transport_cid 14155 * @note: btstack_type 2 14156 */ 14157 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 14158 return little_endian_read_16(event, 3); 14159 } 14160 /** 14161 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14162 * @param event packet 14163 * @return num_elements 14164 * @note: btstack_type 1 14165 */ 14166 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 14167 return event[5]; 14168 } 14169 /** 14170 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14171 * @param event packet 14172 * @return algorithms 14173 * @note: btstack_type 2 14174 */ 14175 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 14176 return little_endian_read_16(event, 6); 14177 } 14178 /** 14179 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14180 * @param event packet 14181 * @return public_key 14182 * @note: btstack_type 1 14183 */ 14184 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 14185 return event[8]; 14186 } 14187 /** 14188 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14189 * @param event packet 14190 * @return static_oob_type 14191 * @note: btstack_type 1 14192 */ 14193 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 14194 return event[9]; 14195 } 14196 /** 14197 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14198 * @param event packet 14199 * @return output_oob_size 14200 * @note: btstack_type 1 14201 */ 14202 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 14203 return event[10]; 14204 } 14205 /** 14206 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14207 * @param event packet 14208 * @return output_oob_action 14209 * @note: btstack_type 2 14210 */ 14211 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 14212 return little_endian_read_16(event, 11); 14213 } 14214 /** 14215 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14216 * @param event packet 14217 * @return input_oob_size 14218 * @note: btstack_type 1 14219 */ 14220 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 14221 return event[13]; 14222 } 14223 /** 14224 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14225 * @param event packet 14226 * @return input_oob_action 14227 * @note: btstack_type 2 14228 */ 14229 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 14230 return little_endian_read_16(event, 14); 14231 } 14232 14233 /** 14234 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 14235 * @param event packet 14236 * @return pb_transport_cid 14237 * @note: btstack_type 2 14238 */ 14239 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 14240 return little_endian_read_16(event, 3); 14241 } 14242 14243 /** 14244 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 14245 * @param event packet 14246 * @return attention_time 14247 * @note: btstack_type 1 14248 */ 14249 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 14250 return event[3]; 14251 } 14252 14253 /** 14254 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 14255 * @param event packet 14256 * @return con_handle 14257 * @note: btstack_type H 14258 */ 14259 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 14260 return little_endian_read_16(event, 3); 14261 } 14262 14263 /** 14264 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 14265 * @param event packet 14266 * @return con_handle 14267 * @note: btstack_type H 14268 */ 14269 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 14270 return little_endian_read_16(event, 3); 14271 } 14272 14273 /** 14274 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 14275 * @param event packet 14276 * @return con_handle 14277 * @note: btstack_type H 14278 */ 14279 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 14280 return little_endian_read_16(event, 3); 14281 } 14282 14283 /** 14284 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 14285 * @param event packet 14286 * @return con_handle 14287 * @note: btstack_type H 14288 */ 14289 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 14290 return little_endian_read_16(event, 3); 14291 } 14292 14293 /** 14294 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14295 * @param event packet 14296 * @return element_index 14297 * @note: btstack_type 1 14298 */ 14299 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 14300 return event[3]; 14301 } 14302 /** 14303 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14304 * @param event packet 14305 * @return model_identifier 14306 * @note: btstack_type 4 14307 */ 14308 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 14309 return little_endian_read_32(event, 4); 14310 } 14311 /** 14312 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14313 * @param event packet 14314 * @return state_identifier 14315 * @note: btstack_type 4 14316 */ 14317 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 14318 return little_endian_read_32(event, 8); 14319 } 14320 /** 14321 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14322 * @param event packet 14323 * @return reason 14324 * @note: btstack_type 1 14325 */ 14326 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 14327 return event[12]; 14328 } 14329 /** 14330 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 14331 * @param event packet 14332 * @return value 14333 * @note: btstack_type 1 14334 */ 14335 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 14336 return event[13]; 14337 } 14338 14339 /** 14340 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 14341 * @param event packet 14342 * @return element_index 14343 * @note: btstack_type 1 14344 */ 14345 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 14346 return event[3]; 14347 } 14348 /** 14349 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 14350 * @param event packet 14351 * @return model_identifier 14352 * @note: btstack_type 4 14353 */ 14354 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 14355 return little_endian_read_32(event, 4); 14356 } 14357 /** 14358 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 14359 * @param event packet 14360 * @return state_identifier 14361 * @note: btstack_type 4 14362 */ 14363 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 14364 return little_endian_read_32(event, 8); 14365 } 14366 /** 14367 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 14368 * @param event packet 14369 * @return reason 14370 * @note: btstack_type 1 14371 */ 14372 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 14373 return event[12]; 14374 } 14375 /** 14376 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 14377 * @param event packet 14378 * @return value 14379 * @note: btstack_type 2 14380 */ 14381 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 14382 return little_endian_read_16(event, 13); 14383 } 14384 14385 /** 14386 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 14387 * @param event packet 14388 * @return element_index 14389 * @note: btstack_type 1 14390 */ 14391 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 14392 return event[3]; 14393 } 14394 /** 14395 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 14396 * @param event packet 14397 * @return model_identifier 14398 * @note: btstack_type 4 14399 */ 14400 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 14401 return little_endian_read_32(event, 4); 14402 } 14403 /** 14404 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 14405 * @param event packet 14406 * @return opcode 14407 * @note: btstack_type 4 14408 */ 14409 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 14410 return little_endian_read_32(event, 8); 14411 } 14412 /** 14413 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 14414 * @param event packet 14415 * @return dest 14416 * @note: btstack_type 2 14417 */ 14418 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 14419 return little_endian_read_16(event, 12); 14420 } 14421 14422 /** 14423 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 14424 * @param event packet 14425 * @return dest 14426 * @note: btstack_type 2 14427 */ 14428 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 14429 return little_endian_read_16(event, 3); 14430 } 14431 /** 14432 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 14433 * @param event packet 14434 * @return status 14435 * @note: btstack_type 1 14436 */ 14437 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 14438 return event[5]; 14439 } 14440 /** 14441 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 14442 * @param event packet 14443 * @return present_value 14444 * @note: btstack_type 1 14445 */ 14446 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 14447 return event[6]; 14448 } 14449 /** 14450 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 14451 * @param event packet 14452 * @return target_value 14453 * @note: btstack_type 1 14454 */ 14455 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 14456 return event[7]; 14457 } 14458 /** 14459 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 14460 * @param event packet 14461 * @return remaining_time_ms 14462 * @note: btstack_type 4 14463 */ 14464 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 14465 return little_endian_read_32(event, 8); 14466 } 14467 14468 /** 14469 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 14470 * @param event packet 14471 * @return dest 14472 * @note: btstack_type 2 14473 */ 14474 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 14475 return little_endian_read_16(event, 3); 14476 } 14477 /** 14478 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 14479 * @param event packet 14480 * @return status 14481 * @note: btstack_type 1 14482 */ 14483 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 14484 return event[5]; 14485 } 14486 /** 14487 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 14488 * @param event packet 14489 * @return present_value 14490 * @note: btstack_type 2 14491 */ 14492 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 14493 return little_endian_read_16(event, 6); 14494 } 14495 /** 14496 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 14497 * @param event packet 14498 * @return target_value 14499 * @note: btstack_type 2 14500 */ 14501 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 14502 return little_endian_read_16(event, 8); 14503 } 14504 /** 14505 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 14506 * @param event packet 14507 * @return remaining_time_ms 14508 * @note: btstack_type 4 14509 */ 14510 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 14511 return little_endian_read_32(event, 10); 14512 } 14513 14514 /** 14515 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14516 * @param event packet 14517 * @return dest 14518 * @note: btstack_type 2 14519 */ 14520 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 14521 return little_endian_read_16(event, 3); 14522 } 14523 /** 14524 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14525 * @param event packet 14526 * @return netkey_index 14527 * @note: btstack_type 2 14528 */ 14529 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 14530 return little_endian_read_16(event, 5); 14531 } 14532 /** 14533 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14534 * @param event packet 14535 * @return appkey_index 14536 * @note: btstack_type 2 14537 */ 14538 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 14539 return little_endian_read_16(event, 7); 14540 } 14541 /** 14542 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14543 * @param event packet 14544 * @return company_id 14545 * @note: btstack_type 2 14546 */ 14547 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 14548 return little_endian_read_16(event, 9); 14549 } 14550 /** 14551 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14552 * @param event packet 14553 * @return test_id 14554 * @note: btstack_type 1 14555 */ 14556 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 14557 return event[11]; 14558 } 14559 /** 14560 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14561 * @param event packet 14562 * @return acknowledged 14563 * @note: btstack_type 1 14564 */ 14565 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 14566 return event[12]; 14567 } 14568 14569 /** 14570 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 14571 * @param event packet 14572 * @return element_index 14573 * @note: btstack_type 1 14574 */ 14575 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 14576 return event[3]; 14577 } 14578 14579 /** 14580 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 14581 * @param event packet 14582 * @return dest 14583 * @note: btstack_type 2 14584 */ 14585 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 14586 return little_endian_read_16(event, 3); 14587 } 14588 /** 14589 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 14590 * @param event packet 14591 * @return status 14592 * @note: btstack_type 1 14593 */ 14594 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 14595 return event[5]; 14596 } 14597 /** 14598 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 14599 * @param event packet 14600 * @return transition_time_gdtt 14601 * @note: btstack_type 1 14602 */ 14603 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 14604 return event[6]; 14605 } 14606 14607 /** 14608 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 14609 * @param event packet 14610 * @return dest 14611 * @note: btstack_type 2 14612 */ 14613 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 14614 return little_endian_read_16(event, 3); 14615 } 14616 /** 14617 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 14618 * @param event packet 14619 * @return foundation_status 14620 * @note: btstack_type 1 14621 */ 14622 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 14623 return event[5]; 14624 } 14625 /** 14626 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 14627 * @param event packet 14628 * @return secure_network_beacon_state 14629 * @note: btstack_type 1 14630 */ 14631 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 14632 return event[6]; 14633 } 14634 14635 /** 14636 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 14637 * @param event packet 14638 * @return dest 14639 * @note: btstack_type 2 14640 */ 14641 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 14642 return little_endian_read_16(event, 3); 14643 } 14644 /** 14645 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 14646 * @param event packet 14647 * @return foundation_status 14648 * @note: btstack_type 1 14649 */ 14650 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 14651 return event[5]; 14652 } 14653 /** 14654 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 14655 * @param event packet 14656 * @return default_ttl 14657 * @note: btstack_type 1 14658 */ 14659 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 14660 return event[6]; 14661 } 14662 14663 /** 14664 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 14665 * @param event packet 14666 * @return dest 14667 * @note: btstack_type 2 14668 */ 14669 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 14670 return little_endian_read_16(event, 3); 14671 } 14672 /** 14673 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 14674 * @param event packet 14675 * @return foundation_status 14676 * @note: btstack_type 1 14677 */ 14678 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 14679 return event[5]; 14680 } 14681 /** 14682 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 14683 * @param event packet 14684 * @return gatt_proxy_state 14685 * @note: btstack_type 1 14686 */ 14687 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 14688 return event[6]; 14689 } 14690 14691 /** 14692 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 14693 * @param event packet 14694 * @return dest 14695 * @note: btstack_type 2 14696 */ 14697 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 14698 return little_endian_read_16(event, 3); 14699 } 14700 /** 14701 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 14702 * @param event packet 14703 * @return foundation_status 14704 * @note: btstack_type 1 14705 */ 14706 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 14707 return event[5]; 14708 } 14709 /** 14710 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 14711 * @param event packet 14712 * @return relay 14713 * @note: btstack_type 1 14714 */ 14715 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 14716 return event[6]; 14717 } 14718 /** 14719 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 14720 * @param event packet 14721 * @return retransmit_count 14722 * @note: btstack_type 1 14723 */ 14724 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 14725 return event[7]; 14726 } 14727 /** 14728 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 14729 * @param event packet 14730 * @return retransmit_interval_ms 14731 * @note: btstack_type 1 14732 */ 14733 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 14734 return event[8]; 14735 } 14736 14737 /** 14738 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14739 * @param event packet 14740 * @return dest 14741 * @note: btstack_type 2 14742 */ 14743 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 14744 return little_endian_read_16(event, 3); 14745 } 14746 /** 14747 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14748 * @param event packet 14749 * @return foundation_status 14750 * @note: btstack_type 1 14751 */ 14752 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 14753 return event[5]; 14754 } 14755 /** 14756 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14757 * @param event packet 14758 * @return publish_address 14759 * @note: btstack_type 2 14760 */ 14761 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 14762 return little_endian_read_16(event, 6); 14763 } 14764 /** 14765 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14766 * @param event packet 14767 * @return appkey_index 14768 * @note: btstack_type 2 14769 */ 14770 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 14771 return little_endian_read_16(event, 8); 14772 } 14773 /** 14774 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14775 * @param event packet 14776 * @return credential_flag 14777 * @note: btstack_type 1 14778 */ 14779 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 14780 return event[10]; 14781 } 14782 /** 14783 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14784 * @param event packet 14785 * @return publish_ttl 14786 * @note: btstack_type 1 14787 */ 14788 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 14789 return event[11]; 14790 } 14791 /** 14792 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14793 * @param event packet 14794 * @return publish_period 14795 * @note: btstack_type 1 14796 */ 14797 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 14798 return event[12]; 14799 } 14800 /** 14801 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14802 * @param event packet 14803 * @return publish_retransmit_count 14804 * @note: btstack_type 1 14805 */ 14806 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 14807 return event[13]; 14808 } 14809 /** 14810 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14811 * @param event packet 14812 * @return publish_retransmit_interval_steps 14813 * @note: btstack_type 1 14814 */ 14815 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 14816 return event[14]; 14817 } 14818 /** 14819 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14820 * @param event packet 14821 * @return model_identifier 14822 * @note: btstack_type 4 14823 */ 14824 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 14825 return little_endian_read_32(event, 15); 14826 } 14827 14828 /** 14829 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 14830 * @param event packet 14831 * @return dest 14832 * @note: btstack_type 2 14833 */ 14834 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 14835 return little_endian_read_16(event, 3); 14836 } 14837 /** 14838 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 14839 * @param event packet 14840 * @return foundation_status 14841 * @note: btstack_type 1 14842 */ 14843 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 14844 return event[5]; 14845 } 14846 /** 14847 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 14848 * @param event packet 14849 * @return address 14850 * @note: btstack_type 2 14851 */ 14852 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 14853 return little_endian_read_16(event, 6); 14854 } 14855 /** 14856 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 14857 * @param event packet 14858 * @return model_identifier 14859 * @note: btstack_type 4 14860 */ 14861 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 14862 return little_endian_read_32(event, 8); 14863 } 14864 14865 /** 14866 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14867 * @param event packet 14868 * @return dest 14869 * @note: btstack_type 2 14870 */ 14871 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 14872 return little_endian_read_16(event, 3); 14873 } 14874 /** 14875 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14876 * @param event packet 14877 * @return foundation_status 14878 * @note: btstack_type 1 14879 */ 14880 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 14881 return event[5]; 14882 } 14883 /** 14884 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14885 * @param event packet 14886 * @return model_identifier 14887 * @note: btstack_type 4 14888 */ 14889 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 14890 return little_endian_read_32(event, 6); 14891 } 14892 /** 14893 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14894 * @param event packet 14895 * @return num_subscription_addresses 14896 * @note: btstack_type 1 14897 */ 14898 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 14899 return event[10]; 14900 } 14901 /** 14902 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14903 * @param event packet 14904 * @return subscription_address_pos 14905 * @note: btstack_type 1 14906 */ 14907 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 14908 return event[11]; 14909 } 14910 /** 14911 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14912 * @param event packet 14913 * @return subscription_address_item 14914 * @note: btstack_type 2 14915 */ 14916 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 14917 return little_endian_read_16(event, 12); 14918 } 14919 14920 /** 14921 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 14922 * @param event packet 14923 * @return dest 14924 * @note: btstack_type 2 14925 */ 14926 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 14927 return little_endian_read_16(event, 3); 14928 } 14929 /** 14930 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 14931 * @param event packet 14932 * @return foundation_status 14933 * @note: btstack_type 1 14934 */ 14935 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 14936 return event[5]; 14937 } 14938 14939 /** 14940 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 14941 * @param event packet 14942 * @return dest 14943 * @note: btstack_type 2 14944 */ 14945 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 14946 return little_endian_read_16(event, 3); 14947 } 14948 /** 14949 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 14950 * @param event packet 14951 * @return foundation_status 14952 * @note: btstack_type 1 14953 */ 14954 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 14955 return event[5]; 14956 } 14957 /** 14958 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 14959 * @param event packet 14960 * @return num_netkey_indexes 14961 * @note: btstack_type 1 14962 */ 14963 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 14964 return event[6]; 14965 } 14966 /** 14967 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 14968 * @param event packet 14969 * @return netkey_index_pos 14970 * @note: btstack_type 1 14971 */ 14972 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 14973 return event[7]; 14974 } 14975 /** 14976 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 14977 * @param event packet 14978 * @return netkey_index_item 14979 * @note: btstack_type 2 14980 */ 14981 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 14982 return little_endian_read_16(event, 8); 14983 } 14984 14985 /** 14986 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 14987 * @param event packet 14988 * @return dest 14989 * @note: btstack_type 2 14990 */ 14991 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 14992 return little_endian_read_16(event, 3); 14993 } 14994 /** 14995 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 14996 * @param event packet 14997 * @return foundation_status 14998 * @note: btstack_type 1 14999 */ 15000 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 15001 return event[5]; 15002 } 15003 /** 15004 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15005 * @param event packet 15006 * @return netkey_index_item 15007 * @note: btstack_type 2 15008 */ 15009 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 15010 return little_endian_read_16(event, 6); 15011 } 15012 /** 15013 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15014 * @param event packet 15015 * @return appkey_index_item 15016 * @note: btstack_type 2 15017 */ 15018 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 15019 return little_endian_read_16(event, 8); 15020 } 15021 15022 /** 15023 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15024 * @param event packet 15025 * @return dest 15026 * @note: btstack_type 2 15027 */ 15028 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 15029 return little_endian_read_16(event, 3); 15030 } 15031 /** 15032 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15033 * @param event packet 15034 * @return foundation_status 15035 * @note: btstack_type 1 15036 */ 15037 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 15038 return event[5]; 15039 } 15040 /** 15041 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15042 * @param event packet 15043 * @return netkey_index 15044 * @note: btstack_type 2 15045 */ 15046 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 15047 return little_endian_read_16(event, 6); 15048 } 15049 /** 15050 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15051 * @param event packet 15052 * @return num_appkey_indexes 15053 * @note: btstack_type 1 15054 */ 15055 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 15056 return event[8]; 15057 } 15058 /** 15059 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15060 * @param event packet 15061 * @return appkey_index_pos 15062 * @note: btstack_type 1 15063 */ 15064 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 15065 return event[9]; 15066 } 15067 /** 15068 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15069 * @param event packet 15070 * @return netkey_index_item 15071 * @note: btstack_type 2 15072 */ 15073 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15074 return little_endian_read_16(event, 10); 15075 } 15076 /** 15077 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15078 * @param event packet 15079 * @return appkey_index_item 15080 * @note: btstack_type 2 15081 */ 15082 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 15083 return little_endian_read_16(event, 12); 15084 } 15085 15086 /** 15087 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15088 * @param event packet 15089 * @return dest 15090 * @note: btstack_type 2 15091 */ 15092 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 15093 return little_endian_read_16(event, 3); 15094 } 15095 /** 15096 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15097 * @param event packet 15098 * @return foundation_status 15099 * @note: btstack_type 1 15100 */ 15101 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 15102 return event[5]; 15103 } 15104 /** 15105 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15106 * @param event packet 15107 * @return netkey_index_item 15108 * @note: btstack_type 2 15109 */ 15110 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 15111 return little_endian_read_16(event, 6); 15112 } 15113 /** 15114 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15115 * @param event packet 15116 * @return identity_status 15117 * @note: btstack_type 1 15118 */ 15119 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 15120 return event[8]; 15121 } 15122 15123 /** 15124 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15125 * @param event packet 15126 * @return dest 15127 * @note: btstack_type 2 15128 */ 15129 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 15130 return little_endian_read_16(event, 3); 15131 } 15132 /** 15133 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15134 * @param event packet 15135 * @return foundation_status 15136 * @note: btstack_type 1 15137 */ 15138 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 15139 return event[5]; 15140 } 15141 /** 15142 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15143 * @param event packet 15144 * @return appkey_index 15145 * @note: btstack_type 2 15146 */ 15147 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 15148 return little_endian_read_16(event, 6); 15149 } 15150 /** 15151 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15152 * @param event packet 15153 * @return model_identifier 15154 * @note: btstack_type 4 15155 */ 15156 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 15157 return little_endian_read_32(event, 8); 15158 } 15159 15160 /** 15161 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15162 * @param event packet 15163 * @return dest 15164 * @note: btstack_type 2 15165 */ 15166 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 15167 return little_endian_read_16(event, 3); 15168 } 15169 /** 15170 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15171 * @param event packet 15172 * @return foundation_status 15173 * @note: btstack_type 1 15174 */ 15175 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 15176 return event[5]; 15177 } 15178 /** 15179 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15180 * @param event packet 15181 * @return model_id 15182 * @note: btstack_type 4 15183 */ 15184 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 15185 return little_endian_read_32(event, 6); 15186 } 15187 /** 15188 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15189 * @param event packet 15190 * @return num_appkey_indexes 15191 * @note: btstack_type 1 15192 */ 15193 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 15194 return event[10]; 15195 } 15196 /** 15197 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15198 * @param event packet 15199 * @return appkey_index_pos 15200 * @note: btstack_type 1 15201 */ 15202 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 15203 return event[11]; 15204 } 15205 /** 15206 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15207 * @param event packet 15208 * @return appkey_index_item 15209 * @note: btstack_type 2 15210 */ 15211 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 15212 return little_endian_read_16(event, 12); 15213 } 15214 15215 /** 15216 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 15217 * @param event packet 15218 * @return dest 15219 * @note: btstack_type 2 15220 */ 15221 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 15222 return little_endian_read_16(event, 3); 15223 } 15224 /** 15225 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 15226 * @param event packet 15227 * @return foundation_status 15228 * @note: btstack_type 1 15229 */ 15230 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 15231 return event[5]; 15232 } 15233 15234 /** 15235 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 15236 * @param event packet 15237 * @return dest 15238 * @note: btstack_type 2 15239 */ 15240 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 15241 return little_endian_read_16(event, 3); 15242 } 15243 /** 15244 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 15245 * @param event packet 15246 * @return foundation_status 15247 * @note: btstack_type 1 15248 */ 15249 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 15250 return event[5]; 15251 } 15252 /** 15253 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 15254 * @param event packet 15255 * @return friend_state 15256 * @note: btstack_type 1 15257 */ 15258 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 15259 return event[6]; 15260 } 15261 15262 /** 15263 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 15264 * @param event packet 15265 * @return dest 15266 * @note: btstack_type 2 15267 */ 15268 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 15269 return little_endian_read_16(event, 3); 15270 } 15271 /** 15272 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 15273 * @param event packet 15274 * @return foundation_status 15275 * @note: btstack_type 1 15276 */ 15277 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 15278 return event[5]; 15279 } 15280 /** 15281 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 15282 * @param event packet 15283 * @return netkey_index 15284 * @note: btstack_type 2 15285 */ 15286 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 15287 return little_endian_read_16(event, 6); 15288 } 15289 /** 15290 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 15291 * @param event packet 15292 * @return phase 15293 * @note: btstack_type 1 15294 */ 15295 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 15296 return event[8]; 15297 } 15298 15299 /** 15300 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15301 * @param event packet 15302 * @return dest 15303 * @note: btstack_type 2 15304 */ 15305 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 15306 return little_endian_read_16(event, 3); 15307 } 15308 /** 15309 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15310 * @param event packet 15311 * @return foundation_status 15312 * @note: btstack_type 1 15313 */ 15314 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 15315 return event[5]; 15316 } 15317 /** 15318 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15319 * @param event packet 15320 * @return heartbeat_destination 15321 * @note: btstack_type 2 15322 */ 15323 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 15324 return little_endian_read_16(event, 6); 15325 } 15326 /** 15327 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15328 * @param event packet 15329 * @return count_S 15330 * @note: btstack_type 2 15331 */ 15332 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 15333 return little_endian_read_16(event, 8); 15334 } 15335 /** 15336 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15337 * @param event packet 15338 * @return period_S 15339 * @note: btstack_type 2 15340 */ 15341 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 15342 return little_endian_read_16(event, 10); 15343 } 15344 /** 15345 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15346 * @param event packet 15347 * @return ttl 15348 * @note: btstack_type 1 15349 */ 15350 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 15351 return event[12]; 15352 } 15353 /** 15354 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15355 * @param event packet 15356 * @return features 15357 * @note: btstack_type 2 15358 */ 15359 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 15360 return little_endian_read_16(event, 13); 15361 } 15362 /** 15363 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 15364 * @param event packet 15365 * @return netkey_index 15366 * @note: btstack_type 2 15367 */ 15368 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 15369 return little_endian_read_16(event, 15); 15370 } 15371 15372 /** 15373 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15374 * @param event packet 15375 * @return dest 15376 * @note: btstack_type 2 15377 */ 15378 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 15379 return little_endian_read_16(event, 3); 15380 } 15381 /** 15382 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15383 * @param event packet 15384 * @return foundation_status 15385 * @note: btstack_type 1 15386 */ 15387 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 15388 return event[5]; 15389 } 15390 /** 15391 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15392 * @param event packet 15393 * @return heartbeat_destination 15394 * @note: btstack_type 2 15395 */ 15396 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 15397 return little_endian_read_16(event, 6); 15398 } 15399 /** 15400 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15401 * @param event packet 15402 * @return heartbeat_source 15403 * @note: btstack_type 2 15404 */ 15405 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 15406 return little_endian_read_16(event, 8); 15407 } 15408 /** 15409 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15410 * @param event packet 15411 * @return count_S 15412 * @note: btstack_type 2 15413 */ 15414 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 15415 return little_endian_read_16(event, 10); 15416 } 15417 /** 15418 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15419 * @param event packet 15420 * @return period_S 15421 * @note: btstack_type 2 15422 */ 15423 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 15424 return little_endian_read_16(event, 12); 15425 } 15426 /** 15427 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15428 * @param event packet 15429 * @return min_hops 15430 * @note: btstack_type 1 15431 */ 15432 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 15433 return event[14]; 15434 } 15435 /** 15436 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 15437 * @param event packet 15438 * @return max_hops 15439 * @note: btstack_type 1 15440 */ 15441 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 15442 return event[15]; 15443 } 15444 15445 /** 15446 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 15447 * @param event packet 15448 * @return dest 15449 * @note: btstack_type 2 15450 */ 15451 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 15452 return little_endian_read_16(event, 3); 15453 } 15454 /** 15455 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 15456 * @param event packet 15457 * @return foundation_status 15458 * @note: btstack_type 1 15459 */ 15460 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 15461 return event[5]; 15462 } 15463 /** 15464 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 15465 * @param event packet 15466 * @return lpn_address 15467 * @note: btstack_type 2 15468 */ 15469 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 15470 return little_endian_read_16(event, 6); 15471 } 15472 /** 15473 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 15474 * @param event packet 15475 * @return poll_timeout 15476 * @note: btstack_type 3 15477 */ 15478 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 15479 return little_endian_read_24(event, 8); 15480 } 15481 15482 /** 15483 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 15484 * @param event packet 15485 * @return dest 15486 * @note: btstack_type 2 15487 */ 15488 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 15489 return little_endian_read_16(event, 3); 15490 } 15491 /** 15492 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 15493 * @param event packet 15494 * @return foundation_status 15495 * @note: btstack_type 1 15496 */ 15497 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 15498 return event[5]; 15499 } 15500 /** 15501 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 15502 * @param event packet 15503 * @return transmit_count 15504 * @note: btstack_type 1 15505 */ 15506 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 15507 return event[6]; 15508 } 15509 /** 15510 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 15511 * @param event packet 15512 * @return transmit_interval_steps_ms 15513 * @note: btstack_type 2 15514 */ 15515 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 15516 return little_endian_read_16(event, 7); 15517 } 15518 15519 15520 15521 /* API_END */ 15522 15523 #if defined __cplusplus 15524 } 15525 #endif 15526 15527 #endif // BTSTACK_EVENT_H 15528