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