1 /* 2 * Copyright (C) 2016 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. Neither the name of the copyright holders nor the names of 14 * contributors may be used to endorse or promote products derived 15 * from this software without specific prior written permission. 16 * 4. Any redistribution, use, or modification is done solely for 17 * personal benefit and not for any commercial purpose or for 18 * monetary gain. 19 * 20 * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS 21 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BLUEKITCHEN 24 * GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 27 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 30 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * Please inquire about commercial licensing options at 34 * [email protected] 35 * 36 */ 37 38 39 /** 40 * HCI Event Getter 41 * 42 * Note: Don't edit this file. It is generated by tool/btstack_event_generator.py 43 * 44 */ 45 46 #ifndef BTSTACK_EVENT_H 47 #define BTSTACK_EVENT_H 48 49 #if defined __cplusplus 50 extern "C" { 51 #endif 52 53 #include "btstack_util.h" 54 #include <stdint.h> 55 56 #ifdef ENABLE_BLE 57 #include "ble/gatt_client.h" 58 #endif 59 60 /* API_START */ 61 62 /** 63 * @brief Get event type 64 * @param event 65 * @return type of event 66 */ 67 static inline uint8_t hci_event_packet_get_type(const uint8_t * event){ 68 return event[0]; 69 } 70 71 typedef uint8_t* btstack_event_iterator_t; 72 73 /*** 74 * @brief Get subevent code for a2dp event 75 * @param event packet 76 * @return subevent_code 77 */ 78 static inline uint8_t hci_event_a2dp_meta_get_subevent_code(const uint8_t * event){ 79 return event[2]; 80 } 81 /*** 82 * @brief Get subevent code for ancs event 83 * @param event packet 84 * @return subevent_code 85 */ 86 static inline uint8_t hci_event_ancs_meta_get_subevent_code(const uint8_t * event){ 87 return event[2]; 88 } 89 /*** 90 * @brief Get subevent code for avdtp event 91 * @param event packet 92 * @return subevent_code 93 */ 94 static inline uint8_t hci_event_avdtp_meta_get_subevent_code(const uint8_t * event){ 95 return event[2]; 96 } 97 /*** 98 * @brief Get subevent code for avrcp event 99 * @param event packet 100 * @return subevent_code 101 */ 102 static inline uint8_t hci_event_avrcp_meta_get_subevent_code(const uint8_t * event){ 103 return event[2]; 104 } 105 /*** 106 * @brief Get subevent code for gap event 107 * @param event packet 108 * @return subevent_code 109 */ 110 static inline uint8_t hci_event_gap_meta_get_subevent_code(const uint8_t * event){ 111 return event[2]; 112 } 113 /*** 114 * @brief Get subevent code for gattservice event 115 * @param event packet 116 * @return subevent_code 117 */ 118 static inline uint8_t hci_event_gattservice_meta_get_subevent_code(const uint8_t * event){ 119 return event[2]; 120 } 121 /*** 122 * @brief Get subevent code for goep event 123 * @param event packet 124 * @return subevent_code 125 */ 126 static inline uint8_t hci_event_goep_meta_get_subevent_code(const uint8_t * event){ 127 return event[2]; 128 } 129 /*** 130 * @brief Get subevent code for hfp event 131 * @param event packet 132 * @return subevent_code 133 */ 134 static inline uint8_t hci_event_hfp_meta_get_subevent_code(const uint8_t * event){ 135 return event[2]; 136 } 137 /*** 138 * @brief Get subevent code for hid event 139 * @param event packet 140 * @return subevent_code 141 */ 142 static inline uint8_t hci_event_hid_meta_get_subevent_code(const uint8_t * event){ 143 return event[2]; 144 } 145 /*** 146 * @brief Get subevent code for hids event 147 * @param event packet 148 * @return subevent_code 149 */ 150 static inline uint8_t hci_event_hids_meta_get_subevent_code(const uint8_t * event){ 151 return event[2]; 152 } 153 /*** 154 * @brief Get subevent code for hsp event 155 * @param event packet 156 * @return subevent_code 157 */ 158 static inline uint8_t hci_event_hsp_meta_get_subevent_code(const uint8_t * event){ 159 return event[2]; 160 } 161 /*** 162 * @brief Get subevent code for le event 163 * @param event packet 164 * @return subevent_code 165 */ 166 static inline uint8_t hci_event_le_meta_get_subevent_code(const uint8_t * event){ 167 return event[2]; 168 } 169 /*** 170 * @brief Get subevent code for leaudio event 171 * @param event packet 172 * @return subevent_code 173 */ 174 static inline uint8_t hci_event_leaudio_meta_get_subevent_code(const uint8_t * event){ 175 return event[2]; 176 } 177 /*** 178 * @brief Get subevent code for map event 179 * @param event packet 180 * @return subevent_code 181 */ 182 static inline uint8_t hci_event_map_meta_get_subevent_code(const uint8_t * event){ 183 return event[2]; 184 } 185 /*** 186 * @brief Get subevent code for mesh event 187 * @param event packet 188 * @return subevent_code 189 */ 190 static inline uint8_t hci_event_mesh_meta_get_subevent_code(const uint8_t * event){ 191 return event[2]; 192 } 193 /*** 194 * @brief Get subevent code for pbap event 195 * @param event packet 196 * @return subevent_code 197 */ 198 static inline uint8_t hci_event_pbap_meta_get_subevent_code(const uint8_t * event){ 199 return event[2]; 200 } 201 /*** 202 * @brief Get subevent code for opp event 203 * @param event packet 204 * @return subevent_code 205 */ 206 static inline uint8_t hci_event_opp_meta_get_subevent_code(const uint8_t * event){ 207 return event[2]; 208 } 209 /** 210 * @brief Get field status from event HCI_EVENT_INQUIRY_COMPLETE 211 * @param event packet 212 * @return status 213 * @note: btstack_type 1 214 */ 215 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){ 216 return event[2]; 217 } 218 219 /** 220 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT 221 * @param event packet 222 * @return num_responses 223 * @note: btstack_type 1 224 */ 225 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){ 226 return event[2]; 227 } 228 /** 229 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT 230 * @param event packet 231 * @param Pointer to storage for bd_addr 232 * @note: btstack_type B 233 */ 234 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 235 reverse_bytes(&event[3], bd_addr, 6); 236 } 237 /** 238 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT 239 * @param event packet 240 * @return page_scan_repetition_mode 241 * @note: btstack_type 1 242 */ 243 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 244 return event[9]; 245 } 246 /** 247 * @brief Get field reserved1 from event HCI_EVENT_INQUIRY_RESULT 248 * @param event packet 249 * @return reserved1 250 * @note: btstack_type 1 251 */ 252 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){ 253 return event[10]; 254 } 255 /** 256 * @brief Get field reserved2 from event HCI_EVENT_INQUIRY_RESULT 257 * @param event packet 258 * @return reserved2 259 * @note: btstack_type 1 260 */ 261 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){ 262 return event[11]; 263 } 264 /** 265 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT 266 * @param event packet 267 * @return class_of_device 268 * @note: btstack_type 3 269 */ 270 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){ 271 return little_endian_read_24(event, 12); 272 } 273 /** 274 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT 275 * @param event packet 276 * @return clock_offset 277 * @note: btstack_type 2 278 */ 279 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){ 280 return little_endian_read_16(event, 15); 281 } 282 283 /** 284 * @brief Get field status from event HCI_EVENT_CONNECTION_COMPLETE 285 * @param event packet 286 * @return status 287 * @note: btstack_type 1 288 */ 289 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){ 290 return event[2]; 291 } 292 /** 293 * @brief Get field connection_handle from event HCI_EVENT_CONNECTION_COMPLETE 294 * @param event packet 295 * @return connection_handle 296 * @note: btstack_type 2 297 */ 298 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){ 299 return little_endian_read_16(event, 3); 300 } 301 /** 302 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_COMPLETE 303 * @param event packet 304 * @param Pointer to storage for bd_addr 305 * @note: btstack_type B 306 */ 307 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 308 reverse_bytes(&event[5], bd_addr, 6); 309 } 310 /** 311 * @brief Get field link_type from event HCI_EVENT_CONNECTION_COMPLETE 312 * @param event packet 313 * @return link_type 314 * @note: btstack_type 1 315 */ 316 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){ 317 return event[11]; 318 } 319 /** 320 * @brief Get field encryption_enabled from event HCI_EVENT_CONNECTION_COMPLETE 321 * @param event packet 322 * @return encryption_enabled 323 * @note: btstack_type 1 324 */ 325 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){ 326 return event[12]; 327 } 328 329 /** 330 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_REQUEST 331 * @param event packet 332 * @param Pointer to storage for bd_addr 333 * @note: btstack_type B 334 */ 335 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 336 reverse_bytes(&event[2], bd_addr, 6); 337 } 338 /** 339 * @brief Get field class_of_device from event HCI_EVENT_CONNECTION_REQUEST 340 * @param event packet 341 * @return class_of_device 342 * @note: btstack_type 3 343 */ 344 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){ 345 return little_endian_read_24(event, 8); 346 } 347 /** 348 * @brief Get field link_type from event HCI_EVENT_CONNECTION_REQUEST 349 * @param event packet 350 * @return link_type 351 * @note: btstack_type 1 352 */ 353 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){ 354 return event[11]; 355 } 356 357 /** 358 * @brief Get field status from event HCI_EVENT_DISCONNECTION_COMPLETE 359 * @param event packet 360 * @return status 361 * @note: btstack_type 1 362 */ 363 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){ 364 return event[2]; 365 } 366 /** 367 * @brief Get field connection_handle from event HCI_EVENT_DISCONNECTION_COMPLETE 368 * @param event packet 369 * @return connection_handle 370 * @note: btstack_type 2 371 */ 372 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){ 373 return little_endian_read_16(event, 3); 374 } 375 /** 376 * @brief Get field reason from event HCI_EVENT_DISCONNECTION_COMPLETE 377 * @param event packet 378 * @return reason 379 * @note: btstack_type 1 380 */ 381 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){ 382 return event[5]; 383 } 384 385 /** 386 * @brief Get field status from event HCI_EVENT_AUTHENTICATION_COMPLETE 387 * @param event packet 388 * @return status 389 * @note: btstack_type 1 390 */ 391 static inline uint8_t hci_event_authentication_complete_get_status(const uint8_t * event){ 392 return event[2]; 393 } 394 /** 395 * @brief Get field connection_handle from event HCI_EVENT_AUTHENTICATION_COMPLETE 396 * @param event packet 397 * @return connection_handle 398 * @note: btstack_type 2 399 */ 400 static inline uint16_t hci_event_authentication_complete_get_connection_handle(const uint8_t * event){ 401 return little_endian_read_16(event, 3); 402 } 403 404 /** 405 * @brief Get field status from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 406 * @param event packet 407 * @return status 408 * @note: btstack_type 1 409 */ 410 static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){ 411 return event[2]; 412 } 413 /** 414 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 415 * @param event packet 416 * @param Pointer to storage for bd_addr 417 * @note: btstack_type B 418 */ 419 static inline void hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 420 reverse_bytes(&event[3], bd_addr, 6); 421 } 422 /** 423 * @brief Get field remote_name from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 424 * @param event packet 425 * @return remote_name 426 * @note: btstack_type N 427 */ 428 static inline const char * hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){ 429 return (const char *) &event[9]; 430 } 431 432 /** 433 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE 434 * @param event packet 435 * @return status 436 * @note: btstack_type 1 437 */ 438 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){ 439 return event[2]; 440 } 441 /** 442 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE 443 * @param event packet 444 * @return connection_handle 445 * @note: btstack_type 2 446 */ 447 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){ 448 return little_endian_read_16(event, 3); 449 } 450 /** 451 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE 452 * @param event packet 453 * @return encryption_enabled 454 * @note: btstack_type 1 455 */ 456 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){ 457 return event[5]; 458 } 459 460 /** 461 * @brief Get field status from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 462 * @param event packet 463 * @return status 464 * @note: btstack_type 1 465 */ 466 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){ 467 return event[2]; 468 } 469 /** 470 * @brief Get field connection_handle from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 471 * @param event packet 472 * @return connection_handle 473 * @note: btstack_type 2 474 */ 475 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){ 476 return little_endian_read_16(event, 3); 477 } 478 479 /** 480 * @brief Get field status from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 481 * @param event packet 482 * @return status 483 * @note: btstack_type 1 484 */ 485 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){ 486 return event[2]; 487 } 488 /** 489 * @brief Get field connection_handle from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 490 * @param event packet 491 * @return connection_handle 492 * @note: btstack_type 2 493 */ 494 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){ 495 return little_endian_read_16(event, 3); 496 } 497 /** 498 * @brief Get field key_flag from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 499 * @param event packet 500 * @return key_flag 501 * @note: btstack_type 1 502 */ 503 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){ 504 return event[5]; 505 } 506 507 /** 508 * @brief Get field status from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 509 * @param event packet 510 * @return status 511 * @note: btstack_type 1 512 */ 513 static inline uint8_t hci_event_read_remote_version_information_complete_get_status(const uint8_t * event){ 514 return event[2]; 515 } 516 /** 517 * @brief Get field connection_handle from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 518 * @param event packet 519 * @return connection_handle 520 * @note: btstack_type 2 521 */ 522 static inline uint16_t hci_event_read_remote_version_information_complete_get_connection_handle(const uint8_t * event){ 523 return little_endian_read_16(event, 3); 524 } 525 /** 526 * @brief Get field version from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 527 * @param event packet 528 * @return version 529 * @note: btstack_type 1 530 */ 531 static inline uint8_t hci_event_read_remote_version_information_complete_get_version(const uint8_t * event){ 532 return event[5]; 533 } 534 /** 535 * @brief Get field manufacturer_name from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 536 * @param event packet 537 * @return manufacturer_name 538 * @note: btstack_type 2 539 */ 540 static inline uint16_t hci_event_read_remote_version_information_complete_get_manufacturer_name(const uint8_t * event){ 541 return little_endian_read_16(event, 6); 542 } 543 /** 544 * @brief Get field subversion from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 545 * @param event packet 546 * @return subversion 547 * @note: btstack_type 2 548 */ 549 static inline uint16_t hci_event_read_remote_version_information_complete_get_subversion(const uint8_t * event){ 550 return little_endian_read_16(event, 8); 551 } 552 553 /** 554 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_COMPLETE 555 * @param event packet 556 * @return num_hci_command_packets 557 * @note: btstack_type 1 558 */ 559 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){ 560 return event[2]; 561 } 562 /** 563 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_COMPLETE 564 * @param event packet 565 * @return command_opcode 566 * @note: btstack_type 2 567 */ 568 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){ 569 return little_endian_read_16(event, 3); 570 } 571 /** 572 * @brief Get field return_parameters from event HCI_EVENT_COMMAND_COMPLETE 573 * @param event packet 574 * @return return_parameters 575 * @note: btstack_type R 576 */ 577 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){ 578 return &event[5]; 579 } 580 581 /** 582 * @brief Get field status from event HCI_EVENT_COMMAND_STATUS 583 * @param event packet 584 * @return status 585 * @note: btstack_type 1 586 */ 587 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){ 588 return event[2]; 589 } 590 /** 591 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_STATUS 592 * @param event packet 593 * @return num_hci_command_packets 594 * @note: btstack_type 1 595 */ 596 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){ 597 return event[3]; 598 } 599 /** 600 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_STATUS 601 * @param event packet 602 * @return command_opcode 603 * @note: btstack_type 2 604 */ 605 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){ 606 return little_endian_read_16(event, 4); 607 } 608 609 /** 610 * @brief Get field hardware_code from event HCI_EVENT_HARDWARE_ERROR 611 * @param event packet 612 * @return hardware_code 613 * @note: btstack_type 1 614 */ 615 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){ 616 return event[2]; 617 } 618 619 /** 620 * @brief Get field handle from event HCI_EVENT_FLUSH_OCCURRED 621 * @param event packet 622 * @return handle 623 * @note: btstack_type H 624 */ 625 static inline hci_con_handle_t hci_event_flush_occurred_get_handle(const uint8_t * event){ 626 return little_endian_read_16(event, 2); 627 } 628 629 /** 630 * @brief Get field status from event HCI_EVENT_ROLE_CHANGE 631 * @param event packet 632 * @return status 633 * @note: btstack_type 1 634 */ 635 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){ 636 return event[2]; 637 } 638 /** 639 * @brief Get field bd_addr from event HCI_EVENT_ROLE_CHANGE 640 * @param event packet 641 * @param Pointer to storage for bd_addr 642 * @note: btstack_type B 643 */ 644 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 645 reverse_bytes(&event[3], bd_addr, 6); 646 } 647 /** 648 * @brief Get field role from event HCI_EVENT_ROLE_CHANGE 649 * @param event packet 650 * @return role 651 * @note: btstack_type 1 652 */ 653 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){ 654 return event[9]; 655 } 656 657 /** 658 * @brief Get field status from event HCI_EVENT_MODE_CHANGE 659 * @param event packet 660 * @return status 661 * @note: btstack_type 1 662 */ 663 static inline uint8_t hci_event_mode_change_get_status(const uint8_t * event){ 664 return event[2]; 665 } 666 /** 667 * @brief Get field handle from event HCI_EVENT_MODE_CHANGE 668 * @param event packet 669 * @return handle 670 * @note: btstack_type H 671 */ 672 static inline hci_con_handle_t hci_event_mode_change_get_handle(const uint8_t * event){ 673 return little_endian_read_16(event, 3); 674 } 675 /** 676 * @brief Get field mode from event HCI_EVENT_MODE_CHANGE 677 * @param event packet 678 * @return mode 679 * @note: btstack_type 1 680 */ 681 static inline uint8_t hci_event_mode_change_get_mode(const uint8_t * event){ 682 return event[5]; 683 } 684 /** 685 * @brief Get field interval from event HCI_EVENT_MODE_CHANGE 686 * @param event packet 687 * @return interval 688 * @note: btstack_type 2 689 */ 690 static inline uint16_t hci_event_mode_change_get_interval(const uint8_t * event){ 691 return little_endian_read_16(event, 6); 692 } 693 694 /** 695 * @brief Get field bd_addr from event HCI_EVENT_PIN_CODE_REQUEST 696 * @param event packet 697 * @param Pointer to storage for bd_addr 698 * @note: btstack_type B 699 */ 700 static inline void hci_event_pin_code_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 701 reverse_bytes(&event[2], bd_addr, 6); 702 } 703 704 /** 705 * @brief Get field bd_addr from event HCI_EVENT_LINK_KEY_REQUEST 706 * @param event packet 707 * @param Pointer to storage for bd_addr 708 * @note: btstack_type B 709 */ 710 static inline void hci_event_link_key_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 711 reverse_bytes(&event[2], bd_addr, 6); 712 } 713 714 /** 715 * @brief Get field link_type from event HCI_EVENT_DATA_BUFFER_OVERFLOW 716 * @param event packet 717 * @return link_type 718 * @note: btstack_type 1 719 */ 720 static inline uint8_t hci_event_data_buffer_overflow_get_link_type(const uint8_t * event){ 721 return event[2]; 722 } 723 724 /** 725 * @brief Get field handle from event HCI_EVENT_MAX_SLOTS_CHANGED 726 * @param event packet 727 * @return handle 728 * @note: btstack_type H 729 */ 730 static inline hci_con_handle_t hci_event_max_slots_changed_get_handle(const uint8_t * event){ 731 return little_endian_read_16(event, 2); 732 } 733 /** 734 * @brief Get field lmp_max_slots from event HCI_EVENT_MAX_SLOTS_CHANGED 735 * @param event packet 736 * @return lmp_max_slots 737 * @note: btstack_type 1 738 */ 739 static inline uint8_t hci_event_max_slots_changed_get_lmp_max_slots(const uint8_t * event){ 740 return event[4]; 741 } 742 743 /** 744 * @brief Get field status from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 745 * @param event packet 746 * @return status 747 * @note: btstack_type 1 748 */ 749 static inline uint8_t hci_event_read_clock_offset_complete_get_status(const uint8_t * event){ 750 return event[2]; 751 } 752 /** 753 * @brief Get field handle from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 754 * @param event packet 755 * @return handle 756 * @note: btstack_type H 757 */ 758 static inline hci_con_handle_t hci_event_read_clock_offset_complete_get_handle(const uint8_t * event){ 759 return little_endian_read_16(event, 3); 760 } 761 /** 762 * @brief Get field clock_offset from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 763 * @param event packet 764 * @return clock_offset 765 * @note: btstack_type 2 766 */ 767 static inline uint16_t hci_event_read_clock_offset_complete_get_clock_offset(const uint8_t * event){ 768 return little_endian_read_16(event, 5); 769 } 770 771 /** 772 * @brief Get field status from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 773 * @param event packet 774 * @return status 775 * @note: btstack_type 1 776 */ 777 static inline uint8_t hci_event_connection_packet_type_changed_get_status(const uint8_t * event){ 778 return event[2]; 779 } 780 /** 781 * @brief Get field handle from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 782 * @param event packet 783 * @return handle 784 * @note: btstack_type H 785 */ 786 static inline hci_con_handle_t hci_event_connection_packet_type_changed_get_handle(const uint8_t * event){ 787 return little_endian_read_16(event, 3); 788 } 789 /** 790 * @brief Get field packet_types from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 791 * @param event packet 792 * @return packet_types 793 * @note: btstack_type 2 794 */ 795 static inline uint16_t hci_event_connection_packet_type_changed_get_packet_types(const uint8_t * event){ 796 return little_endian_read_16(event, 5); 797 } 798 799 /** 800 * @brief Get field handle from event HCI_EVENT_QOS_VIOLATION 801 * @param event packet 802 * @return handle 803 * @note: btstack_type H 804 */ 805 static inline hci_con_handle_t hci_event_qos_violation_get_handle(const uint8_t * event){ 806 return little_endian_read_16(event, 2); 807 } 808 809 /** 810 * @brief Get field handle from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 811 * @param event packet 812 * @return handle 813 * @note: btstack_type H 814 */ 815 static inline hci_con_handle_t hci_event_page_scan_repetition_mode_change_get_handle(const uint8_t * event){ 816 return little_endian_read_16(event, 2); 817 } 818 /** 819 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 820 * @param event packet 821 * @return page_scan_repetition_mode 822 * @note: btstack_type 1 823 */ 824 static inline uint8_t hci_event_page_scan_repetition_mode_change_get_page_scan_repetition_mode(const uint8_t * event){ 825 return event[4]; 826 } 827 828 /** 829 * @brief Get field status from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 830 * @param event packet 831 * @return status 832 * @note: btstack_type 1 833 */ 834 static inline uint8_t hci_event_flow_specification_complete_get_status(const uint8_t * event){ 835 return event[2]; 836 } 837 /** 838 * @brief Get field handle from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 839 * @param event packet 840 * @return handle 841 * @note: btstack_type H 842 */ 843 static inline hci_con_handle_t hci_event_flow_specification_complete_get_handle(const uint8_t * event){ 844 return little_endian_read_16(event, 3); 845 } 846 /** 847 * @brief Get field unused from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 848 * @param event packet 849 * @return unused 850 * @note: btstack_type 1 851 */ 852 static inline uint8_t hci_event_flow_specification_complete_get_unused(const uint8_t * event){ 853 return event[5]; 854 } 855 /** 856 * @brief Get field flow_direction from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 857 * @param event packet 858 * @return flow_direction 859 * @note: btstack_type 1 860 */ 861 static inline uint8_t hci_event_flow_specification_complete_get_flow_direction(const uint8_t * event){ 862 return event[6]; 863 } 864 /** 865 * @brief Get field service_type from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 866 * @param event packet 867 * @return service_type 868 * @note: btstack_type 1 869 */ 870 static inline uint8_t hci_event_flow_specification_complete_get_service_type(const uint8_t * event){ 871 return event[7]; 872 } 873 /** 874 * @brief Get field token_rate from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 875 * @param event packet 876 * @return token_rate 877 * @note: btstack_type 4 878 */ 879 static inline uint32_t hci_event_flow_specification_complete_get_token_rate(const uint8_t * event){ 880 return little_endian_read_32(event, 8); 881 } 882 /** 883 * @brief Get field token_bucket_size from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 884 * @param event packet 885 * @return token_bucket_size 886 * @note: btstack_type 4 887 */ 888 static inline uint32_t hci_event_flow_specification_complete_get_token_bucket_size(const uint8_t * event){ 889 return little_endian_read_32(event, 12); 890 } 891 /** 892 * @brief Get field peak_bandwidth from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 893 * @param event packet 894 * @return peak_bandwidth 895 * @note: btstack_type 4 896 */ 897 static inline uint32_t hci_event_flow_specification_complete_get_peak_bandwidth(const uint8_t * event){ 898 return little_endian_read_32(event, 16); 899 } 900 /** 901 * @brief Get field access_latency from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 902 * @param event packet 903 * @return access_latency 904 * @note: btstack_type 4 905 */ 906 static inline uint32_t hci_event_flow_specification_complete_get_access_latency(const uint8_t * event){ 907 return little_endian_read_32(event, 20); 908 } 909 910 /** 911 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 912 * @param event packet 913 * @return num_responses 914 * @note: btstack_type 1 915 */ 916 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){ 917 return event[2]; 918 } 919 /** 920 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 921 * @param event packet 922 * @param Pointer to storage for bd_addr 923 * @note: btstack_type B 924 */ 925 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 926 reverse_bytes(&event[3], bd_addr, 6); 927 } 928 /** 929 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 930 * @param event packet 931 * @return page_scan_repetition_mode 932 * @note: btstack_type 1 933 */ 934 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){ 935 return event[9]; 936 } 937 /** 938 * @brief Get field reserved from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 939 * @param event packet 940 * @return reserved 941 * @note: btstack_type 1 942 */ 943 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){ 944 return event[10]; 945 } 946 /** 947 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 948 * @param event packet 949 * @return class_of_device 950 * @note: btstack_type 3 951 */ 952 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){ 953 return little_endian_read_24(event, 11); 954 } 955 /** 956 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 957 * @param event packet 958 * @return clock_offset 959 * @note: btstack_type 2 960 */ 961 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){ 962 return little_endian_read_16(event, 14); 963 } 964 /** 965 * @brief Get field rssi from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 966 * @param event packet 967 * @return rssi 968 * @note: btstack_type 1 969 */ 970 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){ 971 return event[16]; 972 } 973 974 /** 975 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 976 * @param event packet 977 * @return status 978 * @note: btstack_type 1 979 */ 980 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){ 981 return event[2]; 982 } 983 /** 984 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 985 * @param event packet 986 * @return handle 987 * @note: btstack_type H 988 */ 989 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){ 990 return little_endian_read_16(event, 3); 991 } 992 /** 993 * @brief Get field bd_addr from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 994 * @param event packet 995 * @param Pointer to storage for bd_addr 996 * @note: btstack_type B 997 */ 998 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 999 reverse_bytes(&event[5], bd_addr, 6); 1000 } 1001 /** 1002 * @brief Get field link_type from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1003 * @param event packet 1004 * @return link_type 1005 * @note: btstack_type 1 1006 */ 1007 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){ 1008 return event[11]; 1009 } 1010 /** 1011 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1012 * @param event packet 1013 * @return transmission_interval 1014 * @note: btstack_type 1 1015 */ 1016 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){ 1017 return event[12]; 1018 } 1019 /** 1020 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1021 * @param event packet 1022 * @return retransmission_interval 1023 * @note: btstack_type 1 1024 */ 1025 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){ 1026 return event[13]; 1027 } 1028 /** 1029 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1030 * @param event packet 1031 * @return rx_packet_length 1032 * @note: btstack_type 2 1033 */ 1034 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){ 1035 return little_endian_read_16(event, 14); 1036 } 1037 /** 1038 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1039 * @param event packet 1040 * @return tx_packet_length 1041 * @note: btstack_type 2 1042 */ 1043 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){ 1044 return little_endian_read_16(event, 16); 1045 } 1046 /** 1047 * @brief Get field air_mode from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1048 * @param event packet 1049 * @return air_mode 1050 * @note: btstack_type 1 1051 */ 1052 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){ 1053 return event[18]; 1054 } 1055 1056 /** 1057 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1058 * @param event packet 1059 * @return status 1060 * @note: btstack_type 1 1061 */ 1062 static inline uint8_t hci_event_synchronous_connection_changed_get_status(const uint8_t * event){ 1063 return event[2]; 1064 } 1065 /** 1066 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1067 * @param event packet 1068 * @return handle 1069 * @note: btstack_type H 1070 */ 1071 static inline hci_con_handle_t hci_event_synchronous_connection_changed_get_handle(const uint8_t * event){ 1072 return little_endian_read_16(event, 3); 1073 } 1074 /** 1075 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1076 * @param event packet 1077 * @return transmission_interval 1078 * @note: btstack_type 1 1079 */ 1080 static inline uint8_t hci_event_synchronous_connection_changed_get_transmission_interval(const uint8_t * event){ 1081 return event[5]; 1082 } 1083 /** 1084 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1085 * @param event packet 1086 * @return retransmission_interval 1087 * @note: btstack_type 1 1088 */ 1089 static inline uint8_t hci_event_synchronous_connection_changed_get_retransmission_interval(const uint8_t * event){ 1090 return event[6]; 1091 } 1092 /** 1093 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1094 * @param event packet 1095 * @return rx_packet_length 1096 * @note: btstack_type 2 1097 */ 1098 static inline uint16_t hci_event_synchronous_connection_changed_get_rx_packet_length(const uint8_t * event){ 1099 return little_endian_read_16(event, 7); 1100 } 1101 /** 1102 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1103 * @param event packet 1104 * @return tx_packet_length 1105 * @note: btstack_type 2 1106 */ 1107 static inline uint16_t hci_event_synchronous_connection_changed_get_tx_packet_length(const uint8_t * event){ 1108 return little_endian_read_16(event, 9); 1109 } 1110 1111 /** 1112 * @brief Get field status from event HCI_EVENT_SNIFF_SUBRATING 1113 * @param event packet 1114 * @return status 1115 * @note: btstack_type 1 1116 */ 1117 static inline uint8_t hci_event_sniff_subrating_get_status(const uint8_t * event){ 1118 return event[2]; 1119 } 1120 /** 1121 * @brief Get field handle from event HCI_EVENT_SNIFF_SUBRATING 1122 * @param event packet 1123 * @return handle 1124 * @note: btstack_type H 1125 */ 1126 static inline hci_con_handle_t hci_event_sniff_subrating_get_handle(const uint8_t * event){ 1127 return little_endian_read_16(event, 3); 1128 } 1129 /** 1130 * @brief Get field max_tx_latency from event HCI_EVENT_SNIFF_SUBRATING 1131 * @param event packet 1132 * @return max_tx_latency 1133 * @note: btstack_type 2 1134 */ 1135 static inline uint16_t hci_event_sniff_subrating_get_max_tx_latency(const uint8_t * event){ 1136 return little_endian_read_16(event, 5); 1137 } 1138 /** 1139 * @brief Get field max_rx_latency from event HCI_EVENT_SNIFF_SUBRATING 1140 * @param event packet 1141 * @return max_rx_latency 1142 * @note: btstack_type 2 1143 */ 1144 static inline uint16_t hci_event_sniff_subrating_get_max_rx_latency(const uint8_t * event){ 1145 return little_endian_read_16(event, 7); 1146 } 1147 /** 1148 * @brief Get field min_remote_timeout from event HCI_EVENT_SNIFF_SUBRATING 1149 * @param event packet 1150 * @return min_remote_timeout 1151 * @note: btstack_type 2 1152 */ 1153 static inline uint16_t hci_event_sniff_subrating_get_min_remote_timeout(const uint8_t * event){ 1154 return little_endian_read_16(event, 9); 1155 } 1156 /** 1157 * @brief Get field min_local_timeout from event HCI_EVENT_SNIFF_SUBRATING 1158 * @param event packet 1159 * @return min_local_timeout 1160 * @note: btstack_type 2 1161 */ 1162 static inline uint16_t hci_event_sniff_subrating_get_min_local_timeout(const uint8_t * event){ 1163 return little_endian_read_16(event, 11); 1164 } 1165 1166 /** 1167 * @brief Get field num_responses from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1168 * @param event packet 1169 * @return num_responses 1170 * @note: btstack_type 1 1171 */ 1172 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){ 1173 return event[2]; 1174 } 1175 /** 1176 * @brief Get field bd_addr from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1177 * @param event packet 1178 * @param Pointer to storage for bd_addr 1179 * @note: btstack_type B 1180 */ 1181 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1182 reverse_bytes(&event[3], bd_addr, 6); 1183 } 1184 /** 1185 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1186 * @param event packet 1187 * @return page_scan_repetition_mode 1188 * @note: btstack_type 1 1189 */ 1190 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){ 1191 return event[9]; 1192 } 1193 /** 1194 * @brief Get field reserved from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1195 * @param event packet 1196 * @return reserved 1197 * @note: btstack_type 1 1198 */ 1199 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){ 1200 return event[10]; 1201 } 1202 /** 1203 * @brief Get field class_of_device from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1204 * @param event packet 1205 * @return class_of_device 1206 * @note: btstack_type 3 1207 */ 1208 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){ 1209 return little_endian_read_24(event, 11); 1210 } 1211 /** 1212 * @brief Get field clock_offset from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1213 * @param event packet 1214 * @return clock_offset 1215 * @note: btstack_type 2 1216 */ 1217 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){ 1218 return little_endian_read_16(event, 14); 1219 } 1220 /** 1221 * @brief Get field rssi from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1222 * @param event packet 1223 * @return rssi 1224 * @note: btstack_type 1 1225 */ 1226 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){ 1227 return event[16]; 1228 } 1229 1230 /** 1231 * @brief Get field status from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1232 * @param event packet 1233 * @return status 1234 * @note: btstack_type 1 1235 */ 1236 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){ 1237 return event[2]; 1238 } 1239 /** 1240 * @brief Get field handle from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1241 * @param event packet 1242 * @return handle 1243 * @note: btstack_type H 1244 */ 1245 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){ 1246 return little_endian_read_16(event, 3); 1247 } 1248 1249 /** 1250 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_REQUEST 1251 * @param event packet 1252 * @param Pointer to storage for bd_addr 1253 * @note: btstack_type B 1254 */ 1255 static inline void hci_event_io_capability_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1256 reverse_bytes(&event[2], bd_addr, 6); 1257 } 1258 1259 /** 1260 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1261 * @param event packet 1262 * @param Pointer to storage for bd_addr 1263 * @note: btstack_type B 1264 */ 1265 static inline void hci_event_io_capability_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1266 reverse_bytes(&event[2], bd_addr, 6); 1267 } 1268 /** 1269 * @brief Get field io_capability from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1270 * @param event packet 1271 * @return io_capability 1272 * @note: btstack_type 1 1273 */ 1274 static inline uint8_t hci_event_io_capability_response_get_io_capability(const uint8_t * event){ 1275 return event[8]; 1276 } 1277 /** 1278 * @brief Get field oob_data_present from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1279 * @param event packet 1280 * @return oob_data_present 1281 * @note: btstack_type 1 1282 */ 1283 static inline uint8_t hci_event_io_capability_response_get_oob_data_present(const uint8_t * event){ 1284 return event[9]; 1285 } 1286 /** 1287 * @brief Get field authentication_requirements from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1288 * @param event packet 1289 * @return authentication_requirements 1290 * @note: btstack_type 1 1291 */ 1292 static inline uint8_t hci_event_io_capability_response_get_authentication_requirements(const uint8_t * event){ 1293 return event[10]; 1294 } 1295 1296 /** 1297 * @brief Get field bd_addr from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1298 * @param event packet 1299 * @param Pointer to storage for bd_addr 1300 * @note: btstack_type B 1301 */ 1302 static inline void hci_event_user_confirmation_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1303 reverse_bytes(&event[2], bd_addr, 6); 1304 } 1305 /** 1306 * @brief Get field numeric_value from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1307 * @param event packet 1308 * @return numeric_value 1309 * @note: btstack_type 4 1310 */ 1311 static inline uint32_t hci_event_user_confirmation_request_get_numeric_value(const uint8_t * event){ 1312 return little_endian_read_32(event, 8); 1313 } 1314 1315 /** 1316 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_REQUEST 1317 * @param event packet 1318 * @param Pointer to storage for bd_addr 1319 * @note: btstack_type B 1320 */ 1321 static inline void hci_event_user_passkey_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1322 reverse_bytes(&event[2], bd_addr, 6); 1323 } 1324 1325 /** 1326 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_OOB_DATA_REQUEST 1327 * @param event packet 1328 * @param Pointer to storage for bd_addr 1329 * @note: btstack_type B 1330 */ 1331 static inline void hci_event_remote_oob_data_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1332 reverse_bytes(&event[2], bd_addr, 6); 1333 } 1334 1335 /** 1336 * @brief Get field status from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1337 * @param event packet 1338 * @return status 1339 * @note: btstack_type 1 1340 */ 1341 static inline uint8_t hci_event_simple_pairing_complete_get_status(const uint8_t * event){ 1342 return event[2]; 1343 } 1344 /** 1345 * @brief Get field bd_addr from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1346 * @param event packet 1347 * @param Pointer to storage for bd_addr 1348 * @note: btstack_type B 1349 */ 1350 static inline void hci_event_simple_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1351 reverse_bytes(&event[3], bd_addr, 6); 1352 } 1353 1354 /** 1355 * @brief Get field handle from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1356 * @param event packet 1357 * @return handle 1358 * @note: btstack_type H 1359 */ 1360 static inline hci_con_handle_t hci_event_link_supervision_timeout_changed_get_handle(const uint8_t * event){ 1361 return little_endian_read_16(event, 2); 1362 } 1363 /** 1364 * @brief Get field link_supervision_timeout from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1365 * @param event packet 1366 * @return link_supervision_timeout 1367 * @note: btstack_type 2 1368 */ 1369 static inline uint16_t hci_event_link_supervision_timeout_changed_get_link_supervision_timeout(const uint8_t * event){ 1370 return little_endian_read_16(event, 4); 1371 } 1372 1373 /** 1374 * @brief Get field handle from event HCI_EVENT_ENHANCED_FLUSH_COMPLETE 1375 * @param event packet 1376 * @return handle 1377 * @note: btstack_type H 1378 */ 1379 static inline hci_con_handle_t hci_event_enhanced_flush_complete_get_handle(const uint8_t * event){ 1380 return little_endian_read_16(event, 2); 1381 } 1382 1383 /** 1384 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1385 * @param event packet 1386 * @param Pointer to storage for bd_addr 1387 * @note: btstack_type B 1388 */ 1389 static inline void hci_event_user_passkey_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1390 reverse_bytes(&event[2], bd_addr, 6); 1391 } 1392 /** 1393 * @brief Get field numeric_value from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1394 * @param event packet 1395 * @return numeric_value 1396 * @note: btstack_type 4 1397 */ 1398 static inline uint32_t hci_event_user_passkey_notification_get_numeric_value(const uint8_t * event){ 1399 return little_endian_read_32(event, 8); 1400 } 1401 1402 /** 1403 * @brief Get field bd_addr from event HCI_EVENT_KEYPRESS_NOTIFICATION 1404 * @param event packet 1405 * @param Pointer to storage for bd_addr 1406 * @note: btstack_type B 1407 */ 1408 static inline void hci_event_keypress_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1409 reverse_bytes(&event[2], bd_addr, 6); 1410 } 1411 /** 1412 * @brief Get field notification_type from event HCI_EVENT_KEYPRESS_NOTIFICATION 1413 * @param event packet 1414 * @return notification_type 1415 * @note: btstack_type 1 1416 */ 1417 static inline uint8_t hci_event_keypress_notification_get_notification_type(const uint8_t * event){ 1418 return event[8]; 1419 } 1420 1421 /** 1422 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1423 * @param event packet 1424 * @return status 1425 * @note: btstack_type 1 1426 */ 1427 static inline uint8_t hci_event_encryption_change_v2_get_status(const uint8_t * event){ 1428 return event[2]; 1429 } 1430 /** 1431 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1432 * @param event packet 1433 * @return connection_handle 1434 * @note: btstack_type 2 1435 */ 1436 static inline uint16_t hci_event_encryption_change_v2_get_connection_handle(const uint8_t * event){ 1437 return little_endian_read_16(event, 3); 1438 } 1439 /** 1440 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1441 * @param event packet 1442 * @return encryption_enabled 1443 * @note: btstack_type 1 1444 */ 1445 static inline uint8_t hci_event_encryption_change_v2_get_encryption_enabled(const uint8_t * event){ 1446 return event[5]; 1447 } 1448 /** 1449 * @brief Get field encryption_key_size from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1450 * @param event packet 1451 * @return encryption_key_size 1452 * @note: btstack_type 1 1453 */ 1454 static inline uint8_t hci_event_encryption_change_v2_get_encryption_key_size(const uint8_t * event){ 1455 return event[6]; 1456 } 1457 1458 /** 1459 * @brief Get field state from event BTSTACK_EVENT_STATE 1460 * @param event packet 1461 * @return state 1462 * @note: btstack_type 1 1463 */ 1464 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){ 1465 return event[2]; 1466 } 1467 1468 /** 1469 * @brief Get field number_connections from event BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 1470 * @param event packet 1471 * @return number_connections 1472 * @note: btstack_type 1 1473 */ 1474 static inline uint8_t btstack_event_nr_connections_changed_get_number_connections(const uint8_t * event){ 1475 return event[2]; 1476 } 1477 1478 1479 /** 1480 * @brief Get field discoverable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1481 * @param event packet 1482 * @return discoverable 1483 * @note: btstack_type 1 1484 */ 1485 static inline uint8_t btstack_event_scan_mode_changed_get_discoverable(const uint8_t * event){ 1486 return event[2]; 1487 } 1488 /** 1489 * @brief Get field connectable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1490 * @param event packet 1491 * @return connectable 1492 * @note: btstack_type 1 1493 */ 1494 static inline uint8_t btstack_event_scan_mode_changed_get_connectable(const uint8_t * event){ 1495 return event[3]; 1496 } 1497 1498 /** 1499 * @brief Get field major from event DAEMON_EVENT_VERSION 1500 * @param event packet 1501 * @return major 1502 * @note: btstack_type 1 1503 */ 1504 static inline uint8_t daemon_event_version_get_major(const uint8_t * event){ 1505 return event[2]; 1506 } 1507 /** 1508 * @brief Get field minor from event DAEMON_EVENT_VERSION 1509 * @param event packet 1510 * @return minor 1511 * @note: btstack_type 1 1512 */ 1513 static inline uint8_t daemon_event_version_get_minor(const uint8_t * event){ 1514 return event[3]; 1515 } 1516 /** 1517 * @brief Get field revision from event DAEMON_EVENT_VERSION 1518 * @param event packet 1519 * @return revision 1520 * @note: btstack_type 2 1521 */ 1522 static inline uint16_t daemon_event_version_get_revision(const uint8_t * event){ 1523 return little_endian_read_16(event, 4); 1524 } 1525 1526 /** 1527 * @brief Get field system_bluetooth_enabled from event DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED 1528 * @param event packet 1529 * @return system_bluetooth_enabled 1530 * @note: btstack_type 1 1531 */ 1532 static inline uint8_t daemon_event_system_bluetooth_enabled_get_system_bluetooth_enabled(const uint8_t * event){ 1533 return event[2]; 1534 } 1535 1536 /** 1537 * @brief Get field status from event DAEMON_EVENT_REMOTE_NAME_CACHED 1538 * @param event packet 1539 * @return status 1540 * @note: btstack_type 1 1541 */ 1542 static inline uint8_t daemon_event_remote_name_cached_get_status(const uint8_t * event){ 1543 return event[2]; 1544 } 1545 /** 1546 * @brief Get field address from event DAEMON_EVENT_REMOTE_NAME_CACHED 1547 * @param event packet 1548 * @param Pointer to storage for address 1549 * @note: btstack_type B 1550 */ 1551 static inline void daemon_event_remote_name_cached_get_address(const uint8_t * event, bd_addr_t address){ 1552 reverse_bytes(&event[3], address, 6); 1553 } 1554 /** 1555 * @brief Get field name from event DAEMON_EVENT_REMOTE_NAME_CACHED 1556 * @param event packet 1557 * @return name 1558 * @note: btstack_type T 1559 */ 1560 static inline const char * daemon_event_remote_name_cached_get_name(const uint8_t * event){ 1561 return (const char *) &event[9]; 1562 } 1563 1564 /** 1565 * @brief Get field status from event DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 1566 * @param event packet 1567 * @return status 1568 * @note: btstack_type 1 1569 */ 1570 static inline uint8_t daemon_event_l2cap_service_registered_get_status(const uint8_t * event){ 1571 return event[2]; 1572 } 1573 /** 1574 * @brief Get field psm from event DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 1575 * @param event packet 1576 * @return psm 1577 * @note: btstack_type 2 1578 */ 1579 static inline uint16_t daemon_event_l2cap_service_registered_get_psm(const uint8_t * event){ 1580 return little_endian_read_16(event, 3); 1581 } 1582 1583 /** 1584 * @brief Get field status from event DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 1585 * @param event packet 1586 * @return status 1587 * @note: btstack_type 1 1588 */ 1589 static inline uint8_t daemon_event_rfcomm_service_registered_get_status(const uint8_t * event){ 1590 return event[2]; 1591 } 1592 /** 1593 * @brief Get field channel_id from event DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 1594 * @param event packet 1595 * @return channel_id 1596 * @note: btstack_type 1 1597 */ 1598 static inline uint8_t daemon_event_rfcomm_service_registered_get_channel_id(const uint8_t * event){ 1599 return event[3]; 1600 } 1601 1602 /** 1603 * @brief Get field status from event DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 1604 * @param event packet 1605 * @return status 1606 * @note: btstack_type 1 1607 */ 1608 static inline uint8_t daemon_event_rfcomm_persistent_channel_get_status(const uint8_t * event){ 1609 return event[2]; 1610 } 1611 /** 1612 * @brief Get field server_channel_id from event DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 1613 * @param event packet 1614 * @return server_channel_id 1615 * @note: btstack_type 1 1616 */ 1617 static inline uint8_t daemon_event_rfcomm_persistent_channel_get_server_channel_id(const uint8_t * event){ 1618 return event[3]; 1619 } 1620 1621 /** 1622 * @brief Get field status from event DAEMON_EVENT_SDP_SERVICE_REGISTERED 1623 * @param event packet 1624 * @return status 1625 * @note: btstack_type 1 1626 */ 1627 static inline uint8_t daemon_event_sdp_service_registered_get_status(const uint8_t * event){ 1628 return event[2]; 1629 } 1630 /** 1631 * @brief Get field service_record_handle from event DAEMON_EVENT_SDP_SERVICE_REGISTERED 1632 * @param event packet 1633 * @return service_record_handle 1634 * @note: btstack_type 4 1635 */ 1636 static inline uint32_t daemon_event_sdp_service_registered_get_service_record_handle(const uint8_t * event){ 1637 return little_endian_read_32(event, 3); 1638 } 1639 1640 /** 1641 * @brief Get field active from event HCI_EVENT_TRANSPORT_SLEEP_MODE 1642 * @param event packet 1643 * @return active 1644 * @note: btstack_type 1 1645 */ 1646 static inline uint8_t hci_event_transport_sleep_mode_get_active(const uint8_t * event){ 1647 return event[2]; 1648 } 1649 1650 /** 1651 * @brief Get field vendor_id from event HCI_EVENT_TRANSPORT_USB_INFO 1652 * @param event packet 1653 * @return vendor_id 1654 * @note: btstack_type 2 1655 */ 1656 static inline uint16_t hci_event_transport_usb_info_get_vendor_id(const uint8_t * event){ 1657 return little_endian_read_16(event, 2); 1658 } 1659 /** 1660 * @brief Get field product_id from event HCI_EVENT_TRANSPORT_USB_INFO 1661 * @param event packet 1662 * @return product_id 1663 * @note: btstack_type 2 1664 */ 1665 static inline uint16_t hci_event_transport_usb_info_get_product_id(const uint8_t * event){ 1666 return little_endian_read_16(event, 4); 1667 } 1668 /** 1669 * @brief Get field path_len from event HCI_EVENT_TRANSPORT_USB_INFO 1670 * @param event packet 1671 * @return path_len 1672 * @note: btstack_type J 1673 */ 1674 static inline uint8_t hci_event_transport_usb_info_get_path_len(const uint8_t * event){ 1675 return event[6]; 1676 } 1677 /** 1678 * @brief Get field path from event HCI_EVENT_TRANSPORT_USB_INFO 1679 * @param event packet 1680 * @return path 1681 * @note: btstack_type V 1682 */ 1683 static inline const uint8_t * hci_event_transport_usb_info_get_path(const uint8_t * event){ 1684 return &event[7]; 1685 } 1686 1687 /** 1688 * @brief Get field big_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1689 * @param event packet 1690 * @return big_handle 1691 * @note: btstack_type 1 1692 */ 1693 static inline uint8_t hci_event_bis_can_send_now_get_big_handle(const uint8_t * event){ 1694 return event[2]; 1695 } 1696 /** 1697 * @brief Get field bis_index from event HCI_EVENT_BIS_CAN_SEND_NOW 1698 * @param event packet 1699 * @return bis_index 1700 * @note: btstack_type 1 1701 */ 1702 static inline uint8_t hci_event_bis_can_send_now_get_bis_index(const uint8_t * event){ 1703 return event[3]; 1704 } 1705 /** 1706 * @brief Get field con_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1707 * @param event packet 1708 * @return con_handle 1709 * @note: btstack_type H 1710 */ 1711 static inline hci_con_handle_t hci_event_bis_can_send_now_get_con_handle(const uint8_t * event){ 1712 return little_endian_read_16(event, 4); 1713 } 1714 1715 /** 1716 * @brief Get field cis_con_handle from event HCI_EVENT_CIS_CAN_SEND_NOW 1717 * @param event packet 1718 * @return cis_con_handle 1719 * @note: btstack_type H 1720 */ 1721 static inline hci_con_handle_t hci_event_cis_can_send_now_get_cis_con_handle(const uint8_t * event){ 1722 return little_endian_read_16(event, 2); 1723 } 1724 1725 1726 /** 1727 * @brief Get field status from event L2CAP_EVENT_CHANNEL_OPENED 1728 * @param event packet 1729 * @return status 1730 * @note: btstack_type 1 1731 */ 1732 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){ 1733 return event[2]; 1734 } 1735 /** 1736 * @brief Get field address from event L2CAP_EVENT_CHANNEL_OPENED 1737 * @param event packet 1738 * @param Pointer to storage for address 1739 * @note: btstack_type B 1740 */ 1741 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1742 reverse_bytes(&event[3], address, 6); 1743 } 1744 /** 1745 * @brief Get field handle from event L2CAP_EVENT_CHANNEL_OPENED 1746 * @param event packet 1747 * @return handle 1748 * @note: btstack_type H 1749 */ 1750 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){ 1751 return little_endian_read_16(event, 9); 1752 } 1753 /** 1754 * @brief Get field psm from event L2CAP_EVENT_CHANNEL_OPENED 1755 * @param event packet 1756 * @return psm 1757 * @note: btstack_type 2 1758 */ 1759 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){ 1760 return little_endian_read_16(event, 11); 1761 } 1762 /** 1763 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_OPENED 1764 * @param event packet 1765 * @return local_cid 1766 * @note: btstack_type 2 1767 */ 1768 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){ 1769 return little_endian_read_16(event, 13); 1770 } 1771 /** 1772 * @brief Get field remote_cid from event L2CAP_EVENT_CHANNEL_OPENED 1773 * @param event packet 1774 * @return remote_cid 1775 * @note: btstack_type 2 1776 */ 1777 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){ 1778 return little_endian_read_16(event, 15); 1779 } 1780 /** 1781 * @brief Get field local_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1782 * @param event packet 1783 * @return local_mtu 1784 * @note: btstack_type 2 1785 */ 1786 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){ 1787 return little_endian_read_16(event, 17); 1788 } 1789 /** 1790 * @brief Get field remote_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1791 * @param event packet 1792 * @return remote_mtu 1793 * @note: btstack_type 2 1794 */ 1795 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){ 1796 return little_endian_read_16(event, 19); 1797 } 1798 /** 1799 * @brief Get field flush_timeout from event L2CAP_EVENT_CHANNEL_OPENED 1800 * @param event packet 1801 * @return flush_timeout 1802 * @note: btstack_type 2 1803 */ 1804 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){ 1805 return little_endian_read_16(event, 21); 1806 } 1807 /** 1808 * @brief Get field incoming from event L2CAP_EVENT_CHANNEL_OPENED 1809 * @param event packet 1810 * @return incoming 1811 * @note: btstack_type 1 1812 */ 1813 static inline uint8_t l2cap_event_channel_opened_get_incoming(const uint8_t * event){ 1814 return event[23]; 1815 } 1816 /** 1817 * @brief Get field mode from event L2CAP_EVENT_CHANNEL_OPENED 1818 * @param event packet 1819 * @return mode 1820 * @note: btstack_type 1 1821 */ 1822 static inline uint8_t l2cap_event_channel_opened_get_mode(const uint8_t * event){ 1823 return event[24]; 1824 } 1825 /** 1826 * @brief Get field fcs from event L2CAP_EVENT_CHANNEL_OPENED 1827 * @param event packet 1828 * @return fcs 1829 * @note: btstack_type 1 1830 */ 1831 static inline uint8_t l2cap_event_channel_opened_get_fcs(const uint8_t * event){ 1832 return event[25]; 1833 } 1834 1835 /** 1836 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_CLOSED 1837 * @param event packet 1838 * @return local_cid 1839 * @note: btstack_type 2 1840 */ 1841 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){ 1842 return little_endian_read_16(event, 2); 1843 } 1844 1845 /** 1846 * @brief Get field address from event L2CAP_EVENT_INCOMING_CONNECTION 1847 * @param event packet 1848 * @param Pointer to storage for address 1849 * @note: btstack_type B 1850 */ 1851 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1852 reverse_bytes(&event[2], address, 6); 1853 } 1854 /** 1855 * @brief Get field handle from event L2CAP_EVENT_INCOMING_CONNECTION 1856 * @param event packet 1857 * @return handle 1858 * @note: btstack_type H 1859 */ 1860 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){ 1861 return little_endian_read_16(event, 8); 1862 } 1863 /** 1864 * @brief Get field psm from event L2CAP_EVENT_INCOMING_CONNECTION 1865 * @param event packet 1866 * @return psm 1867 * @note: btstack_type 2 1868 */ 1869 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){ 1870 return little_endian_read_16(event, 10); 1871 } 1872 /** 1873 * @brief Get field local_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1874 * @param event packet 1875 * @return local_cid 1876 * @note: btstack_type 2 1877 */ 1878 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){ 1879 return little_endian_read_16(event, 12); 1880 } 1881 /** 1882 * @brief Get field remote_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1883 * @param event packet 1884 * @return remote_cid 1885 * @note: btstack_type 2 1886 */ 1887 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){ 1888 return little_endian_read_16(event, 14); 1889 } 1890 1891 /** 1892 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1893 * @param event packet 1894 * @return handle 1895 * @note: btstack_type H 1896 */ 1897 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){ 1898 return little_endian_read_16(event, 2); 1899 } 1900 /** 1901 * @brief Get field interval_min from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1902 * @param event packet 1903 * @return interval_min 1904 * @note: btstack_type 2 1905 */ 1906 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){ 1907 return little_endian_read_16(event, 4); 1908 } 1909 /** 1910 * @brief Get field interval_max from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1911 * @param event packet 1912 * @return interval_max 1913 * @note: btstack_type 2 1914 */ 1915 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){ 1916 return little_endian_read_16(event, 6); 1917 } 1918 /** 1919 * @brief Get field latency from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1920 * @param event packet 1921 * @return latency 1922 * @note: btstack_type 2 1923 */ 1924 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latency(const uint8_t * event){ 1925 return little_endian_read_16(event, 8); 1926 } 1927 /** 1928 * @brief Get field timeout_multiplier from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1929 * @param event packet 1930 * @return timeout_multiplier 1931 * @note: btstack_type 2 1932 */ 1933 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){ 1934 return little_endian_read_16(event, 10); 1935 } 1936 1937 /** 1938 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1939 * @param event packet 1940 * @return handle 1941 * @note: btstack_type H 1942 */ 1943 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){ 1944 return little_endian_read_16(event, 2); 1945 } 1946 /** 1947 * @brief Get field result from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1948 * @param event packet 1949 * @return result 1950 * @note: btstack_type 2 1951 */ 1952 static inline uint16_t l2cap_event_connection_parameter_update_response_get_result(const uint8_t * event){ 1953 return little_endian_read_16(event, 4); 1954 } 1955 1956 /** 1957 * @brief Get field con_handle from event L2CAP_EVENT_INFORMATION_RESPONSE 1958 * @param event packet 1959 * @return con_handle 1960 * @note: btstack_type H 1961 */ 1962 static inline hci_con_handle_t l2cap_event_information_response_get_con_handle(const uint8_t * event){ 1963 return little_endian_read_16(event, 2); 1964 } 1965 /** 1966 * @brief Get field extended_feature_mask from event L2CAP_EVENT_INFORMATION_RESPONSE 1967 * @param event packet 1968 * @return extended_feature_mask 1969 * @note: btstack_type 2 1970 */ 1971 static inline uint16_t l2cap_event_information_response_get_extended_feature_mask(const uint8_t * event){ 1972 return little_endian_read_16(event, 4); 1973 } 1974 /** 1975 * @brief Get field fixed_channels_supported from event L2CAP_EVENT_INFORMATION_RESPONSE 1976 * @param event packet 1977 * @return fixed_channels_supported 1978 * @note: btstack_type 2 1979 */ 1980 static inline uint16_t l2cap_event_information_response_get_fixed_channels_supported(const uint8_t * event){ 1981 return little_endian_read_16(event, 6); 1982 } 1983 1984 /** 1985 * @brief Get field local_cid from event L2CAP_EVENT_CAN_SEND_NOW 1986 * @param event packet 1987 * @return local_cid 1988 * @note: btstack_type 2 1989 */ 1990 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){ 1991 return little_endian_read_16(event, 2); 1992 } 1993 1994 /** 1995 * @brief Get field local_cid from event L2CAP_EVENT_PACKET_SENT 1996 * @param event packet 1997 * @return local_cid 1998 * @note: btstack_type 2 1999 */ 2000 static inline uint16_t l2cap_event_packet_sent_get_local_cid(const uint8_t * event){ 2001 return little_endian_read_16(event, 2); 2002 } 2003 2004 /** 2005 * @brief Get field local_cid from event L2CAP_EVENT_ERTM_BUFFER_RELEASED 2006 * @param event packet 2007 * @return local_cid 2008 * @note: btstack_type 2 2009 */ 2010 static inline uint16_t l2cap_event_ertm_buffer_released_get_local_cid(const uint8_t * event){ 2011 return little_endian_read_16(event, 2); 2012 } 2013 2014 /** 2015 * @brief Get field address_type from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2016 * @param event packet 2017 * @return address_type 2018 * @note: btstack_type 1 2019 */ 2020 static inline uint8_t l2cap_event_cbm_incoming_connection_get_address_type(const uint8_t * event){ 2021 return event[2]; 2022 } 2023 /** 2024 * @brief Get field address from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2025 * @param event packet 2026 * @param Pointer to storage for address 2027 * @note: btstack_type B 2028 */ 2029 static inline void l2cap_event_cbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 2030 reverse_bytes(&event[3], address, 6); 2031 } 2032 /** 2033 * @brief Get field handle from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2034 * @param event packet 2035 * @return handle 2036 * @note: btstack_type H 2037 */ 2038 static inline hci_con_handle_t l2cap_event_cbm_incoming_connection_get_handle(const uint8_t * event){ 2039 return little_endian_read_16(event, 9); 2040 } 2041 /** 2042 * @brief Get field psm from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2043 * @param event packet 2044 * @return psm 2045 * @note: btstack_type 2 2046 */ 2047 static inline uint16_t l2cap_event_cbm_incoming_connection_get_psm(const uint8_t * event){ 2048 return little_endian_read_16(event, 11); 2049 } 2050 /** 2051 * @brief Get field local_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2052 * @param event packet 2053 * @return local_cid 2054 * @note: btstack_type 2 2055 */ 2056 static inline uint16_t l2cap_event_cbm_incoming_connection_get_local_cid(const uint8_t * event){ 2057 return little_endian_read_16(event, 13); 2058 } 2059 /** 2060 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2061 * @param event packet 2062 * @return remote_cid 2063 * @note: btstack_type 2 2064 */ 2065 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_cid(const uint8_t * event){ 2066 return little_endian_read_16(event, 15); 2067 } 2068 /** 2069 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2070 * @param event packet 2071 * @return remote_mtu 2072 * @note: btstack_type 2 2073 */ 2074 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_mtu(const uint8_t * event){ 2075 return little_endian_read_16(event, 17); 2076 } 2077 2078 /** 2079 * @brief Get field status from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2080 * @param event packet 2081 * @return status 2082 * @note: btstack_type 1 2083 */ 2084 static inline uint8_t l2cap_event_cbm_channel_opened_get_status(const uint8_t * event){ 2085 return event[2]; 2086 } 2087 /** 2088 * @brief Get field address_type from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2089 * @param event packet 2090 * @return address_type 2091 * @note: btstack_type 1 2092 */ 2093 static inline uint8_t l2cap_event_cbm_channel_opened_get_address_type(const uint8_t * event){ 2094 return event[3]; 2095 } 2096 /** 2097 * @brief Get field address from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2098 * @param event packet 2099 * @param Pointer to storage for address 2100 * @note: btstack_type B 2101 */ 2102 static inline void l2cap_event_cbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 2103 reverse_bytes(&event[4], address, 6); 2104 } 2105 /** 2106 * @brief Get field handle from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2107 * @param event packet 2108 * @return handle 2109 * @note: btstack_type H 2110 */ 2111 static inline hci_con_handle_t l2cap_event_cbm_channel_opened_get_handle(const uint8_t * event){ 2112 return little_endian_read_16(event, 10); 2113 } 2114 /** 2115 * @brief Get field incoming from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2116 * @param event packet 2117 * @return incoming 2118 * @note: btstack_type 1 2119 */ 2120 static inline uint8_t l2cap_event_cbm_channel_opened_get_incoming(const uint8_t * event){ 2121 return event[12]; 2122 } 2123 /** 2124 * @brief Get field psm from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2125 * @param event packet 2126 * @return psm 2127 * @note: btstack_type 2 2128 */ 2129 static inline uint16_t l2cap_event_cbm_channel_opened_get_psm(const uint8_t * event){ 2130 return little_endian_read_16(event, 13); 2131 } 2132 /** 2133 * @brief Get field local_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2134 * @param event packet 2135 * @return local_cid 2136 * @note: btstack_type 2 2137 */ 2138 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_cid(const uint8_t * event){ 2139 return little_endian_read_16(event, 15); 2140 } 2141 /** 2142 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2143 * @param event packet 2144 * @return remote_cid 2145 * @note: btstack_type 2 2146 */ 2147 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_cid(const uint8_t * event){ 2148 return little_endian_read_16(event, 17); 2149 } 2150 /** 2151 * @brief Get field local_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2152 * @param event packet 2153 * @return local_mtu 2154 * @note: btstack_type 2 2155 */ 2156 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_mtu(const uint8_t * event){ 2157 return little_endian_read_16(event, 19); 2158 } 2159 /** 2160 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2161 * @param event packet 2162 * @return remote_mtu 2163 * @note: btstack_type 2 2164 */ 2165 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2166 return little_endian_read_16(event, 21); 2167 } 2168 2169 2170 /** 2171 * @brief Get field address_type from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2172 * @param event packet 2173 * @return address_type 2174 * @note: btstack_type 1 2175 */ 2176 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_address_type(const uint8_t * event){ 2177 return event[2]; 2178 } 2179 /** 2180 * @brief Get field address from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2181 * @param event packet 2182 * @param Pointer to storage for address 2183 * @note: btstack_type B 2184 */ 2185 static inline void l2cap_event_ecbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 2186 reverse_bytes(&event[3], address, 6); 2187 } 2188 /** 2189 * @brief Get field handle from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2190 * @param event packet 2191 * @return handle 2192 * @note: btstack_type H 2193 */ 2194 static inline hci_con_handle_t l2cap_event_ecbm_incoming_connection_get_handle(const uint8_t * event){ 2195 return little_endian_read_16(event, 9); 2196 } 2197 /** 2198 * @brief Get field psm from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2199 * @param event packet 2200 * @return psm 2201 * @note: btstack_type 2 2202 */ 2203 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_psm(const uint8_t * event){ 2204 return little_endian_read_16(event, 11); 2205 } 2206 /** 2207 * @brief Get field num_channels from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2208 * @param event packet 2209 * @return num_channels 2210 * @note: btstack_type 1 2211 */ 2212 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_num_channels(const uint8_t * event){ 2213 return event[13]; 2214 } 2215 /** 2216 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2217 * @param event packet 2218 * @return local_cid 2219 * @note: btstack_type 2 2220 */ 2221 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_local_cid(const uint8_t * event){ 2222 return little_endian_read_16(event, 14); 2223 } 2224 2225 /** 2226 * @brief Get field status from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2227 * @param event packet 2228 * @return status 2229 * @note: btstack_type 1 2230 */ 2231 static inline uint8_t l2cap_event_ecbm_channel_opened_get_status(const uint8_t * event){ 2232 return event[2]; 2233 } 2234 /** 2235 * @brief Get field address_type from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2236 * @param event packet 2237 * @return address_type 2238 * @note: btstack_type 1 2239 */ 2240 static inline uint8_t l2cap_event_ecbm_channel_opened_get_address_type(const uint8_t * event){ 2241 return event[3]; 2242 } 2243 /** 2244 * @brief Get field address from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2245 * @param event packet 2246 * @param Pointer to storage for address 2247 * @note: btstack_type B 2248 */ 2249 static inline void l2cap_event_ecbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 2250 reverse_bytes(&event[4], address, 6); 2251 } 2252 /** 2253 * @brief Get field handle from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2254 * @param event packet 2255 * @return handle 2256 * @note: btstack_type H 2257 */ 2258 static inline hci_con_handle_t l2cap_event_ecbm_channel_opened_get_handle(const uint8_t * event){ 2259 return little_endian_read_16(event, 10); 2260 } 2261 /** 2262 * @brief Get field incoming from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2263 * @param event packet 2264 * @return incoming 2265 * @note: btstack_type 1 2266 */ 2267 static inline uint8_t l2cap_event_ecbm_channel_opened_get_incoming(const uint8_t * event){ 2268 return event[12]; 2269 } 2270 /** 2271 * @brief Get field psm from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2272 * @param event packet 2273 * @return psm 2274 * @note: btstack_type 2 2275 */ 2276 static inline uint16_t l2cap_event_ecbm_channel_opened_get_psm(const uint8_t * event){ 2277 return little_endian_read_16(event, 13); 2278 } 2279 /** 2280 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2281 * @param event packet 2282 * @return local_cid 2283 * @note: btstack_type 2 2284 */ 2285 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_cid(const uint8_t * event){ 2286 return little_endian_read_16(event, 15); 2287 } 2288 /** 2289 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2290 * @param event packet 2291 * @return remote_cid 2292 * @note: btstack_type 2 2293 */ 2294 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_cid(const uint8_t * event){ 2295 return little_endian_read_16(event, 17); 2296 } 2297 /** 2298 * @brief Get field local_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2299 * @param event packet 2300 * @return local_mtu 2301 * @note: btstack_type 2 2302 */ 2303 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_mtu(const uint8_t * event){ 2304 return little_endian_read_16(event, 19); 2305 } 2306 /** 2307 * @brief Get field remote_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2308 * @param event packet 2309 * @return remote_mtu 2310 * @note: btstack_type 2 2311 */ 2312 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2313 return little_endian_read_16(event, 21); 2314 } 2315 2316 /** 2317 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_RECONFIGURED 2318 * @param event packet 2319 * @return remote_cid 2320 * @note: btstack_type 2 2321 */ 2322 static inline uint16_t l2cap_event_ecbm_reconfigured_get_remote_cid(const uint8_t * event){ 2323 return little_endian_read_16(event, 2); 2324 } 2325 /** 2326 * @brief Get field mtu from event L2CAP_EVENT_ECBM_RECONFIGURED 2327 * @param event packet 2328 * @return mtu 2329 * @note: btstack_type 2 2330 */ 2331 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mtu(const uint8_t * event){ 2332 return little_endian_read_16(event, 4); 2333 } 2334 /** 2335 * @brief Get field mps from event L2CAP_EVENT_ECBM_RECONFIGURED 2336 * @param event packet 2337 * @return mps 2338 * @note: btstack_type 2 2339 */ 2340 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mps(const uint8_t * event){ 2341 return little_endian_read_16(event, 6); 2342 } 2343 2344 /** 2345 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2346 * @param event packet 2347 * @return local_cid 2348 * @note: btstack_type 2 2349 */ 2350 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_local_cid(const uint8_t * event){ 2351 return little_endian_read_16(event, 2); 2352 } 2353 /** 2354 * @brief Get field reconfigure_result from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2355 * @param event packet 2356 * @return reconfigure_result 2357 * @note: btstack_type 2 2358 */ 2359 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_reconfigure_result(const uint8_t * event){ 2360 return little_endian_read_16(event, 4); 2361 } 2362 2363 /** 2364 * @brief Get field status from event RFCOMM_EVENT_CHANNEL_OPENED 2365 * @param event packet 2366 * @return status 2367 * @note: btstack_type 1 2368 */ 2369 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){ 2370 return event[2]; 2371 } 2372 /** 2373 * @brief Get field bd_addr from event RFCOMM_EVENT_CHANNEL_OPENED 2374 * @param event packet 2375 * @param Pointer to storage for bd_addr 2376 * @note: btstack_type B 2377 */ 2378 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2379 reverse_bytes(&event[3], bd_addr, 6); 2380 } 2381 /** 2382 * @brief Get field con_handle from event RFCOMM_EVENT_CHANNEL_OPENED 2383 * @param event packet 2384 * @return con_handle 2385 * @note: btstack_type 2 2386 */ 2387 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){ 2388 return little_endian_read_16(event, 9); 2389 } 2390 /** 2391 * @brief Get field server_channel from event RFCOMM_EVENT_CHANNEL_OPENED 2392 * @param event packet 2393 * @return server_channel 2394 * @note: btstack_type 1 2395 */ 2396 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){ 2397 return event[11]; 2398 } 2399 /** 2400 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_OPENED 2401 * @param event packet 2402 * @return rfcomm_cid 2403 * @note: btstack_type 2 2404 */ 2405 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){ 2406 return little_endian_read_16(event, 12); 2407 } 2408 /** 2409 * @brief Get field max_frame_size from event RFCOMM_EVENT_CHANNEL_OPENED 2410 * @param event packet 2411 * @return max_frame_size 2412 * @note: btstack_type 2 2413 */ 2414 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){ 2415 return little_endian_read_16(event, 14); 2416 } 2417 /** 2418 * @brief Get field incoming from event RFCOMM_EVENT_CHANNEL_OPENED 2419 * @param event packet 2420 * @return incoming 2421 * @note: btstack_type 1 2422 */ 2423 static inline uint8_t rfcomm_event_channel_opened_get_incoming(const uint8_t * event){ 2424 return event[16]; 2425 } 2426 2427 /** 2428 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_CLOSED 2429 * @param event packet 2430 * @return rfcomm_cid 2431 * @note: btstack_type 2 2432 */ 2433 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){ 2434 return little_endian_read_16(event, 2); 2435 } 2436 2437 /** 2438 * @brief Get field bd_addr from event RFCOMM_EVENT_INCOMING_CONNECTION 2439 * @param event packet 2440 * @param Pointer to storage for bd_addr 2441 * @note: btstack_type B 2442 */ 2443 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2444 reverse_bytes(&event[2], bd_addr, 6); 2445 } 2446 /** 2447 * @brief Get field server_channel from event RFCOMM_EVENT_INCOMING_CONNECTION 2448 * @param event packet 2449 * @return server_channel 2450 * @note: btstack_type 1 2451 */ 2452 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){ 2453 return event[8]; 2454 } 2455 /** 2456 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_INCOMING_CONNECTION 2457 * @param event packet 2458 * @return rfcomm_cid 2459 * @note: btstack_type 2 2460 */ 2461 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){ 2462 return little_endian_read_16(event, 9); 2463 } 2464 /** 2465 * @brief Get field con_handle from event RFCOMM_EVENT_INCOMING_CONNECTION 2466 * @param event packet 2467 * @return con_handle 2468 * @note: btstack_type H 2469 */ 2470 static inline hci_con_handle_t rfcomm_event_incoming_connection_get_con_handle(const uint8_t * event){ 2471 return little_endian_read_16(event, 11); 2472 } 2473 2474 /** 2475 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2476 * @param event packet 2477 * @return rfcomm_cid 2478 * @note: btstack_type 2 2479 */ 2480 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){ 2481 return little_endian_read_16(event, 2); 2482 } 2483 /** 2484 * @brief Get field line_status from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2485 * @param event packet 2486 * @return line_status 2487 * @note: btstack_type 1 2488 */ 2489 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){ 2490 return event[4]; 2491 } 2492 2493 /** 2494 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2495 * @param event packet 2496 * @return rfcomm_cid 2497 * @note: btstack_type 2 2498 */ 2499 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){ 2500 return little_endian_read_16(event, 2); 2501 } 2502 /** 2503 * @brief Get field modem_status from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2504 * @param event packet 2505 * @return modem_status 2506 * @note: btstack_type 1 2507 */ 2508 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){ 2509 return event[4]; 2510 } 2511 2512 /** 2513 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CAN_SEND_NOW 2514 * @param event packet 2515 * @return rfcomm_cid 2516 * @note: btstack_type 2 2517 */ 2518 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){ 2519 return little_endian_read_16(event, 2); 2520 } 2521 2522 /** 2523 * @brief Get field status from event SDP_EVENT_QUERY_COMPLETE 2524 * @param event packet 2525 * @return status 2526 * @note: btstack_type 1 2527 */ 2528 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){ 2529 return event[2]; 2530 } 2531 2532 /** 2533 * @brief Get field rfcomm_channel from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2534 * @param event packet 2535 * @return rfcomm_channel 2536 * @note: btstack_type 1 2537 */ 2538 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){ 2539 return event[2]; 2540 } 2541 /** 2542 * @brief Get field name from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2543 * @param event packet 2544 * @return name 2545 * @note: btstack_type T 2546 */ 2547 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){ 2548 return (const char *) &event[3]; 2549 } 2550 2551 /** 2552 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2553 * @param event packet 2554 * @return record_id 2555 * @note: btstack_type 2 2556 */ 2557 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){ 2558 return little_endian_read_16(event, 2); 2559 } 2560 /** 2561 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2562 * @param event packet 2563 * @return attribute_id 2564 * @note: btstack_type 2 2565 */ 2566 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){ 2567 return little_endian_read_16(event, 4); 2568 } 2569 /** 2570 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2571 * @param event packet 2572 * @return attribute_length 2573 * @note: btstack_type 2 2574 */ 2575 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){ 2576 return little_endian_read_16(event, 6); 2577 } 2578 /** 2579 * @brief Get field data_offset from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2580 * @param event packet 2581 * @return data_offset 2582 * @note: btstack_type 2 2583 */ 2584 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){ 2585 return little_endian_read_16(event, 8); 2586 } 2587 /** 2588 * @brief Get field data from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2589 * @param event packet 2590 * @return data 2591 * @note: btstack_type 1 2592 */ 2593 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){ 2594 return event[10]; 2595 } 2596 2597 /** 2598 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2599 * @param event packet 2600 * @return record_id 2601 * @note: btstack_type 2 2602 */ 2603 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){ 2604 return little_endian_read_16(event, 2); 2605 } 2606 /** 2607 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2608 * @param event packet 2609 * @return attribute_id 2610 * @note: btstack_type 2 2611 */ 2612 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){ 2613 return little_endian_read_16(event, 4); 2614 } 2615 /** 2616 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2617 * @param event packet 2618 * @return attribute_length 2619 * @note: btstack_type L 2620 */ 2621 static inline uint16_t sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){ 2622 return little_endian_read_16(event, 6); 2623 } 2624 /** 2625 * @brief Get field attribute_value from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2626 * @param event packet 2627 * @return attribute_value 2628 * @note: btstack_type V 2629 */ 2630 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){ 2631 return &event[8]; 2632 } 2633 2634 /** 2635 * @brief Get field total_count from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2636 * @param event packet 2637 * @return total_count 2638 * @note: btstack_type 2 2639 */ 2640 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){ 2641 return little_endian_read_16(event, 2); 2642 } 2643 /** 2644 * @brief Get field record_index from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2645 * @param event packet 2646 * @return record_index 2647 * @note: btstack_type 2 2648 */ 2649 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){ 2650 return little_endian_read_16(event, 4); 2651 } 2652 /** 2653 * @brief Get field record_handle from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2654 * @param event packet 2655 * @return record_handle 2656 * @note: btstack_type 4 2657 */ 2658 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){ 2659 return little_endian_read_32(event, 6); 2660 } 2661 2662 #ifdef ENABLE_BLE 2663 /** 2664 * @brief Get field handle from event GATT_EVENT_QUERY_COMPLETE 2665 * @param event packet 2666 * @return handle 2667 * @note: btstack_type H 2668 */ 2669 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){ 2670 return little_endian_read_16(event, 2); 2671 } 2672 /** 2673 * @brief Get field service_id from event GATT_EVENT_QUERY_COMPLETE 2674 * @param event packet 2675 * @return service_id 2676 * @note: btstack_type 2 2677 */ 2678 static inline uint16_t gatt_event_query_complete_get_service_id(const uint8_t * event){ 2679 return little_endian_read_16(event, 4); 2680 } 2681 /** 2682 * @brief Get field connection_id from event GATT_EVENT_QUERY_COMPLETE 2683 * @param event packet 2684 * @return connection_id 2685 * @note: btstack_type 2 2686 */ 2687 static inline uint16_t gatt_event_query_complete_get_connection_id(const uint8_t * event){ 2688 return little_endian_read_16(event, 6); 2689 } 2690 /** 2691 * @brief Get field att_status from event GATT_EVENT_QUERY_COMPLETE 2692 * @param event packet 2693 * @return att_status 2694 * @note: btstack_type 1 2695 */ 2696 static inline uint8_t gatt_event_query_complete_get_att_status(const uint8_t * event){ 2697 return event[8]; 2698 } 2699 #endif 2700 2701 #ifdef ENABLE_BLE 2702 /** 2703 * @brief Get field handle from event GATT_EVENT_SERVICE_QUERY_RESULT 2704 * @param event packet 2705 * @return handle 2706 * @note: btstack_type H 2707 */ 2708 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){ 2709 return little_endian_read_16(event, 2); 2710 } 2711 /** 2712 * @brief Get field service from event GATT_EVENT_SERVICE_QUERY_RESULT 2713 * @param event packet 2714 * @param Pointer to storage for service 2715 * @note: btstack_type X 2716 */ 2717 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2718 gatt_client_deserialize_service(event, 4, service); 2719 } 2720 #endif 2721 2722 #ifdef ENABLE_BLE 2723 /** 2724 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2725 * @param event packet 2726 * @return handle 2727 * @note: btstack_type H 2728 */ 2729 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){ 2730 return little_endian_read_16(event, 2); 2731 } 2732 /** 2733 * @brief Get field characteristic from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2734 * @param event packet 2735 * @param Pointer to storage for characteristic 2736 * @note: btstack_type Y 2737 */ 2738 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){ 2739 gatt_client_deserialize_characteristic(event, 4, characteristic); 2740 } 2741 #endif 2742 2743 #ifdef ENABLE_BLE 2744 /** 2745 * @brief Get field handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2746 * @param event packet 2747 * @return handle 2748 * @note: btstack_type H 2749 */ 2750 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){ 2751 return little_endian_read_16(event, 2); 2752 } 2753 /** 2754 * @brief Get field include_handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2755 * @param event packet 2756 * @return include_handle 2757 * @note: btstack_type 2 2758 */ 2759 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){ 2760 return little_endian_read_16(event, 4); 2761 } 2762 /** 2763 * @brief Get field service from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2764 * @param event packet 2765 * @param Pointer to storage for service 2766 * @note: btstack_type X 2767 */ 2768 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2769 gatt_client_deserialize_service(event, 6, service); 2770 } 2771 #endif 2772 2773 #ifdef ENABLE_BLE 2774 /** 2775 * @brief Get field handle from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2776 * @param event packet 2777 * @return handle 2778 * @note: btstack_type H 2779 */ 2780 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){ 2781 return little_endian_read_16(event, 2); 2782 } 2783 /** 2784 * @brief Get field characteristic_descriptor from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2785 * @param event packet 2786 * @param Pointer to storage for characteristic_descriptor 2787 * @note: btstack_type Z 2788 */ 2789 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){ 2790 gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor); 2791 } 2792 #endif 2793 2794 #ifdef ENABLE_BLE 2795 /** 2796 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2797 * @param event packet 2798 * @return handle 2799 * @note: btstack_type H 2800 */ 2801 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){ 2802 return little_endian_read_16(event, 2); 2803 } 2804 /** 2805 * @brief Get field value_handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2806 * @param event packet 2807 * @return value_handle 2808 * @note: btstack_type 2 2809 */ 2810 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2811 return little_endian_read_16(event, 4); 2812 } 2813 /** 2814 * @brief Get field value_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2815 * @param event packet 2816 * @return value_length 2817 * @note: btstack_type L 2818 */ 2819 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2820 return little_endian_read_16(event, 6); 2821 } 2822 /** 2823 * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2824 * @param event packet 2825 * @return value 2826 * @note: btstack_type V 2827 */ 2828 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){ 2829 return &event[8]; 2830 } 2831 #endif 2832 2833 #ifdef ENABLE_BLE 2834 /** 2835 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2836 * @param event packet 2837 * @return handle 2838 * @note: btstack_type H 2839 */ 2840 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){ 2841 return little_endian_read_16(event, 2); 2842 } 2843 /** 2844 * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2845 * @param event packet 2846 * @return value_handle 2847 * @note: btstack_type 2 2848 */ 2849 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2850 return little_endian_read_16(event, 4); 2851 } 2852 /** 2853 * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2854 * @param event packet 2855 * @return value_offset 2856 * @note: btstack_type 2 2857 */ 2858 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){ 2859 return little_endian_read_16(event, 6); 2860 } 2861 /** 2862 * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2863 * @param event packet 2864 * @return value_length 2865 * @note: btstack_type L 2866 */ 2867 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2868 return little_endian_read_16(event, 8); 2869 } 2870 /** 2871 * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2872 * @param event packet 2873 * @return value 2874 * @note: btstack_type V 2875 */ 2876 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){ 2877 return &event[10]; 2878 } 2879 #endif 2880 2881 #ifdef ENABLE_BLE 2882 /** 2883 * @brief Get field handle from event GATT_EVENT_NOTIFICATION 2884 * @param event packet 2885 * @return handle 2886 * @note: btstack_type H 2887 */ 2888 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){ 2889 return little_endian_read_16(event, 2); 2890 } 2891 /** 2892 * @brief Get field value_handle from event GATT_EVENT_NOTIFICATION 2893 * @param event packet 2894 * @return value_handle 2895 * @note: btstack_type 2 2896 */ 2897 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){ 2898 return little_endian_read_16(event, 4); 2899 } 2900 /** 2901 * @brief Get field value_length from event GATT_EVENT_NOTIFICATION 2902 * @param event packet 2903 * @return value_length 2904 * @note: btstack_type L 2905 */ 2906 static inline uint16_t gatt_event_notification_get_value_length(const uint8_t * event){ 2907 return little_endian_read_16(event, 6); 2908 } 2909 /** 2910 * @brief Get field value from event GATT_EVENT_NOTIFICATION 2911 * @param event packet 2912 * @return value 2913 * @note: btstack_type V 2914 */ 2915 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){ 2916 return &event[8]; 2917 } 2918 #endif 2919 2920 #ifdef ENABLE_BLE 2921 /** 2922 * @brief Get field handle from event GATT_EVENT_INDICATION 2923 * @param event packet 2924 * @return handle 2925 * @note: btstack_type H 2926 */ 2927 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){ 2928 return little_endian_read_16(event, 2); 2929 } 2930 /** 2931 * @brief Get field value_handle from event GATT_EVENT_INDICATION 2932 * @param event packet 2933 * @return value_handle 2934 * @note: btstack_type 2 2935 */ 2936 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){ 2937 return little_endian_read_16(event, 4); 2938 } 2939 /** 2940 * @brief Get field value_length from event GATT_EVENT_INDICATION 2941 * @param event packet 2942 * @return value_length 2943 * @note: btstack_type L 2944 */ 2945 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){ 2946 return little_endian_read_16(event, 6); 2947 } 2948 /** 2949 * @brief Get field value from event GATT_EVENT_INDICATION 2950 * @param event packet 2951 * @return value 2952 * @note: btstack_type V 2953 */ 2954 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){ 2955 return &event[8]; 2956 } 2957 #endif 2958 2959 #ifdef ENABLE_BLE 2960 /** 2961 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2962 * @param event packet 2963 * @return handle 2964 * @note: btstack_type H 2965 */ 2966 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2967 return little_endian_read_16(event, 2); 2968 } 2969 /** 2970 * @brief Get field descriptor_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2971 * @param event packet 2972 * @return descriptor_handle 2973 * @note: btstack_type 2 2974 */ 2975 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 2976 return little_endian_read_16(event, 4); 2977 } 2978 /** 2979 * @brief Get field descriptor_length from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2980 * @param event packet 2981 * @return descriptor_length 2982 * @note: btstack_type L 2983 */ 2984 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 2985 return little_endian_read_16(event, 6); 2986 } 2987 /** 2988 * @brief Get field descriptor from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2989 * @param event packet 2990 * @return descriptor 2991 * @note: btstack_type V 2992 */ 2993 static inline const uint8_t * gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 2994 return &event[8]; 2995 } 2996 #endif 2997 2998 #ifdef ENABLE_BLE 2999 /** 3000 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3001 * @param event packet 3002 * @return handle 3003 * @note: btstack_type H 3004 */ 3005 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 3006 return little_endian_read_16(event, 2); 3007 } 3008 /** 3009 * @brief Get field descriptor_handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3010 * @param event packet 3011 * @return descriptor_handle 3012 * @note: btstack_type 2 3013 */ 3014 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 3015 return little_endian_read_16(event, 4); 3016 } 3017 /** 3018 * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3019 * @param event packet 3020 * @return descriptor_offset 3021 * @note: btstack_type 2 3022 */ 3023 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){ 3024 return little_endian_read_16(event, 6); 3025 } 3026 /** 3027 * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3028 * @param event packet 3029 * @return descriptor_length 3030 * @note: btstack_type L 3031 */ 3032 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 3033 return little_endian_read_16(event, 8); 3034 } 3035 /** 3036 * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3037 * @param event packet 3038 * @return descriptor 3039 * @note: btstack_type V 3040 */ 3041 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 3042 return &event[10]; 3043 } 3044 #endif 3045 3046 #ifdef ENABLE_BLE 3047 /** 3048 * @brief Get field handle from event GATT_EVENT_MTU 3049 * @param event packet 3050 * @return handle 3051 * @note: btstack_type H 3052 */ 3053 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){ 3054 return little_endian_read_16(event, 2); 3055 } 3056 /** 3057 * @brief Get field MTU from event GATT_EVENT_MTU 3058 * @param event packet 3059 * @return MTU 3060 * @note: btstack_type 2 3061 */ 3062 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){ 3063 return little_endian_read_16(event, 4); 3064 } 3065 #endif 3066 3067 #ifdef ENABLE_BLE 3068 /** 3069 * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 3070 * @param event packet 3071 * @return handle 3072 * @note: btstack_type H 3073 */ 3074 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){ 3075 return little_endian_read_16(event, 2); 3076 } 3077 #endif 3078 3079 #ifdef ENABLE_BLE 3080 /** 3081 * @brief Get field status from event GATT_EVENT_CONNECTED 3082 * @param event packet 3083 * @return status 3084 * @note: btstack_type 1 3085 */ 3086 static inline uint8_t gatt_event_connected_get_status(const uint8_t * event){ 3087 return event[2]; 3088 } 3089 /** 3090 * @brief Get field address_type from event GATT_EVENT_CONNECTED 3091 * @param event packet 3092 * @return address_type 3093 * @note: btstack_type 1 3094 */ 3095 static inline uint8_t gatt_event_connected_get_address_type(const uint8_t * event){ 3096 return event[3]; 3097 } 3098 /** 3099 * @brief Get field address from event GATT_EVENT_CONNECTED 3100 * @param event packet 3101 * @param Pointer to storage for address 3102 * @note: btstack_type B 3103 */ 3104 static inline void gatt_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 3105 reverse_bytes(&event[4], address, 6); 3106 } 3107 /** 3108 * @brief Get field handle from event GATT_EVENT_CONNECTED 3109 * @param event packet 3110 * @return handle 3111 * @note: btstack_type H 3112 */ 3113 static inline hci_con_handle_t gatt_event_connected_get_handle(const uint8_t * event){ 3114 return little_endian_read_16(event, 10); 3115 } 3116 #endif 3117 3118 #ifdef ENABLE_BLE 3119 /** 3120 * @brief Get field handle from event GATT_EVENT_DISCONNECTED 3121 * @param event packet 3122 * @return handle 3123 * @note: btstack_type H 3124 */ 3125 static inline hci_con_handle_t gatt_event_disconnected_get_handle(const uint8_t * event){ 3126 return little_endian_read_16(event, 2); 3127 } 3128 #endif 3129 3130 #ifdef ENABLE_BLE 3131 /** 3132 * @brief Get field handle from event GATT_EVENT_SERVICE_CHANGED 3133 * @param event packet 3134 * @return handle 3135 * @note: btstack_type H 3136 */ 3137 static inline hci_con_handle_t gatt_event_service_changed_get_handle(const uint8_t * event){ 3138 return little_endian_read_16(event, 2); 3139 } 3140 /** 3141 * @brief Get field attribute_handle_start from event GATT_EVENT_SERVICE_CHANGED 3142 * @param event packet 3143 * @return attribute_handle_start 3144 * @note: btstack_type 2 3145 */ 3146 static inline uint16_t gatt_event_service_changed_get_attribute_handle_start(const uint8_t * event){ 3147 return little_endian_read_16(event, 4); 3148 } 3149 /** 3150 * @brief Get field attribute_handle_end from event GATT_EVENT_SERVICE_CHANGED 3151 * @param event packet 3152 * @return attribute_handle_end 3153 * @note: btstack_type 2 3154 */ 3155 static inline uint16_t gatt_event_service_changed_get_attribute_handle_end(const uint8_t * event){ 3156 return little_endian_read_16(event, 6); 3157 } 3158 #endif 3159 3160 /** 3161 * @brief Get field address_type from event ATT_EVENT_CONNECTED 3162 * @param event packet 3163 * @return address_type 3164 * @note: btstack_type 1 3165 */ 3166 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){ 3167 return event[2]; 3168 } 3169 /** 3170 * @brief Get field address from event ATT_EVENT_CONNECTED 3171 * @param event packet 3172 * @param Pointer to storage for address 3173 * @note: btstack_type B 3174 */ 3175 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 3176 reverse_bytes(&event[3], address, 6); 3177 } 3178 /** 3179 * @brief Get field handle from event ATT_EVENT_CONNECTED 3180 * @param event packet 3181 * @return handle 3182 * @note: btstack_type H 3183 */ 3184 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){ 3185 return little_endian_read_16(event, 9); 3186 } 3187 3188 /** 3189 * @brief Get field handle from event ATT_EVENT_DISCONNECTED 3190 * @param event packet 3191 * @return handle 3192 * @note: btstack_type H 3193 */ 3194 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){ 3195 return little_endian_read_16(event, 2); 3196 } 3197 3198 /** 3199 * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 3200 * @param event packet 3201 * @return handle 3202 * @note: btstack_type H 3203 */ 3204 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){ 3205 return little_endian_read_16(event, 2); 3206 } 3207 /** 3208 * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 3209 * @param event packet 3210 * @return MTU 3211 * @note: btstack_type 2 3212 */ 3213 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){ 3214 return little_endian_read_16(event, 4); 3215 } 3216 3217 /** 3218 * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3219 * @param event packet 3220 * @return status 3221 * @note: btstack_type 1 3222 */ 3223 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){ 3224 return event[2]; 3225 } 3226 /** 3227 * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3228 * @param event packet 3229 * @return conn_handle 3230 * @note: btstack_type H 3231 */ 3232 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){ 3233 return little_endian_read_16(event, 3); 3234 } 3235 /** 3236 * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3237 * @param event packet 3238 * @return attribute_handle 3239 * @note: btstack_type 2 3240 */ 3241 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){ 3242 return little_endian_read_16(event, 5); 3243 } 3244 3245 3246 /** 3247 * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED 3248 * @param event packet 3249 * @return status 3250 * @note: btstack_type 1 3251 */ 3252 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){ 3253 return event[2]; 3254 } 3255 /** 3256 * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED 3257 * @param event packet 3258 * @return service_uuid 3259 * @note: btstack_type 2 3260 */ 3261 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){ 3262 return little_endian_read_16(event, 3); 3263 } 3264 3265 /** 3266 * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED 3267 * @param event packet 3268 * @return status 3269 * @note: btstack_type 1 3270 */ 3271 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){ 3272 return event[2]; 3273 } 3274 /** 3275 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED 3276 * @param event packet 3277 * @return bnep_cid 3278 * @note: btstack_type 2 3279 */ 3280 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){ 3281 return little_endian_read_16(event, 3); 3282 } 3283 /** 3284 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED 3285 * @param event packet 3286 * @return source_uuid 3287 * @note: btstack_type 2 3288 */ 3289 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){ 3290 return little_endian_read_16(event, 5); 3291 } 3292 /** 3293 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED 3294 * @param event packet 3295 * @return destination_uuid 3296 * @note: btstack_type 2 3297 */ 3298 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){ 3299 return little_endian_read_16(event, 7); 3300 } 3301 /** 3302 * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED 3303 * @param event packet 3304 * @return mtu 3305 * @note: btstack_type 2 3306 */ 3307 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){ 3308 return little_endian_read_16(event, 9); 3309 } 3310 /** 3311 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED 3312 * @param event packet 3313 * @param Pointer to storage for remote_address 3314 * @note: btstack_type B 3315 */ 3316 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3317 reverse_bytes(&event[11], remote_address, 6); 3318 } 3319 /** 3320 * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED 3321 * @param event packet 3322 * @return con_handle 3323 * @note: btstack_type H 3324 */ 3325 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){ 3326 return little_endian_read_16(event, 17); 3327 } 3328 3329 /** 3330 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED 3331 * @param event packet 3332 * @return bnep_cid 3333 * @note: btstack_type 2 3334 */ 3335 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){ 3336 return little_endian_read_16(event, 2); 3337 } 3338 /** 3339 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3340 * @param event packet 3341 * @return source_uuid 3342 * @note: btstack_type 2 3343 */ 3344 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){ 3345 return little_endian_read_16(event, 4); 3346 } 3347 /** 3348 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3349 * @param event packet 3350 * @return destination_uuid 3351 * @note: btstack_type 2 3352 */ 3353 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){ 3354 return little_endian_read_16(event, 6); 3355 } 3356 /** 3357 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED 3358 * @param event packet 3359 * @param Pointer to storage for remote_address 3360 * @note: btstack_type B 3361 */ 3362 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3363 reverse_bytes(&event[8], remote_address, 6); 3364 } 3365 3366 /** 3367 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT 3368 * @param event packet 3369 * @return bnep_cid 3370 * @note: btstack_type 2 3371 */ 3372 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){ 3373 return little_endian_read_16(event, 2); 3374 } 3375 /** 3376 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3377 * @param event packet 3378 * @return source_uuid 3379 * @note: btstack_type 2 3380 */ 3381 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){ 3382 return little_endian_read_16(event, 4); 3383 } 3384 /** 3385 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3386 * @param event packet 3387 * @return destination_uuid 3388 * @note: btstack_type 2 3389 */ 3390 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){ 3391 return little_endian_read_16(event, 6); 3392 } 3393 /** 3394 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT 3395 * @param event packet 3396 * @param Pointer to storage for remote_address 3397 * @note: btstack_type B 3398 */ 3399 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3400 reverse_bytes(&event[8], remote_address, 6); 3401 } 3402 /** 3403 * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT 3404 * @param event packet 3405 * @return channel_state 3406 * @note: btstack_type 1 3407 */ 3408 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){ 3409 return event[14]; 3410 } 3411 3412 /** 3413 * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW 3414 * @param event packet 3415 * @return bnep_cid 3416 * @note: btstack_type 2 3417 */ 3418 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){ 3419 return little_endian_read_16(event, 2); 3420 } 3421 /** 3422 * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW 3423 * @param event packet 3424 * @return source_uuid 3425 * @note: btstack_type 2 3426 */ 3427 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){ 3428 return little_endian_read_16(event, 4); 3429 } 3430 /** 3431 * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW 3432 * @param event packet 3433 * @return destination_uuid 3434 * @note: btstack_type 2 3435 */ 3436 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){ 3437 return little_endian_read_16(event, 6); 3438 } 3439 /** 3440 * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW 3441 * @param event packet 3442 * @param Pointer to storage for remote_address 3443 * @note: btstack_type B 3444 */ 3445 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3446 reverse_bytes(&event[8], remote_address, 6); 3447 } 3448 3449 #ifdef ENABLE_BLE 3450 /** 3451 * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST 3452 * @param event packet 3453 * @return handle 3454 * @note: btstack_type H 3455 */ 3456 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ 3457 return little_endian_read_16(event, 2); 3458 } 3459 /** 3460 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST 3461 * @param event packet 3462 * @return addr_type 3463 * @note: btstack_type 1 3464 */ 3465 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ 3466 return event[4]; 3467 } 3468 /** 3469 * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST 3470 * @param event packet 3471 * @param Pointer to storage for address 3472 * @note: btstack_type B 3473 */ 3474 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ 3475 reverse_bytes(&event[5], address, 6); 3476 } 3477 /** 3478 * @brief Get field secure_connection from event SM_EVENT_JUST_WORKS_REQUEST 3479 * @param event packet 3480 * @return secure_connection 3481 * @note: btstack_type 1 3482 */ 3483 static inline uint8_t sm_event_just_works_request_get_secure_connection(const uint8_t * event){ 3484 return event[11]; 3485 } 3486 #endif 3487 3488 #ifdef ENABLE_BLE 3489 /** 3490 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3491 * @param event packet 3492 * @return handle 3493 * @note: btstack_type H 3494 */ 3495 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ 3496 return little_endian_read_16(event, 2); 3497 } 3498 /** 3499 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3500 * @param event packet 3501 * @return addr_type 3502 * @note: btstack_type 1 3503 */ 3504 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ 3505 return event[4]; 3506 } 3507 /** 3508 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3509 * @param event packet 3510 * @param Pointer to storage for address 3511 * @note: btstack_type B 3512 */ 3513 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ 3514 reverse_bytes(&event[5], address, 6); 3515 } 3516 /** 3517 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3518 * @param event packet 3519 * @return secure_connection 3520 * @note: btstack_type 1 3521 */ 3522 static inline uint8_t sm_event_passkey_display_number_get_secure_connection(const uint8_t * event){ 3523 return event[11]; 3524 } 3525 /** 3526 * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3527 * @param event packet 3528 * @return passkey 3529 * @note: btstack_type 4 3530 */ 3531 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ 3532 return little_endian_read_32(event, 12); 3533 } 3534 #endif 3535 3536 #ifdef ENABLE_BLE 3537 /** 3538 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3539 * @param event packet 3540 * @return handle 3541 * @note: btstack_type H 3542 */ 3543 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ 3544 return little_endian_read_16(event, 2); 3545 } 3546 /** 3547 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3548 * @param event packet 3549 * @return addr_type 3550 * @note: btstack_type 1 3551 */ 3552 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ 3553 return event[4]; 3554 } 3555 /** 3556 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3557 * @param event packet 3558 * @param Pointer to storage for address 3559 * @note: btstack_type B 3560 */ 3561 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ 3562 reverse_bytes(&event[5], address, 6); 3563 } 3564 #endif 3565 3566 #ifdef ENABLE_BLE 3567 /** 3568 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER 3569 * @param event packet 3570 * @return handle 3571 * @note: btstack_type H 3572 */ 3573 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ 3574 return little_endian_read_16(event, 2); 3575 } 3576 /** 3577 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER 3578 * @param event packet 3579 * @return addr_type 3580 * @note: btstack_type 1 3581 */ 3582 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ 3583 return event[4]; 3584 } 3585 /** 3586 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER 3587 * @param event packet 3588 * @param Pointer to storage for address 3589 * @note: btstack_type B 3590 */ 3591 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ 3592 reverse_bytes(&event[5], address, 6); 3593 } 3594 /** 3595 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_INPUT_NUMBER 3596 * @param event packet 3597 * @return secure_connection 3598 * @note: btstack_type 1 3599 */ 3600 static inline uint8_t sm_event_passkey_input_number_get_secure_connection(const uint8_t * event){ 3601 return event[11]; 3602 } 3603 #endif 3604 3605 #ifdef ENABLE_BLE 3606 /** 3607 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3608 * @param event packet 3609 * @return handle 3610 * @note: btstack_type H 3611 */ 3612 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){ 3613 return little_endian_read_16(event, 2); 3614 } 3615 /** 3616 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3617 * @param event packet 3618 * @return addr_type 3619 * @note: btstack_type 1 3620 */ 3621 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){ 3622 return event[4]; 3623 } 3624 /** 3625 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3626 * @param event packet 3627 * @param Pointer to storage for address 3628 * @note: btstack_type B 3629 */ 3630 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){ 3631 reverse_bytes(&event[5], address, 6); 3632 } 3633 /** 3634 * @brief Get field secure_connection from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3635 * @param event packet 3636 * @return secure_connection 3637 * @note: btstack_type 1 3638 */ 3639 static inline uint8_t sm_event_numeric_comparison_request_get_secure_connection(const uint8_t * event){ 3640 return event[11]; 3641 } 3642 /** 3643 * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3644 * @param event packet 3645 * @return passkey 3646 * @note: btstack_type 4 3647 */ 3648 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){ 3649 return little_endian_read_32(event, 12); 3650 } 3651 #endif 3652 3653 #ifdef ENABLE_BLE 3654 /** 3655 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3656 * @param event packet 3657 * @return handle 3658 * @note: btstack_type H 3659 */ 3660 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ 3661 return little_endian_read_16(event, 2); 3662 } 3663 /** 3664 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3665 * @param event packet 3666 * @return addr_type 3667 * @note: btstack_type 1 3668 */ 3669 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ 3670 return event[4]; 3671 } 3672 /** 3673 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3674 * @param event packet 3675 * @param Pointer to storage for address 3676 * @note: btstack_type B 3677 */ 3678 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ 3679 reverse_bytes(&event[5], address, 6); 3680 } 3681 #endif 3682 3683 #ifdef ENABLE_BLE 3684 /** 3685 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3686 * @param event packet 3687 * @return handle 3688 * @note: btstack_type H 3689 */ 3690 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ 3691 return little_endian_read_16(event, 2); 3692 } 3693 /** 3694 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3695 * @param event packet 3696 * @return addr_type 3697 * @note: btstack_type 1 3698 */ 3699 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ 3700 return event[4]; 3701 } 3702 /** 3703 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3704 * @param event packet 3705 * @param Pointer to storage for address 3706 * @note: btstack_type B 3707 */ 3708 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ 3709 reverse_bytes(&event[5], address, 6); 3710 } 3711 #endif 3712 3713 #ifdef ENABLE_BLE 3714 /** 3715 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3716 * @param event packet 3717 * @return handle 3718 * @note: btstack_type H 3719 */ 3720 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ 3721 return little_endian_read_16(event, 2); 3722 } 3723 /** 3724 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3725 * @param event packet 3726 * @return addr_type 3727 * @note: btstack_type 1 3728 */ 3729 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ 3730 return event[4]; 3731 } 3732 /** 3733 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3734 * @param event packet 3735 * @param Pointer to storage for address 3736 * @note: btstack_type B 3737 */ 3738 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ 3739 reverse_bytes(&event[5], address, 6); 3740 } 3741 /** 3742 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3743 * @param event packet 3744 * @return identity_addr_type 3745 * @note: btstack_type 1 3746 */ 3747 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){ 3748 return event[11]; 3749 } 3750 /** 3751 * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3752 * @param event packet 3753 * @param Pointer to storage for identity_address 3754 * @note: btstack_type B 3755 */ 3756 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3757 reverse_bytes(&event[12], identity_address, 6); 3758 } 3759 /** 3760 * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3761 * @param event packet 3762 * @return index 3763 * @note: btstack_type 2 3764 */ 3765 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){ 3766 return little_endian_read_16(event, 18); 3767 } 3768 #endif 3769 3770 #ifdef ENABLE_BLE 3771 /** 3772 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST 3773 * @param event packet 3774 * @return handle 3775 * @note: btstack_type H 3776 */ 3777 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){ 3778 return little_endian_read_16(event, 2); 3779 } 3780 /** 3781 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST 3782 * @param event packet 3783 * @return addr_type 3784 * @note: btstack_type 1 3785 */ 3786 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ 3787 return event[4]; 3788 } 3789 /** 3790 * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST 3791 * @param event packet 3792 * @param Pointer to storage for address 3793 * @note: btstack_type B 3794 */ 3795 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ 3796 reverse_bytes(&event[5], address, 6); 3797 } 3798 #endif 3799 3800 #ifdef ENABLE_BLE 3801 /** 3802 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT 3803 * @param event packet 3804 * @return handle 3805 * @note: btstack_type H 3806 */ 3807 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ 3808 return little_endian_read_16(event, 2); 3809 } 3810 /** 3811 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT 3812 * @param event packet 3813 * @return addr_type 3814 * @note: btstack_type 1 3815 */ 3816 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ 3817 return event[4]; 3818 } 3819 /** 3820 * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT 3821 * @param event packet 3822 * @param Pointer to storage for address 3823 * @note: btstack_type B 3824 */ 3825 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ 3826 reverse_bytes(&event[5], address, 6); 3827 } 3828 /** 3829 * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT 3830 * @param event packet 3831 * @return authorization_result 3832 * @note: btstack_type 1 3833 */ 3834 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ 3835 return event[11]; 3836 } 3837 #endif 3838 3839 #ifdef ENABLE_BLE 3840 /** 3841 * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION 3842 * @param event packet 3843 * @return handle 3844 * @note: btstack_type H 3845 */ 3846 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){ 3847 return little_endian_read_16(event, 2); 3848 } 3849 /** 3850 * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION 3851 * @param event packet 3852 * @return action 3853 * @note: btstack_type 1 3854 */ 3855 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){ 3856 return event[4]; 3857 } 3858 #endif 3859 3860 #ifdef ENABLE_BLE 3861 /** 3862 * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED 3863 * @param event packet 3864 * @return handle 3865 * @note: btstack_type H 3866 */ 3867 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){ 3868 return little_endian_read_16(event, 2); 3869 } 3870 /** 3871 * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED 3872 * @param event packet 3873 * @return addr_type 3874 * @note: btstack_type 1 3875 */ 3876 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){ 3877 return event[4]; 3878 } 3879 /** 3880 * @brief Get field address from event SM_EVENT_IDENTITY_CREATED 3881 * @param event packet 3882 * @param Pointer to storage for address 3883 * @note: btstack_type B 3884 */ 3885 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){ 3886 reverse_bytes(&event[5], address, 6); 3887 } 3888 /** 3889 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED 3890 * @param event packet 3891 * @return identity_addr_type 3892 * @note: btstack_type 1 3893 */ 3894 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){ 3895 return event[11]; 3896 } 3897 /** 3898 * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED 3899 * @param event packet 3900 * @param Pointer to storage for identity_address 3901 * @note: btstack_type B 3902 */ 3903 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3904 reverse_bytes(&event[12], identity_address, 6); 3905 } 3906 /** 3907 * @brief Get field index from event SM_EVENT_IDENTITY_CREATED 3908 * @param event packet 3909 * @return index 3910 * @note: btstack_type 2 3911 */ 3912 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){ 3913 return little_endian_read_16(event, 18); 3914 } 3915 #endif 3916 3917 #ifdef ENABLE_BLE 3918 /** 3919 * @brief Get field handle from event SM_EVENT_PAIRING_STARTED 3920 * @param event packet 3921 * @return handle 3922 * @note: btstack_type H 3923 */ 3924 static inline hci_con_handle_t sm_event_pairing_started_get_handle(const uint8_t * event){ 3925 return little_endian_read_16(event, 2); 3926 } 3927 /** 3928 * @brief Get field addr_type from event SM_EVENT_PAIRING_STARTED 3929 * @param event packet 3930 * @return addr_type 3931 * @note: btstack_type 1 3932 */ 3933 static inline uint8_t sm_event_pairing_started_get_addr_type(const uint8_t * event){ 3934 return event[4]; 3935 } 3936 /** 3937 * @brief Get field address from event SM_EVENT_PAIRING_STARTED 3938 * @param event packet 3939 * @param Pointer to storage for address 3940 * @note: btstack_type B 3941 */ 3942 static inline void sm_event_pairing_started_get_address(const uint8_t * event, bd_addr_t address){ 3943 reverse_bytes(&event[5], address, 6); 3944 } 3945 #endif 3946 3947 #ifdef ENABLE_BLE 3948 /** 3949 * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE 3950 * @param event packet 3951 * @return handle 3952 * @note: btstack_type H 3953 */ 3954 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){ 3955 return little_endian_read_16(event, 2); 3956 } 3957 /** 3958 * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE 3959 * @param event packet 3960 * @return addr_type 3961 * @note: btstack_type 1 3962 */ 3963 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){ 3964 return event[4]; 3965 } 3966 /** 3967 * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE 3968 * @param event packet 3969 * @param Pointer to storage for address 3970 * @note: btstack_type B 3971 */ 3972 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){ 3973 reverse_bytes(&event[5], address, 6); 3974 } 3975 /** 3976 * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE 3977 * @param event packet 3978 * @return status 3979 * @note: btstack_type 1 3980 */ 3981 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){ 3982 return event[11]; 3983 } 3984 /** 3985 * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE 3986 * @param event packet 3987 * @return reason 3988 * @note: btstack_type 1 3989 */ 3990 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){ 3991 return event[12]; 3992 } 3993 #endif 3994 3995 #ifdef ENABLE_BLE 3996 /** 3997 * @brief Get field handle from event SM_EVENT_REENCRYPTION_STARTED 3998 * @param event packet 3999 * @return handle 4000 * @note: btstack_type H 4001 */ 4002 static inline hci_con_handle_t sm_event_reencryption_started_get_handle(const uint8_t * event){ 4003 return little_endian_read_16(event, 2); 4004 } 4005 /** 4006 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_STARTED 4007 * @param event packet 4008 * @return addr_type 4009 * @note: btstack_type 1 4010 */ 4011 static inline uint8_t sm_event_reencryption_started_get_addr_type(const uint8_t * event){ 4012 return event[4]; 4013 } 4014 /** 4015 * @brief Get field address from event SM_EVENT_REENCRYPTION_STARTED 4016 * @param event packet 4017 * @param Pointer to storage for address 4018 * @note: btstack_type B 4019 */ 4020 static inline void sm_event_reencryption_started_get_address(const uint8_t * event, bd_addr_t address){ 4021 reverse_bytes(&event[5], address, 6); 4022 } 4023 #endif 4024 4025 #ifdef ENABLE_BLE 4026 /** 4027 * @brief Get field handle from event SM_EVENT_REENCRYPTION_COMPLETE 4028 * @param event packet 4029 * @return handle 4030 * @note: btstack_type H 4031 */ 4032 static inline hci_con_handle_t sm_event_reencryption_complete_get_handle(const uint8_t * event){ 4033 return little_endian_read_16(event, 2); 4034 } 4035 /** 4036 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_COMPLETE 4037 * @param event packet 4038 * @return addr_type 4039 * @note: btstack_type 1 4040 */ 4041 static inline uint8_t sm_event_reencryption_complete_get_addr_type(const uint8_t * event){ 4042 return event[4]; 4043 } 4044 /** 4045 * @brief Get field address from event SM_EVENT_REENCRYPTION_COMPLETE 4046 * @param event packet 4047 * @param Pointer to storage for address 4048 * @note: btstack_type B 4049 */ 4050 static inline void sm_event_reencryption_complete_get_address(const uint8_t * event, bd_addr_t address){ 4051 reverse_bytes(&event[5], address, 6); 4052 } 4053 /** 4054 * @brief Get field status from event SM_EVENT_REENCRYPTION_COMPLETE 4055 * @param event packet 4056 * @return status 4057 * @note: btstack_type 1 4058 */ 4059 static inline uint8_t sm_event_reencryption_complete_get_status(const uint8_t * event){ 4060 return event[11]; 4061 } 4062 #endif 4063 4064 /** 4065 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 4066 * @param event packet 4067 * @return handle 4068 * @note: btstack_type H 4069 */ 4070 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 4071 return little_endian_read_16(event, 2); 4072 } 4073 /** 4074 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 4075 * @param event packet 4076 * @return security_level 4077 * @note: btstack_type 1 4078 */ 4079 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 4080 return event[4]; 4081 } 4082 4083 /** 4084 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 4085 * @param event packet 4086 * @return status 4087 * @note: btstack_type 1 4088 */ 4089 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 4090 return event[2]; 4091 } 4092 /** 4093 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 4094 * @param event packet 4095 * @param Pointer to storage for address 4096 * @note: btstack_type B 4097 */ 4098 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 4099 reverse_bytes(&event[3], address, 6); 4100 } 4101 4102 /** 4103 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 4104 * @param event packet 4105 * @return advertising_event_type 4106 * @note: btstack_type 1 4107 */ 4108 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 4109 return event[2]; 4110 } 4111 /** 4112 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 4113 * @param event packet 4114 * @return address_type 4115 * @note: btstack_type 1 4116 */ 4117 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 4118 return event[3]; 4119 } 4120 /** 4121 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 4122 * @param event packet 4123 * @param Pointer to storage for address 4124 * @note: btstack_type B 4125 */ 4126 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 4127 reverse_bytes(&event[4], address, 6); 4128 } 4129 /** 4130 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 4131 * @param event packet 4132 * @return rssi 4133 * @note: btstack_type 1 4134 */ 4135 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 4136 return event[10]; 4137 } 4138 /** 4139 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 4140 * @param event packet 4141 * @return data_length 4142 * @note: btstack_type J 4143 */ 4144 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 4145 return event[11]; 4146 } 4147 /** 4148 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 4149 * @param event packet 4150 * @return data 4151 * @note: btstack_type V 4152 */ 4153 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 4154 return &event[12]; 4155 } 4156 4157 /** 4158 * @brief Get field advertising_event_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4159 * @param event packet 4160 * @return advertising_event_type 4161 * @note: btstack_type 2 4162 */ 4163 static inline uint16_t gap_event_extended_advertising_report_get_advertising_event_type(const uint8_t * event){ 4164 return little_endian_read_16(event, 2); 4165 } 4166 /** 4167 * @brief Get field address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4168 * @param event packet 4169 * @return address_type 4170 * @note: btstack_type 1 4171 */ 4172 static inline uint8_t gap_event_extended_advertising_report_get_address_type(const uint8_t * event){ 4173 return event[4]; 4174 } 4175 /** 4176 * @brief Get field address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4177 * @param event packet 4178 * @param Pointer to storage for address 4179 * @note: btstack_type B 4180 */ 4181 static inline void gap_event_extended_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 4182 reverse_bytes(&event[5], address, 6); 4183 } 4184 /** 4185 * @brief Get field primary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4186 * @param event packet 4187 * @return primary_phy 4188 * @note: btstack_type 1 4189 */ 4190 static inline uint8_t gap_event_extended_advertising_report_get_primary_phy(const uint8_t * event){ 4191 return event[11]; 4192 } 4193 /** 4194 * @brief Get field secondary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4195 * @param event packet 4196 * @return secondary_phy 4197 * @note: btstack_type 1 4198 */ 4199 static inline uint8_t gap_event_extended_advertising_report_get_secondary_phy(const uint8_t * event){ 4200 return event[12]; 4201 } 4202 /** 4203 * @brief Get field advertising_sid from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4204 * @param event packet 4205 * @return advertising_sid 4206 * @note: btstack_type 1 4207 */ 4208 static inline uint8_t gap_event_extended_advertising_report_get_advertising_sid(const uint8_t * event){ 4209 return event[13]; 4210 } 4211 /** 4212 * @brief Get field tx_power from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4213 * @param event packet 4214 * @return tx_power 4215 * @note: btstack_type 1 4216 */ 4217 static inline uint8_t gap_event_extended_advertising_report_get_tx_power(const uint8_t * event){ 4218 return event[14]; 4219 } 4220 /** 4221 * @brief Get field rssi from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4222 * @param event packet 4223 * @return rssi 4224 * @note: btstack_type 1 4225 */ 4226 static inline uint8_t gap_event_extended_advertising_report_get_rssi(const uint8_t * event){ 4227 return event[15]; 4228 } 4229 /** 4230 * @brief Get field periodic_advertising_interval from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4231 * @param event packet 4232 * @return periodic_advertising_interval 4233 * @note: btstack_type 2 4234 */ 4235 static inline uint16_t gap_event_extended_advertising_report_get_periodic_advertising_interval(const uint8_t * event){ 4236 return little_endian_read_16(event, 16); 4237 } 4238 /** 4239 * @brief Get field direct_address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4240 * @param event packet 4241 * @return direct_address_type 4242 * @note: btstack_type 1 4243 */ 4244 static inline uint8_t gap_event_extended_advertising_report_get_direct_address_type(const uint8_t * event){ 4245 return event[18]; 4246 } 4247 /** 4248 * @brief Get field direct_address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4249 * @param event packet 4250 * @param Pointer to storage for direct_address 4251 * @note: btstack_type B 4252 */ 4253 static inline void gap_event_extended_advertising_report_get_direct_address(const uint8_t * event, bd_addr_t direct_address){ 4254 reverse_bytes(&event[19], direct_address, 6); 4255 } 4256 /** 4257 * @brief Get field data_length from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4258 * @param event packet 4259 * @return data_length 4260 * @note: btstack_type J 4261 */ 4262 static inline uint8_t gap_event_extended_advertising_report_get_data_length(const uint8_t * event){ 4263 return event[25]; 4264 } 4265 /** 4266 * @brief Get field data from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4267 * @param event packet 4268 * @return data 4269 * @note: btstack_type V 4270 */ 4271 static inline const uint8_t * gap_event_extended_advertising_report_get_data(const uint8_t * event){ 4272 return &event[26]; 4273 } 4274 4275 /** 4276 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 4277 * @param event packet 4278 * @param Pointer to storage for bd_addr 4279 * @note: btstack_type B 4280 */ 4281 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4282 reverse_bytes(&event[2], bd_addr, 6); 4283 } 4284 /** 4285 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 4286 * @param event packet 4287 * @return page_scan_repetition_mode 4288 * @note: btstack_type 1 4289 */ 4290 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 4291 return event[8]; 4292 } 4293 /** 4294 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 4295 * @param event packet 4296 * @return class_of_device 4297 * @note: btstack_type 3 4298 */ 4299 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 4300 return little_endian_read_24(event, 9); 4301 } 4302 /** 4303 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 4304 * @param event packet 4305 * @return clock_offset 4306 * @note: btstack_type 2 4307 */ 4308 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 4309 return little_endian_read_16(event, 12); 4310 } 4311 /** 4312 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 4313 * @param event packet 4314 * @return rssi_available 4315 * @note: btstack_type 1 4316 */ 4317 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 4318 return event[14]; 4319 } 4320 /** 4321 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 4322 * @param event packet 4323 * @return rssi 4324 * @note: btstack_type 1 4325 */ 4326 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 4327 return event[15]; 4328 } 4329 /** 4330 * @brief Get field device_id_available from event GAP_EVENT_INQUIRY_RESULT 4331 * @param event packet 4332 * @return device_id_available 4333 * @note: btstack_type 1 4334 */ 4335 static inline uint8_t gap_event_inquiry_result_get_device_id_available(const uint8_t * event){ 4336 return event[16]; 4337 } 4338 /** 4339 * @brief Get field device_id_vendor_id_source from event GAP_EVENT_INQUIRY_RESULT 4340 * @param event packet 4341 * @return device_id_vendor_id_source 4342 * @note: btstack_type 2 4343 */ 4344 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id_source(const uint8_t * event){ 4345 return little_endian_read_16(event, 17); 4346 } 4347 /** 4348 * @brief Get field device_id_vendor_id from event GAP_EVENT_INQUIRY_RESULT 4349 * @param event packet 4350 * @return device_id_vendor_id 4351 * @note: btstack_type 2 4352 */ 4353 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id(const uint8_t * event){ 4354 return little_endian_read_16(event, 19); 4355 } 4356 /** 4357 * @brief Get field device_id_product_id from event GAP_EVENT_INQUIRY_RESULT 4358 * @param event packet 4359 * @return device_id_product_id 4360 * @note: btstack_type 2 4361 */ 4362 static inline uint16_t gap_event_inquiry_result_get_device_id_product_id(const uint8_t * event){ 4363 return little_endian_read_16(event, 21); 4364 } 4365 /** 4366 * @brief Get field device_id_version from event GAP_EVENT_INQUIRY_RESULT 4367 * @param event packet 4368 * @return device_id_version 4369 * @note: btstack_type 2 4370 */ 4371 static inline uint16_t gap_event_inquiry_result_get_device_id_version(const uint8_t * event){ 4372 return little_endian_read_16(event, 23); 4373 } 4374 /** 4375 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 4376 * @param event packet 4377 * @return name_available 4378 * @note: btstack_type 1 4379 */ 4380 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 4381 return event[25]; 4382 } 4383 /** 4384 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 4385 * @param event packet 4386 * @return name_len 4387 * @note: btstack_type J 4388 */ 4389 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 4390 return event[26]; 4391 } 4392 /** 4393 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 4394 * @param event packet 4395 * @return name 4396 * @note: btstack_type V 4397 */ 4398 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 4399 return &event[27]; 4400 } 4401 4402 /** 4403 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 4404 * @param event packet 4405 * @return status 4406 * @note: btstack_type 1 4407 */ 4408 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 4409 return event[2]; 4410 } 4411 4412 /** 4413 * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT 4414 * @param event packet 4415 * @return con_handle 4416 * @note: btstack_type H 4417 */ 4418 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){ 4419 return little_endian_read_16(event, 2); 4420 } 4421 /** 4422 * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT 4423 * @param event packet 4424 * @return rssi 4425 * @note: btstack_type 1 4426 */ 4427 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){ 4428 return event[4]; 4429 } 4430 4431 /** 4432 * @brief Get field oob_data_present from event GAP_EVENT_LOCAL_OOB_DATA 4433 * @param event packet 4434 * @return oob_data_present 4435 * @note: btstack_type 1 4436 */ 4437 static inline uint8_t gap_event_local_oob_data_get_oob_data_present(const uint8_t * event){ 4438 return event[2]; 4439 } 4440 /** 4441 * @brief Get field c_192 from event GAP_EVENT_LOCAL_OOB_DATA 4442 * @param event packet 4443 * @param Pointer to storage for c_192 4444 * @note: btstack_type K 4445 */ 4446 static inline void gap_event_local_oob_data_get_c_192(const uint8_t * event, uint8_t * c_192){ 4447 reverse_bytes(&event[3], c_192, 16); 4448 } 4449 /** 4450 * @brief Get field r_192 from event GAP_EVENT_LOCAL_OOB_DATA 4451 * @param event packet 4452 * @param Pointer to storage for r_192 4453 * @note: btstack_type K 4454 */ 4455 static inline void gap_event_local_oob_data_get_r_192(const uint8_t * event, uint8_t * r_192){ 4456 reverse_bytes(&event[19], r_192, 16); 4457 } 4458 /** 4459 * @brief Get field c_256 from event GAP_EVENT_LOCAL_OOB_DATA 4460 * @param event packet 4461 * @param Pointer to storage for c_256 4462 * @note: btstack_type K 4463 */ 4464 static inline void gap_event_local_oob_data_get_c_256(const uint8_t * event, uint8_t * c_256){ 4465 reverse_bytes(&event[35], c_256, 16); 4466 } 4467 /** 4468 * @brief Get field r_256 from event GAP_EVENT_LOCAL_OOB_DATA 4469 * @param event packet 4470 * @param Pointer to storage for r_256 4471 * @note: btstack_type K 4472 */ 4473 static inline void gap_event_local_oob_data_get_r_256(const uint8_t * event, uint8_t * r_256){ 4474 reverse_bytes(&event[51], r_256, 16); 4475 } 4476 4477 /** 4478 * @brief Get field con_handle from event GAP_EVENT_PAIRING_STARTED 4479 * @param event packet 4480 * @return con_handle 4481 * @note: btstack_type H 4482 */ 4483 static inline hci_con_handle_t gap_event_pairing_started_get_con_handle(const uint8_t * event){ 4484 return little_endian_read_16(event, 2); 4485 } 4486 /** 4487 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_STARTED 4488 * @param event packet 4489 * @param Pointer to storage for bd_addr 4490 * @note: btstack_type B 4491 */ 4492 static inline void gap_event_pairing_started_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4493 reverse_bytes(&event[4], bd_addr, 6); 4494 } 4495 /** 4496 * @brief Get field ssp from event GAP_EVENT_PAIRING_STARTED 4497 * @param event packet 4498 * @return ssp 4499 * @note: btstack_type 1 4500 */ 4501 static inline uint8_t gap_event_pairing_started_get_ssp(const uint8_t * event){ 4502 return event[10]; 4503 } 4504 /** 4505 * @brief Get field initiator from event GAP_EVENT_PAIRING_STARTED 4506 * @param event packet 4507 * @return initiator 4508 * @note: btstack_type 1 4509 */ 4510 static inline uint8_t gap_event_pairing_started_get_initiator(const uint8_t * event){ 4511 return event[11]; 4512 } 4513 4514 /** 4515 * @brief Get field con_handle from event GAP_EVENT_PAIRING_COMPLETE 4516 * @param event packet 4517 * @return con_handle 4518 * @note: btstack_type H 4519 */ 4520 static inline hci_con_handle_t gap_event_pairing_complete_get_con_handle(const uint8_t * event){ 4521 return little_endian_read_16(event, 2); 4522 } 4523 /** 4524 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_COMPLETE 4525 * @param event packet 4526 * @param Pointer to storage for bd_addr 4527 * @note: btstack_type B 4528 */ 4529 static inline void gap_event_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4530 reverse_bytes(&event[4], bd_addr, 6); 4531 } 4532 /** 4533 * @brief Get field status from event GAP_EVENT_PAIRING_COMPLETE 4534 * @param event packet 4535 * @return status 4536 * @note: btstack_type 1 4537 */ 4538 static inline uint8_t gap_event_pairing_complete_get_status(const uint8_t * event){ 4539 return event[10]; 4540 } 4541 4542 /** 4543 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4544 * @param event packet 4545 * @return status 4546 * @note: btstack_type 1 4547 */ 4548 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 4549 return event[3]; 4550 } 4551 /** 4552 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4553 * @param event packet 4554 * @return connection_handle 4555 * @note: btstack_type H 4556 */ 4557 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 4558 return little_endian_read_16(event, 4); 4559 } 4560 /** 4561 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4562 * @param event packet 4563 * @return role 4564 * @note: btstack_type 1 4565 */ 4566 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 4567 return event[6]; 4568 } 4569 /** 4570 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4571 * @param event packet 4572 * @return peer_address_type 4573 * @note: btstack_type 1 4574 */ 4575 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 4576 return event[7]; 4577 } 4578 /** 4579 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4580 * @param event packet 4581 * @param Pointer to storage for peer_address 4582 * @note: btstack_type B 4583 */ 4584 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 4585 reverse_bytes(&event[8], peer_address, 6); 4586 } 4587 /** 4588 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4589 * @param event packet 4590 * @return conn_interval 4591 * @note: btstack_type 2 4592 */ 4593 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 4594 return little_endian_read_16(event, 14); 4595 } 4596 /** 4597 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4598 * @param event packet 4599 * @return conn_latency 4600 * @note: btstack_type 2 4601 */ 4602 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 4603 return little_endian_read_16(event, 16); 4604 } 4605 /** 4606 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4607 * @param event packet 4608 * @return supervision_timeout 4609 * @note: btstack_type 2 4610 */ 4611 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 4612 return little_endian_read_16(event, 18); 4613 } 4614 /** 4615 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4616 * @param event packet 4617 * @return master_clock_accuracy 4618 * @note: btstack_type 1 4619 */ 4620 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 4621 return event[20]; 4622 } 4623 4624 /** 4625 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4626 * @param event packet 4627 * @return status 4628 * @note: btstack_type 1 4629 */ 4630 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 4631 return event[3]; 4632 } 4633 /** 4634 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4635 * @param event packet 4636 * @return connection_handle 4637 * @note: btstack_type H 4638 */ 4639 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 4640 return little_endian_read_16(event, 4); 4641 } 4642 /** 4643 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4644 * @param event packet 4645 * @return conn_interval 4646 * @note: btstack_type 2 4647 */ 4648 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 4649 return little_endian_read_16(event, 6); 4650 } 4651 /** 4652 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4653 * @param event packet 4654 * @return conn_latency 4655 * @note: btstack_type 2 4656 */ 4657 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 4658 return little_endian_read_16(event, 8); 4659 } 4660 /** 4661 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4662 * @param event packet 4663 * @return supervision_timeout 4664 * @note: btstack_type 2 4665 */ 4666 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 4667 return little_endian_read_16(event, 10); 4668 } 4669 4670 /** 4671 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4672 * @param event packet 4673 * @return connection_handle 4674 * @note: btstack_type H 4675 */ 4676 static inline hci_con_handle_t hci_subevent_le_read_remote_features_complete_get_connection_handle(const uint8_t * event){ 4677 return little_endian_read_16(event, 3); 4678 } 4679 /** 4680 * @brief Get field le_features from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4681 * @param event packet 4682 * @return le_features 4683 * @note: btstack_type D 4684 */ 4685 static inline const uint8_t * hci_subevent_le_read_remote_features_complete_get_le_features(const uint8_t * event){ 4686 return (const uint8_t *) &event[5]; 4687 } 4688 4689 /** 4690 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4691 * @param event packet 4692 * @return connection_handle 4693 * @note: btstack_type H 4694 */ 4695 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 4696 return little_endian_read_16(event, 3); 4697 } 4698 /** 4699 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4700 * @param event packet 4701 * @return random_number 4702 * @note: btstack_type D 4703 */ 4704 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 4705 return (const uint8_t *) &event[5]; 4706 } 4707 /** 4708 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4709 * @param event packet 4710 * @return encryption_diversifier 4711 * @note: btstack_type 2 4712 */ 4713 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 4714 return little_endian_read_16(event, 13); 4715 } 4716 4717 /** 4718 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4719 * @param event packet 4720 * @return connection_handle 4721 * @note: btstack_type H 4722 */ 4723 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 4724 return little_endian_read_16(event, 3); 4725 } 4726 /** 4727 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4728 * @param event packet 4729 * @return interval_min 4730 * @note: btstack_type 2 4731 */ 4732 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 4733 return little_endian_read_16(event, 5); 4734 } 4735 /** 4736 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4737 * @param event packet 4738 * @return interval_max 4739 * @note: btstack_type 2 4740 */ 4741 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 4742 return little_endian_read_16(event, 7); 4743 } 4744 /** 4745 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4746 * @param event packet 4747 * @return latency 4748 * @note: btstack_type 2 4749 */ 4750 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 4751 return little_endian_read_16(event, 9); 4752 } 4753 /** 4754 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4755 * @param event packet 4756 * @return timeout 4757 * @note: btstack_type 2 4758 */ 4759 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 4760 return little_endian_read_16(event, 11); 4761 } 4762 4763 /** 4764 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4765 * @param event packet 4766 * @return connection_handle 4767 * @note: btstack_type H 4768 */ 4769 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 4770 return little_endian_read_16(event, 3); 4771 } 4772 /** 4773 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4774 * @param event packet 4775 * @return max_tx_octets 4776 * @note: btstack_type 2 4777 */ 4778 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 4779 return little_endian_read_16(event, 5); 4780 } 4781 /** 4782 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4783 * @param event packet 4784 * @return max_tx_time 4785 * @note: btstack_type 2 4786 */ 4787 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 4788 return little_endian_read_16(event, 7); 4789 } 4790 /** 4791 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4792 * @param event packet 4793 * @return max_rx_octets 4794 * @note: btstack_type 2 4795 */ 4796 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 4797 return little_endian_read_16(event, 9); 4798 } 4799 /** 4800 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4801 * @param event packet 4802 * @return max_rx_time 4803 * @note: btstack_type 2 4804 */ 4805 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 4806 return little_endian_read_16(event, 11); 4807 } 4808 4809 /** 4810 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4811 * @param event packet 4812 * @return status 4813 * @note: btstack_type 1 4814 */ 4815 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 4816 return event[3]; 4817 } 4818 /** 4819 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4820 * @param event packet 4821 * @param Pointer to storage for dhkey_x 4822 * @note: btstack_type Q 4823 */ 4824 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 4825 reverse_bytes(&event[4], dhkey_x, 32); 4826 } 4827 /** 4828 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4829 * @param event packet 4830 * @param Pointer to storage for dhkey_y 4831 * @note: btstack_type Q 4832 */ 4833 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 4834 reverse_bytes(&event[36], dhkey_y, 32); 4835 } 4836 4837 /** 4838 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4839 * @param event packet 4840 * @return status 4841 * @note: btstack_type 1 4842 */ 4843 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 4844 return event[3]; 4845 } 4846 /** 4847 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4848 * @param event packet 4849 * @param Pointer to storage for dhkey 4850 * @note: btstack_type Q 4851 */ 4852 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 4853 reverse_bytes(&event[4], dhkey, 32); 4854 } 4855 4856 /** 4857 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4858 * @param event packet 4859 * @return status 4860 * @note: btstack_type 1 4861 */ 4862 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_status(const uint8_t * event){ 4863 return event[3]; 4864 } 4865 /** 4866 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4867 * @param event packet 4868 * @return connection_handle 4869 * @note: btstack_type H 4870 */ 4871 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v1_get_connection_handle(const uint8_t * event){ 4872 return little_endian_read_16(event, 4); 4873 } 4874 /** 4875 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4876 * @param event packet 4877 * @return role 4878 * @note: btstack_type 1 4879 */ 4880 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_role(const uint8_t * event){ 4881 return event[6]; 4882 } 4883 /** 4884 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4885 * @param event packet 4886 * @return peer_address_type 4887 * @note: btstack_type 1 4888 */ 4889 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_peer_address_type(const uint8_t * event){ 4890 return event[7]; 4891 } 4892 /** 4893 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4894 * @param event packet 4895 * @param Pointer to storage for peer_addresss 4896 * @note: btstack_type B 4897 */ 4898 static inline void hci_subevent_le_enhanced_connection_complete_v1_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 4899 reverse_bytes(&event[8], peer_addresss, 6); 4900 } 4901 /** 4902 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4903 * @param event packet 4904 * @param Pointer to storage for local_resolvable_private_address 4905 * @note: btstack_type B 4906 */ 4907 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){ 4908 reverse_bytes(&event[14], local_resolvable_private_address, 6); 4909 } 4910 /** 4911 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4912 * @param event packet 4913 * @param Pointer to storage for peer_resolvable_private_address 4914 * @note: btstack_type B 4915 */ 4916 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){ 4917 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 4918 } 4919 /** 4920 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4921 * @param event packet 4922 * @return conn_interval 4923 * @note: btstack_type 2 4924 */ 4925 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_interval(const uint8_t * event){ 4926 return little_endian_read_16(event, 26); 4927 } 4928 /** 4929 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4930 * @param event packet 4931 * @return conn_latency 4932 * @note: btstack_type 2 4933 */ 4934 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_latency(const uint8_t * event){ 4935 return little_endian_read_16(event, 28); 4936 } 4937 /** 4938 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4939 * @param event packet 4940 * @return supervision_timeout 4941 * @note: btstack_type 2 4942 */ 4943 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_supervision_timeout(const uint8_t * event){ 4944 return little_endian_read_16(event, 30); 4945 } 4946 /** 4947 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4948 * @param event packet 4949 * @return master_clock_accuracy 4950 * @note: btstack_type 1 4951 */ 4952 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_master_clock_accuracy(const uint8_t * event){ 4953 return event[32]; 4954 } 4955 4956 /** 4957 * @brief Get field status from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4958 * @param event packet 4959 * @return status 4960 * @note: btstack_type 1 4961 */ 4962 static inline uint8_t hci_subevent_le_phy_update_complete_get_status(const uint8_t * event){ 4963 return event[3]; 4964 } 4965 /** 4966 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4967 * @param event packet 4968 * @return connection_handle 4969 * @note: btstack_type H 4970 */ 4971 static inline hci_con_handle_t hci_subevent_le_phy_update_complete_get_connection_handle(const uint8_t * event){ 4972 return little_endian_read_16(event, 4); 4973 } 4974 /** 4975 * @brief Get field tx_phy from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4976 * @param event packet 4977 * @return tx_phy 4978 * @note: btstack_type 1 4979 */ 4980 static inline uint8_t hci_subevent_le_phy_update_complete_get_tx_phy(const uint8_t * event){ 4981 return event[6]; 4982 } 4983 4984 /** 4985 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4986 * @param event packet 4987 * @return status 4988 * @note: btstack_type 1 4989 */ 4990 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_status(const uint8_t * event){ 4991 return event[3]; 4992 } 4993 /** 4994 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4995 * @param event packet 4996 * @return sync_handle 4997 * @note: btstack_type H 4998 */ 4999 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_establishment_get_sync_handle(const uint8_t * event){ 5000 return little_endian_read_16(event, 4); 5001 } 5002 /** 5003 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5004 * @param event packet 5005 * @return advertising_sid 5006 * @note: btstack_type 1 5007 */ 5008 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertising_sid(const uint8_t * event){ 5009 return event[6]; 5010 } 5011 /** 5012 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5013 * @param event packet 5014 * @return advertiser_address_type 5015 * @note: btstack_type 1 5016 */ 5017 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address_type(const uint8_t * event){ 5018 return event[7]; 5019 } 5020 /** 5021 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5022 * @param event packet 5023 * @param Pointer to storage for advertiser_address 5024 * @note: btstack_type B 5025 */ 5026 static inline void hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5027 reverse_bytes(&event[8], advertiser_address, 6); 5028 } 5029 /** 5030 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5031 * @param event packet 5032 * @return advertiser_phy 5033 * @note: btstack_type 1 5034 */ 5035 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_phy(const uint8_t * event){ 5036 return event[14]; 5037 } 5038 /** 5039 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5040 * @param event packet 5041 * @return periodic_advertising_interval 5042 * @note: btstack_type 2 5043 */ 5044 static inline uint16_t hci_subevent_le_periodic_advertising_sync_establishment_get_periodic_advertising_interval(const uint8_t * event){ 5045 return little_endian_read_16(event, 15); 5046 } 5047 /** 5048 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5049 * @param event packet 5050 * @return advertiser_clock_accuracy 5051 * @note: btstack_type 1 5052 */ 5053 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_clock_accuracy(const uint8_t * event){ 5054 return event[17]; 5055 } 5056 5057 /** 5058 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5059 * @param event packet 5060 * @return sync_handle 5061 * @note: btstack_type H 5062 */ 5063 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_report_get_sync_handle(const uint8_t * event){ 5064 return little_endian_read_16(event, 3); 5065 } 5066 /** 5067 * @brief Get field tx_power from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5068 * @param event packet 5069 * @return tx_power 5070 * @note: btstack_type 1 5071 */ 5072 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_tx_power(const uint8_t * event){ 5073 return event[5]; 5074 } 5075 /** 5076 * @brief Get field rssi from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5077 * @param event packet 5078 * @return rssi 5079 * @note: btstack_type 1 5080 */ 5081 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_rssi(const uint8_t * event){ 5082 return event[6]; 5083 } 5084 /** 5085 * @brief Get field cte_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5086 * @param event packet 5087 * @return cte_type 5088 * @note: btstack_type 1 5089 */ 5090 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_cte_type(const uint8_t * event){ 5091 return event[7]; 5092 } 5093 /** 5094 * @brief Get field data_status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5095 * @param event packet 5096 * @return data_status 5097 * @note: btstack_type 1 5098 */ 5099 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_status(const uint8_t * event){ 5100 return event[8]; 5101 } 5102 /** 5103 * @brief Get field data_length from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5104 * @param event packet 5105 * @return data_length 5106 * @note: btstack_type J 5107 */ 5108 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_length(const uint8_t * event){ 5109 return event[9]; 5110 } 5111 /** 5112 * @brief Get field data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5113 * @param event packet 5114 * @return data 5115 * @note: btstack_type V 5116 */ 5117 static inline const uint8_t * hci_subevent_le_periodic_advertising_report_get_data(const uint8_t * event){ 5118 return &event[10]; 5119 } 5120 5121 /** 5122 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_LOST 5123 * @param event packet 5124 * @return sync_handle 5125 * @note: btstack_type H 5126 */ 5127 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_lost_get_sync_handle(const uint8_t * event){ 5128 return little_endian_read_16(event, 3); 5129 } 5130 5131 5132 /** 5133 * @brief Get field status from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5134 * @param event packet 5135 * @return status 5136 * @note: btstack_type 1 5137 */ 5138 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_status(const uint8_t * event){ 5139 return event[3]; 5140 } 5141 /** 5142 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5143 * @param event packet 5144 * @return advertising_handle 5145 * @note: btstack_type 1 5146 */ 5147 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_advertising_handle(const uint8_t * event){ 5148 return event[4]; 5149 } 5150 /** 5151 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5152 * @param event packet 5153 * @return connection_handle 5154 * @note: btstack_type H 5155 */ 5156 static inline hci_con_handle_t hci_subevent_le_advertising_set_terminated_get_connection_handle(const uint8_t * event){ 5157 return little_endian_read_16(event, 5); 5158 } 5159 /** 5160 * @brief Get field num_completed_exteneded_advertising_events from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5161 * @param event packet 5162 * @return num_completed_exteneded_advertising_events 5163 * @note: btstack_type 1 5164 */ 5165 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_num_completed_exteneded_advertising_events(const uint8_t * event){ 5166 return event[7]; 5167 } 5168 5169 /** 5170 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5171 * @param event packet 5172 * @return advertising_handle 5173 * @note: btstack_type 1 5174 */ 5175 static inline uint8_t hci_subevent_le_scan_request_received_get_advertising_handle(const uint8_t * event){ 5176 return event[3]; 5177 } 5178 /** 5179 * @brief Get field scanner_address_type from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5180 * @param event packet 5181 * @return scanner_address_type 5182 * @note: btstack_type 1 5183 */ 5184 static inline uint8_t hci_subevent_le_scan_request_received_get_scanner_address_type(const uint8_t * event){ 5185 return event[4]; 5186 } 5187 /** 5188 * @brief Get field scanner_address from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5189 * @param event packet 5190 * @param Pointer to storage for scanner_address 5191 * @note: btstack_type B 5192 */ 5193 static inline void hci_subevent_le_scan_request_received_get_scanner_address(const uint8_t * event, bd_addr_t scanner_address){ 5194 reverse_bytes(&event[5], scanner_address, 6); 5195 } 5196 5197 /** 5198 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 5199 * @param event packet 5200 * @return connection_handle 5201 * @note: btstack_type H 5202 */ 5203 static inline hci_con_handle_t hci_subevent_le_channel_selection_algorithm_get_connection_handle(const uint8_t * event){ 5204 return little_endian_read_16(event, 3); 5205 } 5206 /** 5207 * @brief Get field channel_selection_algorithm from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 5208 * @param event packet 5209 * @return channel_selection_algorithm 5210 * @note: btstack_type 1 5211 */ 5212 static inline uint8_t hci_subevent_le_channel_selection_algorithm_get_channel_selection_algorithm(const uint8_t * event){ 5213 return event[5]; 5214 } 5215 5216 /** 5217 * @brief Get field status from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5218 * @param event packet 5219 * @return status 5220 * @note: btstack_type 1 5221 */ 5222 static inline uint8_t hci_subevent_le_le_cte_request_failed_get_status(const uint8_t * event){ 5223 return event[3]; 5224 } 5225 /** 5226 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5227 * @param event packet 5228 * @return connection_handle 5229 * @note: btstack_type H 5230 */ 5231 static inline hci_con_handle_t hci_subevent_le_le_cte_request_failed_get_connection_handle(const uint8_t * event){ 5232 return little_endian_read_16(event, 4); 5233 } 5234 5235 /** 5236 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5237 * @param event packet 5238 * @return status 5239 * @note: btstack_type 1 5240 */ 5241 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_status(const uint8_t * event){ 5242 return event[3]; 5243 } 5244 /** 5245 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5246 * @param event packet 5247 * @return connection_handle 5248 * @note: btstack_type H 5249 */ 5250 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_connection_handle(const uint8_t * event){ 5251 return little_endian_read_16(event, 4); 5252 } 5253 /** 5254 * @brief Get field service_data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5255 * @param event packet 5256 * @return service_data 5257 * @note: btstack_type 2 5258 */ 5259 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_service_data(const uint8_t * event){ 5260 return little_endian_read_16(event, 6); 5261 } 5262 /** 5263 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5264 * @param event packet 5265 * @return sync_handle 5266 * @note: btstack_type H 5267 */ 5268 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_sync_handle(const uint8_t * event){ 5269 return little_endian_read_16(event, 8); 5270 } 5271 /** 5272 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5273 * @param event packet 5274 * @return advertising_sid 5275 * @note: btstack_type 1 5276 */ 5277 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertising_sid(const uint8_t * event){ 5278 return event[10]; 5279 } 5280 /** 5281 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5282 * @param event packet 5283 * @return advertiser_address_type 5284 * @note: btstack_type 1 5285 */ 5286 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address_type(const uint8_t * event){ 5287 return event[11]; 5288 } 5289 /** 5290 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5291 * @param event packet 5292 * @param Pointer to storage for advertiser_address 5293 * @note: btstack_type B 5294 */ 5295 static inline void hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5296 reverse_bytes(&event[12], advertiser_address, 6); 5297 } 5298 /** 5299 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5300 * @param event packet 5301 * @return advertiser_phy 5302 * @note: btstack_type 1 5303 */ 5304 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_phy(const uint8_t * event){ 5305 return event[18]; 5306 } 5307 /** 5308 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5309 * @param event packet 5310 * @return periodic_advertising_interval 5311 * @note: btstack_type 2 5312 */ 5313 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_periodic_advertising_interval(const uint8_t * event){ 5314 return little_endian_read_16(event, 19); 5315 } 5316 /** 5317 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5318 * @param event packet 5319 * @return advertiser_clock_accuracy 5320 * @note: btstack_type 1 5321 */ 5322 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_clock_accuracy(const uint8_t * event){ 5323 return event[21]; 5324 } 5325 5326 /** 5327 * @brief Get field status from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5328 * @param event packet 5329 * @return status 5330 * @note: btstack_type 1 5331 */ 5332 static inline uint8_t hci_subevent_le_cis_established_get_status(const uint8_t * event){ 5333 return event[3]; 5334 } 5335 /** 5336 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5337 * @param event packet 5338 * @return connection_handle 5339 * @note: btstack_type H 5340 */ 5341 static inline hci_con_handle_t hci_subevent_le_cis_established_get_connection_handle(const uint8_t * event){ 5342 return little_endian_read_16(event, 4); 5343 } 5344 /** 5345 * @brief Get field cig_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5346 * @param event packet 5347 * @return cig_sync_delay 5348 * @note: btstack_type 3 5349 */ 5350 static inline uint32_t hci_subevent_le_cis_established_get_cig_sync_delay(const uint8_t * event){ 5351 return little_endian_read_24(event, 6); 5352 } 5353 /** 5354 * @brief Get field cis_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5355 * @param event packet 5356 * @return cis_sync_delay 5357 * @note: btstack_type 3 5358 */ 5359 static inline uint32_t hci_subevent_le_cis_established_get_cis_sync_delay(const uint8_t * event){ 5360 return little_endian_read_24(event, 9); 5361 } 5362 /** 5363 * @brief Get field transport_latency_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5364 * @param event packet 5365 * @return transport_latency_c_to_p 5366 * @note: btstack_type 3 5367 */ 5368 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_c_to_p(const uint8_t * event){ 5369 return little_endian_read_24(event, 12); 5370 } 5371 /** 5372 * @brief Get field transport_latency_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5373 * @param event packet 5374 * @return transport_latency_p_to_c 5375 * @note: btstack_type 3 5376 */ 5377 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_p_to_c(const uint8_t * event){ 5378 return little_endian_read_24(event, 15); 5379 } 5380 /** 5381 * @brief Get field phy_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5382 * @param event packet 5383 * @return phy_c_to_p 5384 * @note: btstack_type 1 5385 */ 5386 static inline uint8_t hci_subevent_le_cis_established_get_phy_c_to_p(const uint8_t * event){ 5387 return event[18]; 5388 } 5389 /** 5390 * @brief Get field phy_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5391 * @param event packet 5392 * @return phy_p_to_c 5393 * @note: btstack_type 1 5394 */ 5395 static inline uint8_t hci_subevent_le_cis_established_get_phy_p_to_c(const uint8_t * event){ 5396 return event[19]; 5397 } 5398 /** 5399 * @brief Get field nse from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5400 * @param event packet 5401 * @return nse 5402 * @note: btstack_type 1 5403 */ 5404 static inline uint8_t hci_subevent_le_cis_established_get_nse(const uint8_t * event){ 5405 return event[20]; 5406 } 5407 /** 5408 * @brief Get field bn_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5409 * @param event packet 5410 * @return bn_c_to_p 5411 * @note: btstack_type 1 5412 */ 5413 static inline uint8_t hci_subevent_le_cis_established_get_bn_c_to_p(const uint8_t * event){ 5414 return event[21]; 5415 } 5416 /** 5417 * @brief Get field bn_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5418 * @param event packet 5419 * @return bn_p_to_c 5420 * @note: btstack_type 1 5421 */ 5422 static inline uint8_t hci_subevent_le_cis_established_get_bn_p_to_c(const uint8_t * event){ 5423 return event[22]; 5424 } 5425 /** 5426 * @brief Get field ft_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5427 * @param event packet 5428 * @return ft_c_to_p 5429 * @note: btstack_type 1 5430 */ 5431 static inline uint8_t hci_subevent_le_cis_established_get_ft_c_to_p(const uint8_t * event){ 5432 return event[23]; 5433 } 5434 /** 5435 * @brief Get field ft_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5436 * @param event packet 5437 * @return ft_p_to_c 5438 * @note: btstack_type 1 5439 */ 5440 static inline uint8_t hci_subevent_le_cis_established_get_ft_p_to_c(const uint8_t * event){ 5441 return event[24]; 5442 } 5443 /** 5444 * @brief Get field max_pdu_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5445 * @param event packet 5446 * @return max_pdu_c_to_p 5447 * @note: btstack_type 2 5448 */ 5449 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_c_to_p(const uint8_t * event){ 5450 return little_endian_read_16(event, 25); 5451 } 5452 /** 5453 * @brief Get field max_pdu_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5454 * @param event packet 5455 * @return max_pdu_p_to_c 5456 * @note: btstack_type 2 5457 */ 5458 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_p_to_c(const uint8_t * event){ 5459 return little_endian_read_16(event, 27); 5460 } 5461 /** 5462 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5463 * @param event packet 5464 * @return iso_interval 5465 * @note: btstack_type 2 5466 */ 5467 static inline uint16_t hci_subevent_le_cis_established_get_iso_interval(const uint8_t * event){ 5468 return little_endian_read_16(event, 29); 5469 } 5470 5471 /** 5472 * @brief Get field acl_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5473 * @param event packet 5474 * @return acl_connection_handle 5475 * @note: btstack_type H 5476 */ 5477 static inline hci_con_handle_t hci_subevent_le_cis_request_get_acl_connection_handle(const uint8_t * event){ 5478 return little_endian_read_16(event, 3); 5479 } 5480 /** 5481 * @brief Get field cis_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5482 * @param event packet 5483 * @return cis_connection_handle 5484 * @note: btstack_type H 5485 */ 5486 static inline hci_con_handle_t hci_subevent_le_cis_request_get_cis_connection_handle(const uint8_t * event){ 5487 return little_endian_read_16(event, 5); 5488 } 5489 /** 5490 * @brief Get field cig_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5491 * @param event packet 5492 * @return cig_id 5493 * @note: btstack_type 1 5494 */ 5495 static inline uint8_t hci_subevent_le_cis_request_get_cig_id(const uint8_t * event){ 5496 return event[7]; 5497 } 5498 /** 5499 * @brief Get field cis_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5500 * @param event packet 5501 * @return cis_id 5502 * @note: btstack_type 1 5503 */ 5504 static inline uint8_t hci_subevent_le_cis_request_get_cis_id(const uint8_t * event){ 5505 return event[8]; 5506 } 5507 5508 /** 5509 * @brief Get field big_handle from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5510 * @param event packet 5511 * @return big_handle 5512 * @note: btstack_type 1 5513 */ 5514 static inline uint8_t hci_subevent_le_terminate_big_complete_get_big_handle(const uint8_t * event){ 5515 return event[3]; 5516 } 5517 /** 5518 * @brief Get field reason from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5519 * @param event packet 5520 * @return reason 5521 * @note: btstack_type 1 5522 */ 5523 static inline uint8_t hci_subevent_le_terminate_big_complete_get_reason(const uint8_t * event){ 5524 return event[4]; 5525 } 5526 5527 /** 5528 * @brief Get field big_handle from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5529 * @param event packet 5530 * @return big_handle 5531 * @note: btstack_type 1 5532 */ 5533 static inline uint8_t hci_subevent_le_big_sync_lost_get_big_handle(const uint8_t * event){ 5534 return event[3]; 5535 } 5536 /** 5537 * @brief Get field reason from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5538 * @param event packet 5539 * @return reason 5540 * @note: btstack_type 1 5541 */ 5542 static inline uint8_t hci_subevent_le_big_sync_lost_get_reason(const uint8_t * event){ 5543 return event[4]; 5544 } 5545 5546 /** 5547 * @brief Get field status from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5548 * @param event packet 5549 * @return status 5550 * @note: btstack_type 1 5551 */ 5552 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_status(const uint8_t * event){ 5553 return event[3]; 5554 } 5555 /** 5556 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5557 * @param event packet 5558 * @return connection_handle 5559 * @note: btstack_type H 5560 */ 5561 static inline hci_con_handle_t hci_subevent_le_request_peer_sca_complete_get_connection_handle(const uint8_t * event){ 5562 return little_endian_read_16(event, 4); 5563 } 5564 /** 5565 * @brief Get field peer_clock_accuracy from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5566 * @param event packet 5567 * @return peer_clock_accuracy 5568 * @note: btstack_type 1 5569 */ 5570 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_peer_clock_accuracy(const uint8_t * event){ 5571 return event[6]; 5572 } 5573 5574 /** 5575 * @brief Get field status from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5576 * @param event packet 5577 * @return status 5578 * @note: btstack_type 1 5579 */ 5580 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_status(const uint8_t * event){ 5581 return event[3]; 5582 } 5583 /** 5584 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5585 * @param event packet 5586 * @return connection_handle 5587 * @note: btstack_type H 5588 */ 5589 static inline hci_con_handle_t hci_subevent_le_transmit_power_reporting_get_connection_handle(const uint8_t * event){ 5590 return little_endian_read_16(event, 4); 5591 } 5592 /** 5593 * @brief Get field reason from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5594 * @param event packet 5595 * @return reason 5596 * @note: btstack_type 1 5597 */ 5598 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_reason(const uint8_t * event){ 5599 return event[6]; 5600 } 5601 /** 5602 * @brief Get field phy from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5603 * @param event packet 5604 * @return phy 5605 * @note: btstack_type 1 5606 */ 5607 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_phy(const uint8_t * event){ 5608 return event[7]; 5609 } 5610 /** 5611 * @brief Get field tx_power_level from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5612 * @param event packet 5613 * @return tx_power_level 5614 * @note: btstack_type 1 5615 */ 5616 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level(const uint8_t * event){ 5617 return event[8]; 5618 } 5619 /** 5620 * @brief Get field tx_power_level_flag from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5621 * @param event packet 5622 * @return tx_power_level_flag 5623 * @note: btstack_type 1 5624 */ 5625 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level_flag(const uint8_t * event){ 5626 return event[9]; 5627 } 5628 /** 5629 * @brief Get field delta from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5630 * @param event packet 5631 * @return delta 5632 * @note: btstack_type 1 5633 */ 5634 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_delta(const uint8_t * event){ 5635 return event[10]; 5636 } 5637 5638 /** 5639 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5640 * @param event packet 5641 * @return sync_handle 5642 * @note: btstack_type H 5643 */ 5644 static inline hci_con_handle_t hci_subevent_le_biginfo_advertising_report_get_sync_handle(const uint8_t * event){ 5645 return little_endian_read_16(event, 3); 5646 } 5647 /** 5648 * @brief Get field num_bis from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5649 * @param event packet 5650 * @return num_bis 5651 * @note: btstack_type 1 5652 */ 5653 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_num_bis(const uint8_t * event){ 5654 return event[5]; 5655 } 5656 /** 5657 * @brief Get field nse from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5658 * @param event packet 5659 * @return nse 5660 * @note: btstack_type 1 5661 */ 5662 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_nse(const uint8_t * event){ 5663 return event[6]; 5664 } 5665 /** 5666 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5667 * @param event packet 5668 * @return iso_interval 5669 * @note: btstack_type 2 5670 */ 5671 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_iso_interval(const uint8_t * event){ 5672 return little_endian_read_16(event, 7); 5673 } 5674 /** 5675 * @brief Get field bn from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5676 * @param event packet 5677 * @return bn 5678 * @note: btstack_type 1 5679 */ 5680 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_bn(const uint8_t * event){ 5681 return event[9]; 5682 } 5683 /** 5684 * @brief Get field pto from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5685 * @param event packet 5686 * @return pto 5687 * @note: btstack_type 1 5688 */ 5689 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_pto(const uint8_t * event){ 5690 return event[10]; 5691 } 5692 /** 5693 * @brief Get field irc from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5694 * @param event packet 5695 * @return irc 5696 * @note: btstack_type 1 5697 */ 5698 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_irc(const uint8_t * event){ 5699 return event[11]; 5700 } 5701 /** 5702 * @brief Get field max_pdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5703 * @param event packet 5704 * @return max_pdu 5705 * @note: btstack_type 2 5706 */ 5707 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_pdu(const uint8_t * event){ 5708 return little_endian_read_16(event, 12); 5709 } 5710 /** 5711 * @brief Get field sdu_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5712 * @param event packet 5713 * @return sdu_interval 5714 * @note: btstack_type 3 5715 */ 5716 static inline uint32_t hci_subevent_le_biginfo_advertising_report_get_sdu_interval(const uint8_t * event){ 5717 return little_endian_read_24(event, 14); 5718 } 5719 /** 5720 * @brief Get field max_sdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5721 * @param event packet 5722 * @return max_sdu 5723 * @note: btstack_type 2 5724 */ 5725 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_sdu(const uint8_t * event){ 5726 return little_endian_read_16(event, 17); 5727 } 5728 /** 5729 * @brief Get field phy from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5730 * @param event packet 5731 * @return phy 5732 * @note: btstack_type 1 5733 */ 5734 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_phy(const uint8_t * event){ 5735 return event[19]; 5736 } 5737 /** 5738 * @brief Get field framing from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5739 * @param event packet 5740 * @return framing 5741 * @note: btstack_type 1 5742 */ 5743 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_framing(const uint8_t * event){ 5744 return event[20]; 5745 } 5746 /** 5747 * @brief Get field encryption from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5748 * @param event packet 5749 * @return encryption 5750 * @note: btstack_type 1 5751 */ 5752 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_encryption(const uint8_t * event){ 5753 return event[21]; 5754 } 5755 5756 /** 5757 * @brief Get field status from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5758 * @param event packet 5759 * @return status 5760 * @note: btstack_type 1 5761 */ 5762 static inline uint8_t hci_subevent_le_subrate_change_get_status(const uint8_t * event){ 5763 return event[3]; 5764 } 5765 /** 5766 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5767 * @param event packet 5768 * @return connection_handle 5769 * @note: btstack_type H 5770 */ 5771 static inline hci_con_handle_t hci_subevent_le_subrate_change_get_connection_handle(const uint8_t * event){ 5772 return little_endian_read_16(event, 4); 5773 } 5774 /** 5775 * @brief Get field subrate_factor from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5776 * @param event packet 5777 * @return subrate_factor 5778 * @note: btstack_type 2 5779 */ 5780 static inline uint16_t hci_subevent_le_subrate_change_get_subrate_factor(const uint8_t * event){ 5781 return little_endian_read_16(event, 6); 5782 } 5783 /** 5784 * @brief Get field peripheral_latency from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5785 * @param event packet 5786 * @return peripheral_latency 5787 * @note: btstack_type 2 5788 */ 5789 static inline uint16_t hci_subevent_le_subrate_change_get_peripheral_latency(const uint8_t * event){ 5790 return little_endian_read_16(event, 8); 5791 } 5792 /** 5793 * @brief Get field continuation_number from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5794 * @param event packet 5795 * @return continuation_number 5796 * @note: btstack_type 2 5797 */ 5798 static inline uint16_t hci_subevent_le_subrate_change_get_continuation_number(const uint8_t * event){ 5799 return little_endian_read_16(event, 10); 5800 } 5801 /** 5802 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5803 * @param event packet 5804 * @return supervision_timeout 5805 * @note: btstack_type 2 5806 */ 5807 static inline uint16_t hci_subevent_le_subrate_change_get_supervision_timeout(const uint8_t * event){ 5808 return little_endian_read_16(event, 12); 5809 } 5810 5811 /** 5812 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5813 * @param event packet 5814 * @return advertising_handle 5815 * @note: btstack_type 1 5816 */ 5817 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_advertising_handle(const uint8_t * event){ 5818 return event[3]; 5819 } 5820 /** 5821 * @brief Get field subevent_start from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5822 * @param event packet 5823 * @return subevent_start 5824 * @note: btstack_type 1 5825 */ 5826 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_start(const uint8_t * event){ 5827 return event[4]; 5828 } 5829 /** 5830 * @brief Get field subevent_data_count from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5831 * @param event packet 5832 * @return subevent_data_count 5833 * @note: btstack_type 1 5834 */ 5835 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_data_count(const uint8_t * event){ 5836 return event[5]; 5837 } 5838 5839 /** 5840 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5841 * @param event packet 5842 * @return status 5843 * @note: btstack_type 1 5844 */ 5845 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_status(const uint8_t * event){ 5846 return event[3]; 5847 } 5848 /** 5849 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5850 * @param event packet 5851 * @return connection_handle 5852 * @note: btstack_type H 5853 */ 5854 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_connection_handle(const uint8_t * event){ 5855 return little_endian_read_16(event, 4); 5856 } 5857 /** 5858 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5859 * @param event packet 5860 * @return role 5861 * @note: btstack_type 1 5862 */ 5863 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_role(const uint8_t * event){ 5864 return event[6]; 5865 } 5866 /** 5867 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5868 * @param event packet 5869 * @return peer_address_type 5870 * @note: btstack_type 1 5871 */ 5872 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_peer_address_type(const uint8_t * event){ 5873 return event[7]; 5874 } 5875 /** 5876 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5877 * @param event packet 5878 * @param Pointer to storage for peer_addresss 5879 * @note: btstack_type B 5880 */ 5881 static inline void hci_subevent_le_enhanced_connection_complete_v2_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 5882 reverse_bytes(&event[8], peer_addresss, 6); 5883 } 5884 /** 5885 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5886 * @param event packet 5887 * @param Pointer to storage for local_resolvable_private_address 5888 * @note: btstack_type B 5889 */ 5890 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){ 5891 reverse_bytes(&event[14], local_resolvable_private_address, 6); 5892 } 5893 /** 5894 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5895 * @param event packet 5896 * @param Pointer to storage for peer_resolvable_private_address 5897 * @note: btstack_type B 5898 */ 5899 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){ 5900 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 5901 } 5902 /** 5903 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5904 * @param event packet 5905 * @return conn_interval 5906 * @note: btstack_type 2 5907 */ 5908 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_interval(const uint8_t * event){ 5909 return little_endian_read_16(event, 26); 5910 } 5911 /** 5912 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5913 * @param event packet 5914 * @return conn_latency 5915 * @note: btstack_type 2 5916 */ 5917 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_latency(const uint8_t * event){ 5918 return little_endian_read_16(event, 28); 5919 } 5920 /** 5921 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5922 * @param event packet 5923 * @return supervision_timeout 5924 * @note: btstack_type 2 5925 */ 5926 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_supervision_timeout(const uint8_t * event){ 5927 return little_endian_read_16(event, 30); 5928 } 5929 /** 5930 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5931 * @param event packet 5932 * @return master_clock_accuracy 5933 * @note: btstack_type 1 5934 */ 5935 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_master_clock_accuracy(const uint8_t * event){ 5936 return event[32]; 5937 } 5938 /** 5939 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5940 * @param event packet 5941 * @return advertising_handle 5942 * @note: btstack_type 1 5943 */ 5944 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_advertising_handle(const uint8_t * event){ 5945 return event[33]; 5946 } 5947 /** 5948 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5949 * @param event packet 5950 * @return sync_handle 5951 * @note: btstack_type H 5952 */ 5953 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_sync_handle(const uint8_t * event){ 5954 return little_endian_read_16(event, 34); 5955 } 5956 5957 /** 5958 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5959 * @param event packet 5960 * @return advertisement_handle 5961 * @note: btstack_type 1 5962 */ 5963 static inline uint8_t gap_subevent_advertising_set_installed_get_advertisement_handle(const uint8_t * event){ 5964 return event[3]; 5965 } 5966 /** 5967 * @brief Get field status from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5968 * @param event packet 5969 * @return status 5970 * @note: btstack_type 1 5971 */ 5972 static inline uint8_t gap_subevent_advertising_set_installed_get_status(const uint8_t * event){ 5973 return event[4]; 5974 } 5975 /** 5976 * @brief Get field selected_tx_power from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5977 * @param event packet 5978 * @return selected_tx_power 5979 * @note: btstack_type 1 5980 */ 5981 static inline uint8_t gap_subevent_advertising_set_installed_get_selected_tx_power(const uint8_t * event){ 5982 return event[5]; 5983 } 5984 5985 /** 5986 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_REMOVED 5987 * @param event packet 5988 * @return advertisement_handle 5989 * @note: btstack_type 1 5990 */ 5991 static inline uint8_t gap_subevent_advertising_set_removed_get_advertisement_handle(const uint8_t * event){ 5992 return event[3]; 5993 } 5994 5995 /** 5996 * @brief Get field status from event GAP_SUBEVENT_BIG_CREATED 5997 * @param event packet 5998 * @return status 5999 * @note: btstack_type 1 6000 */ 6001 static inline uint8_t gap_subevent_big_created_get_status(const uint8_t * event){ 6002 return event[3]; 6003 } 6004 /** 6005 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_CREATED 6006 * @param event packet 6007 * @return big_handle 6008 * @note: btstack_type 1 6009 */ 6010 static inline uint8_t gap_subevent_big_created_get_big_handle(const uint8_t * event){ 6011 return event[4]; 6012 } 6013 /** 6014 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_CREATED 6015 * @param event packet 6016 * @return num_bis 6017 * @note: btstack_type 1 6018 */ 6019 static inline uint8_t gap_subevent_big_created_get_num_bis(const uint8_t * event){ 6020 return event[5]; 6021 } 6022 /** 6023 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_CREATED 6024 * @param event packet 6025 * @param index 6026 * @return bis_con_handles 6027 * @note: btstack_type C 6028 */ 6029 static inline uint16_t gap_subevent_big_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 6030 return little_endian_read_16(event, 6 + (2 * (int) index)); 6031 } 6032 6033 /** 6034 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_TERMINATED 6035 * @param event packet 6036 * @return big_handle 6037 * @note: btstack_type 1 6038 */ 6039 static inline uint8_t gap_subevent_big_terminated_get_big_handle(const uint8_t * event){ 6040 return event[3]; 6041 } 6042 6043 /** 6044 * @brief Get field status from event GAP_SUBEVENT_BIG_SYNC_CREATED 6045 * @param event packet 6046 * @return status 6047 * @note: btstack_type 1 6048 */ 6049 static inline uint8_t gap_subevent_big_sync_created_get_status(const uint8_t * event){ 6050 return event[3]; 6051 } 6052 /** 6053 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_CREATED 6054 * @param event packet 6055 * @return big_handle 6056 * @note: btstack_type 1 6057 */ 6058 static inline uint8_t gap_subevent_big_sync_created_get_big_handle(const uint8_t * event){ 6059 return event[4]; 6060 } 6061 /** 6062 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_SYNC_CREATED 6063 * @param event packet 6064 * @return num_bis 6065 * @note: btstack_type 1 6066 */ 6067 static inline uint8_t gap_subevent_big_sync_created_get_num_bis(const uint8_t * event){ 6068 return event[5]; 6069 } 6070 /** 6071 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_SYNC_CREATED 6072 * @param event packet 6073 * @param index 6074 * @return bis_con_handles 6075 * @note: btstack_type C 6076 */ 6077 static inline uint16_t gap_subevent_big_sync_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 6078 return little_endian_read_16(event, 6 + (2 * (int) index)); 6079 } 6080 6081 /** 6082 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_STOPPED 6083 * @param event packet 6084 * @return big_handle 6085 * @note: btstack_type 1 6086 */ 6087 static inline uint8_t gap_subevent_big_sync_stopped_get_big_handle(const uint8_t * event){ 6088 return event[3]; 6089 } 6090 6091 /** 6092 * @brief Get field status from event GAP_SUBEVENT_CIG_CREATED 6093 * @param event packet 6094 * @return status 6095 * @note: btstack_type 1 6096 */ 6097 static inline uint8_t gap_subevent_cig_created_get_status(const uint8_t * event){ 6098 return event[3]; 6099 } 6100 /** 6101 * @brief Get field cig_id from event GAP_SUBEVENT_CIG_CREATED 6102 * @param event packet 6103 * @return cig_id 6104 * @note: btstack_type 1 6105 */ 6106 static inline uint8_t gap_subevent_cig_created_get_cig_id(const uint8_t * event){ 6107 return event[4]; 6108 } 6109 /** 6110 * @brief Get field num_cis from event GAP_SUBEVENT_CIG_CREATED 6111 * @param event packet 6112 * @return num_cis 6113 * @note: btstack_type 1 6114 */ 6115 static inline uint8_t gap_subevent_cig_created_get_num_cis(const uint8_t * event){ 6116 return event[5]; 6117 } 6118 /** 6119 * @brief Get element of array field cis_con_handles from event GAP_SUBEVENT_CIG_CREATED 6120 * @param event packet 6121 * @param index 6122 * @return cis_con_handles 6123 * @note: btstack_type C 6124 */ 6125 static inline uint16_t gap_subevent_cig_created_get_cis_con_handles(const uint8_t * event, uint8_t index){ 6126 return little_endian_read_16(event, 6 + (2 * (int) index)); 6127 } 6128 6129 /** 6130 * @brief Get field status from event GAP_SUBEVENT_CIS_CREATED 6131 * @param event packet 6132 * @return status 6133 * @note: btstack_type 1 6134 */ 6135 static inline uint8_t gap_subevent_cis_created_get_status(const uint8_t * event){ 6136 return event[3]; 6137 } 6138 /** 6139 * @brief Get field cig_id from event GAP_SUBEVENT_CIS_CREATED 6140 * @param event packet 6141 * @return cig_id 6142 * @note: btstack_type 1 6143 */ 6144 static inline uint8_t gap_subevent_cis_created_get_cig_id(const uint8_t * event){ 6145 return event[4]; 6146 } 6147 /** 6148 * @brief Get field cis_id from event GAP_SUBEVENT_CIS_CREATED 6149 * @param event packet 6150 * @return cis_id 6151 * @note: btstack_type 1 6152 */ 6153 static inline uint8_t gap_subevent_cis_created_get_cis_id(const uint8_t * event){ 6154 return event[5]; 6155 } 6156 /** 6157 * @brief Get field cis_con_handle from event GAP_SUBEVENT_CIS_CREATED 6158 * @param event packet 6159 * @return cis_con_handle 6160 * @note: btstack_type H 6161 */ 6162 static inline hci_con_handle_t gap_subevent_cis_created_get_cis_con_handle(const uint8_t * event){ 6163 return little_endian_read_16(event, 6); 6164 } 6165 /** 6166 * @brief Get field acl_con_handle from event GAP_SUBEVENT_CIS_CREATED 6167 * @param event packet 6168 * @return acl_con_handle 6169 * @note: btstack_type H 6170 */ 6171 static inline hci_con_handle_t gap_subevent_cis_created_get_acl_con_handle(const uint8_t * event){ 6172 return little_endian_read_16(event, 8); 6173 } 6174 /** 6175 * @brief Get field iso_interval_1250us from event GAP_SUBEVENT_CIS_CREATED 6176 * @param event packet 6177 * @return iso_interval_1250us 6178 * @note: btstack_type 2 6179 */ 6180 static inline uint16_t gap_subevent_cis_created_get_iso_interval_1250us(const uint8_t * event){ 6181 return little_endian_read_16(event, 10); 6182 } 6183 /** 6184 * @brief Get field number_of_subevents from event GAP_SUBEVENT_CIS_CREATED 6185 * @param event packet 6186 * @return number_of_subevents 6187 * @note: btstack_type 1 6188 */ 6189 static inline uint8_t gap_subevent_cis_created_get_number_of_subevents(const uint8_t * event){ 6190 return event[12]; 6191 } 6192 /** 6193 * @brief Get field burst_number_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6194 * @param event packet 6195 * @return burst_number_c_to_p 6196 * @note: btstack_type 1 6197 */ 6198 static inline uint8_t gap_subevent_cis_created_get_burst_number_c_to_p(const uint8_t * event){ 6199 return event[13]; 6200 } 6201 /** 6202 * @brief Get field burst_number_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6203 * @param event packet 6204 * @return burst_number_p_to_c 6205 * @note: btstack_type 1 6206 */ 6207 static inline uint8_t gap_subevent_cis_created_get_burst_number_p_to_c(const uint8_t * event){ 6208 return event[14]; 6209 } 6210 /** 6211 * @brief Get field flush_timeout_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6212 * @param event packet 6213 * @return flush_timeout_c_to_p 6214 * @note: btstack_type 1 6215 */ 6216 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_c_to_p(const uint8_t * event){ 6217 return event[15]; 6218 } 6219 /** 6220 * @brief Get field flush_timeout_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6221 * @param event packet 6222 * @return flush_timeout_p_to_c 6223 * @note: btstack_type 1 6224 */ 6225 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_p_to_c(const uint8_t * event){ 6226 return event[16]; 6227 } 6228 6229 /** 6230 * @brief Get field status from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6231 * @param event packet 6232 * @return status 6233 * @note: btstack_type 1 6234 */ 6235 static inline uint8_t gap_subevent_le_connection_complete_get_status(const uint8_t * event){ 6236 return event[3]; 6237 } 6238 /** 6239 * @brief Get field connection_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6240 * @param event packet 6241 * @return connection_handle 6242 * @note: btstack_type H 6243 */ 6244 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 6245 return little_endian_read_16(event, 4); 6246 } 6247 /** 6248 * @brief Get field role from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6249 * @param event packet 6250 * @return role 6251 * @note: btstack_type 1 6252 */ 6253 static inline uint8_t gap_subevent_le_connection_complete_get_role(const uint8_t * event){ 6254 return event[6]; 6255 } 6256 /** 6257 * @brief Get field peer_address_type from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6258 * @param event packet 6259 * @return peer_address_type 6260 * @note: btstack_type 1 6261 */ 6262 static inline uint8_t gap_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 6263 return event[7]; 6264 } 6265 /** 6266 * @brief Get field peer_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6267 * @param event packet 6268 * @param Pointer to storage for peer_address 6269 * @note: btstack_type B 6270 */ 6271 static inline void gap_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 6272 reverse_bytes(&event[8], peer_address, 6); 6273 } 6274 /** 6275 * @brief Get field local_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6276 * @param event packet 6277 * @param Pointer to storage for local_resolvable_private_address 6278 * @note: btstack_type B 6279 */ 6280 static inline void gap_subevent_le_connection_complete_get_local_resolvable_private_address(const uint8_t * event, bd_addr_t local_resolvable_private_address){ 6281 reverse_bytes(&event[14], local_resolvable_private_address, 6); 6282 } 6283 /** 6284 * @brief Get field peer_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6285 * @param event packet 6286 * @param Pointer to storage for peer_resolvable_private_address 6287 * @note: btstack_type B 6288 */ 6289 static inline void gap_subevent_le_connection_complete_get_peer_resolvable_private_address(const uint8_t * event, bd_addr_t peer_resolvable_private_address){ 6290 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 6291 } 6292 /** 6293 * @brief Get field conn_interval from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6294 * @param event packet 6295 * @return conn_interval 6296 * @note: btstack_type 2 6297 */ 6298 static inline uint16_t gap_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 6299 return little_endian_read_16(event, 26); 6300 } 6301 /** 6302 * @brief Get field conn_latency from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6303 * @param event packet 6304 * @return conn_latency 6305 * @note: btstack_type 2 6306 */ 6307 static inline uint16_t gap_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 6308 return little_endian_read_16(event, 28); 6309 } 6310 /** 6311 * @brief Get field supervision_timeout from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6312 * @param event packet 6313 * @return supervision_timeout 6314 * @note: btstack_type 2 6315 */ 6316 static inline uint16_t gap_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 6317 return little_endian_read_16(event, 30); 6318 } 6319 /** 6320 * @brief Get field master_clock_accuracy from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6321 * @param event packet 6322 * @return master_clock_accuracy 6323 * @note: btstack_type 1 6324 */ 6325 static inline uint8_t gap_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 6326 return event[32]; 6327 } 6328 /** 6329 * @brief Get field advertising_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6330 * @param event packet 6331 * @return advertising_handle 6332 * @note: btstack_type 1 6333 */ 6334 static inline uint8_t gap_subevent_le_connection_complete_get_advertising_handle(const uint8_t * event){ 6335 return event[33]; 6336 } 6337 /** 6338 * @brief Get field sync_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6339 * @param event packet 6340 * @return sync_handle 6341 * @note: btstack_type H 6342 */ 6343 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_sync_handle(const uint8_t * event){ 6344 return little_endian_read_16(event, 34); 6345 } 6346 6347 /** 6348 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6349 * @param event packet 6350 * @return acl_handle 6351 * @note: btstack_type H 6352 */ 6353 static inline hci_con_handle_t hsp_subevent_rfcomm_connection_complete_get_acl_handle(const uint8_t * event){ 6354 return little_endian_read_16(event, 3); 6355 } 6356 /** 6357 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6358 * @param event packet 6359 * @return status 6360 * @note: btstack_type 1 6361 */ 6362 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 6363 return event[5]; 6364 } 6365 /** 6366 * @brief Get field bd_addr from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6367 * @param event packet 6368 * @param Pointer to storage for bd_addr 6369 * @note: btstack_type B 6370 */ 6371 static inline void hsp_subevent_rfcomm_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6372 reverse_bytes(&event[6], bd_addr, 6); 6373 } 6374 6375 /** 6376 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 6377 * @param event packet 6378 * @return acl_handle 6379 * @note: btstack_type H 6380 */ 6381 static inline hci_con_handle_t hsp_subevent_rfcomm_disconnection_complete_get_acl_handle(const uint8_t * event){ 6382 return little_endian_read_16(event, 3); 6383 } 6384 6385 /** 6386 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6387 * @param event packet 6388 * @return acl_handle 6389 * @note: btstack_type H 6390 */ 6391 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_acl_handle(const uint8_t * event){ 6392 return little_endian_read_16(event, 3); 6393 } 6394 /** 6395 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6396 * @param event packet 6397 * @return status 6398 * @note: btstack_type 1 6399 */ 6400 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 6401 return event[5]; 6402 } 6403 /** 6404 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6405 * @param event packet 6406 * @return sco_handle 6407 * @note: btstack_type H 6408 */ 6409 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_sco_handle(const uint8_t * event){ 6410 return little_endian_read_16(event, 6); 6411 } 6412 6413 /** 6414 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6415 * @param event packet 6416 * @return acl_handle 6417 * @note: btstack_type H 6418 */ 6419 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_acl_handle(const uint8_t * event){ 6420 return little_endian_read_16(event, 3); 6421 } 6422 /** 6423 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6424 * @param event packet 6425 * @return sco_handle 6426 * @note: btstack_type H 6427 */ 6428 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_sco_handle(const uint8_t * event){ 6429 return little_endian_read_16(event, 5); 6430 } 6431 6432 /** 6433 * @brief Get field acl_handle from event HSP_SUBEVENT_RING 6434 * @param event packet 6435 * @return acl_handle 6436 * @note: btstack_type H 6437 */ 6438 static inline hci_con_handle_t hsp_subevent_ring_get_acl_handle(const uint8_t * event){ 6439 return little_endian_read_16(event, 3); 6440 } 6441 6442 /** 6443 * @brief Get field acl_handle from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6444 * @param event packet 6445 * @return acl_handle 6446 * @note: btstack_type H 6447 */ 6448 static inline hci_con_handle_t hsp_subevent_microphone_gain_changed_get_acl_handle(const uint8_t * event){ 6449 return little_endian_read_16(event, 3); 6450 } 6451 /** 6452 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6453 * @param event packet 6454 * @return gain 6455 * @note: btstack_type 1 6456 */ 6457 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 6458 return event[5]; 6459 } 6460 6461 /** 6462 * @brief Get field acl_handle from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6463 * @param event packet 6464 * @return acl_handle 6465 * @note: btstack_type H 6466 */ 6467 static inline hci_con_handle_t hsp_subevent_speaker_gain_changed_get_acl_handle(const uint8_t * event){ 6468 return little_endian_read_16(event, 3); 6469 } 6470 /** 6471 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6472 * @param event packet 6473 * @return gain 6474 * @note: btstack_type 1 6475 */ 6476 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 6477 return event[5]; 6478 } 6479 6480 /** 6481 * @brief Get field acl_handle from event HSP_SUBEVENT_HS_COMMAND 6482 * @param event packet 6483 * @return acl_handle 6484 * @note: btstack_type H 6485 */ 6486 static inline hci_con_handle_t hsp_subevent_hs_command_get_acl_handle(const uint8_t * event){ 6487 return little_endian_read_16(event, 3); 6488 } 6489 /** 6490 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 6491 * @param event packet 6492 * @return value_length 6493 * @note: btstack_type J 6494 */ 6495 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 6496 return event[5]; 6497 } 6498 /** 6499 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 6500 * @param event packet 6501 * @return value 6502 * @note: btstack_type V 6503 */ 6504 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 6505 return &event[6]; 6506 } 6507 6508 /** 6509 * @brief Get field acl_handle from event HSP_SUBEVENT_AG_INDICATION 6510 * @param event packet 6511 * @return acl_handle 6512 * @note: btstack_type H 6513 */ 6514 static inline hci_con_handle_t hsp_subevent_ag_indication_get_acl_handle(const uint8_t * event){ 6515 return little_endian_read_16(event, 3); 6516 } 6517 /** 6518 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 6519 * @param event packet 6520 * @return value_length 6521 * @note: btstack_type J 6522 */ 6523 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 6524 return event[5]; 6525 } 6526 /** 6527 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 6528 * @param event packet 6529 * @return value 6530 * @note: btstack_type V 6531 */ 6532 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 6533 return &event[6]; 6534 } 6535 6536 /** 6537 * @brief Get field acl_handle from event HSP_SUBEVENT_BUTTON_PRESSED 6538 * @param event packet 6539 * @return acl_handle 6540 * @note: btstack_type H 6541 */ 6542 static inline hci_con_handle_t hsp_subevent_button_pressed_get_acl_handle(const uint8_t * event){ 6543 return little_endian_read_16(event, 3); 6544 } 6545 6546 /** 6547 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6548 * @param event packet 6549 * @return acl_handle 6550 * @note: btstack_type H 6551 */ 6552 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_acl_handle(const uint8_t * event){ 6553 return little_endian_read_16(event, 3); 6554 } 6555 /** 6556 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6557 * @param event packet 6558 * @return status 6559 * @note: btstack_type 1 6560 */ 6561 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 6562 return event[5]; 6563 } 6564 /** 6565 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6566 * @param event packet 6567 * @param Pointer to storage for bd_addr 6568 * @note: btstack_type B 6569 */ 6570 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6571 reverse_bytes(&event[6], bd_addr, 6); 6572 } 6573 6574 /** 6575 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 6576 * @param event packet 6577 * @return acl_handle 6578 * @note: btstack_type H 6579 */ 6580 static inline hci_con_handle_t hfp_subevent_service_level_connection_released_get_acl_handle(const uint8_t * event){ 6581 return little_endian_read_16(event, 3); 6582 } 6583 6584 /** 6585 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6586 * @param event packet 6587 * @return acl_handle 6588 * @note: btstack_type H 6589 */ 6590 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_acl_handle(const uint8_t * event){ 6591 return little_endian_read_16(event, 3); 6592 } 6593 /** 6594 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6595 * @param event packet 6596 * @return status 6597 * @note: btstack_type 1 6598 */ 6599 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 6600 return event[5]; 6601 } 6602 /** 6603 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6604 * @param event packet 6605 * @return sco_handle 6606 * @note: btstack_type H 6607 */ 6608 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_sco_handle(const uint8_t * event){ 6609 return little_endian_read_16(event, 6); 6610 } 6611 /** 6612 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6613 * @param event packet 6614 * @param Pointer to storage for bd_addr 6615 * @note: btstack_type B 6616 */ 6617 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6618 reverse_bytes(&event[8], bd_addr, 6); 6619 } 6620 /** 6621 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6622 * @param event packet 6623 * @return negotiated_codec 6624 * @note: btstack_type 1 6625 */ 6626 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 6627 return event[14]; 6628 } 6629 /** 6630 * @brief Get field sco_packet_types from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6631 * @param event packet 6632 * @return sco_packet_types 6633 * @note: btstack_type 2 6634 */ 6635 static inline uint16_t hfp_subevent_audio_connection_established_get_sco_packet_types(const uint8_t * event){ 6636 return little_endian_read_16(event, 15); 6637 } 6638 /** 6639 * @brief Get field rx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6640 * @param event packet 6641 * @return rx_packet_length 6642 * @note: btstack_type 2 6643 */ 6644 static inline uint16_t hfp_subevent_audio_connection_established_get_rx_packet_length(const uint8_t * event){ 6645 return little_endian_read_16(event, 17); 6646 } 6647 /** 6648 * @brief Get field tx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6649 * @param event packet 6650 * @return tx_packet_length 6651 * @note: btstack_type 2 6652 */ 6653 static inline uint16_t hfp_subevent_audio_connection_established_get_tx_packet_length(const uint8_t * event){ 6654 return little_endian_read_16(event, 19); 6655 } 6656 6657 /** 6658 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6659 * @param event packet 6660 * @return acl_handle 6661 * @note: btstack_type H 6662 */ 6663 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_acl_handle(const uint8_t * event){ 6664 return little_endian_read_16(event, 3); 6665 } 6666 /** 6667 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6668 * @param event packet 6669 * @return sco_handle 6670 * @note: btstack_type H 6671 */ 6672 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_sco_handle(const uint8_t * event){ 6673 return little_endian_read_16(event, 5); 6674 } 6675 6676 /** 6677 * @brief Get field acl_handle from event HFP_SUBEVENT_COMPLETE 6678 * @param event packet 6679 * @return acl_handle 6680 * @note: btstack_type H 6681 */ 6682 static inline hci_con_handle_t hfp_subevent_complete_get_acl_handle(const uint8_t * event){ 6683 return little_endian_read_16(event, 3); 6684 } 6685 /** 6686 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 6687 * @param event packet 6688 * @return status 6689 * @note: btstack_type 1 6690 */ 6691 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 6692 return event[5]; 6693 } 6694 6695 /** 6696 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6697 * @param event packet 6698 * @return acl_handle 6699 * @note: btstack_type H 6700 */ 6701 static inline hci_con_handle_t hfp_subevent_ag_indicator_mapping_get_acl_handle(const uint8_t * event){ 6702 return little_endian_read_16(event, 3); 6703 } 6704 /** 6705 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6706 * @param event packet 6707 * @return indicator_index 6708 * @note: btstack_type 1 6709 */ 6710 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_index(const uint8_t * event){ 6711 return event[5]; 6712 } 6713 /** 6714 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6715 * @param event packet 6716 * @return indicator_min_range 6717 * @note: btstack_type 1 6718 */ 6719 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_min_range(const uint8_t * event){ 6720 return event[6]; 6721 } 6722 /** 6723 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6724 * @param event packet 6725 * @return indicator_max_range 6726 * @note: btstack_type 1 6727 */ 6728 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_max_range(const uint8_t * event){ 6729 return event[7]; 6730 } 6731 /** 6732 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6733 * @param event packet 6734 * @return indicator_name 6735 * @note: btstack_type T 6736 */ 6737 static inline const char * hfp_subevent_ag_indicator_mapping_get_indicator_name(const uint8_t * event){ 6738 return (const char *) &event[8]; 6739 } 6740 6741 /** 6742 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6743 * @param event packet 6744 * @return acl_handle 6745 * @note: btstack_type H 6746 */ 6747 static inline hci_con_handle_t hfp_subevent_ag_indicator_status_changed_get_acl_handle(const uint8_t * event){ 6748 return little_endian_read_16(event, 3); 6749 } 6750 /** 6751 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6752 * @param event packet 6753 * @return indicator_index 6754 * @note: btstack_type 1 6755 */ 6756 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 6757 return event[5]; 6758 } 6759 /** 6760 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6761 * @param event packet 6762 * @return indicator_status 6763 * @note: btstack_type 1 6764 */ 6765 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 6766 return event[6]; 6767 } 6768 /** 6769 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6770 * @param event packet 6771 * @return indicator_min_range 6772 * @note: btstack_type 1 6773 */ 6774 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 6775 return event[7]; 6776 } 6777 /** 6778 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6779 * @param event packet 6780 * @return indicator_max_range 6781 * @note: btstack_type 1 6782 */ 6783 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 6784 return event[8]; 6785 } 6786 /** 6787 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6788 * @param event packet 6789 * @return indicator_mandatory 6790 * @note: btstack_type 1 6791 */ 6792 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 6793 return event[9]; 6794 } 6795 /** 6796 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6797 * @param event packet 6798 * @return indicator_enabled 6799 * @note: btstack_type 1 6800 */ 6801 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 6802 return event[10]; 6803 } 6804 /** 6805 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6806 * @param event packet 6807 * @return indicator_status_changed 6808 * @note: btstack_type 1 6809 */ 6810 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 6811 return event[11]; 6812 } 6813 /** 6814 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6815 * @param event packet 6816 * @return indicator_name 6817 * @note: btstack_type T 6818 */ 6819 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 6820 return (const char *) &event[12]; 6821 } 6822 6823 /** 6824 * @brief Get field acl_handle from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6825 * @param event packet 6826 * @return acl_handle 6827 * @note: btstack_type H 6828 */ 6829 static inline hci_con_handle_t hfp_subevent_network_operator_changed_get_acl_handle(const uint8_t * event){ 6830 return little_endian_read_16(event, 3); 6831 } 6832 /** 6833 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6834 * @param event packet 6835 * @return network_operator_mode 6836 * @note: btstack_type 1 6837 */ 6838 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 6839 return event[5]; 6840 } 6841 /** 6842 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6843 * @param event packet 6844 * @return network_operator_format 6845 * @note: btstack_type 1 6846 */ 6847 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 6848 return event[6]; 6849 } 6850 /** 6851 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6852 * @param event packet 6853 * @return network_operator_name 6854 * @note: btstack_type T 6855 */ 6856 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 6857 return (const char *) &event[7]; 6858 } 6859 6860 /** 6861 * @brief Get field acl_handle from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6862 * @param event packet 6863 * @return acl_handle 6864 * @note: btstack_type H 6865 */ 6866 static inline hci_con_handle_t hfp_subevent_extended_audio_gateway_error_get_acl_handle(const uint8_t * event){ 6867 return little_endian_read_16(event, 3); 6868 } 6869 /** 6870 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6871 * @param event packet 6872 * @return error 6873 * @note: btstack_type 1 6874 */ 6875 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 6876 return event[5]; 6877 } 6878 6879 /** 6880 * @brief Get field acl_handle from event HFP_SUBEVENT_START_RINGING 6881 * @param event packet 6882 * @return acl_handle 6883 * @note: btstack_type H 6884 */ 6885 static inline hci_con_handle_t hfp_subevent_start_ringing_get_acl_handle(const uint8_t * event){ 6886 return little_endian_read_16(event, 3); 6887 } 6888 6889 /** 6890 * @brief Get field acl_handle from event HFP_SUBEVENT_RING 6891 * @param event packet 6892 * @return acl_handle 6893 * @note: btstack_type H 6894 */ 6895 static inline hci_con_handle_t hfp_subevent_ring_get_acl_handle(const uint8_t * event){ 6896 return little_endian_read_16(event, 3); 6897 } 6898 6899 /** 6900 * @brief Get field acl_handle from event HFP_SUBEVENT_STOP_RINGING 6901 * @param event packet 6902 * @return acl_handle 6903 * @note: btstack_type H 6904 */ 6905 static inline hci_con_handle_t hfp_subevent_stop_ringing_get_acl_handle(const uint8_t * event){ 6906 return little_endian_read_16(event, 3); 6907 } 6908 6909 /** 6910 * @brief Get field acl_handle from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6911 * @param event packet 6912 * @return acl_handle 6913 * @note: btstack_type H 6914 */ 6915 static inline hci_con_handle_t hfp_subevent_place_call_with_number_get_acl_handle(const uint8_t * event){ 6916 return little_endian_read_16(event, 3); 6917 } 6918 /** 6919 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6920 * @param event packet 6921 * @return number 6922 * @note: btstack_type T 6923 */ 6924 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 6925 return (const char *) &event[5]; 6926 } 6927 6928 /** 6929 * @brief Get field acl_handle from event HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 6930 * @param event packet 6931 * @return acl_handle 6932 * @note: btstack_type H 6933 */ 6934 static inline hci_con_handle_t hfp_subevent_attach_number_to_voice_tag_get_acl_handle(const uint8_t * event){ 6935 return little_endian_read_16(event, 3); 6936 } 6937 6938 /** 6939 * @brief Get field acl_handle from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6940 * @param event packet 6941 * @return acl_handle 6942 * @note: btstack_type H 6943 */ 6944 static inline hci_con_handle_t hfp_subevent_number_for_voice_tag_get_acl_handle(const uint8_t * event){ 6945 return little_endian_read_16(event, 3); 6946 } 6947 /** 6948 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6949 * @param event packet 6950 * @return number 6951 * @note: btstack_type T 6952 */ 6953 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 6954 return (const char *) &event[5]; 6955 } 6956 6957 /** 6958 * @brief Get field acl_handle from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 6959 * @param event packet 6960 * @return acl_handle 6961 * @note: btstack_type H 6962 */ 6963 static inline hci_con_handle_t hfp_subevent_transmit_dtmf_codes_get_acl_handle(const uint8_t * event){ 6964 return little_endian_read_16(event, 3); 6965 } 6966 /** 6967 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 6968 * @param event packet 6969 * @return dtmf 6970 * @note: btstack_type T 6971 */ 6972 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 6973 return (const char *) &event[5]; 6974 } 6975 6976 /** 6977 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_ANSWERED 6978 * @param event packet 6979 * @return acl_handle 6980 * @note: btstack_type H 6981 */ 6982 static inline hci_con_handle_t hfp_subevent_call_answered_get_acl_handle(const uint8_t * event){ 6983 return little_endian_read_16(event, 3); 6984 } 6985 6986 /** 6987 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_TERMINATED 6988 * @param event packet 6989 * @return acl_handle 6990 * @note: btstack_type H 6991 */ 6992 static inline hci_con_handle_t hfp_subevent_call_terminated_get_acl_handle(const uint8_t * event){ 6993 return little_endian_read_16(event, 3); 6994 } 6995 6996 /** 6997 * @brief Get field acl_handle from event HFP_SUBEVENT_CONFERENCE_CALL 6998 * @param event packet 6999 * @return acl_handle 7000 * @note: btstack_type H 7001 */ 7002 static inline hci_con_handle_t hfp_subevent_conference_call_get_acl_handle(const uint8_t * event){ 7003 return little_endian_read_16(event, 3); 7004 } 7005 7006 /** 7007 * @brief Get field acl_handle from event HFP_SUBEVENT_SPEAKER_VOLUME 7008 * @param event packet 7009 * @return acl_handle 7010 * @note: btstack_type H 7011 */ 7012 static inline hci_con_handle_t hfp_subevent_speaker_volume_get_acl_handle(const uint8_t * event){ 7013 return little_endian_read_16(event, 3); 7014 } 7015 /** 7016 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 7017 * @param event packet 7018 * @return gain 7019 * @note: btstack_type 1 7020 */ 7021 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 7022 return event[5]; 7023 } 7024 7025 /** 7026 * @brief Get field acl_handle from event HFP_SUBEVENT_MICROPHONE_VOLUME 7027 * @param event packet 7028 * @return acl_handle 7029 * @note: btstack_type H 7030 */ 7031 static inline hci_con_handle_t hfp_subevent_microphone_volume_get_acl_handle(const uint8_t * event){ 7032 return little_endian_read_16(event, 3); 7033 } 7034 /** 7035 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 7036 * @param event packet 7037 * @return gain 7038 * @note: btstack_type 1 7039 */ 7040 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 7041 return event[5]; 7042 } 7043 7044 /** 7045 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7046 * @param event packet 7047 * @return acl_handle 7048 * @note: btstack_type H 7049 */ 7050 static inline hci_con_handle_t hfp_subevent_call_waiting_notification_get_acl_handle(const uint8_t * event){ 7051 return little_endian_read_16(event, 3); 7052 } 7053 /** 7054 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7055 * @param event packet 7056 * @return type 7057 * @note: btstack_type 1 7058 */ 7059 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 7060 return event[5]; 7061 } 7062 /** 7063 * @brief Get field number_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7064 * @param event packet 7065 * @return number_length 7066 * @note: btstack_type J 7067 */ 7068 static inline uint8_t hfp_subevent_call_waiting_notification_get_number_length(const uint8_t * event){ 7069 return event[6]; 7070 } 7071 /** 7072 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7073 * @param event packet 7074 * @return number 7075 * @note: btstack_type V 7076 */ 7077 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 7078 return &event[7]; 7079 } 7080 /** 7081 * @brief Get field alpha_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7082 * @param event packet 7083 * @return alpha_length 7084 * @note: btstack_type J 7085 */ 7086 static inline uint8_t hfp_subevent_call_waiting_notification_get_alpha_length(const uint8_t * event){ 7087 return event[7u + event[6]]; 7088 } 7089 /** 7090 * @brief Get field alpha from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7091 * @param event packet 7092 * @return alpha 7093 * @note: btstack_type V 7094 */ 7095 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_alpha(const uint8_t * event){ 7096 return &event[7u + event[6] + 1u]; 7097 } 7098 7099 /** 7100 * @brief Get field acl_handle from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7101 * @param event packet 7102 * @return acl_handle 7103 * @note: btstack_type H 7104 */ 7105 static inline hci_con_handle_t hfp_subevent_calling_line_identification_notification_get_acl_handle(const uint8_t * event){ 7106 return little_endian_read_16(event, 3); 7107 } 7108 /** 7109 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7110 * @param event packet 7111 * @return type 7112 * @note: btstack_type 1 7113 */ 7114 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 7115 return event[5]; 7116 } 7117 /** 7118 * @brief Get field number_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7119 * @param event packet 7120 * @return number_length 7121 * @note: btstack_type J 7122 */ 7123 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_number_length(const uint8_t * event){ 7124 return event[6]; 7125 } 7126 /** 7127 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7128 * @param event packet 7129 * @return number 7130 * @note: btstack_type V 7131 */ 7132 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 7133 return &event[7]; 7134 } 7135 /** 7136 * @brief Get field alpha_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7137 * @param event packet 7138 * @return alpha_length 7139 * @note: btstack_type J 7140 */ 7141 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_alpha_length(const uint8_t * event){ 7142 return event[7u + event[6]]; 7143 } 7144 /** 7145 * @brief Get field alpha from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7146 * @param event packet 7147 * @return alpha 7148 * @note: btstack_type V 7149 */ 7150 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_alpha(const uint8_t * event){ 7151 return &event[7u + event[6] + 1u]; 7152 } 7153 7154 /** 7155 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7156 * @param event packet 7157 * @return acl_handle 7158 * @note: btstack_type H 7159 */ 7160 static inline hci_con_handle_t hfp_subevent_enhanced_call_status_get_acl_handle(const uint8_t * event){ 7161 return little_endian_read_16(event, 3); 7162 } 7163 /** 7164 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7165 * @param event packet 7166 * @return clcc_idx 7167 * @note: btstack_type 1 7168 */ 7169 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 7170 return event[5]; 7171 } 7172 /** 7173 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7174 * @param event packet 7175 * @return clcc_dir 7176 * @note: btstack_type 1 7177 */ 7178 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 7179 return event[6]; 7180 } 7181 /** 7182 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7183 * @param event packet 7184 * @return clcc_status 7185 * @note: btstack_type 1 7186 */ 7187 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 7188 return event[7]; 7189 } 7190 /** 7191 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7192 * @param event packet 7193 * @return clcc_mode 7194 * @note: btstack_type 1 7195 */ 7196 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 7197 return event[8]; 7198 } 7199 /** 7200 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7201 * @param event packet 7202 * @return clcc_mpty 7203 * @note: btstack_type 1 7204 */ 7205 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 7206 return event[9]; 7207 } 7208 /** 7209 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7210 * @param event packet 7211 * @return bnip_type 7212 * @note: btstack_type 1 7213 */ 7214 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 7215 return event[10]; 7216 } 7217 /** 7218 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7219 * @param event packet 7220 * @return bnip_number 7221 * @note: btstack_type T 7222 */ 7223 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 7224 return (const char *) &event[11]; 7225 } 7226 7227 /** 7228 * @brief Get field acl_handle from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7229 * @param event packet 7230 * @return acl_handle 7231 * @note: btstack_type H 7232 */ 7233 static inline hci_con_handle_t hfp_subevent_subscriber_number_information_get_acl_handle(const uint8_t * event){ 7234 return little_endian_read_16(event, 3); 7235 } 7236 /** 7237 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7238 * @param event packet 7239 * @return status 7240 * @note: btstack_type 1 7241 */ 7242 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 7243 return event[5]; 7244 } 7245 /** 7246 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7247 * @param event packet 7248 * @return bnip_type 7249 * @note: btstack_type 1 7250 */ 7251 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 7252 return event[6]; 7253 } 7254 /** 7255 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7256 * @param event packet 7257 * @return bnip_number 7258 * @note: btstack_type T 7259 */ 7260 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 7261 return (const char *) &event[7]; 7262 } 7263 7264 /** 7265 * @brief Get field acl_handle from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7266 * @param event packet 7267 * @return acl_handle 7268 * @note: btstack_type H 7269 */ 7270 static inline hci_con_handle_t hfp_subevent_response_and_hold_status_get_acl_handle(const uint8_t * event){ 7271 return little_endian_read_16(event, 3); 7272 } 7273 /** 7274 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7275 * @param event packet 7276 * @return value 7277 * @note: btstack_type T 7278 */ 7279 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 7280 return (const char *) &event[5]; 7281 } 7282 7283 /** 7284 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_SENT 7285 * @param event packet 7286 * @return acl_handle 7287 * @note: btstack_type H 7288 */ 7289 static inline hci_con_handle_t hfp_subevent_at_message_sent_get_acl_handle(const uint8_t * event){ 7290 return little_endian_read_16(event, 3); 7291 } 7292 /** 7293 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_SENT 7294 * @param event packet 7295 * @return command 7296 * @note: btstack_type T 7297 */ 7298 static inline const char * hfp_subevent_at_message_sent_get_command(const uint8_t * event){ 7299 return (const char *) &event[5]; 7300 } 7301 7302 /** 7303 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7304 * @param event packet 7305 * @return acl_handle 7306 * @note: btstack_type H 7307 */ 7308 static inline hci_con_handle_t hfp_subevent_at_message_received_get_acl_handle(const uint8_t * event){ 7309 return little_endian_read_16(event, 3); 7310 } 7311 /** 7312 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7313 * @param event packet 7314 * @return command 7315 * @note: btstack_type T 7316 */ 7317 static inline const char * hfp_subevent_at_message_received_get_command(const uint8_t * event){ 7318 return (const char *) &event[5]; 7319 } 7320 7321 /** 7322 * @brief Get field acl_handle from event HFP_SUBEVENT_IN_BAND_RING_TONE 7323 * @param event packet 7324 * @return acl_handle 7325 * @note: btstack_type H 7326 */ 7327 static inline hci_con_handle_t hfp_subevent_in_band_ring_tone_get_acl_handle(const uint8_t * event){ 7328 return little_endian_read_16(event, 3); 7329 } 7330 /** 7331 * @brief Get field status from event HFP_SUBEVENT_IN_BAND_RING_TONE 7332 * @param event packet 7333 * @return status 7334 * @note: btstack_type 1 7335 */ 7336 static inline uint8_t hfp_subevent_in_band_ring_tone_get_status(const uint8_t * event){ 7337 return event[5]; 7338 } 7339 7340 /** 7341 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7342 * @param event packet 7343 * @return acl_handle 7344 * @note: btstack_type H 7345 */ 7346 static inline hci_con_handle_t hfp_subevent_voice_recognition_activated_get_acl_handle(const uint8_t * event){ 7347 return little_endian_read_16(event, 3); 7348 } 7349 /** 7350 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7351 * @param event packet 7352 * @return status 7353 * @note: btstack_type 1 7354 */ 7355 static inline uint8_t hfp_subevent_voice_recognition_activated_get_status(const uint8_t * event){ 7356 return event[5]; 7357 } 7358 /** 7359 * @brief Get field enhanced from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7360 * @param event packet 7361 * @return enhanced 7362 * @note: btstack_type 1 7363 */ 7364 static inline uint8_t hfp_subevent_voice_recognition_activated_get_enhanced(const uint8_t * event){ 7365 return event[6]; 7366 } 7367 7368 /** 7369 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7370 * @param event packet 7371 * @return acl_handle 7372 * @note: btstack_type H 7373 */ 7374 static inline hci_con_handle_t hfp_subevent_voice_recognition_deactivated_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_VOICE_RECOGNITION_DEACTIVATED 7379 * @param event packet 7380 * @return status 7381 * @note: btstack_type 1 7382 */ 7383 static inline uint8_t hfp_subevent_voice_recognition_deactivated_get_status(const uint8_t * event){ 7384 return event[5]; 7385 } 7386 7387 /** 7388 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7389 * @param event packet 7390 * @return acl_handle 7391 * @note: btstack_type H 7392 */ 7393 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_acl_handle(const uint8_t * event){ 7394 return little_endian_read_16(event, 3); 7395 } 7396 /** 7397 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7398 * @param event packet 7399 * @return status 7400 * @note: btstack_type 1 7401 */ 7402 static inline uint8_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_status(const uint8_t * event){ 7403 return event[5]; 7404 } 7405 7406 /** 7407 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7408 * @param event packet 7409 * @return acl_handle 7410 * @note: btstack_type H 7411 */ 7412 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_acl_handle(const uint8_t * event){ 7413 return little_endian_read_16(event, 3); 7414 } 7415 /** 7416 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7417 * @param event packet 7418 * @return status 7419 * @note: btstack_type 1 7420 */ 7421 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_status(const uint8_t * event){ 7422 return event[5]; 7423 } 7424 7425 /** 7426 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7427 * @param event packet 7428 * @return acl_handle 7429 * @note: btstack_type H 7430 */ 7431 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_acl_handle(const uint8_t * event){ 7432 return little_endian_read_16(event, 3); 7433 } 7434 /** 7435 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7436 * @param event packet 7437 * @return status 7438 * @note: btstack_type 1 7439 */ 7440 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_status(const uint8_t * event){ 7441 return event[5]; 7442 } 7443 7444 /** 7445 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7446 * @param event packet 7447 * @return acl_handle 7448 * @note: btstack_type H 7449 */ 7450 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_acl_handle(const uint8_t * event){ 7451 return little_endian_read_16(event, 3); 7452 } 7453 /** 7454 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7455 * @param event packet 7456 * @return status 7457 * @note: btstack_type 1 7458 */ 7459 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_status(const uint8_t * event){ 7460 return event[5]; 7461 } 7462 7463 /** 7464 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7465 * @param event packet 7466 * @return acl_handle 7467 * @note: btstack_type H 7468 */ 7469 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_acl_handle(const uint8_t * event){ 7470 return little_endian_read_16(event, 3); 7471 } 7472 /** 7473 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7474 * @param event packet 7475 * @return status 7476 * @note: btstack_type 1 7477 */ 7478 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_status(const uint8_t * event){ 7479 return event[5]; 7480 } 7481 7482 /** 7483 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7484 * @param event packet 7485 * @return acl_handle 7486 * @note: btstack_type H 7487 */ 7488 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_get_acl_handle(const uint8_t * event){ 7489 return little_endian_read_16(event, 3); 7490 } 7491 /** 7492 * @brief Get field text_id from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7493 * @param event packet 7494 * @return text_id 7495 * @note: btstack_type 2 7496 */ 7497 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_id(const uint8_t * event){ 7498 return little_endian_read_16(event, 5); 7499 } 7500 /** 7501 * @brief Get field text_type from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7502 * @param event packet 7503 * @return text_type 7504 * @note: btstack_type 1 7505 */ 7506 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_type(const uint8_t * event){ 7507 return event[7]; 7508 } 7509 /** 7510 * @brief Get field text_operation from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7511 * @param event packet 7512 * @return text_operation 7513 * @note: btstack_type 1 7514 */ 7515 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_operation(const uint8_t * event){ 7516 return event[8]; 7517 } 7518 /** 7519 * @brief Get field text_length from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7520 * @param event packet 7521 * @return text_length 7522 * @note: btstack_type L 7523 */ 7524 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_length(const uint8_t * event){ 7525 return little_endian_read_16(event, 9); 7526 } 7527 /** 7528 * @brief Get field text from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7529 * @param event packet 7530 * @return text 7531 * @note: btstack_type V 7532 */ 7533 static inline const uint8_t * hfp_subevent_enhanced_voice_recognition_ag_message_get_text(const uint8_t * event){ 7534 return &event[11]; 7535 } 7536 7537 /** 7538 * @brief Get field acl_handle from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7539 * @param event packet 7540 * @return acl_handle 7541 * @note: btstack_type H 7542 */ 7543 static inline hci_con_handle_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_acl_handle(const uint8_t * event){ 7544 return little_endian_read_16(event, 3); 7545 } 7546 /** 7547 * @brief Get field status from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7548 * @param event packet 7549 * @return status 7550 * @note: btstack_type 1 7551 */ 7552 static inline uint8_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_status(const uint8_t * event){ 7553 return event[5]; 7554 } 7555 7556 /** 7557 * @brief Get field acl_handle from event HFP_SUBEVENT_HF_INDICATOR 7558 * @param event packet 7559 * @return acl_handle 7560 * @note: btstack_type H 7561 */ 7562 static inline hci_con_handle_t hfp_subevent_hf_indicator_get_acl_handle(const uint8_t * event){ 7563 return little_endian_read_16(event, 3); 7564 } 7565 /** 7566 * @brief Get field uuid from event HFP_SUBEVENT_HF_INDICATOR 7567 * @param event packet 7568 * @return uuid 7569 * @note: btstack_type 2 7570 */ 7571 static inline uint16_t hfp_subevent_hf_indicator_get_uuid(const uint8_t * event){ 7572 return little_endian_read_16(event, 5); 7573 } 7574 /** 7575 * @brief Get field value from event HFP_SUBEVENT_HF_INDICATOR 7576 * @param event packet 7577 * @return value 7578 * @note: btstack_type 1 7579 */ 7580 static inline uint8_t hfp_subevent_hf_indicator_get_value(const uint8_t * event){ 7581 return event[7]; 7582 } 7583 7584 /** 7585 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7586 * @param event packet 7587 * @return acl_handle 7588 * @note: btstack_type H 7589 */ 7590 static inline hci_con_handle_t hfp_subevent_custom_at_command_get_acl_handle(const uint8_t * event){ 7591 return little_endian_read_16(event, 3); 7592 } 7593 /** 7594 * @brief Get field command_id from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7595 * @param event packet 7596 * @return command_id 7597 * @note: btstack_type 2 7598 */ 7599 static inline uint16_t hfp_subevent_custom_at_command_get_command_id(const uint8_t * event){ 7600 return little_endian_read_16(event, 5); 7601 } 7602 /** 7603 * @brief Get field command_string from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7604 * @param event packet 7605 * @return command_string 7606 * @note: btstack_type T 7607 */ 7608 static inline const char * hfp_subevent_custom_at_command_get_command_string(const uint8_t * event){ 7609 return (const char *) &event[7]; 7610 } 7611 7612 /** 7613 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7614 * @param event packet 7615 * @return acl_handle 7616 * @note: btstack_type H 7617 */ 7618 static inline hci_con_handle_t hfp_subevent_custom_at_message_sent_get_acl_handle(const uint8_t * event){ 7619 return little_endian_read_16(event, 3); 7620 } 7621 /** 7622 * @brief Get field status from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7623 * @param event packet 7624 * @return status 7625 * @note: btstack_type 1 7626 */ 7627 static inline uint8_t hfp_subevent_custom_at_message_sent_get_status(const uint8_t * event){ 7628 return event[5]; 7629 } 7630 7631 /** 7632 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7633 * @param event packet 7634 * @return acl_handle 7635 * @note: btstack_type H 7636 */ 7637 static inline hci_con_handle_t hfp_subevent_apple_extension_supported_get_acl_handle(const uint8_t * event){ 7638 return little_endian_read_16(event, 3); 7639 } 7640 /** 7641 * @brief Get field supported from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7642 * @param event packet 7643 * @return supported 7644 * @note: btstack_type 1 7645 */ 7646 static inline uint8_t hfp_subevent_apple_extension_supported_get_supported(const uint8_t * event){ 7647 return event[5]; 7648 } 7649 7650 /** 7651 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7652 * @param event packet 7653 * @return acl_handle 7654 * @note: btstack_type H 7655 */ 7656 static inline hci_con_handle_t hfp_subevent_apple_accessory_information_get_acl_handle(const uint8_t * event){ 7657 return little_endian_read_16(event, 3); 7658 } 7659 /** 7660 * @brief Get field vendor_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7661 * @param event packet 7662 * @return vendor_id 7663 * @note: btstack_type 2 7664 */ 7665 static inline uint16_t hfp_subevent_apple_accessory_information_get_vendor_id(const uint8_t * event){ 7666 return little_endian_read_16(event, 5); 7667 } 7668 /** 7669 * @brief Get field product_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7670 * @param event packet 7671 * @return product_id 7672 * @note: btstack_type 2 7673 */ 7674 static inline uint16_t hfp_subevent_apple_accessory_information_get_product_id(const uint8_t * event){ 7675 return little_endian_read_16(event, 7); 7676 } 7677 /** 7678 * @brief Get field features from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7679 * @param event packet 7680 * @return features 7681 * @note: btstack_type 1 7682 */ 7683 static inline uint8_t hfp_subevent_apple_accessory_information_get_features(const uint8_t * event){ 7684 return event[9]; 7685 } 7686 /** 7687 * @brief Get field version_len from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7688 * @param event packet 7689 * @return version_len 7690 * @note: btstack_type J 7691 */ 7692 static inline uint8_t hfp_subevent_apple_accessory_information_get_version_len(const uint8_t * event){ 7693 return event[10]; 7694 } 7695 /** 7696 * @brief Get field version from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7697 * @param event packet 7698 * @return version 7699 * @note: btstack_type V 7700 */ 7701 static inline const uint8_t * hfp_subevent_apple_accessory_information_get_version(const uint8_t * event){ 7702 return &event[11]; 7703 } 7704 7705 /** 7706 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7707 * @param event packet 7708 * @return acl_handle 7709 * @note: btstack_type H 7710 */ 7711 static inline hci_con_handle_t hfp_subevent_apple_battery_level_get_acl_handle(const uint8_t * event){ 7712 return little_endian_read_16(event, 3); 7713 } 7714 /** 7715 * @brief Get field battery_level from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7716 * @param event packet 7717 * @return battery_level 7718 * @note: btstack_type 1 7719 */ 7720 static inline uint8_t hfp_subevent_apple_battery_level_get_battery_level(const uint8_t * event){ 7721 return event[5]; 7722 } 7723 7724 /** 7725 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7726 * @param event packet 7727 * @return acl_handle 7728 * @note: btstack_type H 7729 */ 7730 static inline hci_con_handle_t hfp_subevent_apple_docked_state_get_acl_handle(const uint8_t * event){ 7731 return little_endian_read_16(event, 3); 7732 } 7733 /** 7734 * @brief Get field docket from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7735 * @param event packet 7736 * @return docket 7737 * @note: btstack_type 1 7738 */ 7739 static inline uint8_t hfp_subevent_apple_docked_state_get_docket(const uint8_t * event){ 7740 return event[5]; 7741 } 7742 7743 #ifdef ENABLE_BLE 7744 /** 7745 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 7746 * @param event packet 7747 * @return handle 7748 * @note: btstack_type H 7749 */ 7750 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 7751 return little_endian_read_16(event, 3); 7752 } 7753 #endif 7754 7755 #ifdef ENABLE_BLE 7756 /** 7757 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7758 * @param event packet 7759 * @return handle 7760 * @note: btstack_type H 7761 */ 7762 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 7763 return little_endian_read_16(event, 3); 7764 } 7765 /** 7766 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7767 * @param event packet 7768 * @return attribute_id 7769 * @note: btstack_type 2 7770 */ 7771 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 7772 return little_endian_read_16(event, 5); 7773 } 7774 /** 7775 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7776 * @param event packet 7777 * @return text 7778 * @note: btstack_type T 7779 */ 7780 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 7781 return (const char *) &event[7]; 7782 } 7783 #endif 7784 7785 #ifdef ENABLE_BLE 7786 /** 7787 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 7788 * @param event packet 7789 * @return handle 7790 * @note: btstack_type H 7791 */ 7792 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 7793 return little_endian_read_16(event, 3); 7794 } 7795 #endif 7796 7797 /** 7798 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7799 * @param event packet 7800 * @return avdtp_cid 7801 * @note: btstack_type 2 7802 */ 7803 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 7804 return little_endian_read_16(event, 3); 7805 } 7806 /** 7807 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7808 * @param event packet 7809 * @return local_seid 7810 * @note: btstack_type 1 7811 */ 7812 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 7813 return event[5]; 7814 } 7815 /** 7816 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7817 * @param event packet 7818 * @return is_initiator 7819 * @note: btstack_type 1 7820 */ 7821 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 7822 return event[6]; 7823 } 7824 /** 7825 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7826 * @param event packet 7827 * @return signal_identifier 7828 * @note: btstack_type 1 7829 */ 7830 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 7831 return event[7]; 7832 } 7833 7834 /** 7835 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7836 * @param event packet 7837 * @return avdtp_cid 7838 * @note: btstack_type 2 7839 */ 7840 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 7841 return little_endian_read_16(event, 3); 7842 } 7843 /** 7844 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7845 * @param event packet 7846 * @return local_seid 7847 * @note: btstack_type 1 7848 */ 7849 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 7850 return event[5]; 7851 } 7852 /** 7853 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 7854 * @param event packet 7855 * @return is_initiator 7856 * @note: btstack_type 1 7857 */ 7858 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 7859 return event[6]; 7860 } 7861 /** 7862 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 7863 * @param event packet 7864 * @return signal_identifier 7865 * @note: btstack_type 1 7866 */ 7867 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 7868 return event[7]; 7869 } 7870 7871 /** 7872 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7873 * @param event packet 7874 * @return avdtp_cid 7875 * @note: btstack_type 2 7876 */ 7877 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 7878 return little_endian_read_16(event, 3); 7879 } 7880 /** 7881 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7882 * @param event packet 7883 * @return local_seid 7884 * @note: btstack_type 1 7885 */ 7886 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 7887 return event[5]; 7888 } 7889 /** 7890 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7891 * @param event packet 7892 * @return is_initiator 7893 * @note: btstack_type 1 7894 */ 7895 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 7896 return event[6]; 7897 } 7898 /** 7899 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7900 * @param event packet 7901 * @return signal_identifier 7902 * @note: btstack_type 1 7903 */ 7904 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 7905 return event[7]; 7906 } 7907 7908 /** 7909 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7910 * @param event packet 7911 * @return avdtp_cid 7912 * @note: btstack_type 2 7913 */ 7914 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 7915 return little_endian_read_16(event, 3); 7916 } 7917 /** 7918 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7919 * @param event packet 7920 * @param Pointer to storage for bd_addr 7921 * @note: btstack_type B 7922 */ 7923 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7924 reverse_bytes(&event[5], bd_addr, 6); 7925 } 7926 /** 7927 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7928 * @param event packet 7929 * @return con_handle 7930 * @note: btstack_type 2 7931 */ 7932 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 7933 return little_endian_read_16(event, 11); 7934 } 7935 /** 7936 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7937 * @param event packet 7938 * @return status 7939 * @note: btstack_type 1 7940 */ 7941 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 7942 return event[13]; 7943 } 7944 7945 /** 7946 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 7947 * @param event packet 7948 * @return avdtp_cid 7949 * @note: btstack_type 2 7950 */ 7951 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 7952 return little_endian_read_16(event, 3); 7953 } 7954 7955 /** 7956 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7957 * @param event packet 7958 * @return avdtp_cid 7959 * @note: btstack_type 2 7960 */ 7961 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 7962 return little_endian_read_16(event, 3); 7963 } 7964 /** 7965 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7966 * @param event packet 7967 * @return remote_seid 7968 * @note: btstack_type 1 7969 */ 7970 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 7971 return event[5]; 7972 } 7973 /** 7974 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7975 * @param event packet 7976 * @return in_use 7977 * @note: btstack_type 1 7978 */ 7979 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 7980 return event[6]; 7981 } 7982 /** 7983 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7984 * @param event packet 7985 * @return media_type 7986 * @note: btstack_type 1 7987 */ 7988 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 7989 return event[7]; 7990 } 7991 /** 7992 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7993 * @param event packet 7994 * @return sep_type 7995 * @note: btstack_type 1 7996 */ 7997 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 7998 return event[8]; 7999 } 8000 8001 /** 8002 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8003 * @param event packet 8004 * @return avdtp_cid 8005 * @note: btstack_type 2 8006 */ 8007 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 8008 return little_endian_read_16(event, 3); 8009 } 8010 /** 8011 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8012 * @param event packet 8013 * @return remote_seid 8014 * @note: btstack_type 1 8015 */ 8016 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 8017 return event[5]; 8018 } 8019 /** 8020 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8021 * @param event packet 8022 * @return media_type 8023 * @note: btstack_type 1 8024 */ 8025 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 8026 return event[6]; 8027 } 8028 /** 8029 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8030 * @param event packet 8031 * @return sampling_frequency_bitmap 8032 * @note: btstack_type 1 8033 */ 8034 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8035 return event[7]; 8036 } 8037 /** 8038 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8039 * @param event packet 8040 * @return channel_mode_bitmap 8041 * @note: btstack_type 1 8042 */ 8043 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 8044 return event[8]; 8045 } 8046 /** 8047 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8048 * @param event packet 8049 * @return block_length_bitmap 8050 * @note: btstack_type 1 8051 */ 8052 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 8053 return event[9]; 8054 } 8055 /** 8056 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8057 * @param event packet 8058 * @return subbands_bitmap 8059 * @note: btstack_type 1 8060 */ 8061 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 8062 return event[10]; 8063 } 8064 /** 8065 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8066 * @param event packet 8067 * @return allocation_method_bitmap 8068 * @note: btstack_type 1 8069 */ 8070 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 8071 return event[11]; 8072 } 8073 /** 8074 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8075 * @param event packet 8076 * @return min_bitpool_value 8077 * @note: btstack_type 1 8078 */ 8079 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 8080 return event[12]; 8081 } 8082 /** 8083 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8084 * @param event packet 8085 * @return max_bitpool_value 8086 * @note: btstack_type 1 8087 */ 8088 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 8089 return event[13]; 8090 } 8091 8092 /** 8093 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8094 * @param event packet 8095 * @return avdtp_cid 8096 * @note: btstack_type 2 8097 */ 8098 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ 8099 return little_endian_read_16(event, 3); 8100 } 8101 /** 8102 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8103 * @param event packet 8104 * @return remote_seid 8105 * @note: btstack_type 1 8106 */ 8107 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 8108 return event[5]; 8109 } 8110 /** 8111 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8112 * @param event packet 8113 * @return media_type 8114 * @note: btstack_type 1 8115 */ 8116 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 8117 return event[6]; 8118 } 8119 /** 8120 * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8121 * @param event packet 8122 * @return layer_bitmap 8123 * @note: btstack_type 1 8124 */ 8125 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 8126 return event[7]; 8127 } 8128 /** 8129 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8130 * @param event packet 8131 * @return crc 8132 * @note: btstack_type 1 8133 */ 8134 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 8135 return event[8]; 8136 } 8137 /** 8138 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8139 * @param event packet 8140 * @return channel_mode_bitmap 8141 * @note: btstack_type 1 8142 */ 8143 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 8144 return event[9]; 8145 } 8146 /** 8147 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8148 * @param event packet 8149 * @return media_payload_format 8150 * @note: btstack_type 1 8151 */ 8152 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 8153 return event[10]; 8154 } 8155 /** 8156 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8157 * @param event packet 8158 * @return sampling_frequency_bitmap 8159 * @note: btstack_type 1 8160 */ 8161 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8162 return event[11]; 8163 } 8164 /** 8165 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8166 * @param event packet 8167 * @return vbr 8168 * @note: btstack_type 1 8169 */ 8170 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 8171 return event[12]; 8172 } 8173 /** 8174 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8175 * @param event packet 8176 * @return bit_rate_index_bitmap 8177 * @note: btstack_type 2 8178 */ 8179 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8180 return little_endian_read_16(event, 13); 8181 } 8182 8183 /** 8184 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8185 * @param event packet 8186 * @return avdtp_cid 8187 * @note: btstack_type 2 8188 */ 8189 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ 8190 return little_endian_read_16(event, 3); 8191 } 8192 /** 8193 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8194 * @param event packet 8195 * @return remote_seid 8196 * @note: btstack_type 1 8197 */ 8198 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 8199 return event[5]; 8200 } 8201 /** 8202 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8203 * @param event packet 8204 * @return media_type 8205 * @note: btstack_type 1 8206 */ 8207 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 8208 return event[6]; 8209 } 8210 /** 8211 * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8212 * @param event packet 8213 * @return object_type_bitmap 8214 * @note: btstack_type 1 8215 */ 8216 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 8217 return event[7]; 8218 } 8219 /** 8220 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8221 * @param event packet 8222 * @return sampling_frequency_bitmap 8223 * @note: btstack_type 2 8224 */ 8225 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8226 return little_endian_read_16(event, 8); 8227 } 8228 /** 8229 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8230 * @param event packet 8231 * @return channels_bitmap 8232 * @note: btstack_type 1 8233 */ 8234 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 8235 return event[10]; 8236 } 8237 /** 8238 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8239 * @param event packet 8240 * @return bit_rate 8241 * @note: btstack_type 3 8242 */ 8243 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 8244 return little_endian_read_24(event, 11); 8245 } 8246 /** 8247 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8248 * @param event packet 8249 * @return vbr 8250 * @note: btstack_type 1 8251 */ 8252 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 8253 return event[14]; 8254 } 8255 8256 /** 8257 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8258 * @param event packet 8259 * @return avdtp_cid 8260 * @note: btstack_type 2 8261 */ 8262 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ 8263 return little_endian_read_16(event, 3); 8264 } 8265 /** 8266 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8267 * @param event packet 8268 * @return remote_seid 8269 * @note: btstack_type 1 8270 */ 8271 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 8272 return event[5]; 8273 } 8274 /** 8275 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8276 * @param event packet 8277 * @return media_type 8278 * @note: btstack_type 1 8279 */ 8280 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 8281 return event[6]; 8282 } 8283 /** 8284 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8285 * @param event packet 8286 * @return version 8287 * @note: btstack_type 1 8288 */ 8289 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 8290 return event[7]; 8291 } 8292 /** 8293 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8294 * @param event packet 8295 * @return channel_mode_bitmap 8296 * @note: btstack_type 1 8297 */ 8298 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 8299 return event[8]; 8300 } 8301 /** 8302 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8303 * @param event packet 8304 * @return sampling_frequency_bitmap 8305 * @note: btstack_type 1 8306 */ 8307 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8308 return event[9]; 8309 } 8310 /** 8311 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8312 * @param event packet 8313 * @return vbr 8314 * @note: btstack_type 1 8315 */ 8316 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 8317 return event[10]; 8318 } 8319 /** 8320 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8321 * @param event packet 8322 * @return bit_rate_index_bitmap 8323 * @note: btstack_type 3 8324 */ 8325 static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8326 return little_endian_read_24(event, 11); 8327 } 8328 /** 8329 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8330 * @param event packet 8331 * @return maximum_sul 8332 * @note: btstack_type 2 8333 */ 8334 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 8335 return little_endian_read_16(event, 14); 8336 } 8337 8338 /** 8339 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8340 * @param event packet 8341 * @return avdtp_cid 8342 * @note: btstack_type 2 8343 */ 8344 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 8345 return little_endian_read_16(event, 3); 8346 } 8347 /** 8348 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8349 * @param event packet 8350 * @return remote_seid 8351 * @note: btstack_type 1 8352 */ 8353 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 8354 return event[5]; 8355 } 8356 /** 8357 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8358 * @param event packet 8359 * @return media_type 8360 * @note: btstack_type 1 8361 */ 8362 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 8363 return event[6]; 8364 } 8365 /** 8366 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8367 * @param event packet 8368 * @return media_codec_type 8369 * @note: btstack_type 2 8370 */ 8371 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 8372 return little_endian_read_16(event, 7); 8373 } 8374 /** 8375 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8376 * @param event packet 8377 * @return media_codec_information_len 8378 * @note: btstack_type L 8379 */ 8380 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 8381 return little_endian_read_16(event, 9); 8382 } 8383 /** 8384 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8385 * @param event packet 8386 * @return media_codec_information 8387 * @note: btstack_type V 8388 */ 8389 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 8390 return &event[11]; 8391 } 8392 8393 /** 8394 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8395 * @param event packet 8396 * @return avdtp_cid 8397 * @note: btstack_type 2 8398 */ 8399 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 8400 return little_endian_read_16(event, 3); 8401 } 8402 /** 8403 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8404 * @param event packet 8405 * @return remote_seid 8406 * @note: btstack_type 1 8407 */ 8408 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 8409 return event[5]; 8410 } 8411 8412 /** 8413 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8414 * @param event packet 8415 * @return avdtp_cid 8416 * @note: btstack_type 2 8417 */ 8418 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8419 return little_endian_read_16(event, 3); 8420 } 8421 /** 8422 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8423 * @param event packet 8424 * @return remote_seid 8425 * @note: btstack_type 1 8426 */ 8427 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 8428 return event[5]; 8429 } 8430 8431 /** 8432 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8433 * @param event packet 8434 * @return avdtp_cid 8435 * @note: btstack_type 2 8436 */ 8437 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 8438 return little_endian_read_16(event, 3); 8439 } 8440 /** 8441 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8442 * @param event packet 8443 * @return remote_seid 8444 * @note: btstack_type 1 8445 */ 8446 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 8447 return event[5]; 8448 } 8449 /** 8450 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8451 * @param event packet 8452 * @return recovery_type 8453 * @note: btstack_type 1 8454 */ 8455 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 8456 return event[6]; 8457 } 8458 /** 8459 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8460 * @param event packet 8461 * @return maximum_recovery_window_size 8462 * @note: btstack_type 1 8463 */ 8464 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 8465 return event[7]; 8466 } 8467 /** 8468 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8469 * @param event packet 8470 * @return maximum_number_media_packets 8471 * @note: btstack_type 1 8472 */ 8473 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 8474 return event[8]; 8475 } 8476 8477 /** 8478 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8479 * @param event packet 8480 * @return avdtp_cid 8481 * @note: btstack_type 2 8482 */ 8483 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 8484 return little_endian_read_16(event, 3); 8485 } 8486 /** 8487 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8488 * @param event packet 8489 * @return remote_seid 8490 * @note: btstack_type 1 8491 */ 8492 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 8493 return event[5]; 8494 } 8495 /** 8496 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8497 * @param event packet 8498 * @return cp_type 8499 * @note: btstack_type 2 8500 */ 8501 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 8502 return little_endian_read_16(event, 6); 8503 } 8504 /** 8505 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8506 * @param event packet 8507 * @return cp_type_value_len 8508 * @note: btstack_type L 8509 */ 8510 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 8511 return little_endian_read_16(event, 8); 8512 } 8513 /** 8514 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8515 * @param event packet 8516 * @return cp_type_value 8517 * @note: btstack_type V 8518 */ 8519 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 8520 return &event[10]; 8521 } 8522 8523 /** 8524 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8525 * @param event packet 8526 * @return avdtp_cid 8527 * @note: btstack_type 2 8528 */ 8529 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 8530 return little_endian_read_16(event, 3); 8531 } 8532 /** 8533 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8534 * @param event packet 8535 * @return remote_seid 8536 * @note: btstack_type 1 8537 */ 8538 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 8539 return event[5]; 8540 } 8541 /** 8542 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8543 * @param event packet 8544 * @return fragmentation 8545 * @note: btstack_type 1 8546 */ 8547 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 8548 return event[6]; 8549 } 8550 /** 8551 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8552 * @param event packet 8553 * @return transport_identifiers_num 8554 * @note: btstack_type 1 8555 */ 8556 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 8557 return event[7]; 8558 } 8559 /** 8560 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8561 * @param event packet 8562 * @return transport_session_identifier_1 8563 * @note: btstack_type 1 8564 */ 8565 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 8566 return event[8]; 8567 } 8568 /** 8569 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8570 * @param event packet 8571 * @return transport_session_identifier_2 8572 * @note: btstack_type 1 8573 */ 8574 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 8575 return event[9]; 8576 } 8577 /** 8578 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8579 * @param event packet 8580 * @return transport_session_identifier_3 8581 * @note: btstack_type 1 8582 */ 8583 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 8584 return event[10]; 8585 } 8586 /** 8587 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8588 * @param event packet 8589 * @return tcid_1 8590 * @note: btstack_type 1 8591 */ 8592 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 8593 return event[11]; 8594 } 8595 /** 8596 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8597 * @param event packet 8598 * @return tcid_2 8599 * @note: btstack_type 1 8600 */ 8601 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 8602 return event[12]; 8603 } 8604 /** 8605 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8606 * @param event packet 8607 * @return tcid_3 8608 * @note: btstack_type 1 8609 */ 8610 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 8611 return event[13]; 8612 } 8613 8614 /** 8615 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8616 * @param event packet 8617 * @return avdtp_cid 8618 * @note: btstack_type 2 8619 */ 8620 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8621 return little_endian_read_16(event, 3); 8622 } 8623 /** 8624 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8625 * @param event packet 8626 * @return remote_seid 8627 * @note: btstack_type 1 8628 */ 8629 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 8630 return event[5]; 8631 } 8632 8633 /** 8634 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8635 * @param event packet 8636 * @return avdtp_cid 8637 * @note: btstack_type 2 8638 */ 8639 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 8640 return little_endian_read_16(event, 3); 8641 } 8642 /** 8643 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8644 * @param event packet 8645 * @return remote_seid 8646 * @note: btstack_type 1 8647 */ 8648 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 8649 return event[5]; 8650 } 8651 /** 8652 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8653 * @param event packet 8654 * @return back_ch 8655 * @note: btstack_type 1 8656 */ 8657 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 8658 return event[6]; 8659 } 8660 /** 8661 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8662 * @param event packet 8663 * @return media 8664 * @note: btstack_type 1 8665 */ 8666 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 8667 return event[7]; 8668 } 8669 /** 8670 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8671 * @param event packet 8672 * @return recovery 8673 * @note: btstack_type 1 8674 */ 8675 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 8676 return event[8]; 8677 } 8678 8679 /** 8680 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8681 * @param event packet 8682 * @return avdtp_cid 8683 * @note: btstack_type 2 8684 */ 8685 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 8686 return little_endian_read_16(event, 3); 8687 } 8688 /** 8689 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8690 * @param event packet 8691 * @return remote_seid 8692 * @note: btstack_type 1 8693 */ 8694 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 8695 return event[5]; 8696 } 8697 8698 /** 8699 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8700 * @param event packet 8701 * @return avdtp_cid 8702 * @note: btstack_type 2 8703 */ 8704 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 8705 return little_endian_read_16(event, 3); 8706 } 8707 /** 8708 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8709 * @param event packet 8710 * @return local_seid 8711 * @note: btstack_type 1 8712 */ 8713 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 8714 return event[5]; 8715 } 8716 /** 8717 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8718 * @param event packet 8719 * @return remote_seid 8720 * @note: btstack_type 1 8721 */ 8722 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 8723 return event[6]; 8724 } 8725 /** 8726 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8727 * @param event packet 8728 * @return reconfigure 8729 * @note: btstack_type 1 8730 */ 8731 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 8732 return event[7]; 8733 } 8734 /** 8735 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8736 * @param event packet 8737 * @return media_type 8738 * @note: btstack_type 1 8739 */ 8740 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 8741 return event[8]; 8742 } 8743 /** 8744 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8745 * @param event packet 8746 * @return sampling_frequency 8747 * @note: btstack_type 2 8748 */ 8749 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 8750 return little_endian_read_16(event, 9); 8751 } 8752 /** 8753 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8754 * @param event packet 8755 * @return channel_mode 8756 * @note: btstack_type 1 8757 */ 8758 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 8759 return event[11]; 8760 } 8761 /** 8762 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8763 * @param event packet 8764 * @return num_channels 8765 * @note: btstack_type 1 8766 */ 8767 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 8768 return event[12]; 8769 } 8770 /** 8771 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8772 * @param event packet 8773 * @return block_length 8774 * @note: btstack_type 1 8775 */ 8776 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 8777 return event[13]; 8778 } 8779 /** 8780 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8781 * @param event packet 8782 * @return subbands 8783 * @note: btstack_type 1 8784 */ 8785 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 8786 return event[14]; 8787 } 8788 /** 8789 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8790 * @param event packet 8791 * @return allocation_method 8792 * @note: btstack_type 1 8793 */ 8794 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 8795 return event[15]; 8796 } 8797 /** 8798 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8799 * @param event packet 8800 * @return min_bitpool_value 8801 * @note: btstack_type 1 8802 */ 8803 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 8804 return event[16]; 8805 } 8806 /** 8807 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8808 * @param event packet 8809 * @return max_bitpool_value 8810 * @note: btstack_type 1 8811 */ 8812 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 8813 return event[17]; 8814 } 8815 8816 /** 8817 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8818 * @param event packet 8819 * @return avdtp_cid 8820 * @note: btstack_type 2 8821 */ 8822 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ 8823 return little_endian_read_16(event, 3); 8824 } 8825 /** 8826 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8827 * @param event packet 8828 * @return local_seid 8829 * @note: btstack_type 1 8830 */ 8831 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 8832 return event[5]; 8833 } 8834 /** 8835 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8836 * @param event packet 8837 * @return remote_seid 8838 * @note: btstack_type 1 8839 */ 8840 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 8841 return event[6]; 8842 } 8843 /** 8844 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8845 * @param event packet 8846 * @return reconfigure 8847 * @note: btstack_type 1 8848 */ 8849 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 8850 return event[7]; 8851 } 8852 /** 8853 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8854 * @param event packet 8855 * @return media_type 8856 * @note: btstack_type 1 8857 */ 8858 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 8859 return event[8]; 8860 } 8861 /** 8862 * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8863 * @param event packet 8864 * @return layer 8865 * @note: btstack_type 1 8866 */ 8867 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 8868 return event[9]; 8869 } 8870 /** 8871 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8872 * @param event packet 8873 * @return crc 8874 * @note: btstack_type 1 8875 */ 8876 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 8877 return event[10]; 8878 } 8879 /** 8880 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8881 * @param event packet 8882 * @return channel_mode 8883 * @note: btstack_type 1 8884 */ 8885 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 8886 return event[11]; 8887 } 8888 /** 8889 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8890 * @param event packet 8891 * @return num_channels 8892 * @note: btstack_type 1 8893 */ 8894 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 8895 return event[12]; 8896 } 8897 /** 8898 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8899 * @param event packet 8900 * @return media_payload_format 8901 * @note: btstack_type 1 8902 */ 8903 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 8904 return event[13]; 8905 } 8906 /** 8907 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8908 * @param event packet 8909 * @return sampling_frequency 8910 * @note: btstack_type 2 8911 */ 8912 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 8913 return little_endian_read_16(event, 14); 8914 } 8915 /** 8916 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8917 * @param event packet 8918 * @return vbr 8919 * @note: btstack_type 1 8920 */ 8921 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 8922 return event[16]; 8923 } 8924 /** 8925 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8926 * @param event packet 8927 * @return bit_rate_index 8928 * @note: btstack_type 1 8929 */ 8930 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 8931 return event[17]; 8932 } 8933 8934 /** 8935 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8936 * @param event packet 8937 * @return avdtp_cid 8938 * @note: btstack_type 2 8939 */ 8940 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ 8941 return little_endian_read_16(event, 3); 8942 } 8943 /** 8944 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8945 * @param event packet 8946 * @return local_seid 8947 * @note: btstack_type 1 8948 */ 8949 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 8950 return event[5]; 8951 } 8952 /** 8953 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8954 * @param event packet 8955 * @return remote_seid 8956 * @note: btstack_type 1 8957 */ 8958 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 8959 return event[6]; 8960 } 8961 /** 8962 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8963 * @param event packet 8964 * @return reconfigure 8965 * @note: btstack_type 1 8966 */ 8967 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 8968 return event[7]; 8969 } 8970 /** 8971 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8972 * @param event packet 8973 * @return media_type 8974 * @note: btstack_type 1 8975 */ 8976 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 8977 return event[8]; 8978 } 8979 /** 8980 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8981 * @param event packet 8982 * @return object_type 8983 * @note: btstack_type 1 8984 */ 8985 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 8986 return event[9]; 8987 } 8988 /** 8989 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8990 * @param event packet 8991 * @return sampling_frequency 8992 * @note: btstack_type 3 8993 */ 8994 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 8995 return little_endian_read_24(event, 10); 8996 } 8997 /** 8998 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8999 * @param event packet 9000 * @return num_channels 9001 * @note: btstack_type 1 9002 */ 9003 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9004 return event[13]; 9005 } 9006 /** 9007 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9008 * @param event packet 9009 * @return bit_rate 9010 * @note: btstack_type 3 9011 */ 9012 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9013 return little_endian_read_24(event, 14); 9014 } 9015 /** 9016 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9017 * @param event packet 9018 * @return vbr 9019 * @note: btstack_type 1 9020 */ 9021 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9022 return event[17]; 9023 } 9024 9025 /** 9026 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9027 * @param event packet 9028 * @return avdtp_cid 9029 * @note: btstack_type 2 9030 */ 9031 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ 9032 return little_endian_read_16(event, 3); 9033 } 9034 /** 9035 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9036 * @param event packet 9037 * @return local_seid 9038 * @note: btstack_type 1 9039 */ 9040 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9041 return event[5]; 9042 } 9043 /** 9044 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9045 * @param event packet 9046 * @return remote_seid 9047 * @note: btstack_type 1 9048 */ 9049 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9050 return event[6]; 9051 } 9052 /** 9053 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9054 * @param event packet 9055 * @return reconfigure 9056 * @note: btstack_type 1 9057 */ 9058 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9059 return event[7]; 9060 } 9061 /** 9062 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9063 * @param event packet 9064 * @return media_type 9065 * @note: btstack_type 1 9066 */ 9067 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9068 return event[8]; 9069 } 9070 /** 9071 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9072 * @param event packet 9073 * @return version 9074 * @note: btstack_type 1 9075 */ 9076 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9077 return event[9]; 9078 } 9079 /** 9080 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9081 * @param event packet 9082 * @return channel_mode 9083 * @note: btstack_type 1 9084 */ 9085 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9086 return event[10]; 9087 } 9088 /** 9089 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9090 * @param event packet 9091 * @return num_channels 9092 * @note: btstack_type 1 9093 */ 9094 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9095 return event[11]; 9096 } 9097 /** 9098 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9099 * @param event packet 9100 * @return sampling_frequency 9101 * @note: btstack_type 2 9102 */ 9103 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9104 return little_endian_read_16(event, 12); 9105 } 9106 /** 9107 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9108 * @param event packet 9109 * @return vbr 9110 * @note: btstack_type 1 9111 */ 9112 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9113 return event[14]; 9114 } 9115 /** 9116 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9117 * @param event packet 9118 * @return bit_rate_index 9119 * @note: btstack_type 1 9120 */ 9121 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9122 return event[15]; 9123 } 9124 /** 9125 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9126 * @param event packet 9127 * @return maximum_sul 9128 * @note: btstack_type 2 9129 */ 9130 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9131 return little_endian_read_16(event, 16); 9132 } 9133 9134 /** 9135 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9136 * @param event packet 9137 * @return avdtp_cid 9138 * @note: btstack_type 2 9139 */ 9140 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 9141 return little_endian_read_16(event, 3); 9142 } 9143 /** 9144 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9145 * @param event packet 9146 * @return local_seid 9147 * @note: btstack_type 1 9148 */ 9149 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9150 return event[5]; 9151 } 9152 /** 9153 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9154 * @param event packet 9155 * @return remote_seid 9156 * @note: btstack_type 1 9157 */ 9158 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9159 return event[6]; 9160 } 9161 /** 9162 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9163 * @param event packet 9164 * @return reconfigure 9165 * @note: btstack_type 1 9166 */ 9167 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9168 return event[7]; 9169 } 9170 /** 9171 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9172 * @param event packet 9173 * @return media_type 9174 * @note: btstack_type 1 9175 */ 9176 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9177 return event[8]; 9178 } 9179 /** 9180 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9181 * @param event packet 9182 * @return media_codec_type 9183 * @note: btstack_type 2 9184 */ 9185 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9186 return little_endian_read_16(event, 9); 9187 } 9188 /** 9189 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9190 * @param event packet 9191 * @return media_codec_information_len 9192 * @note: btstack_type L 9193 */ 9194 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9195 return little_endian_read_16(event, 11); 9196 } 9197 /** 9198 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9199 * @param event packet 9200 * @return media_codec_information 9201 * @note: btstack_type V 9202 */ 9203 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9204 return &event[13]; 9205 } 9206 9207 /** 9208 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9209 * @param event packet 9210 * @return avdtp_cid 9211 * @note: btstack_type 2 9212 */ 9213 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 9214 return little_endian_read_16(event, 3); 9215 } 9216 /** 9217 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9218 * @param event packet 9219 * @param Pointer to storage for bd_addr 9220 * @note: btstack_type B 9221 */ 9222 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9223 reverse_bytes(&event[5], bd_addr, 6); 9224 } 9225 /** 9226 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9227 * @param event packet 9228 * @return local_seid 9229 * @note: btstack_type 1 9230 */ 9231 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 9232 return event[11]; 9233 } 9234 /** 9235 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9236 * @param event packet 9237 * @return remote_seid 9238 * @note: btstack_type 1 9239 */ 9240 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 9241 return event[12]; 9242 } 9243 /** 9244 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9245 * @param event packet 9246 * @return status 9247 * @note: btstack_type 1 9248 */ 9249 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 9250 return event[13]; 9251 } 9252 9253 /** 9254 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9255 * @param event packet 9256 * @return avdtp_cid 9257 * @note: btstack_type 2 9258 */ 9259 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 9260 return little_endian_read_16(event, 3); 9261 } 9262 /** 9263 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9264 * @param event packet 9265 * @return local_seid 9266 * @note: btstack_type 1 9267 */ 9268 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 9269 return event[5]; 9270 } 9271 9272 /** 9273 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9274 * @param event packet 9275 * @return avdtp_cid 9276 * @note: btstack_type 2 9277 */ 9278 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 9279 return little_endian_read_16(event, 3); 9280 } 9281 /** 9282 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9283 * @param event packet 9284 * @return local_seid 9285 * @note: btstack_type 1 9286 */ 9287 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9288 return event[5]; 9289 } 9290 /** 9291 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9292 * @param event packet 9293 * @return sequence_number 9294 * @note: btstack_type 2 9295 */ 9296 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 9297 return little_endian_read_16(event, 6); 9298 } 9299 9300 /** 9301 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 9302 * @param event packet 9303 * @return avdtp_cid 9304 * @note: btstack_type 2 9305 */ 9306 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 9307 return little_endian_read_16(event, 3); 9308 } 9309 9310 /** 9311 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9312 * @param event packet 9313 * @return avdtp_cid 9314 * @note: btstack_type 2 9315 */ 9316 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 9317 return little_endian_read_16(event, 3); 9318 } 9319 /** 9320 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9321 * @param event packet 9322 * @return local_seid 9323 * @note: btstack_type 1 9324 */ 9325 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 9326 return event[5]; 9327 } 9328 /** 9329 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9330 * @param event packet 9331 * @return delay_100us 9332 * @note: btstack_type 2 9333 */ 9334 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 9335 return little_endian_read_16(event, 6); 9336 } 9337 9338 /** 9339 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9340 * @param event packet 9341 * @return a2dp_cid 9342 * @note: btstack_type 2 9343 */ 9344 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 9345 return little_endian_read_16(event, 3); 9346 } 9347 /** 9348 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9349 * @param event packet 9350 * @return local_seid 9351 * @note: btstack_type 1 9352 */ 9353 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9354 return event[5]; 9355 } 9356 9357 /** 9358 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9359 * @param event packet 9360 * @return a2dp_cid 9361 * @note: btstack_type 2 9362 */ 9363 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 9364 return little_endian_read_16(event, 3); 9365 } 9366 /** 9367 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9368 * @param event packet 9369 * @return local_seid 9370 * @note: btstack_type 1 9371 */ 9372 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 9373 return event[5]; 9374 } 9375 /** 9376 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9377 * @param event packet 9378 * @return remote_seid 9379 * @note: btstack_type 1 9380 */ 9381 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 9382 return event[6]; 9383 } 9384 /** 9385 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9386 * @param event packet 9387 * @return reconfigure 9388 * @note: btstack_type 1 9389 */ 9390 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 9391 return event[7]; 9392 } 9393 /** 9394 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9395 * @param event packet 9396 * @return media_type 9397 * @note: btstack_type 1 9398 */ 9399 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 9400 return event[8]; 9401 } 9402 /** 9403 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9404 * @param event packet 9405 * @return sampling_frequency 9406 * @note: btstack_type 2 9407 */ 9408 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 9409 return little_endian_read_16(event, 9); 9410 } 9411 /** 9412 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9413 * @param event packet 9414 * @return channel_mode 9415 * @note: btstack_type 1 9416 */ 9417 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 9418 return event[11]; 9419 } 9420 /** 9421 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9422 * @param event packet 9423 * @return num_channels 9424 * @note: btstack_type 1 9425 */ 9426 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 9427 return event[12]; 9428 } 9429 /** 9430 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9431 * @param event packet 9432 * @return block_length 9433 * @note: btstack_type 1 9434 */ 9435 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 9436 return event[13]; 9437 } 9438 /** 9439 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9440 * @param event packet 9441 * @return subbands 9442 * @note: btstack_type 1 9443 */ 9444 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 9445 return event[14]; 9446 } 9447 /** 9448 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9449 * @param event packet 9450 * @return allocation_method 9451 * @note: btstack_type 1 9452 */ 9453 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 9454 return event[15]; 9455 } 9456 /** 9457 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9458 * @param event packet 9459 * @return min_bitpool_value 9460 * @note: btstack_type 1 9461 */ 9462 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 9463 return event[16]; 9464 } 9465 /** 9466 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9467 * @param event packet 9468 * @return max_bitpool_value 9469 * @note: btstack_type 1 9470 */ 9471 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 9472 return event[17]; 9473 } 9474 9475 /** 9476 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9477 * @param event packet 9478 * @return a2dp_cid 9479 * @note: btstack_type 2 9480 */ 9481 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_a2dp_cid(const uint8_t * event){ 9482 return little_endian_read_16(event, 3); 9483 } 9484 /** 9485 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9486 * @param event packet 9487 * @return local_seid 9488 * @note: btstack_type 1 9489 */ 9490 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 9491 return event[5]; 9492 } 9493 /** 9494 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9495 * @param event packet 9496 * @return remote_seid 9497 * @note: btstack_type 1 9498 */ 9499 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 9500 return event[6]; 9501 } 9502 /** 9503 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9504 * @param event packet 9505 * @return reconfigure 9506 * @note: btstack_type 1 9507 */ 9508 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 9509 return event[7]; 9510 } 9511 /** 9512 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9513 * @param event packet 9514 * @return media_type 9515 * @note: btstack_type 1 9516 */ 9517 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 9518 return event[8]; 9519 } 9520 /** 9521 * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9522 * @param event packet 9523 * @return layer 9524 * @note: btstack_type 1 9525 */ 9526 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 9527 return event[9]; 9528 } 9529 /** 9530 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9531 * @param event packet 9532 * @return crc 9533 * @note: btstack_type 1 9534 */ 9535 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 9536 return event[10]; 9537 } 9538 /** 9539 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9540 * @param event packet 9541 * @return channel_mode 9542 * @note: btstack_type 1 9543 */ 9544 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 9545 return event[11]; 9546 } 9547 /** 9548 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9549 * @param event packet 9550 * @return num_channels 9551 * @note: btstack_type 1 9552 */ 9553 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 9554 return event[12]; 9555 } 9556 /** 9557 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9558 * @param event packet 9559 * @return media_payload_format 9560 * @note: btstack_type 1 9561 */ 9562 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 9563 return event[13]; 9564 } 9565 /** 9566 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9567 * @param event packet 9568 * @return sampling_frequency 9569 * @note: btstack_type 2 9570 */ 9571 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 9572 return little_endian_read_16(event, 14); 9573 } 9574 /** 9575 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9576 * @param event packet 9577 * @return vbr 9578 * @note: btstack_type 1 9579 */ 9580 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 9581 return event[16]; 9582 } 9583 /** 9584 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9585 * @param event packet 9586 * @return bit_rate_index 9587 * @note: btstack_type 1 9588 */ 9589 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 9590 return event[17]; 9591 } 9592 9593 /** 9594 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9595 * @param event packet 9596 * @return a2dp_cid 9597 * @note: btstack_type 2 9598 */ 9599 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_a2dp_cid(const uint8_t * event){ 9600 return little_endian_read_16(event, 3); 9601 } 9602 /** 9603 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9604 * @param event packet 9605 * @return local_seid 9606 * @note: btstack_type 1 9607 */ 9608 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 9609 return event[5]; 9610 } 9611 /** 9612 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9613 * @param event packet 9614 * @return remote_seid 9615 * @note: btstack_type 1 9616 */ 9617 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 9618 return event[6]; 9619 } 9620 /** 9621 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9622 * @param event packet 9623 * @return reconfigure 9624 * @note: btstack_type 1 9625 */ 9626 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 9627 return event[7]; 9628 } 9629 /** 9630 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9631 * @param event packet 9632 * @return media_type 9633 * @note: btstack_type 1 9634 */ 9635 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 9636 return event[8]; 9637 } 9638 /** 9639 * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9640 * @param event packet 9641 * @return object_type 9642 * @note: btstack_type 1 9643 */ 9644 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 9645 return event[9]; 9646 } 9647 /** 9648 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9649 * @param event packet 9650 * @return sampling_frequency 9651 * @note: btstack_type 3 9652 */ 9653 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 9654 return little_endian_read_24(event, 10); 9655 } 9656 /** 9657 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9658 * @param event packet 9659 * @return num_channels 9660 * @note: btstack_type 1 9661 */ 9662 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9663 return event[13]; 9664 } 9665 /** 9666 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9667 * @param event packet 9668 * @return bit_rate 9669 * @note: btstack_type 3 9670 */ 9671 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9672 return little_endian_read_24(event, 14); 9673 } 9674 /** 9675 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9676 * @param event packet 9677 * @return vbr 9678 * @note: btstack_type 1 9679 */ 9680 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9681 return event[17]; 9682 } 9683 9684 /** 9685 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9686 * @param event packet 9687 * @return a2dp_cid 9688 * @note: btstack_type 2 9689 */ 9690 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_a2dp_cid(const uint8_t * event){ 9691 return little_endian_read_16(event, 3); 9692 } 9693 /** 9694 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9695 * @param event packet 9696 * @return local_seid 9697 * @note: btstack_type 1 9698 */ 9699 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9700 return event[5]; 9701 } 9702 /** 9703 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9704 * @param event packet 9705 * @return remote_seid 9706 * @note: btstack_type 1 9707 */ 9708 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9709 return event[6]; 9710 } 9711 /** 9712 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9713 * @param event packet 9714 * @return reconfigure 9715 * @note: btstack_type 1 9716 */ 9717 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9718 return event[7]; 9719 } 9720 /** 9721 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9722 * @param event packet 9723 * @return media_type 9724 * @note: btstack_type 1 9725 */ 9726 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9727 return event[8]; 9728 } 9729 /** 9730 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9731 * @param event packet 9732 * @return version 9733 * @note: btstack_type 1 9734 */ 9735 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9736 return event[9]; 9737 } 9738 /** 9739 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9740 * @param event packet 9741 * @return channel_mode 9742 * @note: btstack_type 1 9743 */ 9744 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9745 return event[10]; 9746 } 9747 /** 9748 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9749 * @param event packet 9750 * @return num_channels 9751 * @note: btstack_type 1 9752 */ 9753 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9754 return event[11]; 9755 } 9756 /** 9757 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9758 * @param event packet 9759 * @return sampling_frequency 9760 * @note: btstack_type 2 9761 */ 9762 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9763 return little_endian_read_16(event, 12); 9764 } 9765 /** 9766 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9767 * @param event packet 9768 * @return vbr 9769 * @note: btstack_type 1 9770 */ 9771 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9772 return event[14]; 9773 } 9774 /** 9775 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9776 * @param event packet 9777 * @return bit_rate_index 9778 * @note: btstack_type 1 9779 */ 9780 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9781 return event[15]; 9782 } 9783 /** 9784 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9785 * @param event packet 9786 * @return maximum_sul 9787 * @note: btstack_type 2 9788 */ 9789 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9790 return little_endian_read_16(event, 16); 9791 } 9792 9793 /** 9794 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9795 * @param event packet 9796 * @return a2dp_cid 9797 * @note: btstack_type 2 9798 */ 9799 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 9800 return little_endian_read_16(event, 3); 9801 } 9802 /** 9803 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9804 * @param event packet 9805 * @return local_seid 9806 * @note: btstack_type 1 9807 */ 9808 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9809 return event[5]; 9810 } 9811 /** 9812 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9813 * @param event packet 9814 * @return remote_seid 9815 * @note: btstack_type 1 9816 */ 9817 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9818 return event[6]; 9819 } 9820 /** 9821 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9822 * @param event packet 9823 * @return reconfigure 9824 * @note: btstack_type 1 9825 */ 9826 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9827 return event[7]; 9828 } 9829 /** 9830 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9831 * @param event packet 9832 * @return media_type 9833 * @note: btstack_type 1 9834 */ 9835 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9836 return event[8]; 9837 } 9838 /** 9839 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9840 * @param event packet 9841 * @return media_codec_type 9842 * @note: btstack_type 2 9843 */ 9844 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9845 return little_endian_read_16(event, 9); 9846 } 9847 /** 9848 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9849 * @param event packet 9850 * @return media_codec_information_len 9851 * @note: btstack_type L 9852 */ 9853 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9854 return little_endian_read_16(event, 11); 9855 } 9856 /** 9857 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9858 * @param event packet 9859 * @return media_codec_information 9860 * @note: btstack_type V 9861 */ 9862 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9863 return &event[13]; 9864 } 9865 9866 /** 9867 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9868 * @param event packet 9869 * @return a2dp_cid 9870 * @note: btstack_type 2 9871 */ 9872 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 9873 return little_endian_read_16(event, 3); 9874 } 9875 /** 9876 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9877 * @param event packet 9878 * @param Pointer to storage for bd_addr 9879 * @note: btstack_type B 9880 */ 9881 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9882 reverse_bytes(&event[5], bd_addr, 6); 9883 } 9884 /** 9885 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9886 * @param event packet 9887 * @return local_seid 9888 * @note: btstack_type 1 9889 */ 9890 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 9891 return event[11]; 9892 } 9893 /** 9894 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9895 * @param event packet 9896 * @return remote_seid 9897 * @note: btstack_type 1 9898 */ 9899 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 9900 return event[12]; 9901 } 9902 /** 9903 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9904 * @param event packet 9905 * @return status 9906 * @note: btstack_type 1 9907 */ 9908 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 9909 return event[13]; 9910 } 9911 9912 /** 9913 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9914 * @param event packet 9915 * @return a2dp_cid 9916 * @note: btstack_type 2 9917 */ 9918 static inline uint16_t a2dp_subevent_start_stream_requested_get_a2dp_cid(const uint8_t * event){ 9919 return little_endian_read_16(event, 3); 9920 } 9921 /** 9922 * @brief Get field local_seid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9923 * @param event packet 9924 * @return local_seid 9925 * @note: btstack_type 1 9926 */ 9927 static inline uint8_t a2dp_subevent_start_stream_requested_get_local_seid(const uint8_t * event){ 9928 return event[5]; 9929 } 9930 9931 /** 9932 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 9933 * @param event packet 9934 * @return a2dp_cid 9935 * @note: btstack_type 2 9936 */ 9937 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 9938 return little_endian_read_16(event, 3); 9939 } 9940 /** 9941 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 9942 * @param event packet 9943 * @return local_seid 9944 * @note: btstack_type 1 9945 */ 9946 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 9947 return event[5]; 9948 } 9949 9950 /** 9951 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9952 * @param event packet 9953 * @return a2dp_cid 9954 * @note: btstack_type 2 9955 */ 9956 static inline uint16_t a2dp_subevent_stream_suspended_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_SUSPENDED 9961 * @param event packet 9962 * @return local_seid 9963 * @note: btstack_type 1 9964 */ 9965 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 9966 return event[5]; 9967 } 9968 9969 /** 9970 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 9971 * @param event packet 9972 * @return a2dp_cid 9973 * @note: btstack_type 2 9974 */ 9975 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 9976 return little_endian_read_16(event, 3); 9977 } 9978 /** 9979 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 9980 * @param event packet 9981 * @return local_seid 9982 * @note: btstack_type 1 9983 */ 9984 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 9985 return event[5]; 9986 } 9987 9988 /** 9989 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 9990 * @param event packet 9991 * @return a2dp_cid 9992 * @note: btstack_type 2 9993 */ 9994 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 9995 return little_endian_read_16(event, 3); 9996 } 9997 /** 9998 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 9999 * @param event packet 10000 * @return local_seid 10001 * @note: btstack_type 1 10002 */ 10003 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 10004 return event[5]; 10005 } 10006 10007 /** 10008 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10009 * @param event packet 10010 * @return a2dp_cid 10011 * @note: btstack_type 2 10012 */ 10013 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 10014 return little_endian_read_16(event, 3); 10015 } 10016 /** 10017 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10018 * @param event packet 10019 * @return local_seid 10020 * @note: btstack_type 1 10021 */ 10022 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 10023 return event[5]; 10024 } 10025 /** 10026 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10027 * @param event packet 10028 * @return signal_identifier 10029 * @note: btstack_type 1 10030 */ 10031 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 10032 return event[6]; 10033 } 10034 10035 /** 10036 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 10037 * @param event packet 10038 * @return a2dp_cid 10039 * @note: btstack_type 2 10040 */ 10041 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 10042 return little_endian_read_16(event, 3); 10043 } 10044 /** 10045 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 10046 * @param event packet 10047 * @return local_seid 10048 * @note: btstack_type 1 10049 */ 10050 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 10051 return event[5]; 10052 } 10053 /** 10054 * @brief Get field is_initiator from event A2DP_SUBEVENT_COMMAND_REJECTED 10055 * @param event packet 10056 * @return is_initiator 10057 * @note: btstack_type 1 10058 */ 10059 static inline uint8_t a2dp_subevent_command_rejected_get_is_initiator(const uint8_t * event){ 10060 return event[6]; 10061 } 10062 /** 10063 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 10064 * @param event packet 10065 * @return signal_identifier 10066 * @note: btstack_type 1 10067 */ 10068 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 10069 return event[7]; 10070 } 10071 10072 /** 10073 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10074 * @param event packet 10075 * @return a2dp_cid 10076 * @note: btstack_type 2 10077 */ 10078 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 10079 return little_endian_read_16(event, 3); 10080 } 10081 /** 10082 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10083 * @param event packet 10084 * @param Pointer to storage for bd_addr 10085 * @note: btstack_type B 10086 */ 10087 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10088 reverse_bytes(&event[5], bd_addr, 6); 10089 } 10090 /** 10091 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10092 * @param event packet 10093 * @return con_handle 10094 * @note: btstack_type 2 10095 */ 10096 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 10097 return little_endian_read_16(event, 11); 10098 } 10099 /** 10100 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10101 * @param event packet 10102 * @return status 10103 * @note: btstack_type 1 10104 */ 10105 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 10106 return event[13]; 10107 } 10108 10109 /** 10110 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 10111 * @param event packet 10112 * @return a2dp_cid 10113 * @note: btstack_type 2 10114 */ 10115 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 10116 return little_endian_read_16(event, 3); 10117 } 10118 10119 /** 10120 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10121 * @param event packet 10122 * @return a2dp_cid 10123 * @note: btstack_type 2 10124 */ 10125 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 10126 return little_endian_read_16(event, 3); 10127 } 10128 /** 10129 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10130 * @param event packet 10131 * @return local_seid 10132 * @note: btstack_type 1 10133 */ 10134 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 10135 return event[5]; 10136 } 10137 /** 10138 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10139 * @param event packet 10140 * @return status 10141 * @note: btstack_type 1 10142 */ 10143 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 10144 return event[6]; 10145 } 10146 10147 /** 10148 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10149 * @param event packet 10150 * @return a2dp_cid 10151 * @note: btstack_type 2 10152 */ 10153 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_a2dp_cid(const uint8_t * event){ 10154 return little_endian_read_16(event, 3); 10155 } 10156 /** 10157 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10158 * @param event packet 10159 * @return remote_seid 10160 * @note: btstack_type 1 10161 */ 10162 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 10163 return event[5]; 10164 } 10165 /** 10166 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10167 * @param event packet 10168 * @return media_type 10169 * @note: btstack_type 1 10170 */ 10171 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 10172 return event[6]; 10173 } 10174 /** 10175 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10176 * @param event packet 10177 * @return sampling_frequency_bitmap 10178 * @note: btstack_type 1 10179 */ 10180 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10181 return event[7]; 10182 } 10183 /** 10184 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10185 * @param event packet 10186 * @return channel_mode_bitmap 10187 * @note: btstack_type 1 10188 */ 10189 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 10190 return event[8]; 10191 } 10192 /** 10193 * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10194 * @param event packet 10195 * @return block_length_bitmap 10196 * @note: btstack_type 1 10197 */ 10198 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 10199 return event[9]; 10200 } 10201 /** 10202 * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10203 * @param event packet 10204 * @return subbands_bitmap 10205 * @note: btstack_type 1 10206 */ 10207 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 10208 return event[10]; 10209 } 10210 /** 10211 * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10212 * @param event packet 10213 * @return allocation_method_bitmap 10214 * @note: btstack_type 1 10215 */ 10216 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 10217 return event[11]; 10218 } 10219 /** 10220 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10221 * @param event packet 10222 * @return min_bitpool_value 10223 * @note: btstack_type 1 10224 */ 10225 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 10226 return event[12]; 10227 } 10228 /** 10229 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10230 * @param event packet 10231 * @return max_bitpool_value 10232 * @note: btstack_type 1 10233 */ 10234 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 10235 return event[13]; 10236 } 10237 10238 /** 10239 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10240 * @param event packet 10241 * @return a2dp_cid 10242 * @note: btstack_type 2 10243 */ 10244 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_a2dp_cid(const uint8_t * event){ 10245 return little_endian_read_16(event, 3); 10246 } 10247 /** 10248 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10249 * @param event packet 10250 * @return remote_seid 10251 * @note: btstack_type 1 10252 */ 10253 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 10254 return event[5]; 10255 } 10256 /** 10257 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10258 * @param event packet 10259 * @return media_type 10260 * @note: btstack_type 1 10261 */ 10262 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 10263 return event[6]; 10264 } 10265 /** 10266 * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10267 * @param event packet 10268 * @return layer_bitmap 10269 * @note: btstack_type 1 10270 */ 10271 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 10272 return event[7]; 10273 } 10274 /** 10275 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10276 * @param event packet 10277 * @return crc 10278 * @note: btstack_type 1 10279 */ 10280 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 10281 return event[8]; 10282 } 10283 /** 10284 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10285 * @param event packet 10286 * @return channel_mode_bitmap 10287 * @note: btstack_type 1 10288 */ 10289 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 10290 return event[9]; 10291 } 10292 /** 10293 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10294 * @param event packet 10295 * @return media_payload_format 10296 * @note: btstack_type 1 10297 */ 10298 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 10299 return event[10]; 10300 } 10301 /** 10302 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10303 * @param event packet 10304 * @return sampling_frequency_bitmap 10305 * @note: btstack_type 1 10306 */ 10307 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10308 return event[11]; 10309 } 10310 /** 10311 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10312 * @param event packet 10313 * @return vbr 10314 * @note: btstack_type 1 10315 */ 10316 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 10317 return event[12]; 10318 } 10319 /** 10320 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10321 * @param event packet 10322 * @return bit_rate_index_bitmap 10323 * @note: btstack_type 2 10324 */ 10325 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10326 return little_endian_read_16(event, 13); 10327 } 10328 10329 /** 10330 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10331 * @param event packet 10332 * @return a2dp_cid 10333 * @note: btstack_type 2 10334 */ 10335 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_a2dp_cid(const uint8_t * event){ 10336 return little_endian_read_16(event, 3); 10337 } 10338 /** 10339 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10340 * @param event packet 10341 * @return remote_seid 10342 * @note: btstack_type 1 10343 */ 10344 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 10345 return event[5]; 10346 } 10347 /** 10348 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10349 * @param event packet 10350 * @return media_type 10351 * @note: btstack_type 1 10352 */ 10353 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 10354 return event[6]; 10355 } 10356 /** 10357 * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10358 * @param event packet 10359 * @return object_type_bitmap 10360 * @note: btstack_type 1 10361 */ 10362 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 10363 return event[7]; 10364 } 10365 /** 10366 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10367 * @param event packet 10368 * @return sampling_frequency_bitmap 10369 * @note: btstack_type 2 10370 */ 10371 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10372 return little_endian_read_16(event, 8); 10373 } 10374 /** 10375 * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10376 * @param event packet 10377 * @return channels_bitmap 10378 * @note: btstack_type 1 10379 */ 10380 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 10381 return event[10]; 10382 } 10383 /** 10384 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10385 * @param event packet 10386 * @return bit_rate 10387 * @note: btstack_type 3 10388 */ 10389 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 10390 return little_endian_read_24(event, 11); 10391 } 10392 /** 10393 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10394 * @param event packet 10395 * @return vbr 10396 * @note: btstack_type 1 10397 */ 10398 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 10399 return event[14]; 10400 } 10401 10402 /** 10403 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10404 * @param event packet 10405 * @return a2dp_cid 10406 * @note: btstack_type 2 10407 */ 10408 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_a2dp_cid(const uint8_t * event){ 10409 return little_endian_read_16(event, 3); 10410 } 10411 /** 10412 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10413 * @param event packet 10414 * @return remote_seid 10415 * @note: btstack_type 1 10416 */ 10417 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 10418 return event[5]; 10419 } 10420 /** 10421 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10422 * @param event packet 10423 * @return media_type 10424 * @note: btstack_type 1 10425 */ 10426 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 10427 return event[6]; 10428 } 10429 /** 10430 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10431 * @param event packet 10432 * @return version 10433 * @note: btstack_type 1 10434 */ 10435 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 10436 return event[7]; 10437 } 10438 /** 10439 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10440 * @param event packet 10441 * @return channel_mode_bitmap 10442 * @note: btstack_type 1 10443 */ 10444 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 10445 return event[8]; 10446 } 10447 /** 10448 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10449 * @param event packet 10450 * @return sampling_frequency_bitmap 10451 * @note: btstack_type 1 10452 */ 10453 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10454 return event[9]; 10455 } 10456 /** 10457 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10458 * @param event packet 10459 * @return vbr 10460 * @note: btstack_type 1 10461 */ 10462 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 10463 return event[10]; 10464 } 10465 /** 10466 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10467 * @param event packet 10468 * @return bit_rate_index_bitmap 10469 * @note: btstack_type 3 10470 */ 10471 static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10472 return little_endian_read_24(event, 11); 10473 } 10474 /** 10475 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10476 * @param event packet 10477 * @return maximum_sul 10478 * @note: btstack_type 2 10479 */ 10480 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 10481 return little_endian_read_16(event, 14); 10482 } 10483 10484 /** 10485 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10486 * @param event packet 10487 * @return a2dp_cid 10488 * @note: btstack_type 2 10489 */ 10490 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_a2dp_cid(const uint8_t * event){ 10491 return little_endian_read_16(event, 3); 10492 } 10493 /** 10494 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10495 * @param event packet 10496 * @return remote_seid 10497 * @note: btstack_type 1 10498 */ 10499 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 10500 return event[5]; 10501 } 10502 /** 10503 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10504 * @param event packet 10505 * @return media_type 10506 * @note: btstack_type 1 10507 */ 10508 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 10509 return event[6]; 10510 } 10511 /** 10512 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10513 * @param event packet 10514 * @return media_codec_type 10515 * @note: btstack_type 2 10516 */ 10517 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 10518 return little_endian_read_16(event, 7); 10519 } 10520 /** 10521 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10522 * @param event packet 10523 * @return media_codec_information_len 10524 * @note: btstack_type L 10525 */ 10526 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 10527 return little_endian_read_16(event, 9); 10528 } 10529 /** 10530 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10531 * @param event packet 10532 * @return media_codec_information 10533 * @note: btstack_type V 10534 */ 10535 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 10536 return &event[11]; 10537 } 10538 10539 /** 10540 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10541 * @param event packet 10542 * @return a2dp_cid 10543 * @note: btstack_type 2 10544 */ 10545 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_a2dp_cid(const uint8_t * event){ 10546 return little_endian_read_16(event, 3); 10547 } 10548 /** 10549 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10550 * @param event packet 10551 * @return remote_seid 10552 * @note: btstack_type 1 10553 */ 10554 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 10555 return event[5]; 10556 } 10557 10558 /** 10559 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10560 * @param event packet 10561 * @return a2dp_cid 10562 * @note: btstack_type 2 10563 */ 10564 static inline uint16_t a2dp_subevent_signaling_delay_report_get_a2dp_cid(const uint8_t * event){ 10565 return little_endian_read_16(event, 3); 10566 } 10567 /** 10568 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10569 * @param event packet 10570 * @return local_seid 10571 * @note: btstack_type 1 10572 */ 10573 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 10574 return event[5]; 10575 } 10576 /** 10577 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10578 * @param event packet 10579 * @return delay_100us 10580 * @note: btstack_type 2 10581 */ 10582 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 10583 return little_endian_read_16(event, 6); 10584 } 10585 10586 /** 10587 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10588 * @param event packet 10589 * @return a2dp_cid 10590 * @note: btstack_type 2 10591 */ 10592 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_a2dp_cid(const uint8_t * event){ 10593 return little_endian_read_16(event, 3); 10594 } 10595 /** 10596 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10597 * @param event packet 10598 * @return remote_seid 10599 * @note: btstack_type 1 10600 */ 10601 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 10602 return event[5]; 10603 } 10604 10605 /** 10606 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 10607 * @param event packet 10608 * @return a2dp_cid 10609 * @note: btstack_type 2 10610 */ 10611 static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_a2dp_cid(const uint8_t * event){ 10612 return little_endian_read_16(event, 3); 10613 } 10614 10615 /** 10616 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10617 * @param event packet 10618 * @return avrcp_cid 10619 * @note: btstack_type 2 10620 */ 10621 static inline uint16_t avrcp_subevent_notification_playback_status_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_PLAYBACK_STATUS_CHANGED 10626 * @param event packet 10627 * @return command_type 10628 * @note: btstack_type 1 10629 */ 10630 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 10631 return event[5]; 10632 } 10633 /** 10634 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10635 * @param event packet 10636 * @return play_status 10637 * @note: btstack_type 1 10638 */ 10639 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 10640 return event[6]; 10641 } 10642 10643 /** 10644 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10645 * @param event packet 10646 * @return avrcp_cid 10647 * @note: btstack_type 2 10648 */ 10649 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 10650 return little_endian_read_16(event, 3); 10651 } 10652 /** 10653 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10654 * @param event packet 10655 * @return command_type 10656 * @note: btstack_type 1 10657 */ 10658 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 10659 return event[5]; 10660 } 10661 10662 /** 10663 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10664 * @param event packet 10665 * @return avrcp_cid 10666 * @note: btstack_type 2 10667 */ 10668 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 10669 return little_endian_read_16(event, 3); 10670 } 10671 /** 10672 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10673 * @param event packet 10674 * @return command_type 10675 * @note: btstack_type 1 10676 */ 10677 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 10678 return event[5]; 10679 } 10680 10681 /** 10682 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10683 * @param event packet 10684 * @return avrcp_cid 10685 * @note: btstack_type 2 10686 */ 10687 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_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_EVENT_TRACK_REACHED_START 10692 * @param event packet 10693 * @return command_type 10694 * @note: btstack_type 1 10695 */ 10696 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 10697 return event[5]; 10698 } 10699 10700 /** 10701 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10702 * @param event packet 10703 * @return avrcp_cid 10704 * @note: btstack_type 2 10705 */ 10706 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 10707 return little_endian_read_16(event, 3); 10708 } 10709 /** 10710 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10711 * @param event packet 10712 * @return command_type 10713 * @note: btstack_type 1 10714 */ 10715 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 10716 return event[5]; 10717 } 10718 /** 10719 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10720 * @param event packet 10721 * @return playback_position 10722 * @note: btstack_type 4 10723 */ 10724 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 10725 return little_endian_read_32(event, 6); 10726 } 10727 10728 /** 10729 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10730 * @param event packet 10731 * @return avrcp_cid 10732 * @note: btstack_type 2 10733 */ 10734 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 10735 return little_endian_read_16(event, 3); 10736 } 10737 /** 10738 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10739 * @param event packet 10740 * @return command_type 10741 * @note: btstack_type 1 10742 */ 10743 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 10744 return event[5]; 10745 } 10746 /** 10747 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10748 * @param event packet 10749 * @return battery_status 10750 * @note: btstack_type 1 10751 */ 10752 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 10753 return event[6]; 10754 } 10755 10756 /** 10757 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10758 * @param event packet 10759 * @return avrcp_cid 10760 * @note: btstack_type 2 10761 */ 10762 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 10763 return little_endian_read_16(event, 3); 10764 } 10765 /** 10766 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10767 * @param event packet 10768 * @return command_type 10769 * @note: btstack_type 1 10770 */ 10771 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 10772 return event[5]; 10773 } 10774 /** 10775 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10776 * @param event packet 10777 * @return system_status 10778 * @note: btstack_type 1 10779 */ 10780 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 10781 return event[6]; 10782 } 10783 10784 /** 10785 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10786 * @param event packet 10787 * @return avrcp_cid 10788 * @note: btstack_type 2 10789 */ 10790 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 10791 return little_endian_read_16(event, 3); 10792 } 10793 /** 10794 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10795 * @param event packet 10796 * @return command_type 10797 * @note: btstack_type 1 10798 */ 10799 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 10800 return event[5]; 10801 } 10802 10803 /** 10804 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10805 * @param event packet 10806 * @return avrcp_cid 10807 * @note: btstack_type 2 10808 */ 10809 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 10810 return little_endian_read_16(event, 3); 10811 } 10812 /** 10813 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10814 * @param event packet 10815 * @return command_type 10816 * @note: btstack_type 1 10817 */ 10818 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 10819 return event[5]; 10820 } 10821 10822 /** 10823 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10824 * @param event packet 10825 * @return avrcp_cid 10826 * @note: btstack_type 2 10827 */ 10828 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 10829 return little_endian_read_16(event, 3); 10830 } 10831 /** 10832 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10833 * @param event packet 10834 * @return command_type 10835 * @note: btstack_type 1 10836 */ 10837 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 10838 return event[5]; 10839 } 10840 /** 10841 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10842 * @param event packet 10843 * @return uid_counter 10844 * @note: btstack_type 2 10845 */ 10846 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 10847 return little_endian_read_16(event, 6); 10848 } 10849 10850 /** 10851 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10852 * @param event packet 10853 * @return avrcp_cid 10854 * @note: btstack_type 2 10855 */ 10856 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 10857 return little_endian_read_16(event, 3); 10858 } 10859 /** 10860 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10861 * @param event packet 10862 * @return command_type 10863 * @note: btstack_type 1 10864 */ 10865 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 10866 return event[5]; 10867 } 10868 /** 10869 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10870 * @param event packet 10871 * @return absolute_volume 10872 * @note: btstack_type 1 10873 */ 10874 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 10875 return event[6]; 10876 } 10877 10878 /** 10879 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10880 * @param event packet 10881 * @return avrcp_cid 10882 * @note: btstack_type 2 10883 */ 10884 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 10885 return little_endian_read_16(event, 3); 10886 } 10887 /** 10888 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10889 * @param event packet 10890 * @return command_type 10891 * @note: btstack_type 1 10892 */ 10893 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 10894 return event[5]; 10895 } 10896 /** 10897 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10898 * @param event packet 10899 * @return absolute_volume 10900 * @note: btstack_type 1 10901 */ 10902 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 10903 return event[6]; 10904 } 10905 10906 /** 10907 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10908 * @param event packet 10909 * @return avrcp_cid 10910 * @note: btstack_type 2 10911 */ 10912 static inline uint16_t avrcp_subevent_notification_state_get_avrcp_cid(const uint8_t * event){ 10913 return little_endian_read_16(event, 3); 10914 } 10915 /** 10916 * @brief Get field status from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10917 * @param event packet 10918 * @return status 10919 * @note: btstack_type 1 10920 */ 10921 static inline uint8_t avrcp_subevent_notification_state_get_status(const uint8_t * event){ 10922 return event[5]; 10923 } 10924 /** 10925 * @brief Get field enabled from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10926 * @param event packet 10927 * @return enabled 10928 * @note: btstack_type 1 10929 */ 10930 static inline uint8_t avrcp_subevent_notification_state_get_enabled(const uint8_t * event){ 10931 return event[6]; 10932 } 10933 /** 10934 * @brief Get field event_id from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10935 * @param event packet 10936 * @return event_id 10937 * @note: btstack_type 1 10938 */ 10939 static inline uint8_t avrcp_subevent_notification_state_get_event_id(const uint8_t * event){ 10940 return event[7]; 10941 } 10942 10943 /** 10944 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10945 * @param event packet 10946 * @return status 10947 * @note: btstack_type 1 10948 */ 10949 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 10950 return event[3]; 10951 } 10952 /** 10953 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10954 * @param event packet 10955 * @return avrcp_cid 10956 * @note: btstack_type 2 10957 */ 10958 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 10959 return little_endian_read_16(event, 4); 10960 } 10961 /** 10962 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10963 * @param event packet 10964 * @param Pointer to storage for bd_addr 10965 * @note: btstack_type B 10966 */ 10967 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10968 reverse_bytes(&event[6], bd_addr, 6); 10969 } 10970 /** 10971 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10972 * @param event packet 10973 * @return con_handle 10974 * @note: btstack_type 2 10975 */ 10976 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 10977 return little_endian_read_16(event, 12); 10978 } 10979 10980 /** 10981 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 10982 * @param event packet 10983 * @return avrcp_cid 10984 * @note: btstack_type 2 10985 */ 10986 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 10987 return little_endian_read_16(event, 3); 10988 } 10989 10990 /** 10991 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10992 * @param event packet 10993 * @return avrcp_cid 10994 * @note: btstack_type 2 10995 */ 10996 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 10997 return little_endian_read_16(event, 3); 10998 } 10999 /** 11000 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11001 * @param event packet 11002 * @return command_type 11003 * @note: btstack_type 1 11004 */ 11005 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 11006 return event[5]; 11007 } 11008 /** 11009 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11010 * @param event packet 11011 * @return repeat_mode 11012 * @note: btstack_type 1 11013 */ 11014 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 11015 return event[6]; 11016 } 11017 /** 11018 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11019 * @param event packet 11020 * @return shuffle_mode 11021 * @note: btstack_type 1 11022 */ 11023 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 11024 return event[7]; 11025 } 11026 11027 /** 11028 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 11029 * @param event packet 11030 * @return avrcp_cid 11031 * @note: btstack_type 2 11032 */ 11033 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 11034 return little_endian_read_16(event, 3); 11035 } 11036 /** 11037 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 11038 * @param event packet 11039 * @return command_type 11040 * @note: btstack_type 1 11041 */ 11042 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 11043 return event[5]; 11044 } 11045 /** 11046 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 11047 * @param event packet 11048 * @return song_length 11049 * @note: btstack_type 4 11050 */ 11051 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 11052 return little_endian_read_32(event, 6); 11053 } 11054 /** 11055 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 11056 * @param event packet 11057 * @return song_position 11058 * @note: btstack_type 4 11059 */ 11060 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 11061 return little_endian_read_32(event, 10); 11062 } 11063 /** 11064 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 11065 * @param event packet 11066 * @return play_status 11067 * @note: btstack_type 1 11068 */ 11069 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 11070 return event[14]; 11071 } 11072 11073 /** 11074 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 11075 * @param event packet 11076 * @return avrcp_cid 11077 * @note: btstack_type 2 11078 */ 11079 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 11080 return little_endian_read_16(event, 3); 11081 } 11082 /** 11083 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 11084 * @param event packet 11085 * @return command_type 11086 * @note: btstack_type 1 11087 */ 11088 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 11089 return event[5]; 11090 } 11091 /** 11092 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 11093 * @param event packet 11094 * @return operation_id 11095 * @note: btstack_type 1 11096 */ 11097 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 11098 return event[6]; 11099 } 11100 11101 /** 11102 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11103 * @param event packet 11104 * @return avrcp_cid 11105 * @note: btstack_type 2 11106 */ 11107 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 11108 return little_endian_read_16(event, 3); 11109 } 11110 /** 11111 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11112 * @param event packet 11113 * @return command_type 11114 * @note: btstack_type 1 11115 */ 11116 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 11117 return event[5]; 11118 } 11119 /** 11120 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11121 * @param event packet 11122 * @return operation_id 11123 * @note: btstack_type 1 11124 */ 11125 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 11126 return event[6]; 11127 } 11128 11129 /** 11130 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 11131 * @param event packet 11132 * @return avrcp_cid 11133 * @note: btstack_type 2 11134 */ 11135 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 11136 return little_endian_read_16(event, 3); 11137 } 11138 /** 11139 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 11140 * @param event packet 11141 * @return command_type 11142 * @note: btstack_type 1 11143 */ 11144 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 11145 return event[5]; 11146 } 11147 11148 /** 11149 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 11150 * @param event packet 11151 * @return avrcp_cid 11152 * @note: btstack_type 2 11153 */ 11154 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 11155 return little_endian_read_16(event, 3); 11156 } 11157 11158 /** 11159 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 11160 * @param event packet 11161 * @return avrcp_cid 11162 * @note: btstack_type 2 11163 */ 11164 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 11165 return little_endian_read_16(event, 3); 11166 } 11167 /** 11168 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 11169 * @param event packet 11170 * @return operation_id 11171 * @note: btstack_type 1 11172 */ 11173 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 11174 return event[5]; 11175 } 11176 /** 11177 * @brief Get field button_pressed from event AVRCP_SUBEVENT_OPERATION 11178 * @param event packet 11179 * @return button_pressed 11180 * @note: btstack_type 1 11181 */ 11182 static inline uint8_t avrcp_subevent_operation_get_button_pressed(const uint8_t * event){ 11183 return event[6]; 11184 } 11185 /** 11186 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 11187 * @param event packet 11188 * @return operands_length 11189 * @note: btstack_type 1 11190 */ 11191 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 11192 return event[7]; 11193 } 11194 /** 11195 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 11196 * @param event packet 11197 * @return operand 11198 * @note: btstack_type 1 11199 */ 11200 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 11201 return event[8]; 11202 } 11203 11204 /** 11205 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11206 * @param event packet 11207 * @return avrcp_cid 11208 * @note: btstack_type 2 11209 */ 11210 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 11211 return little_endian_read_16(event, 3); 11212 } 11213 /** 11214 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11215 * @param event packet 11216 * @return command_type 11217 * @note: btstack_type 1 11218 */ 11219 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 11220 return event[5]; 11221 } 11222 /** 11223 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11224 * @param event packet 11225 * @return track 11226 * @note: btstack_type 1 11227 */ 11228 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 11229 return event[6]; 11230 } 11231 11232 /** 11233 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11234 * @param event packet 11235 * @return avrcp_cid 11236 * @note: btstack_type 2 11237 */ 11238 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 11239 return little_endian_read_16(event, 3); 11240 } 11241 /** 11242 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11243 * @param event packet 11244 * @return command_type 11245 * @note: btstack_type 1 11246 */ 11247 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 11248 return event[5]; 11249 } 11250 /** 11251 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11252 * @param event packet 11253 * @return total_tracks 11254 * @note: btstack_type 1 11255 */ 11256 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 11257 return event[6]; 11258 } 11259 11260 /** 11261 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11262 * @param event packet 11263 * @return avrcp_cid 11264 * @note: btstack_type 2 11265 */ 11266 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 11267 return little_endian_read_16(event, 3); 11268 } 11269 /** 11270 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11271 * @param event packet 11272 * @return command_type 11273 * @note: btstack_type 1 11274 */ 11275 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 11276 return event[5]; 11277 } 11278 /** 11279 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11280 * @param event packet 11281 * @return song_length 11282 * @note: btstack_type 4 11283 */ 11284 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 11285 return little_endian_read_32(event, 6); 11286 } 11287 11288 /** 11289 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11290 * @param event packet 11291 * @return avrcp_cid 11292 * @note: btstack_type 2 11293 */ 11294 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 11295 return little_endian_read_16(event, 3); 11296 } 11297 /** 11298 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11299 * @param event packet 11300 * @return command_type 11301 * @note: btstack_type 1 11302 */ 11303 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 11304 return event[5]; 11305 } 11306 /** 11307 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11308 * @param event packet 11309 * @return value_len 11310 * @note: btstack_type J 11311 */ 11312 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 11313 return event[6]; 11314 } 11315 /** 11316 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11317 * @param event packet 11318 * @return value 11319 * @note: btstack_type V 11320 */ 11321 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 11322 return &event[7]; 11323 } 11324 11325 /** 11326 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11327 * @param event packet 11328 * @return avrcp_cid 11329 * @note: btstack_type 2 11330 */ 11331 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 11332 return little_endian_read_16(event, 3); 11333 } 11334 /** 11335 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11336 * @param event packet 11337 * @return command_type 11338 * @note: btstack_type 1 11339 */ 11340 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 11341 return event[5]; 11342 } 11343 /** 11344 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11345 * @param event packet 11346 * @return value_len 11347 * @note: btstack_type J 11348 */ 11349 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 11350 return event[6]; 11351 } 11352 /** 11353 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11354 * @param event packet 11355 * @return value 11356 * @note: btstack_type V 11357 */ 11358 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 11359 return &event[7]; 11360 } 11361 11362 /** 11363 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11364 * @param event packet 11365 * @return avrcp_cid 11366 * @note: btstack_type 2 11367 */ 11368 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 11369 return little_endian_read_16(event, 3); 11370 } 11371 /** 11372 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11373 * @param event packet 11374 * @return command_type 11375 * @note: btstack_type 1 11376 */ 11377 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 11378 return event[5]; 11379 } 11380 /** 11381 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11382 * @param event packet 11383 * @return value_len 11384 * @note: btstack_type J 11385 */ 11386 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 11387 return event[6]; 11388 } 11389 /** 11390 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11391 * @param event packet 11392 * @return value 11393 * @note: btstack_type V 11394 */ 11395 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 11396 return &event[7]; 11397 } 11398 11399 /** 11400 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11401 * @param event packet 11402 * @return avrcp_cid 11403 * @note: btstack_type 2 11404 */ 11405 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 11406 return little_endian_read_16(event, 3); 11407 } 11408 /** 11409 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11410 * @param event packet 11411 * @return command_type 11412 * @note: btstack_type 1 11413 */ 11414 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 11415 return event[5]; 11416 } 11417 /** 11418 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11419 * @param event packet 11420 * @return value_len 11421 * @note: btstack_type J 11422 */ 11423 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 11424 return event[6]; 11425 } 11426 /** 11427 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11428 * @param event packet 11429 * @return value 11430 * @note: btstack_type V 11431 */ 11432 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 11433 return &event[7]; 11434 } 11435 11436 /** 11437 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11438 * @param event packet 11439 * @return avrcp_cid 11440 * @note: btstack_type 2 11441 */ 11442 static inline uint16_t avrcp_subevent_now_playing_cover_art_info_get_avrcp_cid(const uint8_t * event){ 11443 return little_endian_read_16(event, 3); 11444 } 11445 /** 11446 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11447 * @param event packet 11448 * @return command_type 11449 * @note: btstack_type 1 11450 */ 11451 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_command_type(const uint8_t * event){ 11452 return event[5]; 11453 } 11454 /** 11455 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11456 * @param event packet 11457 * @return value_len 11458 * @note: btstack_type J 11459 */ 11460 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_value_len(const uint8_t * event){ 11461 return event[6]; 11462 } 11463 /** 11464 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11465 * @param event packet 11466 * @return value 11467 * @note: btstack_type V 11468 */ 11469 static inline const uint8_t * avrcp_subevent_now_playing_cover_art_info_get_value(const uint8_t * event){ 11470 return &event[7]; 11471 } 11472 11473 /** 11474 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11475 * @param event packet 11476 * @return avrcp_cid 11477 * @note: btstack_type 2 11478 */ 11479 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 11480 return little_endian_read_16(event, 3); 11481 } 11482 /** 11483 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11484 * @param event packet 11485 * @return command_type 11486 * @note: btstack_type 1 11487 */ 11488 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 11489 return event[5]; 11490 } 11491 /** 11492 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11493 * @param event packet 11494 * @return status 11495 * @note: btstack_type 1 11496 */ 11497 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 11498 return event[6]; 11499 } 11500 11501 /** 11502 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11503 * @param event packet 11504 * @return avrcp_cid 11505 * @note: btstack_type 2 11506 */ 11507 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 11508 return little_endian_read_16(event, 3); 11509 } 11510 /** 11511 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11512 * @param event packet 11513 * @return command_type 11514 * @note: btstack_type 1 11515 */ 11516 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 11517 return event[5]; 11518 } 11519 /** 11520 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11521 * @param event packet 11522 * @return playback_position_ms 11523 * @note: btstack_type 4 11524 */ 11525 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 11526 return little_endian_read_32(event, 6); 11527 } 11528 11529 /** 11530 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11531 * @param event packet 11532 * @return avrcp_cid 11533 * @note: btstack_type 2 11534 */ 11535 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 11536 return little_endian_read_16(event, 3); 11537 } 11538 /** 11539 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11540 * @param event packet 11541 * @return command_type 11542 * @note: btstack_type 1 11543 */ 11544 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 11545 return event[5]; 11546 } 11547 /** 11548 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11549 * @param event packet 11550 * @return status 11551 * @note: btstack_type 1 11552 */ 11553 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 11554 return event[6]; 11555 } 11556 /** 11557 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11558 * @param event packet 11559 * @return event_id 11560 * @note: btstack_type 1 11561 */ 11562 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 11563 return event[7]; 11564 } 11565 11566 /** 11567 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11568 * @param event packet 11569 * @return avrcp_cid 11570 * @note: btstack_type 2 11571 */ 11572 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){ 11573 return little_endian_read_16(event, 3); 11574 } 11575 /** 11576 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11577 * @param event packet 11578 * @return command_type 11579 * @note: btstack_type 1 11580 */ 11581 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 11582 return event[5]; 11583 } 11584 /** 11585 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11586 * @param event packet 11587 * @return status 11588 * @note: btstack_type 1 11589 */ 11590 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 11591 return event[6]; 11592 } 11593 11594 /** 11595 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11596 * @param event packet 11597 * @return avrcp_cid 11598 * @note: btstack_type 2 11599 */ 11600 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 11601 return little_endian_read_16(event, 3); 11602 } 11603 /** 11604 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11605 * @param event packet 11606 * @return command_type 11607 * @note: btstack_type 1 11608 */ 11609 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 11610 return event[5]; 11611 } 11612 /** 11613 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11614 * @param event packet 11615 * @return status 11616 * @note: btstack_type 1 11617 */ 11618 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 11619 return event[6]; 11620 } 11621 /** 11622 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11623 * @param event packet 11624 * @return company_id 11625 * @note: btstack_type 3 11626 */ 11627 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 11628 return little_endian_read_24(event, 7); 11629 } 11630 11631 /** 11632 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11633 * @param event packet 11634 * @return avrcp_cid 11635 * @note: btstack_type 2 11636 */ 11637 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){ 11638 return little_endian_read_16(event, 3); 11639 } 11640 /** 11641 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11642 * @param event packet 11643 * @return command_type 11644 * @note: btstack_type 1 11645 */ 11646 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 11647 return event[5]; 11648 } 11649 /** 11650 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11651 * @param event packet 11652 * @return status 11653 * @note: btstack_type 1 11654 */ 11655 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 11656 return event[6]; 11657 } 11658 11659 /** 11660 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11661 * @param event packet 11662 * @return avrcp_cid 11663 * @note: btstack_type 2 11664 */ 11665 static inline uint16_t avrcp_subevent_custom_command_response_get_avrcp_cid(const uint8_t * event){ 11666 return little_endian_read_16(event, 3); 11667 } 11668 /** 11669 * @brief Get field command_type from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11670 * @param event packet 11671 * @return command_type 11672 * @note: btstack_type 1 11673 */ 11674 static inline uint8_t avrcp_subevent_custom_command_response_get_command_type(const uint8_t * event){ 11675 return event[5]; 11676 } 11677 /** 11678 * @brief Get field pdu_id from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11679 * @param event packet 11680 * @return pdu_id 11681 * @note: btstack_type 1 11682 */ 11683 static inline uint8_t avrcp_subevent_custom_command_response_get_pdu_id(const uint8_t * event){ 11684 return event[6]; 11685 } 11686 /** 11687 * @brief Get field params_len from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11688 * @param event packet 11689 * @return params_len 11690 * @note: btstack_type L 11691 */ 11692 static inline uint16_t avrcp_subevent_custom_command_response_get_params_len(const uint8_t * event){ 11693 return little_endian_read_16(event, 7); 11694 } 11695 /** 11696 * @brief Get field params from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11697 * @param event packet 11698 * @return params 11699 * @note: btstack_type V 11700 */ 11701 static inline const uint8_t * avrcp_subevent_custom_command_response_get_params(const uint8_t * event){ 11702 return &event[9]; 11703 } 11704 11705 /** 11706 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11707 * @param event packet 11708 * @param Pointer to storage for bd_addr 11709 * @note: btstack_type B 11710 */ 11711 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11712 reverse_bytes(&event[3], bd_addr, 6); 11713 } 11714 /** 11715 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11716 * @param event packet 11717 * @return browsing_cid 11718 * @note: btstack_type 2 11719 */ 11720 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 11721 return little_endian_read_16(event, 9); 11722 } 11723 11724 /** 11725 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11726 * @param event packet 11727 * @return status 11728 * @note: btstack_type 1 11729 */ 11730 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 11731 return event[3]; 11732 } 11733 /** 11734 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11735 * @param event packet 11736 * @param Pointer to storage for bd_addr 11737 * @note: btstack_type B 11738 */ 11739 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11740 reverse_bytes(&event[4], bd_addr, 6); 11741 } 11742 /** 11743 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11744 * @param event packet 11745 * @return browsing_cid 11746 * @note: btstack_type 2 11747 */ 11748 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 11749 return little_endian_read_16(event, 10); 11750 } 11751 11752 /** 11753 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 11754 * @param event packet 11755 * @return browsing_cid 11756 * @note: btstack_type 2 11757 */ 11758 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 11759 return little_endian_read_16(event, 3); 11760 } 11761 11762 /** 11763 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 11764 * @param event packet 11765 * @return browsing_cid 11766 * @note: btstack_type 2 11767 */ 11768 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 11769 return little_endian_read_16(event, 3); 11770 } 11771 /** 11772 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 11773 * @param event packet 11774 * @return uid_counter 11775 * @note: btstack_type 2 11776 */ 11777 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 11778 return little_endian_read_16(event, 5); 11779 } 11780 /** 11781 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 11782 * @param event packet 11783 * @return browsing_status 11784 * @note: btstack_type 1 11785 */ 11786 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 11787 return event[7]; 11788 } 11789 /** 11790 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 11791 * @param event packet 11792 * @return bluetooth_status 11793 * @note: btstack_type 1 11794 */ 11795 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 11796 return event[8]; 11797 } 11798 11799 /** 11800 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11801 * @param event packet 11802 * @return browsing_cid 11803 * @note: btstack_type 2 11804 */ 11805 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 11806 return little_endian_read_16(event, 3); 11807 } 11808 /** 11809 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11810 * @param event packet 11811 * @return scope 11812 * @note: btstack_type 1 11813 */ 11814 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 11815 return event[5]; 11816 } 11817 /** 11818 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11819 * @param event packet 11820 * @return attr_bitmap 11821 * @note: btstack_type 4 11822 */ 11823 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 11824 return little_endian_read_32(event, 6); 11825 } 11826 11827 /** 11828 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11829 * @param event packet 11830 * @return browsing_cid 11831 * @note: btstack_type 2 11832 */ 11833 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 11834 return little_endian_read_16(event, 3); 11835 } 11836 /** 11837 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11838 * @param event packet 11839 * @return scope 11840 * @note: btstack_type 1 11841 */ 11842 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 11843 return event[5]; 11844 } 11845 11846 /** 11847 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11848 * @param event packet 11849 * @return browsing_cid 11850 * @note: btstack_type 2 11851 */ 11852 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_browsing_cid(const uint8_t * event){ 11853 return little_endian_read_16(event, 3); 11854 } 11855 /** 11856 * @brief Get field player_id from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11857 * @param event packet 11858 * @return player_id 11859 * @note: btstack_type 2 11860 */ 11861 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_player_id(const uint8_t * event){ 11862 return little_endian_read_16(event, 5); 11863 } 11864 11865 /** 11866 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11867 * @param event packet 11868 * @return status 11869 * @note: btstack_type 1 11870 */ 11871 static inline uint8_t avrcp_subevent_cover_art_connection_established_get_status(const uint8_t * event){ 11872 return event[3]; 11873 } 11874 /** 11875 * @brief Get field bd_addr from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11876 * @param event packet 11877 * @param Pointer to storage for bd_addr 11878 * @note: btstack_type B 11879 */ 11880 static inline void avrcp_subevent_cover_art_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11881 reverse_bytes(&event[4], bd_addr, 6); 11882 } 11883 /** 11884 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11885 * @param event packet 11886 * @return avrcp_cid 11887 * @note: btstack_type 2 11888 */ 11889 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_avrcp_cid(const uint8_t * event){ 11890 return little_endian_read_16(event, 10); 11891 } 11892 /** 11893 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11894 * @param event packet 11895 * @return cover_art_cid 11896 * @note: btstack_type 2 11897 */ 11898 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_cover_art_cid(const uint8_t * event){ 11899 return little_endian_read_16(event, 12); 11900 } 11901 11902 /** 11903 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11904 * @param event packet 11905 * @return cover_art_cid 11906 * @note: btstack_type 2 11907 */ 11908 static inline uint16_t avrcp_subevent_cover_art_operation_complete_get_cover_art_cid(const uint8_t * event){ 11909 return little_endian_read_16(event, 3); 11910 } 11911 /** 11912 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11913 * @param event packet 11914 * @return status 11915 * @note: btstack_type 1 11916 */ 11917 static inline uint8_t avrcp_subevent_cover_art_operation_complete_get_status(const uint8_t * event){ 11918 return event[5]; 11919 } 11920 11921 /** 11922 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_RELEASED 11923 * @param event packet 11924 * @return cover_art_cid 11925 * @note: btstack_type 2 11926 */ 11927 static inline uint16_t avrcp_subevent_cover_art_connection_released_get_cover_art_cid(const uint8_t * event){ 11928 return little_endian_read_16(event, 3); 11929 } 11930 11931 /** 11932 * @brief Get field goep_cid from event GOEP_SUBEVENT_INCOMING_CONNECTION 11933 * @param event packet 11934 * @return goep_cid 11935 * @note: btstack_type 2 11936 */ 11937 static inline uint16_t goep_subevent_incoming_connection_get_goep_cid(const uint8_t * event){ 11938 return little_endian_read_16(event, 3); 11939 } 11940 /** 11941 * @brief Get field address from event GOEP_SUBEVENT_INCOMING_CONNECTION 11942 * @param event packet 11943 * @param Pointer to storage for address 11944 * @note: btstack_type B 11945 */ 11946 static inline void goep_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 11947 reverse_bytes(&event[5], address, 6); 11948 } 11949 /** 11950 * @brief Get field handle from event GOEP_SUBEVENT_INCOMING_CONNECTION 11951 * @param event packet 11952 * @return handle 11953 * @note: btstack_type H 11954 */ 11955 static inline hci_con_handle_t goep_subevent_incoming_connection_get_handle(const uint8_t * event){ 11956 return little_endian_read_16(event, 11); 11957 } 11958 11959 /** 11960 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 11961 * @param event packet 11962 * @return goep_cid 11963 * @note: btstack_type 2 11964 */ 11965 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 11966 return little_endian_read_16(event, 3); 11967 } 11968 /** 11969 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 11970 * @param event packet 11971 * @return status 11972 * @note: btstack_type 1 11973 */ 11974 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 11975 return event[5]; 11976 } 11977 /** 11978 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 11979 * @param event packet 11980 * @param Pointer to storage for bd_addr 11981 * @note: btstack_type B 11982 */ 11983 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11984 reverse_bytes(&event[6], bd_addr, 6); 11985 } 11986 /** 11987 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 11988 * @param event packet 11989 * @return con_handle 11990 * @note: btstack_type H 11991 */ 11992 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 11993 return little_endian_read_16(event, 12); 11994 } 11995 /** 11996 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 11997 * @param event packet 11998 * @return incoming 11999 * @note: btstack_type 1 12000 */ 12001 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 12002 return event[14]; 12003 } 12004 12005 /** 12006 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 12007 * @param event packet 12008 * @return goep_cid 12009 * @note: btstack_type 2 12010 */ 12011 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 12012 return little_endian_read_16(event, 3); 12013 } 12014 12015 /** 12016 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 12017 * @param event packet 12018 * @return goep_cid 12019 * @note: btstack_type 2 12020 */ 12021 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 12022 return little_endian_read_16(event, 3); 12023 } 12024 12025 /** 12026 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 12027 * @param event packet 12028 * @return pbap_cid 12029 * @note: btstack_type 2 12030 */ 12031 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 12032 return little_endian_read_16(event, 3); 12033 } 12034 /** 12035 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 12036 * @param event packet 12037 * @return status 12038 * @note: btstack_type 1 12039 */ 12040 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 12041 return event[5]; 12042 } 12043 /** 12044 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 12045 * @param event packet 12046 * @param Pointer to storage for bd_addr 12047 * @note: btstack_type B 12048 */ 12049 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12050 reverse_bytes(&event[6], bd_addr, 6); 12051 } 12052 /** 12053 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 12054 * @param event packet 12055 * @return con_handle 12056 * @note: btstack_type H 12057 */ 12058 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12059 return little_endian_read_16(event, 12); 12060 } 12061 /** 12062 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 12063 * @param event packet 12064 * @return incoming 12065 * @note: btstack_type 1 12066 */ 12067 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 12068 return event[14]; 12069 } 12070 12071 /** 12072 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 12073 * @param event packet 12074 * @return goep_cid 12075 * @note: btstack_type 2 12076 */ 12077 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 12078 return little_endian_read_16(event, 3); 12079 } 12080 12081 /** 12082 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 12083 * @param event packet 12084 * @return goep_cid 12085 * @note: btstack_type 2 12086 */ 12087 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 12088 return little_endian_read_16(event, 3); 12089 } 12090 /** 12091 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 12092 * @param event packet 12093 * @return status 12094 * @note: btstack_type 1 12095 */ 12096 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 12097 return event[5]; 12098 } 12099 12100 /** 12101 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12102 * @param event packet 12103 * @return goep_cid 12104 * @note: btstack_type 2 12105 */ 12106 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 12107 return little_endian_read_16(event, 3); 12108 } 12109 /** 12110 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12111 * @param event packet 12112 * @return status 12113 * @note: btstack_type 1 12114 */ 12115 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 12116 return event[5]; 12117 } 12118 /** 12119 * @brief Get field phonebook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12120 * @param event packet 12121 * @return phonebook_size 12122 * @note: btstack_type 2 12123 */ 12124 static inline uint16_t pbap_subevent_phonebook_size_get_phonebook_size(const uint8_t * event){ 12125 return little_endian_read_16(event, 6); 12126 } 12127 12128 /** 12129 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12130 * @param event packet 12131 * @return goep_cid 12132 * @note: btstack_type 2 12133 */ 12134 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 12135 return little_endian_read_16(event, 3); 12136 } 12137 /** 12138 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12139 * @param event packet 12140 * @return user_id_required 12141 * @note: btstack_type 1 12142 */ 12143 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 12144 return event[5]; 12145 } 12146 /** 12147 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12148 * @param event packet 12149 * @return full_access 12150 * @note: btstack_type 1 12151 */ 12152 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 12153 return event[6]; 12154 } 12155 12156 /** 12157 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 12158 * @param event packet 12159 * @return goep_cid 12160 * @note: btstack_type 2 12161 */ 12162 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 12163 return little_endian_read_16(event, 3); 12164 } 12165 /** 12166 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 12167 * @param event packet 12168 * @return name_len 12169 * @note: btstack_type J 12170 */ 12171 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 12172 return event[5]; 12173 } 12174 /** 12175 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 12176 * @param event packet 12177 * @return name 12178 * @note: btstack_type V 12179 */ 12180 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 12181 return &event[6]; 12182 } 12183 /** 12184 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 12185 * @param event packet 12186 * @return handle_len 12187 * @note: btstack_type J 12188 */ 12189 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 12190 return event[6u + event[5]]; 12191 } 12192 /** 12193 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 12194 * @param event packet 12195 * @return handle 12196 * @note: btstack_type V 12197 */ 12198 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 12199 return &event[6u + event[5] + 1u]; 12200 } 12201 12202 /** 12203 * @brief Get field goep_cid from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12204 * @param event packet 12205 * @return goep_cid 12206 * @note: btstack_type 2 12207 */ 12208 static inline uint16_t pbap_subevent_reset_missed_calls_get_goep_cid(const uint8_t * event){ 12209 return little_endian_read_16(event, 3); 12210 } 12211 /** 12212 * @brief Get field phonebook from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12213 * @param event packet 12214 * @return phonebook 12215 * @note: btstack_type 1 12216 */ 12217 static inline uint8_t pbap_subevent_reset_missed_calls_get_phonebook(const uint8_t * event){ 12218 return event[5]; 12219 } 12220 12221 /** 12222 * @brief Get field goep_cid from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12223 * @param event packet 12224 * @return goep_cid 12225 * @note: btstack_type 2 12226 */ 12227 static inline uint16_t pbap_subevent_query_phonebook_size_get_goep_cid(const uint8_t * event){ 12228 return little_endian_read_16(event, 3); 12229 } 12230 /** 12231 * @brief Get field vcard_selector from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12232 * @param event packet 12233 * @return vcard_selector 12234 * @note: btstack_type 4 12235 */ 12236 static inline uint32_t pbap_subevent_query_phonebook_size_get_vcard_selector(const uint8_t * event){ 12237 return little_endian_read_32(event, 5); 12238 } 12239 /** 12240 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12241 * @param event packet 12242 * @return vcard_selector_operator 12243 * @note: btstack_type 1 12244 */ 12245 static inline uint8_t pbap_subevent_query_phonebook_size_get_vcard_selector_operator(const uint8_t * event){ 12246 return event[9]; 12247 } 12248 /** 12249 * @brief Get field phonebook from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12250 * @param event packet 12251 * @return phonebook 12252 * @note: btstack_type 1 12253 */ 12254 static inline uint8_t pbap_subevent_query_phonebook_size_get_phonebook(const uint8_t * event){ 12255 return event[10]; 12256 } 12257 12258 /** 12259 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_PHONEBOOK 12260 * @param event packet 12261 * @return goep_cid 12262 * @note: btstack_type 2 12263 */ 12264 static inline uint16_t pbap_subevent_pull_phonebook_get_goep_cid(const uint8_t * event){ 12265 return little_endian_read_16(event, 3); 12266 } 12267 /** 12268 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_PHONEBOOK 12269 * @param event packet 12270 * @return continuation 12271 * @note: btstack_type 4 12272 */ 12273 static inline uint32_t pbap_subevent_pull_phonebook_get_continuation(const uint8_t * event){ 12274 return little_endian_read_32(event, 5); 12275 } 12276 /** 12277 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12278 * @param event packet 12279 * @return property_selector 12280 * @note: btstack_type 4 12281 */ 12282 static inline uint32_t pbap_subevent_pull_phonebook_get_property_selector(const uint8_t * event){ 12283 return little_endian_read_32(event, 9); 12284 } 12285 /** 12286 * @brief Get field format from event PBAP_SUBEVENT_PULL_PHONEBOOK 12287 * @param event packet 12288 * @return format 12289 * @note: btstack_type 1 12290 */ 12291 static inline uint8_t pbap_subevent_pull_phonebook_get_format(const uint8_t * event){ 12292 return event[13]; 12293 } 12294 /** 12295 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_PHONEBOOK 12296 * @param event packet 12297 * @return max_list_count 12298 * @note: btstack_type 2 12299 */ 12300 static inline uint16_t pbap_subevent_pull_phonebook_get_max_list_count(const uint8_t * event){ 12301 return little_endian_read_16(event, 14); 12302 } 12303 /** 12304 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_PHONEBOOK 12305 * @param event packet 12306 * @return list_start_offset 12307 * @note: btstack_type 2 12308 */ 12309 static inline uint16_t pbap_subevent_pull_phonebook_get_list_start_offset(const uint8_t * event){ 12310 return little_endian_read_16(event, 16); 12311 } 12312 /** 12313 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12314 * @param event packet 12315 * @return vcard_selector 12316 * @note: btstack_type 4 12317 */ 12318 static inline uint32_t pbap_subevent_pull_phonebook_get_vcard_selector(const uint8_t * event){ 12319 return little_endian_read_32(event, 18); 12320 } 12321 /** 12322 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_PHONEBOOK 12323 * @param event packet 12324 * @return vcard_selector_operator 12325 * @note: btstack_type 1 12326 */ 12327 static inline uint8_t pbap_subevent_pull_phonebook_get_vcard_selector_operator(const uint8_t * event){ 12328 return event[22]; 12329 } 12330 /** 12331 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_PHONEBOOK 12332 * @param event packet 12333 * @return phonebook 12334 * @note: btstack_type 1 12335 */ 12336 static inline uint8_t pbap_subevent_pull_phonebook_get_phonebook(const uint8_t * event){ 12337 return event[23]; 12338 } 12339 12340 /** 12341 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12342 * @param event packet 12343 * @return goep_cid 12344 * @note: btstack_type 2 12345 */ 12346 static inline uint16_t pbap_subevent_pull_vcard_listing_get_goep_cid(const uint8_t * event){ 12347 return little_endian_read_16(event, 3); 12348 } 12349 /** 12350 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12351 * @param event packet 12352 * @return continuation 12353 * @note: btstack_type 4 12354 */ 12355 static inline uint32_t pbap_subevent_pull_vcard_listing_get_continuation(const uint8_t * event){ 12356 return little_endian_read_32(event, 5); 12357 } 12358 /** 12359 * @brief Get field order from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12360 * @param event packet 12361 * @return order 12362 * @note: btstack_type 1 12363 */ 12364 static inline uint8_t pbap_subevent_pull_vcard_listing_get_order(const uint8_t * event){ 12365 return event[9]; 12366 } 12367 /** 12368 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12369 * @param event packet 12370 * @return max_list_count 12371 * @note: btstack_type 2 12372 */ 12373 static inline uint16_t pbap_subevent_pull_vcard_listing_get_max_list_count(const uint8_t * event){ 12374 return little_endian_read_16(event, 10); 12375 } 12376 /** 12377 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12378 * @param event packet 12379 * @return list_start_offset 12380 * @note: btstack_type 2 12381 */ 12382 static inline uint16_t pbap_subevent_pull_vcard_listing_get_list_start_offset(const uint8_t * event){ 12383 return little_endian_read_16(event, 12); 12384 } 12385 /** 12386 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12387 * @param event packet 12388 * @return vcard_selector 12389 * @note: btstack_type 4 12390 */ 12391 static inline uint32_t pbap_subevent_pull_vcard_listing_get_vcard_selector(const uint8_t * event){ 12392 return little_endian_read_32(event, 14); 12393 } 12394 /** 12395 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12396 * @param event packet 12397 * @return vcard_selector_operator 12398 * @note: btstack_type 1 12399 */ 12400 static inline uint8_t pbap_subevent_pull_vcard_listing_get_vcard_selector_operator(const uint8_t * event){ 12401 return event[18]; 12402 } 12403 /** 12404 * @brief Get field search_property from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12405 * @param event packet 12406 * @return search_property 12407 * @note: btstack_type 1 12408 */ 12409 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_property(const uint8_t * event){ 12410 return event[19]; 12411 } 12412 /** 12413 * @brief Get field search_value_len from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12414 * @param event packet 12415 * @return search_value_len 12416 * @note: btstack_type J 12417 */ 12418 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_value_len(const uint8_t * event){ 12419 return event[20]; 12420 } 12421 /** 12422 * @brief Get field search_value from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12423 * @param event packet 12424 * @return search_value 12425 * @note: btstack_type V 12426 */ 12427 static inline const uint8_t * pbap_subevent_pull_vcard_listing_get_search_value(const uint8_t * event){ 12428 return &event[21]; 12429 } 12430 /** 12431 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12432 * @param event packet 12433 * @return phonebook 12434 * @note: btstack_type 1 12435 */ 12436 static inline uint8_t pbap_subevent_pull_vcard_listing_get_phonebook(const uint8_t * event){ 12437 return event[21u + event[20]]; 12438 } 12439 12440 /** 12441 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12442 * @param event packet 12443 * @return goep_cid 12444 * @note: btstack_type 2 12445 */ 12446 static inline uint16_t pbap_subevent_pull_vcard_entry_get_goep_cid(const uint8_t * event){ 12447 return little_endian_read_16(event, 3); 12448 } 12449 /** 12450 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12451 * @param event packet 12452 * @return continuation 12453 * @note: btstack_type 4 12454 */ 12455 static inline uint32_t pbap_subevent_pull_vcard_entry_get_continuation(const uint8_t * event){ 12456 return little_endian_read_32(event, 5); 12457 } 12458 /** 12459 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12460 * @param event packet 12461 * @return property_selector 12462 * @note: btstack_type 4 12463 */ 12464 static inline uint32_t pbap_subevent_pull_vcard_entry_get_property_selector(const uint8_t * event){ 12465 return little_endian_read_32(event, 9); 12466 } 12467 /** 12468 * @brief Get field format from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12469 * @param event packet 12470 * @return format 12471 * @note: btstack_type 1 12472 */ 12473 static inline uint8_t pbap_subevent_pull_vcard_entry_get_format(const uint8_t * event){ 12474 return event[13]; 12475 } 12476 /** 12477 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12478 * @param event packet 12479 * @return phonebook 12480 * @note: btstack_type 1 12481 */ 12482 static inline uint8_t pbap_subevent_pull_vcard_entry_get_phonebook(const uint8_t * event){ 12483 return event[14]; 12484 } 12485 /** 12486 * @brief Get field name from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12487 * @param event packet 12488 * @return name 12489 * @note: btstack_type T 12490 */ 12491 static inline const char * pbap_subevent_pull_vcard_entry_get_name(const uint8_t * event){ 12492 return (const char *) &event[15]; 12493 } 12494 12495 /** 12496 * @brief Get field hid_cid from event HID_SUBEVENT_INCOMING_CONNECTION 12497 * @param event packet 12498 * @return hid_cid 12499 * @note: btstack_type 2 12500 */ 12501 static inline uint16_t hid_subevent_incoming_connection_get_hid_cid(const uint8_t * event){ 12502 return little_endian_read_16(event, 3); 12503 } 12504 /** 12505 * @brief Get field address from event HID_SUBEVENT_INCOMING_CONNECTION 12506 * @param event packet 12507 * @param Pointer to storage for address 12508 * @note: btstack_type B 12509 */ 12510 static inline void hid_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 12511 reverse_bytes(&event[5], address, 6); 12512 } 12513 /** 12514 * @brief Get field handle from event HID_SUBEVENT_INCOMING_CONNECTION 12515 * @param event packet 12516 * @return handle 12517 * @note: btstack_type H 12518 */ 12519 static inline hci_con_handle_t hid_subevent_incoming_connection_get_handle(const uint8_t * event){ 12520 return little_endian_read_16(event, 11); 12521 } 12522 12523 /** 12524 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 12525 * @param event packet 12526 * @return hid_cid 12527 * @note: btstack_type 2 12528 */ 12529 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 12530 return little_endian_read_16(event, 3); 12531 } 12532 /** 12533 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 12534 * @param event packet 12535 * @return status 12536 * @note: btstack_type 1 12537 */ 12538 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 12539 return event[5]; 12540 } 12541 /** 12542 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 12543 * @param event packet 12544 * @param Pointer to storage for bd_addr 12545 * @note: btstack_type B 12546 */ 12547 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12548 reverse_bytes(&event[6], bd_addr, 6); 12549 } 12550 /** 12551 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 12552 * @param event packet 12553 * @return con_handle 12554 * @note: btstack_type H 12555 */ 12556 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12557 return little_endian_read_16(event, 12); 12558 } 12559 /** 12560 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 12561 * @param event packet 12562 * @return incoming 12563 * @note: btstack_type 1 12564 */ 12565 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 12566 return event[14]; 12567 } 12568 12569 /** 12570 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 12571 * @param event packet 12572 * @return hid_cid 12573 * @note: btstack_type 2 12574 */ 12575 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 12576 return little_endian_read_16(event, 3); 12577 } 12578 12579 /** 12580 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 12581 * @param event packet 12582 * @return hid_cid 12583 * @note: btstack_type 2 12584 */ 12585 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 12586 return little_endian_read_16(event, 3); 12587 } 12588 12589 /** 12590 * @brief Get field hid_cid from event HID_SUBEVENT_SUSPEND 12591 * @param event packet 12592 * @return hid_cid 12593 * @note: btstack_type 2 12594 */ 12595 static inline uint16_t hid_subevent_suspend_get_hid_cid(const uint8_t * event){ 12596 return little_endian_read_16(event, 3); 12597 } 12598 12599 /** 12600 * @brief Get field hid_cid from event HID_SUBEVENT_EXIT_SUSPEND 12601 * @param event packet 12602 * @return hid_cid 12603 * @note: btstack_type 2 12604 */ 12605 static inline uint16_t hid_subevent_exit_suspend_get_hid_cid(const uint8_t * event){ 12606 return little_endian_read_16(event, 3); 12607 } 12608 12609 /** 12610 * @brief Get field hid_cid from event HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 12611 * @param event packet 12612 * @return hid_cid 12613 * @note: btstack_type 2 12614 */ 12615 static inline uint16_t hid_subevent_virtual_cable_unplug_get_hid_cid(const uint8_t * event){ 12616 return little_endian_read_16(event, 3); 12617 } 12618 12619 /** 12620 * @brief Get field hid_cid from event HID_SUBEVENT_GET_REPORT_RESPONSE 12621 * @param event packet 12622 * @return hid_cid 12623 * @note: btstack_type 2 12624 */ 12625 static inline uint16_t hid_subevent_get_report_response_get_hid_cid(const uint8_t * event){ 12626 return little_endian_read_16(event, 3); 12627 } 12628 /** 12629 * @brief Get field handshake_status from event HID_SUBEVENT_GET_REPORT_RESPONSE 12630 * @param event packet 12631 * @return handshake_status 12632 * @note: btstack_type 1 12633 */ 12634 static inline uint8_t hid_subevent_get_report_response_get_handshake_status(const uint8_t * event){ 12635 return event[5]; 12636 } 12637 /** 12638 * @brief Get field report_len from event HID_SUBEVENT_GET_REPORT_RESPONSE 12639 * @param event packet 12640 * @return report_len 12641 * @note: btstack_type L 12642 */ 12643 static inline uint16_t hid_subevent_get_report_response_get_report_len(const uint8_t * event){ 12644 return little_endian_read_16(event, 6); 12645 } 12646 /** 12647 * @brief Get field report from event HID_SUBEVENT_GET_REPORT_RESPONSE 12648 * @param event packet 12649 * @return report 12650 * @note: btstack_type V 12651 */ 12652 static inline const uint8_t * hid_subevent_get_report_response_get_report(const uint8_t * event){ 12653 return &event[8]; 12654 } 12655 12656 /** 12657 * @brief Get field hid_cid from event HID_SUBEVENT_SET_REPORT_RESPONSE 12658 * @param event packet 12659 * @return hid_cid 12660 * @note: btstack_type 2 12661 */ 12662 static inline uint16_t hid_subevent_set_report_response_get_hid_cid(const uint8_t * event){ 12663 return little_endian_read_16(event, 3); 12664 } 12665 /** 12666 * @brief Get field handshake_status from event HID_SUBEVENT_SET_REPORT_RESPONSE 12667 * @param event packet 12668 * @return handshake_status 12669 * @note: btstack_type 1 12670 */ 12671 static inline uint8_t hid_subevent_set_report_response_get_handshake_status(const uint8_t * event){ 12672 return event[5]; 12673 } 12674 12675 /** 12676 * @brief Get field hid_cid from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12677 * @param event packet 12678 * @return hid_cid 12679 * @note: btstack_type 2 12680 */ 12681 static inline uint16_t hid_subevent_get_protocol_response_get_hid_cid(const uint8_t * event){ 12682 return little_endian_read_16(event, 3); 12683 } 12684 /** 12685 * @brief Get field handshake_status from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12686 * @param event packet 12687 * @return handshake_status 12688 * @note: btstack_type 1 12689 */ 12690 static inline uint8_t hid_subevent_get_protocol_response_get_handshake_status(const uint8_t * event){ 12691 return event[5]; 12692 } 12693 /** 12694 * @brief Get field protocol_mode from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12695 * @param event packet 12696 * @return protocol_mode 12697 * @note: btstack_type 1 12698 */ 12699 static inline uint8_t hid_subevent_get_protocol_response_get_protocol_mode(const uint8_t * event){ 12700 return event[6]; 12701 } 12702 12703 /** 12704 * @brief Get field hid_cid from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12705 * @param event packet 12706 * @return hid_cid 12707 * @note: btstack_type 2 12708 */ 12709 static inline uint16_t hid_subevent_set_protocol_response_get_hid_cid(const uint8_t * event){ 12710 return little_endian_read_16(event, 3); 12711 } 12712 /** 12713 * @brief Get field handshake_status from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12714 * @param event packet 12715 * @return handshake_status 12716 * @note: btstack_type 1 12717 */ 12718 static inline uint8_t hid_subevent_set_protocol_response_get_handshake_status(const uint8_t * event){ 12719 return event[5]; 12720 } 12721 /** 12722 * @brief Get field protocol_mode from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12723 * @param event packet 12724 * @return protocol_mode 12725 * @note: btstack_type 1 12726 */ 12727 static inline uint8_t hid_subevent_set_protocol_response_get_protocol_mode(const uint8_t * event){ 12728 return event[6]; 12729 } 12730 12731 /** 12732 * @brief Get field hid_cid from event HID_SUBEVENT_REPORT 12733 * @param event packet 12734 * @return hid_cid 12735 * @note: btstack_type 2 12736 */ 12737 static inline uint16_t hid_subevent_report_get_hid_cid(const uint8_t * event){ 12738 return little_endian_read_16(event, 3); 12739 } 12740 /** 12741 * @brief Get field report_len from event HID_SUBEVENT_REPORT 12742 * @param event packet 12743 * @return report_len 12744 * @note: btstack_type L 12745 */ 12746 static inline uint16_t hid_subevent_report_get_report_len(const uint8_t * event){ 12747 return little_endian_read_16(event, 5); 12748 } 12749 /** 12750 * @brief Get field report from event HID_SUBEVENT_REPORT 12751 * @param event packet 12752 * @return report 12753 * @note: btstack_type V 12754 */ 12755 static inline const uint8_t * hid_subevent_report_get_report(const uint8_t * event){ 12756 return &event[7]; 12757 } 12758 12759 /** 12760 * @brief Get field hid_cid from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12761 * @param event packet 12762 * @return hid_cid 12763 * @note: btstack_type 2 12764 */ 12765 static inline uint16_t hid_subevent_descriptor_available_get_hid_cid(const uint8_t * event){ 12766 return little_endian_read_16(event, 3); 12767 } 12768 /** 12769 * @brief Get field status from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12770 * @param event packet 12771 * @return status 12772 * @note: btstack_type 1 12773 */ 12774 static inline uint8_t hid_subevent_descriptor_available_get_status(const uint8_t * event){ 12775 return event[5]; 12776 } 12777 12778 /** 12779 * @brief Get field hid_cid from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12780 * @param event packet 12781 * @return hid_cid 12782 * @note: btstack_type 2 12783 */ 12784 static inline uint16_t hid_subevent_sniff_subrating_params_get_hid_cid(const uint8_t * event){ 12785 return little_endian_read_16(event, 3); 12786 } 12787 /** 12788 * @brief Get field host_max_latency from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12789 * @param event packet 12790 * @return host_max_latency 12791 * @note: btstack_type 2 12792 */ 12793 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_max_latency(const uint8_t * event){ 12794 return little_endian_read_16(event, 5); 12795 } 12796 /** 12797 * @brief Get field host_min_timeout from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12798 * @param event packet 12799 * @return host_min_timeout 12800 * @note: btstack_type 2 12801 */ 12802 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_min_timeout(const uint8_t * event){ 12803 return little_endian_read_16(event, 7); 12804 } 12805 12806 /** 12807 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 12808 * @param event packet 12809 * @return con_handle 12810 * @note: btstack_type 2 12811 */ 12812 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 12813 return little_endian_read_16(event, 3); 12814 } 12815 12816 /** 12817 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 12818 * @param event packet 12819 * @return con_handle 12820 * @note: btstack_type 2 12821 */ 12822 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 12823 return little_endian_read_16(event, 3); 12824 } 12825 /** 12826 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 12827 * @param event packet 12828 * @return protocol_mode 12829 * @note: btstack_type 1 12830 */ 12831 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 12832 return event[5]; 12833 } 12834 12835 /** 12836 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12837 * @param event packet 12838 * @return con_handle 12839 * @note: btstack_type 2 12840 */ 12841 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 12842 return little_endian_read_16(event, 3); 12843 } 12844 /** 12845 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12846 * @param event packet 12847 * @return enable 12848 * @note: btstack_type 1 12849 */ 12850 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 12851 return event[5]; 12852 } 12853 12854 /** 12855 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12856 * @param event packet 12857 * @return con_handle 12858 * @note: btstack_type 2 12859 */ 12860 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 12861 return little_endian_read_16(event, 3); 12862 } 12863 /** 12864 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12865 * @param event packet 12866 * @return enable 12867 * @note: btstack_type 1 12868 */ 12869 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 12870 return event[5]; 12871 } 12872 12873 /** 12874 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12875 * @param event packet 12876 * @return con_handle 12877 * @note: btstack_type 2 12878 */ 12879 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 12880 return little_endian_read_16(event, 3); 12881 } 12882 /** 12883 * @brief Get field report_id from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12884 * @param event packet 12885 * @return report_id 12886 * @note: btstack_type 1 12887 */ 12888 static inline uint8_t hids_subevent_input_report_enable_get_report_id(const uint8_t * event){ 12889 return event[5]; 12890 } 12891 /** 12892 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12893 * @param event packet 12894 * @return enable 12895 * @note: btstack_type 1 12896 */ 12897 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 12898 return event[6]; 12899 } 12900 12901 /** 12902 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12903 * @param event packet 12904 * @return con_handle 12905 * @note: btstack_type 2 12906 */ 12907 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 12908 return little_endian_read_16(event, 3); 12909 } 12910 /** 12911 * @brief Get field report_id from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12912 * @param event packet 12913 * @return report_id 12914 * @note: btstack_type 1 12915 */ 12916 static inline uint8_t hids_subevent_output_report_enable_get_report_id(const uint8_t * event){ 12917 return event[5]; 12918 } 12919 /** 12920 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12921 * @param event packet 12922 * @return enable 12923 * @note: btstack_type 1 12924 */ 12925 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 12926 return event[6]; 12927 } 12928 12929 /** 12930 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12931 * @param event packet 12932 * @return con_handle 12933 * @note: btstack_type 2 12934 */ 12935 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 12936 return little_endian_read_16(event, 3); 12937 } 12938 /** 12939 * @brief Get field report_id from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12940 * @param event packet 12941 * @return report_id 12942 * @note: btstack_type 1 12943 */ 12944 static inline uint8_t hids_subevent_feature_report_enable_get_report_id(const uint8_t * event){ 12945 return event[5]; 12946 } 12947 /** 12948 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12949 * @param event packet 12950 * @return enable 12951 * @note: btstack_type 1 12952 */ 12953 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 12954 return event[6]; 12955 } 12956 12957 /** 12958 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 12959 * @param event packet 12960 * @return con_handle 12961 * @note: btstack_type 2 12962 */ 12963 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 12964 return little_endian_read_16(event, 3); 12965 } 12966 12967 /** 12968 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 12969 * @param event packet 12970 * @return con_handle 12971 * @note: btstack_type 2 12972 */ 12973 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 12974 return little_endian_read_16(event, 3); 12975 } 12976 12977 /** 12978 * @brief Get field con_handle from event HIDS_SUBEVENT_SET_REPORT 12979 * @param event packet 12980 * @return con_handle 12981 * @note: btstack_type 2 12982 */ 12983 static inline uint16_t hids_subevent_set_report_get_con_handle(const uint8_t * event){ 12984 return little_endian_read_16(event, 3); 12985 } 12986 /** 12987 * @brief Get field report_id from event HIDS_SUBEVENT_SET_REPORT 12988 * @param event packet 12989 * @return report_id 12990 * @note: btstack_type 1 12991 */ 12992 static inline uint8_t hids_subevent_set_report_get_report_id(const uint8_t * event){ 12993 return event[5]; 12994 } 12995 /** 12996 * @brief Get field report_type from event HIDS_SUBEVENT_SET_REPORT 12997 * @param event packet 12998 * @return report_type 12999 * @note: btstack_type 1 13000 */ 13001 static inline uint8_t hids_subevent_set_report_get_report_type(const uint8_t * event){ 13002 return event[6]; 13003 } 13004 /** 13005 * @brief Get field report_length from event HIDS_SUBEVENT_SET_REPORT 13006 * @param event packet 13007 * @return report_length 13008 * @note: btstack_type J 13009 */ 13010 static inline uint8_t hids_subevent_set_report_get_report_length(const uint8_t * event){ 13011 return event[7]; 13012 } 13013 /** 13014 * @brief Get field report_data from event HIDS_SUBEVENT_SET_REPORT 13015 * @param event packet 13016 * @return report_data 13017 * @note: btstack_type V 13018 */ 13019 static inline const uint8_t * hids_subevent_set_report_get_report_data(const uint8_t * event){ 13020 return &event[8]; 13021 } 13022 13023 /** 13024 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13025 * @param event packet 13026 * @return con_handle 13027 * @note: btstack_type 2 13028 */ 13029 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 13030 return little_endian_read_16(event, 3); 13031 } 13032 /** 13033 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13034 * @param event packet 13035 * @return measurement_type 13036 * @note: btstack_type 1 13037 */ 13038 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 13039 return event[5]; 13040 } 13041 /** 13042 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13043 * @param event packet 13044 * @return is_enhanced 13045 * @note: btstack_type 1 13046 */ 13047 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 13048 return event[6]; 13049 } 13050 13051 /** 13052 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 13053 * @param event packet 13054 * @return con_handle 13055 * @note: btstack_type 2 13056 */ 13057 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 13058 return little_endian_read_16(event, 3); 13059 } 13060 13061 /** 13062 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 13063 * @param event packet 13064 * @return con_handle 13065 * @note: btstack_type 2 13066 */ 13067 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 13068 return little_endian_read_16(event, 3); 13069 } 13070 13071 /** 13072 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13073 * @param event packet 13074 * @return hids_cid 13075 * @note: btstack_type 2 13076 */ 13077 static inline uint16_t gattservice_subevent_battery_service_connected_get_hids_cid(const uint8_t * event){ 13078 return little_endian_read_16(event, 3); 13079 } 13080 /** 13081 * @brief Get field status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13082 * @param event packet 13083 * @return status 13084 * @note: btstack_type 1 13085 */ 13086 static inline uint8_t gattservice_subevent_battery_service_connected_get_status(const uint8_t * event){ 13087 return event[5]; 13088 } 13089 /** 13090 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13091 * @param event packet 13092 * @return num_instances 13093 * @note: btstack_type 1 13094 */ 13095 static inline uint8_t gattservice_subevent_battery_service_connected_get_num_instances(const uint8_t * event){ 13096 return event[6]; 13097 } 13098 /** 13099 * @brief Get field poll_bitmap from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13100 * @param event packet 13101 * @return poll_bitmap 13102 * @note: btstack_type 1 13103 */ 13104 static inline uint8_t gattservice_subevent_battery_service_connected_get_poll_bitmap(const uint8_t * event){ 13105 return event[7]; 13106 } 13107 13108 /** 13109 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13110 * @param event packet 13111 * @return hids_cid 13112 * @note: btstack_type 2 13113 */ 13114 static inline uint16_t gattservice_subevent_battery_service_level_get_hids_cid(const uint8_t * event){ 13115 return little_endian_read_16(event, 3); 13116 } 13117 /** 13118 * @brief Get field sevice_index from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13119 * @param event packet 13120 * @return sevice_index 13121 * @note: btstack_type 1 13122 */ 13123 static inline uint8_t gattservice_subevent_battery_service_level_get_sevice_index(const uint8_t * event){ 13124 return event[5]; 13125 } 13126 /** 13127 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13128 * @param event packet 13129 * @return att_status 13130 * @note: btstack_type 1 13131 */ 13132 static inline uint8_t gattservice_subevent_battery_service_level_get_att_status(const uint8_t * event){ 13133 return event[6]; 13134 } 13135 /** 13136 * @brief Get field level from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13137 * @param event packet 13138 * @return level 13139 * @note: btstack_type 1 13140 */ 13141 static inline uint8_t gattservice_subevent_battery_service_level_get_level(const uint8_t * event){ 13142 return event[7]; 13143 } 13144 13145 /** 13146 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 13147 * @param event packet 13148 * @return con_handle 13149 * @note: btstack_type H 13150 */ 13151 static inline hci_con_handle_t gattservice_subevent_device_information_done_get_con_handle(const uint8_t * event){ 13152 return little_endian_read_16(event, 3); 13153 } 13154 /** 13155 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 13156 * @param event packet 13157 * @return att_status 13158 * @note: btstack_type 1 13159 */ 13160 static inline uint8_t gattservice_subevent_device_information_done_get_att_status(const uint8_t * event){ 13161 return event[5]; 13162 } 13163 13164 /** 13165 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13166 * @param event packet 13167 * @return con_handle 13168 * @note: btstack_type H 13169 */ 13170 static inline hci_con_handle_t gattservice_subevent_device_information_manufacturer_name_get_con_handle(const uint8_t * event){ 13171 return little_endian_read_16(event, 3); 13172 } 13173 /** 13174 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13175 * @param event packet 13176 * @return att_status 13177 * @note: btstack_type 1 13178 */ 13179 static inline uint8_t gattservice_subevent_device_information_manufacturer_name_get_att_status(const uint8_t * event){ 13180 return event[5]; 13181 } 13182 /** 13183 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13184 * @param event packet 13185 * @return value 13186 * @note: btstack_type T 13187 */ 13188 static inline const char * gattservice_subevent_device_information_manufacturer_name_get_value(const uint8_t * event){ 13189 return (const char *) &event[6]; 13190 } 13191 13192 /** 13193 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13194 * @param event packet 13195 * @return con_handle 13196 * @note: btstack_type H 13197 */ 13198 static inline hci_con_handle_t gattservice_subevent_device_information_model_number_get_con_handle(const uint8_t * event){ 13199 return little_endian_read_16(event, 3); 13200 } 13201 /** 13202 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13203 * @param event packet 13204 * @return att_status 13205 * @note: btstack_type 1 13206 */ 13207 static inline uint8_t gattservice_subevent_device_information_model_number_get_att_status(const uint8_t * event){ 13208 return event[5]; 13209 } 13210 /** 13211 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13212 * @param event packet 13213 * @return value 13214 * @note: btstack_type T 13215 */ 13216 static inline const char * gattservice_subevent_device_information_model_number_get_value(const uint8_t * event){ 13217 return (const char *) &event[6]; 13218 } 13219 13220 /** 13221 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13222 * @param event packet 13223 * @return con_handle 13224 * @note: btstack_type H 13225 */ 13226 static inline hci_con_handle_t gattservice_subevent_device_information_serial_number_get_con_handle(const uint8_t * event){ 13227 return little_endian_read_16(event, 3); 13228 } 13229 /** 13230 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13231 * @param event packet 13232 * @return att_status 13233 * @note: btstack_type 1 13234 */ 13235 static inline uint8_t gattservice_subevent_device_information_serial_number_get_att_status(const uint8_t * event){ 13236 return event[5]; 13237 } 13238 /** 13239 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13240 * @param event packet 13241 * @return value 13242 * @note: btstack_type T 13243 */ 13244 static inline const char * gattservice_subevent_device_information_serial_number_get_value(const uint8_t * event){ 13245 return (const char *) &event[6]; 13246 } 13247 13248 /** 13249 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13250 * @param event packet 13251 * @return con_handle 13252 * @note: btstack_type H 13253 */ 13254 static inline hci_con_handle_t gattservice_subevent_device_information_hardware_revision_get_con_handle(const uint8_t * event){ 13255 return little_endian_read_16(event, 3); 13256 } 13257 /** 13258 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13259 * @param event packet 13260 * @return att_status 13261 * @note: btstack_type 1 13262 */ 13263 static inline uint8_t gattservice_subevent_device_information_hardware_revision_get_att_status(const uint8_t * event){ 13264 return event[5]; 13265 } 13266 /** 13267 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13268 * @param event packet 13269 * @return value 13270 * @note: btstack_type T 13271 */ 13272 static inline const char * gattservice_subevent_device_information_hardware_revision_get_value(const uint8_t * event){ 13273 return (const char *) &event[6]; 13274 } 13275 13276 /** 13277 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13278 * @param event packet 13279 * @return con_handle 13280 * @note: btstack_type H 13281 */ 13282 static inline hci_con_handle_t gattservice_subevent_device_information_firmware_revision_get_con_handle(const uint8_t * event){ 13283 return little_endian_read_16(event, 3); 13284 } 13285 /** 13286 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13287 * @param event packet 13288 * @return att_status 13289 * @note: btstack_type 1 13290 */ 13291 static inline uint8_t gattservice_subevent_device_information_firmware_revision_get_att_status(const uint8_t * event){ 13292 return event[5]; 13293 } 13294 /** 13295 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13296 * @param event packet 13297 * @return value 13298 * @note: btstack_type T 13299 */ 13300 static inline const char * gattservice_subevent_device_information_firmware_revision_get_value(const uint8_t * event){ 13301 return (const char *) &event[6]; 13302 } 13303 13304 /** 13305 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13306 * @param event packet 13307 * @return con_handle 13308 * @note: btstack_type H 13309 */ 13310 static inline hci_con_handle_t gattservice_subevent_device_information_software_revision_get_con_handle(const uint8_t * event){ 13311 return little_endian_read_16(event, 3); 13312 } 13313 /** 13314 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13315 * @param event packet 13316 * @return att_status 13317 * @note: btstack_type 1 13318 */ 13319 static inline uint8_t gattservice_subevent_device_information_software_revision_get_att_status(const uint8_t * event){ 13320 return event[5]; 13321 } 13322 /** 13323 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13324 * @param event packet 13325 * @return value 13326 * @note: btstack_type T 13327 */ 13328 static inline const char * gattservice_subevent_device_information_software_revision_get_value(const uint8_t * event){ 13329 return (const char *) &event[6]; 13330 } 13331 13332 /** 13333 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13334 * @param event packet 13335 * @return con_handle 13336 * @note: btstack_type H 13337 */ 13338 static inline hci_con_handle_t gattservice_subevent_device_information_system_id_get_con_handle(const uint8_t * event){ 13339 return little_endian_read_16(event, 3); 13340 } 13341 /** 13342 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13343 * @param event packet 13344 * @return att_status 13345 * @note: btstack_type 1 13346 */ 13347 static inline uint8_t gattservice_subevent_device_information_system_id_get_att_status(const uint8_t * event){ 13348 return event[5]; 13349 } 13350 /** 13351 * @brief Get field manufacturer_id_low from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13352 * @param event packet 13353 * @return manufacturer_id_low 13354 * @note: btstack_type 4 13355 */ 13356 static inline uint32_t gattservice_subevent_device_information_system_id_get_manufacturer_id_low(const uint8_t * event){ 13357 return little_endian_read_32(event, 6); 13358 } 13359 /** 13360 * @brief Get field manufacturer_id_high from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13361 * @param event packet 13362 * @return manufacturer_id_high 13363 * @note: btstack_type 1 13364 */ 13365 static inline uint8_t gattservice_subevent_device_information_system_id_get_manufacturer_id_high(const uint8_t * event){ 13366 return event[10]; 13367 } 13368 /** 13369 * @brief Get field organizationally_unique_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13370 * @param event packet 13371 * @return organizationally_unique_id 13372 * @note: btstack_type 3 13373 */ 13374 static inline uint32_t gattservice_subevent_device_information_system_id_get_organizationally_unique_id(const uint8_t * event){ 13375 return little_endian_read_24(event, 11); 13376 } 13377 13378 /** 13379 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13380 * @param event packet 13381 * @return con_handle 13382 * @note: btstack_type H 13383 */ 13384 static inline hci_con_handle_t gattservice_subevent_device_information_ieee_regulatory_certification_get_con_handle(const uint8_t * event){ 13385 return little_endian_read_16(event, 3); 13386 } 13387 /** 13388 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13389 * @param event packet 13390 * @return att_status 13391 * @note: btstack_type 1 13392 */ 13393 static inline uint8_t gattservice_subevent_device_information_ieee_regulatory_certification_get_att_status(const uint8_t * event){ 13394 return event[5]; 13395 } 13396 /** 13397 * @brief Get field value_a from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13398 * @param event packet 13399 * @return value_a 13400 * @note: btstack_type 2 13401 */ 13402 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_a(const uint8_t * event){ 13403 return little_endian_read_16(event, 6); 13404 } 13405 /** 13406 * @brief Get field value_b from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13407 * @param event packet 13408 * @return value_b 13409 * @note: btstack_type 2 13410 */ 13411 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_b(const uint8_t * event){ 13412 return little_endian_read_16(event, 8); 13413 } 13414 13415 /** 13416 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13417 * @param event packet 13418 * @return con_handle 13419 * @note: btstack_type H 13420 */ 13421 static inline hci_con_handle_t gattservice_subevent_device_information_pnp_id_get_con_handle(const uint8_t * event){ 13422 return little_endian_read_16(event, 3); 13423 } 13424 /** 13425 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13426 * @param event packet 13427 * @return att_status 13428 * @note: btstack_type 1 13429 */ 13430 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_att_status(const uint8_t * event){ 13431 return event[5]; 13432 } 13433 /** 13434 * @brief Get field vendor_source_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13435 * @param event packet 13436 * @return vendor_source_id 13437 * @note: btstack_type 1 13438 */ 13439 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_vendor_source_id(const uint8_t * event){ 13440 return event[6]; 13441 } 13442 /** 13443 * @brief Get field vendor_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13444 * @param event packet 13445 * @return vendor_id 13446 * @note: btstack_type 2 13447 */ 13448 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_vendor_id(const uint8_t * event){ 13449 return little_endian_read_16(event, 7); 13450 } 13451 /** 13452 * @brief Get field product_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13453 * @param event packet 13454 * @return product_id 13455 * @note: btstack_type 2 13456 */ 13457 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_id(const uint8_t * event){ 13458 return little_endian_read_16(event, 9); 13459 } 13460 /** 13461 * @brief Get field product_version from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13462 * @param event packet 13463 * @return product_version 13464 * @note: btstack_type 2 13465 */ 13466 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_version(const uint8_t * event){ 13467 return little_endian_read_16(event, 11); 13468 } 13469 13470 /** 13471 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13472 * @param event packet 13473 * @return con_handle 13474 * @note: btstack_type H 13475 */ 13476 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_connected_get_con_handle(const uint8_t * event){ 13477 return little_endian_read_16(event, 3); 13478 } 13479 /** 13480 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13481 * @param event packet 13482 * @return att_status 13483 * @note: btstack_type 1 13484 */ 13485 static inline uint8_t gattservice_subevent_scan_parameters_service_connected_get_att_status(const uint8_t * event){ 13486 return event[5]; 13487 } 13488 13489 /** 13490 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_DISCONNECTED 13491 * @param event packet 13492 * @return con_handle 13493 * @note: btstack_type H 13494 */ 13495 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_disconnected_get_con_handle(const uint8_t * event){ 13496 return little_endian_read_16(event, 3); 13497 } 13498 13499 /** 13500 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 13501 * @param event packet 13502 * @return con_handle 13503 * @note: btstack_type H 13504 */ 13505 static inline hci_con_handle_t gattservice_subevent_spp_service_connected_get_con_handle(const uint8_t * event){ 13506 return little_endian_read_16(event, 3); 13507 } 13508 13509 /** 13510 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 13511 * @param event packet 13512 * @return con_handle 13513 * @note: btstack_type H 13514 */ 13515 static inline hci_con_handle_t gattservice_subevent_spp_service_disconnected_get_con_handle(const uint8_t * event){ 13516 return little_endian_read_16(event, 3); 13517 } 13518 13519 /** 13520 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13521 * @param event packet 13522 * @return hids_cid 13523 * @note: btstack_type 2 13524 */ 13525 static inline uint16_t gattservice_subevent_hid_service_connected_get_hids_cid(const uint8_t * event){ 13526 return little_endian_read_16(event, 3); 13527 } 13528 /** 13529 * @brief Get field status from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13530 * @param event packet 13531 * @return status 13532 * @note: btstack_type 1 13533 */ 13534 static inline uint8_t gattservice_subevent_hid_service_connected_get_status(const uint8_t * event){ 13535 return event[5]; 13536 } 13537 /** 13538 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13539 * @param event packet 13540 * @return protocol_mode 13541 * @note: btstack_type 1 13542 */ 13543 static inline uint8_t gattservice_subevent_hid_service_connected_get_protocol_mode(const uint8_t * event){ 13544 return event[6]; 13545 } 13546 /** 13547 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13548 * @param event packet 13549 * @return num_instances 13550 * @note: btstack_type 1 13551 */ 13552 static inline uint8_t gattservice_subevent_hid_service_connected_get_num_instances(const uint8_t * event){ 13553 return event[7]; 13554 } 13555 13556 /** 13557 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_DISCONNECTED 13558 * @param event packet 13559 * @return hids_cid 13560 * @note: btstack_type 2 13561 */ 13562 static inline uint16_t gattservice_subevent_hid_service_disconnected_get_hids_cid(const uint8_t * event){ 13563 return little_endian_read_16(event, 3); 13564 } 13565 13566 /** 13567 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT 13568 * @param event packet 13569 * @return hids_cid 13570 * @note: btstack_type 2 13571 */ 13572 static inline uint16_t gattservice_subevent_hid_report_get_hids_cid(const uint8_t * event){ 13573 return little_endian_read_16(event, 3); 13574 } 13575 /** 13576 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT 13577 * @param event packet 13578 * @return service_index 13579 * @note: btstack_type 1 13580 */ 13581 static inline uint8_t gattservice_subevent_hid_report_get_service_index(const uint8_t * event){ 13582 return event[5]; 13583 } 13584 /** 13585 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT 13586 * @param event packet 13587 * @return report_id 13588 * @note: btstack_type 1 13589 */ 13590 static inline uint8_t gattservice_subevent_hid_report_get_report_id(const uint8_t * event){ 13591 return event[6]; 13592 } 13593 /** 13594 * @brief Get field report_len from event GATTSERVICE_SUBEVENT_HID_REPORT 13595 * @param event packet 13596 * @return report_len 13597 * @note: btstack_type L 13598 */ 13599 static inline uint16_t gattservice_subevent_hid_report_get_report_len(const uint8_t * event){ 13600 return little_endian_read_16(event, 7); 13601 } 13602 /** 13603 * @brief Get field report from event GATTSERVICE_SUBEVENT_HID_REPORT 13604 * @param event packet 13605 * @return report 13606 * @note: btstack_type V 13607 */ 13608 static inline const uint8_t * gattservice_subevent_hid_report_get_report(const uint8_t * event){ 13609 return &event[9]; 13610 } 13611 13612 /** 13613 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13614 * @param event packet 13615 * @return hids_cid 13616 * @note: btstack_type 2 13617 */ 13618 static inline uint16_t gattservice_subevent_hid_information_get_hids_cid(const uint8_t * event){ 13619 return little_endian_read_16(event, 3); 13620 } 13621 /** 13622 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13623 * @param event packet 13624 * @return service_index 13625 * @note: btstack_type 1 13626 */ 13627 static inline uint8_t gattservice_subevent_hid_information_get_service_index(const uint8_t * event){ 13628 return event[5]; 13629 } 13630 /** 13631 * @brief Get field base_usb_hid_version from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13632 * @param event packet 13633 * @return base_usb_hid_version 13634 * @note: btstack_type 2 13635 */ 13636 static inline uint16_t gattservice_subevent_hid_information_get_base_usb_hid_version(const uint8_t * event){ 13637 return little_endian_read_16(event, 6); 13638 } 13639 /** 13640 * @brief Get field country_code from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13641 * @param event packet 13642 * @return country_code 13643 * @note: btstack_type 1 13644 */ 13645 static inline uint8_t gattservice_subevent_hid_information_get_country_code(const uint8_t * event){ 13646 return event[8]; 13647 } 13648 /** 13649 * @brief Get field remote_wake from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13650 * @param event packet 13651 * @return remote_wake 13652 * @note: btstack_type 1 13653 */ 13654 static inline uint8_t gattservice_subevent_hid_information_get_remote_wake(const uint8_t * event){ 13655 return event[9]; 13656 } 13657 /** 13658 * @brief Get field normally_connectable from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13659 * @param event packet 13660 * @return normally_connectable 13661 * @note: btstack_type 1 13662 */ 13663 static inline uint8_t gattservice_subevent_hid_information_get_normally_connectable(const uint8_t * event){ 13664 return event[10]; 13665 } 13666 13667 /** 13668 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13669 * @param event packet 13670 * @return hids_cid 13671 * @note: btstack_type 2 13672 */ 13673 static inline uint16_t gattservice_subevent_hid_protocol_mode_get_hids_cid(const uint8_t * event){ 13674 return little_endian_read_16(event, 3); 13675 } 13676 /** 13677 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13678 * @param event packet 13679 * @return service_index 13680 * @note: btstack_type 1 13681 */ 13682 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_service_index(const uint8_t * event){ 13683 return event[5]; 13684 } 13685 /** 13686 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13687 * @param event packet 13688 * @return protocol_mode 13689 * @note: btstack_type 1 13690 */ 13691 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_protocol_mode(const uint8_t * event){ 13692 return event[6]; 13693 } 13694 13695 /** 13696 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13697 * @param event packet 13698 * @return hids_cid 13699 * @note: btstack_type 2 13700 */ 13701 static inline uint16_t gattservice_subevent_hid_service_reports_notification_get_hids_cid(const uint8_t * event){ 13702 return little_endian_read_16(event, 3); 13703 } 13704 /** 13705 * @brief Get field configuration from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13706 * @param event packet 13707 * @return configuration 13708 * @note: btstack_type 1 13709 */ 13710 static inline uint8_t gattservice_subevent_hid_service_reports_notification_get_configuration(const uint8_t * event){ 13711 return event[5]; 13712 } 13713 13714 /** 13715 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13716 * @param event packet 13717 * @return hids_cid 13718 * @note: btstack_type 2 13719 */ 13720 static inline uint16_t gattservice_subevent_hid_report_written_get_hids_cid(const uint8_t * event){ 13721 return little_endian_read_16(event, 3); 13722 } 13723 /** 13724 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13725 * @param event packet 13726 * @return service_index 13727 * @note: btstack_type 1 13728 */ 13729 static inline uint8_t gattservice_subevent_hid_report_written_get_service_index(const uint8_t * event){ 13730 return event[5]; 13731 } 13732 /** 13733 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13734 * @param event packet 13735 * @return report_id 13736 * @note: btstack_type 1 13737 */ 13738 static inline uint8_t gattservice_subevent_hid_report_written_get_report_id(const uint8_t * event){ 13739 return event[6]; 13740 } 13741 13742 /** 13743 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13744 * @param event packet 13745 * @return con_handle 13746 * @note: btstack_type H 13747 */ 13748 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_con_handle(const uint8_t * event){ 13749 return little_endian_read_16(event, 3); 13750 } 13751 /** 13752 * @brief Get field max_scan_interval from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13753 * @param event packet 13754 * @return max_scan_interval 13755 * @note: btstack_type 2 13756 */ 13757 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_max_scan_interval(const uint8_t * event){ 13758 return little_endian_read_16(event, 5); 13759 } 13760 /** 13761 * @brief Get field min_scan_window from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13762 * @param event packet 13763 * @return min_scan_window 13764 * @note: btstack_type 2 13765 */ 13766 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_min_scan_window(const uint8_t * event){ 13767 return little_endian_read_16(event, 7); 13768 } 13769 13770 /** 13771 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13772 * @param event packet 13773 * @return con_handle 13774 * @note: btstack_type H 13775 */ 13776 static inline hci_con_handle_t gattservice_subevent_gatt_service_changed_get_con_handle(const uint8_t * event){ 13777 return little_endian_read_16(event, 3); 13778 } 13779 /** 13780 * @brief Get field attribute_handle_start from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13781 * @param event packet 13782 * @return attribute_handle_start 13783 * @note: btstack_type 2 13784 */ 13785 static inline uint16_t gattservice_subevent_gatt_service_changed_get_attribute_handle_start(const uint8_t * event){ 13786 return little_endian_read_16(event, 5); 13787 } 13788 /** 13789 * @brief Get field attribute_handle_end from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13790 * @param event packet 13791 * @return attribute_handle_end 13792 * @note: btstack_type 2 13793 */ 13794 static inline uint16_t gattservice_subevent_gatt_service_changed_get_attribute_handle_end(const uint8_t * event){ 13795 return little_endian_read_16(event, 7); 13796 } 13797 13798 /** 13799 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_GATT_DATABASE_HASH 13800 * @param event packet 13801 * @return con_handle 13802 * @note: btstack_type H 13803 */ 13804 static inline hci_con_handle_t gattservice_subevent_gatt_database_hash_get_con_handle(const uint8_t * event){ 13805 return little_endian_read_16(event, 3); 13806 } 13807 /** 13808 * @brief Get field database_hash from event GATTSERVICE_SUBEVENT_GATT_DATABASE_HASH 13809 * @param event packet 13810 * @param Pointer to storage for database_hash 13811 * @note: btstack_type K 13812 */ 13813 static inline void gattservice_subevent_gatt_database_hash_get_database_hash(const uint8_t * event, uint8_t * database_hash){ 13814 reverse_bytes(&event[5], database_hash, 16); 13815 } 13816 13817 /** 13818 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13819 * @param event packet 13820 * @return con_handle 13821 * @note: btstack_type H 13822 */ 13823 static inline hci_con_handle_t gattservice_subevent_client_connected_get_con_handle(const uint8_t * event){ 13824 return little_endian_read_16(event, 3); 13825 } 13826 /** 13827 * @brief Get field cid from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13828 * @param event packet 13829 * @return cid 13830 * @note: btstack_type 2 13831 */ 13832 static inline uint16_t gattservice_subevent_client_connected_get_cid(const uint8_t * event){ 13833 return little_endian_read_16(event, 5); 13834 } 13835 /** 13836 * @brief Get field num_included_services from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13837 * @param event packet 13838 * @return num_included_services 13839 * @note: btstack_type 1 13840 */ 13841 static inline uint8_t gattservice_subevent_client_connected_get_num_included_services(const uint8_t * event){ 13842 return event[7]; 13843 } 13844 /** 13845 * @brief Get field status from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13846 * @param event packet 13847 * @return status 13848 * @note: btstack_type 1 13849 */ 13850 static inline uint8_t gattservice_subevent_client_connected_get_status(const uint8_t * event){ 13851 return event[8]; 13852 } 13853 13854 /** 13855 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CLIENT_DISCONNECTED 13856 * @param event packet 13857 * @return con_handle 13858 * @note: btstack_type H 13859 */ 13860 static inline hci_con_handle_t gattservice_subevent_client_disconnected_get_con_handle(const uint8_t * event){ 13861 return little_endian_read_16(event, 3); 13862 } 13863 /** 13864 * @brief Get field cid from event GATTSERVICE_SUBEVENT_CLIENT_DISCONNECTED 13865 * @param event packet 13866 * @return cid 13867 * @note: btstack_type 2 13868 */ 13869 static inline uint16_t gattservice_subevent_client_disconnected_get_cid(const uint8_t * event){ 13870 return little_endian_read_16(event, 5); 13871 } 13872 13873 /** 13874 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13875 * @param event packet 13876 * @return con_handle 13877 * @note: btstack_type H 13878 */ 13879 static inline hci_con_handle_t gattservice_subevent_lls_client_connected_get_con_handle(const uint8_t * event){ 13880 return little_endian_read_16(event, 3); 13881 } 13882 /** 13883 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13884 * @param event packet 13885 * @return lls_cid 13886 * @note: btstack_type 2 13887 */ 13888 static inline uint16_t gattservice_subevent_lls_client_connected_get_lls_cid(const uint8_t * event){ 13889 return little_endian_read_16(event, 5); 13890 } 13891 /** 13892 * @brief Get field status from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13893 * @param event packet 13894 * @return status 13895 * @note: btstack_type 1 13896 */ 13897 static inline uint8_t gattservice_subevent_lls_client_connected_get_status(const uint8_t * event){ 13898 return event[7]; 13899 } 13900 13901 /** 13902 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_DISCONNECTED 13903 * @param event packet 13904 * @return lls_cid 13905 * @note: btstack_type 2 13906 */ 13907 static inline uint16_t gattservice_subevent_lls_client_disconnected_get_lls_cid(const uint8_t * event){ 13908 return little_endian_read_16(event, 3); 13909 } 13910 13911 /** 13912 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 13913 * @param event packet 13914 * @return lls_cid 13915 * @note: btstack_type 2 13916 */ 13917 static inline uint16_t gattservice_subevent_lls_client_write_done_get_lls_cid(const uint8_t * event){ 13918 return little_endian_read_16(event, 3); 13919 } 13920 /** 13921 * @brief Get field characteristic_uuid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 13922 * @param event packet 13923 * @return characteristic_uuid 13924 * @note: btstack_type 2 13925 */ 13926 static inline uint16_t gattservice_subevent_lls_client_write_done_get_characteristic_uuid(const uint8_t * event){ 13927 return little_endian_read_16(event, 5); 13928 } 13929 /** 13930 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 13931 * @param event packet 13932 * @return att_status 13933 * @note: btstack_type 1 13934 */ 13935 static inline uint8_t gattservice_subevent_lls_client_write_done_get_att_status(const uint8_t * event){ 13936 return event[7]; 13937 } 13938 13939 /** 13940 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_START_ALERTING 13941 * @param event packet 13942 * @return lls_cid 13943 * @note: btstack_type 2 13944 */ 13945 static inline uint16_t gattservice_subevent_lls_client_start_alerting_get_lls_cid(const uint8_t * event){ 13946 return little_endian_read_16(event, 3); 13947 } 13948 13949 /** 13950 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_STOP_ALERTING 13951 * @param event packet 13952 * @return lls_cid 13953 * @note: btstack_type 2 13954 */ 13955 static inline uint16_t gattservice_subevent_lls_client_stop_alerting_get_lls_cid(const uint8_t * event){ 13956 return little_endian_read_16(event, 3); 13957 } 13958 /** 13959 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_LLS_CLIENT_STOP_ALERTING 13960 * @param event packet 13961 * @return timeout 13962 * @note: btstack_type 1 13963 */ 13964 static inline uint8_t gattservice_subevent_lls_client_stop_alerting_get_timeout(const uint8_t * event){ 13965 return event[5]; 13966 } 13967 13968 /** 13969 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_ALERT_LEVEL 13970 * @param event packet 13971 * @return lls_cid 13972 * @note: btstack_type 2 13973 */ 13974 static inline uint16_t gattservice_subevent_lls_client_alert_level_get_lls_cid(const uint8_t * event){ 13975 return little_endian_read_16(event, 3); 13976 } 13977 /** 13978 * @brief Get field value from event GATTSERVICE_SUBEVENT_LLS_CLIENT_ALERT_LEVEL 13979 * @param event packet 13980 * @return value 13981 * @note: btstack_type 1 13982 */ 13983 static inline uint8_t gattservice_subevent_lls_client_alert_level_get_value(const uint8_t * event){ 13984 return event[5]; 13985 } 13986 13987 /** 13988 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 13989 * @param event packet 13990 * @return con_handle 13991 * @note: btstack_type H 13992 */ 13993 static inline hci_con_handle_t gattservice_subevent_ias_client_connected_get_con_handle(const uint8_t * event){ 13994 return little_endian_read_16(event, 3); 13995 } 13996 /** 13997 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 13998 * @param event packet 13999 * @return ias_cid 14000 * @note: btstack_type 2 14001 */ 14002 static inline uint16_t gattservice_subevent_ias_client_connected_get_ias_cid(const uint8_t * event){ 14003 return little_endian_read_16(event, 5); 14004 } 14005 /** 14006 * @brief Get field status from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14007 * @param event packet 14008 * @return status 14009 * @note: btstack_type 1 14010 */ 14011 static inline uint8_t gattservice_subevent_ias_client_connected_get_status(const uint8_t * event){ 14012 return event[7]; 14013 } 14014 14015 /** 14016 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_DISCONNECTED 14017 * @param event packet 14018 * @return ias_cid 14019 * @note: btstack_type 2 14020 */ 14021 static inline uint16_t gattservice_subevent_ias_client_disconnected_get_ias_cid(const uint8_t * event){ 14022 return little_endian_read_16(event, 3); 14023 } 14024 14025 /** 14026 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_START_ALERTING 14027 * @param event packet 14028 * @return ias_cid 14029 * @note: btstack_type 2 14030 */ 14031 static inline uint16_t gattservice_subevent_ias_client_start_alerting_get_ias_cid(const uint8_t * event){ 14032 return little_endian_read_16(event, 3); 14033 } 14034 14035 /** 14036 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_STOP_ALERTING 14037 * @param event packet 14038 * @return ias_cid 14039 * @note: btstack_type 2 14040 */ 14041 static inline uint16_t gattservice_subevent_ias_client_stop_alerting_get_ias_cid(const uint8_t * event){ 14042 return little_endian_read_16(event, 3); 14043 } 14044 /** 14045 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_IAS_CLIENT_STOP_ALERTING 14046 * @param event packet 14047 * @return timeout 14048 * @note: btstack_type 1 14049 */ 14050 static inline uint8_t gattservice_subevent_ias_client_stop_alerting_get_timeout(const uint8_t * event){ 14051 return event[5]; 14052 } 14053 14054 /** 14055 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14056 * @param event packet 14057 * @return con_handle 14058 * @note: btstack_type H 14059 */ 14060 static inline hci_con_handle_t gattservice_subevent_txps_client_connected_get_con_handle(const uint8_t * event){ 14061 return little_endian_read_16(event, 3); 14062 } 14063 /** 14064 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14065 * @param event packet 14066 * @return tpxs_cid 14067 * @note: btstack_type 2 14068 */ 14069 static inline uint16_t gattservice_subevent_txps_client_connected_get_tpxs_cid(const uint8_t * event){ 14070 return little_endian_read_16(event, 5); 14071 } 14072 /** 14073 * @brief Get field status from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14074 * @param event packet 14075 * @return status 14076 * @note: btstack_type 1 14077 */ 14078 static inline uint8_t gattservice_subevent_txps_client_connected_get_status(const uint8_t * event){ 14079 return event[7]; 14080 } 14081 14082 /** 14083 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_DISCONNECTED 14084 * @param event packet 14085 * @return tpxs_cid 14086 * @note: btstack_type 2 14087 */ 14088 static inline uint16_t gattservice_subevent_txps_client_disconnected_get_tpxs_cid(const uint8_t * event){ 14089 return little_endian_read_16(event, 3); 14090 } 14091 14092 /** 14093 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_TX_POWER_LEVEL 14094 * @param event packet 14095 * @return tpxs_cid 14096 * @note: btstack_type 2 14097 */ 14098 static inline uint16_t gattservice_subevent_txps_client_tx_power_level_get_tpxs_cid(const uint8_t * event){ 14099 return little_endian_read_16(event, 3); 14100 } 14101 /** 14102 * @brief Get field value from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_TX_POWER_LEVEL 14103 * @param event packet 14104 * @return value 14105 * @note: btstack_type 1 14106 */ 14107 static inline uint8_t gattservice_subevent_txps_client_tx_power_level_get_value(const uint8_t * event){ 14108 return event[5]; 14109 } 14110 14111 /** 14112 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_LLS_SERVER_START_ALERTING 14113 * @param event packet 14114 * @return alert_level 14115 * @note: btstack_type 1 14116 */ 14117 static inline uint8_t gattservice_subevent_lls_server_start_alerting_get_alert_level(const uint8_t * event){ 14118 return event[3]; 14119 } 14120 14121 /** 14122 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_LLS_SERVER_STOP_ALERTING 14123 * @param event packet 14124 * @return alert_level 14125 * @note: btstack_type 1 14126 */ 14127 static inline uint8_t gattservice_subevent_lls_server_stop_alerting_get_alert_level(const uint8_t * event){ 14128 return event[3]; 14129 } 14130 /** 14131 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_LLS_SERVER_STOP_ALERTING 14132 * @param event packet 14133 * @return timeout 14134 * @note: btstack_type 1 14135 */ 14136 static inline uint8_t gattservice_subevent_lls_server_stop_alerting_get_timeout(const uint8_t * event){ 14137 return event[4]; 14138 } 14139 14140 /** 14141 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_IAS_SERVER_START_ALERTING 14142 * @param event packet 14143 * @return alert_level 14144 * @note: btstack_type 1 14145 */ 14146 static inline uint8_t gattservice_subevent_ias_server_start_alerting_get_alert_level(const uint8_t * event){ 14147 return event[3]; 14148 } 14149 14150 /** 14151 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_IAS_SERVER_STOP_ALERTING 14152 * @param event packet 14153 * @return alert_level 14154 * @note: btstack_type 1 14155 */ 14156 static inline uint8_t gattservice_subevent_ias_server_stop_alerting_get_alert_level(const uint8_t * event){ 14157 return event[3]; 14158 } 14159 /** 14160 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_IAS_SERVER_STOP_ALERTING 14161 * @param event packet 14162 * @return timeout 14163 * @note: btstack_type 1 14164 */ 14165 static inline uint8_t gattservice_subevent_ias_server_stop_alerting_get_timeout(const uint8_t * event){ 14166 return event[4]; 14167 } 14168 14169 /** 14170 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14171 * @param event packet 14172 * @return con_handle 14173 * @note: btstack_type H 14174 */ 14175 static inline hci_con_handle_t gattservice_subevent_device_information_udi_for_medical_devices_get_con_handle(const uint8_t * event){ 14176 return little_endian_read_16(event, 3); 14177 } 14178 /** 14179 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14180 * @param event packet 14181 * @return att_status 14182 * @note: btstack_type 1 14183 */ 14184 static inline uint8_t gattservice_subevent_device_information_udi_for_medical_devices_get_att_status(const uint8_t * event){ 14185 return event[5]; 14186 } 14187 /** 14188 * @brief Get field label from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14189 * @param event packet 14190 * @return label 14191 * @note: btstack_type T 14192 */ 14193 static inline const char * gattservice_subevent_device_information_udi_for_medical_devices_get_label(const uint8_t * event){ 14194 return (const char *) &event[6]; 14195 } 14196 14197 /** 14198 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 14199 * @param event packet 14200 * @return con_handle 14201 * @note: btstack_type H 14202 */ 14203 static inline hci_con_handle_t leaudio_subevent_bass_server_connected_get_con_handle(const uint8_t * event){ 14204 return little_endian_read_16(event, 3); 14205 } 14206 /** 14207 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 14208 * @param event packet 14209 * @return status 14210 * @note: btstack_type 1 14211 */ 14212 static inline uint8_t leaudio_subevent_bass_server_connected_get_status(const uint8_t * event){ 14213 return event[5]; 14214 } 14215 14216 /** 14217 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_DISCONNECTED 14218 * @param event packet 14219 * @return con_handle 14220 * @note: btstack_type H 14221 */ 14222 static inline hci_con_handle_t leaudio_subevent_bass_server_disconnected_get_con_handle(const uint8_t * event){ 14223 return little_endian_read_16(event, 3); 14224 } 14225 14226 /** 14227 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STOPPED 14228 * @param event packet 14229 * @return con_handle 14230 * @note: btstack_type H 14231 */ 14232 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_stopped_get_con_handle(const uint8_t * event){ 14233 return little_endian_read_16(event, 3); 14234 } 14235 14236 /** 14237 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STARTED 14238 * @param event packet 14239 * @return con_handle 14240 * @note: btstack_type H 14241 */ 14242 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_started_get_con_handle(const uint8_t * event){ 14243 return little_endian_read_16(event, 3); 14244 } 14245 14246 /** 14247 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14248 * @param event packet 14249 * @return con_handle 14250 * @note: btstack_type H 14251 */ 14252 static inline hci_con_handle_t leaudio_subevent_bass_server_broadcast_code_get_con_handle(const uint8_t * event){ 14253 return little_endian_read_16(event, 3); 14254 } 14255 /** 14256 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14257 * @param event packet 14258 * @return source_id 14259 * @note: btstack_type 1 14260 */ 14261 static inline uint8_t leaudio_subevent_bass_server_broadcast_code_get_source_id(const uint8_t * event){ 14262 return event[5]; 14263 } 14264 /** 14265 * @brief Get field broadcast_code from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14266 * @param event packet 14267 * @param Pointer to storage for broadcast_code 14268 * @note: btstack_type K 14269 */ 14270 static inline void leaudio_subevent_bass_server_broadcast_code_get_broadcast_code(const uint8_t * event, uint8_t * broadcast_code){ 14271 reverse_bytes(&event[6], broadcast_code, 16); 14272 } 14273 14274 /** 14275 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14276 * @param event packet 14277 * @return con_handle 14278 * @note: btstack_type H 14279 */ 14280 static inline hci_con_handle_t leaudio_subevent_bass_server_source_added_get_con_handle(const uint8_t * event){ 14281 return little_endian_read_16(event, 3); 14282 } 14283 /** 14284 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14285 * @param event packet 14286 * @return source_id 14287 * @note: btstack_type 1 14288 */ 14289 static inline uint8_t leaudio_subevent_bass_server_source_added_get_source_id(const uint8_t * event){ 14290 return event[5]; 14291 } 14292 /** 14293 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14294 * @param event packet 14295 * @return pa_sync 14296 * @note: btstack_type 1 14297 */ 14298 static inline uint8_t leaudio_subevent_bass_server_source_added_get_pa_sync(const uint8_t * event){ 14299 return event[6]; 14300 } 14301 14302 /** 14303 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14304 * @param event packet 14305 * @return con_handle 14306 * @note: btstack_type H 14307 */ 14308 static inline hci_con_handle_t leaudio_subevent_bass_server_source_modified_get_con_handle(const uint8_t * event){ 14309 return little_endian_read_16(event, 3); 14310 } 14311 /** 14312 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14313 * @param event packet 14314 * @return source_id 14315 * @note: btstack_type 1 14316 */ 14317 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_source_id(const uint8_t * event){ 14318 return event[5]; 14319 } 14320 /** 14321 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14322 * @param event packet 14323 * @return pa_sync 14324 * @note: btstack_type 1 14325 */ 14326 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_pa_sync(const uint8_t * event){ 14327 return event[6]; 14328 } 14329 14330 /** 14331 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14332 * @param event packet 14333 * @return con_handle 14334 * @note: btstack_type H 14335 */ 14336 static inline hci_con_handle_t leaudio_subevent_bass_server_source_deleted_get_con_handle(const uint8_t * event){ 14337 return little_endian_read_16(event, 3); 14338 } 14339 /** 14340 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14341 * @param event packet 14342 * @return source_id 14343 * @note: btstack_type 1 14344 */ 14345 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_source_id(const uint8_t * event){ 14346 return event[5]; 14347 } 14348 /** 14349 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14350 * @param event packet 14351 * @return pa_sync 14352 * @note: btstack_type 1 14353 */ 14354 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_pa_sync(const uint8_t * event){ 14355 return event[6]; 14356 } 14357 14358 /** 14359 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14360 * @param event packet 14361 * @return con_handle 14362 * @note: btstack_type H 14363 */ 14364 static inline hci_con_handle_t leaudio_subevent_bass_client_connected_get_con_handle(const uint8_t * event){ 14365 return little_endian_read_16(event, 3); 14366 } 14367 /** 14368 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14369 * @param event packet 14370 * @return bass_cid 14371 * @note: btstack_type 2 14372 */ 14373 static inline uint16_t leaudio_subevent_bass_client_connected_get_bass_cid(const uint8_t * event){ 14374 return little_endian_read_16(event, 5); 14375 } 14376 /** 14377 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14378 * @param event packet 14379 * @return status 14380 * @note: btstack_type 1 14381 */ 14382 static inline uint8_t leaudio_subevent_bass_client_connected_get_status(const uint8_t * event){ 14383 return event[7]; 14384 } 14385 14386 /** 14387 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_DISCONNECTED 14388 * @param event packet 14389 * @return bass_cid 14390 * @note: btstack_type 2 14391 */ 14392 static inline uint16_t leaudio_subevent_bass_client_disconnected_get_bass_cid(const uint8_t * event){ 14393 return little_endian_read_16(event, 3); 14394 } 14395 14396 /** 14397 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14398 * @param event packet 14399 * @return bass_cid 14400 * @note: btstack_type 2 14401 */ 14402 static inline uint16_t leaudio_subevent_bass_client_scan_operation_complete_get_bass_cid(const uint8_t * event){ 14403 return little_endian_read_16(event, 3); 14404 } 14405 /** 14406 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14407 * @param event packet 14408 * @return status 14409 * @note: btstack_type 1 14410 */ 14411 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_status(const uint8_t * event){ 14412 return event[5]; 14413 } 14414 /** 14415 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14416 * @param event packet 14417 * @return opcode 14418 * @note: btstack_type 1 14419 */ 14420 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_opcode(const uint8_t * event){ 14421 return event[6]; 14422 } 14423 14424 /** 14425 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14426 * @param event packet 14427 * @return bass_cid 14428 * @note: btstack_type 2 14429 */ 14430 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_base_get_bass_cid(const uint8_t * event){ 14431 return little_endian_read_16(event, 3); 14432 } 14433 /** 14434 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14435 * @param event packet 14436 * @return source_id 14437 * @note: btstack_type 1 14438 */ 14439 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_id(const uint8_t * event){ 14440 return event[5]; 14441 } 14442 /** 14443 * @brief Get field source_address_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14444 * @param event packet 14445 * @return source_address_type 14446 * @note: btstack_type 1 14447 */ 14448 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_address_type(const uint8_t * event){ 14449 return event[6]; 14450 } 14451 /** 14452 * @brief Get field source_address from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14453 * @param event packet 14454 * @param Pointer to storage for source_address 14455 * @note: btstack_type B 14456 */ 14457 static inline void leaudio_subevent_bass_client_notify_receive_state_base_get_source_address(const uint8_t * event, bd_addr_t source_address){ 14458 reverse_bytes(&event[7], source_address, 6); 14459 } 14460 /** 14461 * @brief Get field source_adv_sid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14462 * @param event packet 14463 * @return source_adv_sid 14464 * @note: btstack_type 1 14465 */ 14466 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_adv_sid(const uint8_t * event){ 14467 return event[13]; 14468 } 14469 /** 14470 * @brief Get field broadcast_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14471 * @param event packet 14472 * @return broadcast_id 14473 * @note: btstack_type 3 14474 */ 14475 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_base_get_broadcast_id(const uint8_t * event){ 14476 return little_endian_read_24(event, 14); 14477 } 14478 /** 14479 * @brief Get field pa_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14480 * @param event packet 14481 * @return pa_sync_state 14482 * @note: btstack_type 1 14483 */ 14484 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_pa_sync_state(const uint8_t * event){ 14485 return event[17]; 14486 } 14487 /** 14488 * @brief Get field big_encryption from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14489 * @param event packet 14490 * @return big_encryption 14491 * @note: btstack_type 1 14492 */ 14493 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_big_encryption(const uint8_t * event){ 14494 return event[18]; 14495 } 14496 /** 14497 * @brief Get field bad_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14498 * @param event packet 14499 * @return bad_code 14500 * @note: btstack_type P 14501 */ 14502 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_base_get_bad_code(const uint8_t * event){ 14503 return (const uint8_t *) &event[19]; 14504 } 14505 /** 14506 * @brief Get field subgroups_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14507 * @param event packet 14508 * @return subgroups_num 14509 * @note: btstack_type 1 14510 */ 14511 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_subgroups_num(const uint8_t * event){ 14512 return event[35]; 14513 } 14514 14515 /** 14516 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14517 * @param event packet 14518 * @return bass_cid 14519 * @note: btstack_type 2 14520 */ 14521 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){ 14522 return little_endian_read_16(event, 3); 14523 } 14524 /** 14525 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14526 * @param event packet 14527 * @return source_id 14528 * @note: btstack_type 1 14529 */ 14530 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_source_id(const uint8_t * event){ 14531 return event[5]; 14532 } 14533 /** 14534 * @brief Get field bis_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14535 * @param event packet 14536 * @return bis_sync_state 14537 * @note: btstack_type 4 14538 */ 14539 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){ 14540 return little_endian_read_32(event, 6); 14541 } 14542 /** 14543 * @brief Get field metadata_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14544 * @param event packet 14545 * @return metadata_mask 14546 * @note: btstack_type 1 14547 */ 14548 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){ 14549 return event[10]; 14550 } 14551 /** 14552 * @brief Get field preferred_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14553 * @param event packet 14554 * @return preferred_audio_contexts_mask 14555 * @note: btstack_type 2 14556 */ 14557 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){ 14558 return little_endian_read_16(event, 11); 14559 } 14560 /** 14561 * @brief Get field streaming_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14562 * @param event packet 14563 * @return streaming_audio_contexts_mask 14564 * @note: btstack_type 2 14565 */ 14566 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){ 14567 return little_endian_read_16(event, 13); 14568 } 14569 /** 14570 * @brief Get field program_info_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14571 * @param event packet 14572 * @return program_info_length 14573 * @note: btstack_type J 14574 */ 14575 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){ 14576 return event[15]; 14577 } 14578 /** 14579 * @brief Get field program_info from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14580 * @param event packet 14581 * @return program_info 14582 * @note: btstack_type V 14583 */ 14584 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info(const uint8_t * event){ 14585 return &event[16]; 14586 } 14587 /** 14588 * @brief Get field language_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14589 * @param event packet 14590 * @return language_code 14591 * @note: btstack_type 3 14592 */ 14593 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_language_code(const uint8_t * event){ 14594 uint8_t offset = 16u + event[15]; 14595 return little_endian_read_24(event, (int)(int8_t) offset); 14596 } 14597 /** 14598 * @brief Get field ccids_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14599 * @param event packet 14600 * @return ccids_num 14601 * @note: btstack_type J 14602 */ 14603 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){ 14604 return event[16u + event[15] + 3u]; 14605 } 14606 /** 14607 * @brief Get field ccids from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14608 * @param event packet 14609 * @return ccids 14610 * @note: btstack_type V 14611 */ 14612 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids(const uint8_t * event){ 14613 return &event[16u + event[15] + 3u + 1u]; 14614 } 14615 /** 14616 * @brief Get field parental_rating from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14617 * @param event packet 14618 * @return parental_rating 14619 * @note: btstack_type 1 14620 */ 14621 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){ 14622 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]]; 14623 } 14624 /** 14625 * @brief Get field program_info_uri_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14626 * @param event packet 14627 * @return program_info_uri_length 14628 * @note: btstack_type J 14629 */ 14630 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){ 14631 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; 14632 } 14633 /** 14634 * @brief Get field program_info_uri from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14635 * @param event packet 14636 * @return program_info_uri 14637 * @note: btstack_type V 14638 */ 14639 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){ 14640 return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u]; 14641 } 14642 /** 14643 * @brief Get field extended_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14644 * @param event packet 14645 * @return extended_metadata_type 14646 * @note: btstack_type 2 14647 */ 14648 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){ 14649 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]; 14650 return little_endian_read_16(event, (int)(int8_t) offset); 14651 } 14652 /** 14653 * @brief Get field extended_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14654 * @param event packet 14655 * @return extended_metadata_value_length 14656 * @note: btstack_type J 14657 */ 14658 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){ 14659 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]; 14660 } 14661 /** 14662 * @brief Get field extended_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14663 * @param event packet 14664 * @return extended_metadata_value 14665 * @note: btstack_type V 14666 */ 14667 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){ 14668 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]; 14669 } 14670 /** 14671 * @brief Get field vendor_specific_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14672 * @param event packet 14673 * @return vendor_specific_metadata_type 14674 * @note: btstack_type 2 14675 */ 14676 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){ 14677 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]; 14678 return little_endian_read_16(event, (int)(int8_t) offset); 14679 } 14680 /** 14681 * @brief Get field vendor_specific_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14682 * @param event packet 14683 * @return vendor_specific_metadata_value_length 14684 * @note: btstack_type J 14685 */ 14686 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){ 14687 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]; 14688 } 14689 /** 14690 * @brief Get field vendor_specific_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14691 * @param event packet 14692 * @return vendor_specific_metadata_value 14693 * @note: btstack_type V 14694 */ 14695 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){ 14696 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]; 14697 } 14698 14699 /** 14700 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14701 * @param event packet 14702 * @return bass_cid 14703 * @note: btstack_type 2 14704 */ 14705 static inline uint16_t leaudio_subevent_bass_client_notification_complete_get_bass_cid(const uint8_t * event){ 14706 return little_endian_read_16(event, 3); 14707 } 14708 /** 14709 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14710 * @param event packet 14711 * @return source_id 14712 * @note: btstack_type 1 14713 */ 14714 static inline uint8_t leaudio_subevent_bass_client_notification_complete_get_source_id(const uint8_t * event){ 14715 return event[5]; 14716 } 14717 14718 /** 14719 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14720 * @param event packet 14721 * @return bass_cid 14722 * @note: btstack_type 2 14723 */ 14724 static inline uint16_t leaudio_subevent_bass_client_source_operation_complete_get_bass_cid(const uint8_t * event){ 14725 return little_endian_read_16(event, 3); 14726 } 14727 /** 14728 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14729 * @param event packet 14730 * @return status 14731 * @note: btstack_type 1 14732 */ 14733 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_status(const uint8_t * event){ 14734 return event[5]; 14735 } 14736 /** 14737 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14738 * @param event packet 14739 * @return opcode 14740 * @note: btstack_type 1 14741 */ 14742 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_opcode(const uint8_t * event){ 14743 return event[6]; 14744 } 14745 /** 14746 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14747 * @param event packet 14748 * @return source_id 14749 * @note: btstack_type 1 14750 */ 14751 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_source_id(const uint8_t * event){ 14752 return event[7]; 14753 } 14754 14755 14756 /** 14757 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 14758 * @param event packet 14759 * @return status 14760 * @note: btstack_type 1 14761 */ 14762 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 14763 return event[3]; 14764 } 14765 14766 /** 14767 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14768 * @param event packet 14769 * @return status 14770 * @note: btstack_type 1 14771 */ 14772 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 14773 return event[3]; 14774 } 14775 /** 14776 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14777 * @param event packet 14778 * @return pb_transport_cid 14779 * @note: btstack_type 2 14780 */ 14781 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 14782 return little_endian_read_16(event, 4); 14783 } 14784 /** 14785 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14786 * @param event packet 14787 * @return pb_type 14788 * @note: btstack_type 1 14789 */ 14790 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 14791 return event[6]; 14792 } 14793 14794 /** 14795 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14796 * @param event packet 14797 * @return pb_transport_cid 14798 * @note: btstack_type 1 14799 */ 14800 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 14801 return event[3]; 14802 } 14803 /** 14804 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14805 * @param event packet 14806 * @return reason 14807 * @note: btstack_type 2 14808 */ 14809 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 14810 return little_endian_read_16(event, 4); 14811 } 14812 14813 /** 14814 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14815 * @param event packet 14816 * @return pb_transport_cid 14817 * @note: btstack_type 2 14818 */ 14819 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 14820 return little_endian_read_16(event, 3); 14821 } 14822 /** 14823 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14824 * @param event packet 14825 * @return attention_time 14826 * @note: btstack_type 1 14827 */ 14828 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 14829 return event[5]; 14830 } 14831 14832 /** 14833 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 14834 * @param event packet 14835 * @return pb_transport_cid 14836 * @note: btstack_type 2 14837 */ 14838 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14839 return little_endian_read_16(event, 3); 14840 } 14841 14842 /** 14843 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 14844 * @param event packet 14845 * @return pb_transport_cid 14846 * @note: btstack_type 2 14847 */ 14848 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14849 return little_endian_read_16(event, 3); 14850 } 14851 14852 /** 14853 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 14854 * @param event packet 14855 * @return pb_transport_cid 14856 * @note: btstack_type 2 14857 */ 14858 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 14859 return little_endian_read_16(event, 3); 14860 } 14861 14862 /** 14863 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14864 * @param event packet 14865 * @return pb_transport_cid 14866 * @note: btstack_type 2 14867 */ 14868 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14869 return little_endian_read_16(event, 3); 14870 } 14871 /** 14872 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14873 * @param event packet 14874 * @return output_oob 14875 * @note: btstack_type 4 14876 */ 14877 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 14878 return little_endian_read_32(event, 5); 14879 } 14880 14881 /** 14882 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 14883 * @param event packet 14884 * @return pb_transport_cid 14885 * @note: btstack_type 2 14886 */ 14887 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14888 return little_endian_read_16(event, 3); 14889 } 14890 14891 /** 14892 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 14893 * @param event packet 14894 * @return pb_transport_cid 14895 * @note: btstack_type 2 14896 */ 14897 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14898 return little_endian_read_16(event, 3); 14899 } 14900 14901 /** 14902 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 14903 * @param event packet 14904 * @return pb_transport_cid 14905 * @note: btstack_type 2 14906 */ 14907 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14908 return little_endian_read_16(event, 3); 14909 } 14910 14911 /** 14912 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 14913 * @param event packet 14914 * @return pb_transport_cid 14915 * @note: btstack_type 2 14916 */ 14917 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 14918 return little_endian_read_16(event, 3); 14919 } 14920 14921 /** 14922 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 14923 * @param event packet 14924 * @return pb_transport_cid 14925 * @note: btstack_type 2 14926 */ 14927 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 14928 return little_endian_read_16(event, 3); 14929 } 14930 /** 14931 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 14932 * @param event packet 14933 * @return output_oob 14934 * @note: btstack_type 4 14935 */ 14936 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 14937 return little_endian_read_32(event, 5); 14938 } 14939 14940 /** 14941 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 14942 * @param event packet 14943 * @return pb_transport_cid 14944 * @note: btstack_type 2 14945 */ 14946 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 14947 return little_endian_read_16(event, 3); 14948 } 14949 14950 /** 14951 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14952 * @param event packet 14953 * @return pb_transport_cid 14954 * @note: btstack_type 2 14955 */ 14956 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 14957 return little_endian_read_16(event, 3); 14958 } 14959 /** 14960 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14961 * @param event packet 14962 * @return num_elements 14963 * @note: btstack_type 1 14964 */ 14965 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 14966 return event[5]; 14967 } 14968 /** 14969 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14970 * @param event packet 14971 * @return algorithms 14972 * @note: btstack_type 2 14973 */ 14974 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 14975 return little_endian_read_16(event, 6); 14976 } 14977 /** 14978 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14979 * @param event packet 14980 * @return public_key 14981 * @note: btstack_type 1 14982 */ 14983 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 14984 return event[8]; 14985 } 14986 /** 14987 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14988 * @param event packet 14989 * @return static_oob_type 14990 * @note: btstack_type 1 14991 */ 14992 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 14993 return event[9]; 14994 } 14995 /** 14996 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14997 * @param event packet 14998 * @return output_oob_size 14999 * @note: btstack_type 1 15000 */ 15001 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 15002 return event[10]; 15003 } 15004 /** 15005 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15006 * @param event packet 15007 * @return output_oob_action 15008 * @note: btstack_type 2 15009 */ 15010 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 15011 return little_endian_read_16(event, 11); 15012 } 15013 /** 15014 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15015 * @param event packet 15016 * @return input_oob_size 15017 * @note: btstack_type 1 15018 */ 15019 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 15020 return event[13]; 15021 } 15022 /** 15023 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15024 * @param event packet 15025 * @return input_oob_action 15026 * @note: btstack_type 2 15027 */ 15028 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 15029 return little_endian_read_16(event, 14); 15030 } 15031 15032 /** 15033 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 15034 * @param event packet 15035 * @return pb_transport_cid 15036 * @note: btstack_type 2 15037 */ 15038 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 15039 return little_endian_read_16(event, 3); 15040 } 15041 15042 /** 15043 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 15044 * @param event packet 15045 * @return attention_time 15046 * @note: btstack_type 1 15047 */ 15048 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 15049 return event[3]; 15050 } 15051 15052 /** 15053 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 15054 * @param event packet 15055 * @return con_handle 15056 * @note: btstack_type H 15057 */ 15058 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 15059 return little_endian_read_16(event, 3); 15060 } 15061 15062 /** 15063 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 15064 * @param event packet 15065 * @return con_handle 15066 * @note: btstack_type H 15067 */ 15068 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 15069 return little_endian_read_16(event, 3); 15070 } 15071 15072 /** 15073 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 15074 * @param event packet 15075 * @return con_handle 15076 * @note: btstack_type H 15077 */ 15078 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 15079 return little_endian_read_16(event, 3); 15080 } 15081 15082 /** 15083 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 15084 * @param event packet 15085 * @return con_handle 15086 * @note: btstack_type H 15087 */ 15088 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 15089 return little_endian_read_16(event, 3); 15090 } 15091 15092 /** 15093 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15094 * @param event packet 15095 * @return element_index 15096 * @note: btstack_type 1 15097 */ 15098 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 15099 return event[3]; 15100 } 15101 /** 15102 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15103 * @param event packet 15104 * @return model_identifier 15105 * @note: btstack_type 4 15106 */ 15107 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 15108 return little_endian_read_32(event, 4); 15109 } 15110 /** 15111 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15112 * @param event packet 15113 * @return state_identifier 15114 * @note: btstack_type 4 15115 */ 15116 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 15117 return little_endian_read_32(event, 8); 15118 } 15119 /** 15120 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15121 * @param event packet 15122 * @return reason 15123 * @note: btstack_type 1 15124 */ 15125 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 15126 return event[12]; 15127 } 15128 /** 15129 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15130 * @param event packet 15131 * @return value 15132 * @note: btstack_type 1 15133 */ 15134 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 15135 return event[13]; 15136 } 15137 15138 /** 15139 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 15140 * @param event packet 15141 * @return element_index 15142 * @note: btstack_type 1 15143 */ 15144 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 15145 return event[3]; 15146 } 15147 /** 15148 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15149 * @param event packet 15150 * @return model_identifier 15151 * @note: btstack_type 4 15152 */ 15153 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 15154 return little_endian_read_32(event, 4); 15155 } 15156 /** 15157 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15158 * @param event packet 15159 * @return state_identifier 15160 * @note: btstack_type 4 15161 */ 15162 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 15163 return little_endian_read_32(event, 8); 15164 } 15165 /** 15166 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 15167 * @param event packet 15168 * @return reason 15169 * @note: btstack_type 1 15170 */ 15171 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 15172 return event[12]; 15173 } 15174 /** 15175 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 15176 * @param event packet 15177 * @return value 15178 * @note: btstack_type 2 15179 */ 15180 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 15181 return little_endian_read_16(event, 13); 15182 } 15183 15184 /** 15185 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15186 * @param event packet 15187 * @return element_index 15188 * @note: btstack_type 1 15189 */ 15190 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 15191 return event[3]; 15192 } 15193 /** 15194 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15195 * @param event packet 15196 * @return model_identifier 15197 * @note: btstack_type 4 15198 */ 15199 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 15200 return little_endian_read_32(event, 4); 15201 } 15202 /** 15203 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15204 * @param event packet 15205 * @return opcode 15206 * @note: btstack_type 4 15207 */ 15208 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 15209 return little_endian_read_32(event, 8); 15210 } 15211 /** 15212 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15213 * @param event packet 15214 * @return dest 15215 * @note: btstack_type 2 15216 */ 15217 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 15218 return little_endian_read_16(event, 12); 15219 } 15220 15221 /** 15222 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 15223 * @param event packet 15224 * @return dest 15225 * @note: btstack_type 2 15226 */ 15227 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 15228 return little_endian_read_16(event, 3); 15229 } 15230 /** 15231 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 15232 * @param event packet 15233 * @return status 15234 * @note: btstack_type 1 15235 */ 15236 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 15237 return event[5]; 15238 } 15239 /** 15240 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15241 * @param event packet 15242 * @return present_value 15243 * @note: btstack_type 1 15244 */ 15245 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 15246 return event[6]; 15247 } 15248 /** 15249 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15250 * @param event packet 15251 * @return target_value 15252 * @note: btstack_type 1 15253 */ 15254 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 15255 return event[7]; 15256 } 15257 /** 15258 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 15259 * @param event packet 15260 * @return remaining_time_ms 15261 * @note: btstack_type 4 15262 */ 15263 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 15264 return little_endian_read_32(event, 8); 15265 } 15266 15267 /** 15268 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 15269 * @param event packet 15270 * @return dest 15271 * @note: btstack_type 2 15272 */ 15273 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 15274 return little_endian_read_16(event, 3); 15275 } 15276 /** 15277 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 15278 * @param event packet 15279 * @return status 15280 * @note: btstack_type 1 15281 */ 15282 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 15283 return event[5]; 15284 } 15285 /** 15286 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 15287 * @param event packet 15288 * @return present_value 15289 * @note: btstack_type 2 15290 */ 15291 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 15292 return little_endian_read_16(event, 6); 15293 } 15294 /** 15295 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 15296 * @param event packet 15297 * @return target_value 15298 * @note: btstack_type 2 15299 */ 15300 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 15301 return little_endian_read_16(event, 8); 15302 } 15303 /** 15304 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 15305 * @param event packet 15306 * @return remaining_time_ms 15307 * @note: btstack_type 4 15308 */ 15309 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 15310 return little_endian_read_32(event, 10); 15311 } 15312 15313 /** 15314 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15315 * @param event packet 15316 * @return dest 15317 * @note: btstack_type 2 15318 */ 15319 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 15320 return little_endian_read_16(event, 3); 15321 } 15322 /** 15323 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15324 * @param event packet 15325 * @return netkey_index 15326 * @note: btstack_type 2 15327 */ 15328 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 15329 return little_endian_read_16(event, 5); 15330 } 15331 /** 15332 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15333 * @param event packet 15334 * @return appkey_index 15335 * @note: btstack_type 2 15336 */ 15337 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 15338 return little_endian_read_16(event, 7); 15339 } 15340 /** 15341 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15342 * @param event packet 15343 * @return company_id 15344 * @note: btstack_type 2 15345 */ 15346 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 15347 return little_endian_read_16(event, 9); 15348 } 15349 /** 15350 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15351 * @param event packet 15352 * @return test_id 15353 * @note: btstack_type 1 15354 */ 15355 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 15356 return event[11]; 15357 } 15358 /** 15359 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15360 * @param event packet 15361 * @return acknowledged 15362 * @note: btstack_type 1 15363 */ 15364 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 15365 return event[12]; 15366 } 15367 15368 /** 15369 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 15370 * @param event packet 15371 * @return element_index 15372 * @note: btstack_type 1 15373 */ 15374 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 15375 return event[3]; 15376 } 15377 15378 /** 15379 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15380 * @param event packet 15381 * @return dest 15382 * @note: btstack_type 2 15383 */ 15384 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 15385 return little_endian_read_16(event, 3); 15386 } 15387 /** 15388 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15389 * @param event packet 15390 * @return status 15391 * @note: btstack_type 1 15392 */ 15393 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 15394 return event[5]; 15395 } 15396 /** 15397 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15398 * @param event packet 15399 * @return transition_time_gdtt 15400 * @note: btstack_type 1 15401 */ 15402 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 15403 return event[6]; 15404 } 15405 15406 /** 15407 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 15408 * @param event packet 15409 * @return dest 15410 * @note: btstack_type 2 15411 */ 15412 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 15413 return little_endian_read_16(event, 3); 15414 } 15415 /** 15416 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 15417 * @param event packet 15418 * @return foundation_status 15419 * @note: btstack_type 1 15420 */ 15421 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 15422 return event[5]; 15423 } 15424 /** 15425 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 15426 * @param event packet 15427 * @return secure_network_beacon_state 15428 * @note: btstack_type 1 15429 */ 15430 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 15431 return event[6]; 15432 } 15433 15434 /** 15435 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15436 * @param event packet 15437 * @return dest 15438 * @note: btstack_type 2 15439 */ 15440 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 15441 return little_endian_read_16(event, 3); 15442 } 15443 /** 15444 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15445 * @param event packet 15446 * @return foundation_status 15447 * @note: btstack_type 1 15448 */ 15449 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 15450 return event[5]; 15451 } 15452 /** 15453 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15454 * @param event packet 15455 * @return default_ttl 15456 * @note: btstack_type 1 15457 */ 15458 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 15459 return event[6]; 15460 } 15461 15462 /** 15463 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15464 * @param event packet 15465 * @return dest 15466 * @note: btstack_type 2 15467 */ 15468 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 15469 return little_endian_read_16(event, 3); 15470 } 15471 /** 15472 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15473 * @param event packet 15474 * @return foundation_status 15475 * @note: btstack_type 1 15476 */ 15477 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 15478 return event[5]; 15479 } 15480 /** 15481 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15482 * @param event packet 15483 * @return gatt_proxy_state 15484 * @note: btstack_type 1 15485 */ 15486 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 15487 return event[6]; 15488 } 15489 15490 /** 15491 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 15492 * @param event packet 15493 * @return dest 15494 * @note: btstack_type 2 15495 */ 15496 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 15497 return little_endian_read_16(event, 3); 15498 } 15499 /** 15500 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 15501 * @param event packet 15502 * @return foundation_status 15503 * @note: btstack_type 1 15504 */ 15505 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 15506 return event[5]; 15507 } 15508 /** 15509 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 15510 * @param event packet 15511 * @return relay 15512 * @note: btstack_type 1 15513 */ 15514 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 15515 return event[6]; 15516 } 15517 /** 15518 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 15519 * @param event packet 15520 * @return retransmit_count 15521 * @note: btstack_type 1 15522 */ 15523 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 15524 return event[7]; 15525 } 15526 /** 15527 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 15528 * @param event packet 15529 * @return retransmit_interval_ms 15530 * @note: btstack_type 1 15531 */ 15532 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 15533 return event[8]; 15534 } 15535 15536 /** 15537 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15538 * @param event packet 15539 * @return dest 15540 * @note: btstack_type 2 15541 */ 15542 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 15543 return little_endian_read_16(event, 3); 15544 } 15545 /** 15546 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15547 * @param event packet 15548 * @return foundation_status 15549 * @note: btstack_type 1 15550 */ 15551 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 15552 return event[5]; 15553 } 15554 /** 15555 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15556 * @param event packet 15557 * @return publish_address 15558 * @note: btstack_type 2 15559 */ 15560 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 15561 return little_endian_read_16(event, 6); 15562 } 15563 /** 15564 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15565 * @param event packet 15566 * @return appkey_index 15567 * @note: btstack_type 2 15568 */ 15569 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 15570 return little_endian_read_16(event, 8); 15571 } 15572 /** 15573 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15574 * @param event packet 15575 * @return credential_flag 15576 * @note: btstack_type 1 15577 */ 15578 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 15579 return event[10]; 15580 } 15581 /** 15582 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15583 * @param event packet 15584 * @return publish_ttl 15585 * @note: btstack_type 1 15586 */ 15587 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 15588 return event[11]; 15589 } 15590 /** 15591 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15592 * @param event packet 15593 * @return publish_period 15594 * @note: btstack_type 1 15595 */ 15596 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 15597 return event[12]; 15598 } 15599 /** 15600 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15601 * @param event packet 15602 * @return publish_retransmit_count 15603 * @note: btstack_type 1 15604 */ 15605 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 15606 return event[13]; 15607 } 15608 /** 15609 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15610 * @param event packet 15611 * @return publish_retransmit_interval_steps 15612 * @note: btstack_type 1 15613 */ 15614 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 15615 return event[14]; 15616 } 15617 /** 15618 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15619 * @param event packet 15620 * @return model_identifier 15621 * @note: btstack_type 4 15622 */ 15623 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 15624 return little_endian_read_32(event, 15); 15625 } 15626 15627 /** 15628 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15629 * @param event packet 15630 * @return dest 15631 * @note: btstack_type 2 15632 */ 15633 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 15634 return little_endian_read_16(event, 3); 15635 } 15636 /** 15637 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15638 * @param event packet 15639 * @return foundation_status 15640 * @note: btstack_type 1 15641 */ 15642 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 15643 return event[5]; 15644 } 15645 /** 15646 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15647 * @param event packet 15648 * @return address 15649 * @note: btstack_type 2 15650 */ 15651 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 15652 return little_endian_read_16(event, 6); 15653 } 15654 /** 15655 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15656 * @param event packet 15657 * @return model_identifier 15658 * @note: btstack_type 4 15659 */ 15660 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 15661 return little_endian_read_32(event, 8); 15662 } 15663 15664 /** 15665 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15666 * @param event packet 15667 * @return dest 15668 * @note: btstack_type 2 15669 */ 15670 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 15671 return little_endian_read_16(event, 3); 15672 } 15673 /** 15674 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15675 * @param event packet 15676 * @return foundation_status 15677 * @note: btstack_type 1 15678 */ 15679 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 15680 return event[5]; 15681 } 15682 /** 15683 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15684 * @param event packet 15685 * @return model_identifier 15686 * @note: btstack_type 4 15687 */ 15688 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 15689 return little_endian_read_32(event, 6); 15690 } 15691 /** 15692 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15693 * @param event packet 15694 * @return num_subscription_addresses 15695 * @note: btstack_type 1 15696 */ 15697 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 15698 return event[10]; 15699 } 15700 /** 15701 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15702 * @param event packet 15703 * @return subscription_address_pos 15704 * @note: btstack_type 1 15705 */ 15706 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 15707 return event[11]; 15708 } 15709 /** 15710 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15711 * @param event packet 15712 * @return subscription_address_item 15713 * @note: btstack_type 2 15714 */ 15715 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 15716 return little_endian_read_16(event, 12); 15717 } 15718 15719 /** 15720 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 15721 * @param event packet 15722 * @return dest 15723 * @note: btstack_type 2 15724 */ 15725 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 15726 return little_endian_read_16(event, 3); 15727 } 15728 /** 15729 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 15730 * @param event packet 15731 * @return foundation_status 15732 * @note: btstack_type 1 15733 */ 15734 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 15735 return event[5]; 15736 } 15737 15738 /** 15739 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15740 * @param event packet 15741 * @return dest 15742 * @note: btstack_type 2 15743 */ 15744 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 15745 return little_endian_read_16(event, 3); 15746 } 15747 /** 15748 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15749 * @param event packet 15750 * @return foundation_status 15751 * @note: btstack_type 1 15752 */ 15753 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 15754 return event[5]; 15755 } 15756 /** 15757 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15758 * @param event packet 15759 * @return num_netkey_indexes 15760 * @note: btstack_type 1 15761 */ 15762 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 15763 return event[6]; 15764 } 15765 /** 15766 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15767 * @param event packet 15768 * @return netkey_index_pos 15769 * @note: btstack_type 1 15770 */ 15771 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 15772 return event[7]; 15773 } 15774 /** 15775 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15776 * @param event packet 15777 * @return netkey_index_item 15778 * @note: btstack_type 2 15779 */ 15780 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15781 return little_endian_read_16(event, 8); 15782 } 15783 15784 /** 15785 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15786 * @param event packet 15787 * @return dest 15788 * @note: btstack_type 2 15789 */ 15790 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 15791 return little_endian_read_16(event, 3); 15792 } 15793 /** 15794 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15795 * @param event packet 15796 * @return foundation_status 15797 * @note: btstack_type 1 15798 */ 15799 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 15800 return event[5]; 15801 } 15802 /** 15803 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15804 * @param event packet 15805 * @return netkey_index_item 15806 * @note: btstack_type 2 15807 */ 15808 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 15809 return little_endian_read_16(event, 6); 15810 } 15811 /** 15812 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15813 * @param event packet 15814 * @return appkey_index_item 15815 * @note: btstack_type 2 15816 */ 15817 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 15818 return little_endian_read_16(event, 8); 15819 } 15820 15821 /** 15822 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15823 * @param event packet 15824 * @return dest 15825 * @note: btstack_type 2 15826 */ 15827 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 15828 return little_endian_read_16(event, 3); 15829 } 15830 /** 15831 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15832 * @param event packet 15833 * @return foundation_status 15834 * @note: btstack_type 1 15835 */ 15836 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 15837 return event[5]; 15838 } 15839 /** 15840 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15841 * @param event packet 15842 * @return netkey_index 15843 * @note: btstack_type 2 15844 */ 15845 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 15846 return little_endian_read_16(event, 6); 15847 } 15848 /** 15849 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15850 * @param event packet 15851 * @return num_appkey_indexes 15852 * @note: btstack_type 1 15853 */ 15854 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 15855 return event[8]; 15856 } 15857 /** 15858 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15859 * @param event packet 15860 * @return appkey_index_pos 15861 * @note: btstack_type 1 15862 */ 15863 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 15864 return event[9]; 15865 } 15866 /** 15867 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15868 * @param event packet 15869 * @return netkey_index_item 15870 * @note: btstack_type 2 15871 */ 15872 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15873 return little_endian_read_16(event, 10); 15874 } 15875 /** 15876 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15877 * @param event packet 15878 * @return appkey_index_item 15879 * @note: btstack_type 2 15880 */ 15881 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 15882 return little_endian_read_16(event, 12); 15883 } 15884 15885 /** 15886 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15887 * @param event packet 15888 * @return dest 15889 * @note: btstack_type 2 15890 */ 15891 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 15892 return little_endian_read_16(event, 3); 15893 } 15894 /** 15895 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15896 * @param event packet 15897 * @return foundation_status 15898 * @note: btstack_type 1 15899 */ 15900 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 15901 return event[5]; 15902 } 15903 /** 15904 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15905 * @param event packet 15906 * @return netkey_index_item 15907 * @note: btstack_type 2 15908 */ 15909 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 15910 return little_endian_read_16(event, 6); 15911 } 15912 /** 15913 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15914 * @param event packet 15915 * @return identity_status 15916 * @note: btstack_type 1 15917 */ 15918 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 15919 return event[8]; 15920 } 15921 15922 /** 15923 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15924 * @param event packet 15925 * @return dest 15926 * @note: btstack_type 2 15927 */ 15928 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 15929 return little_endian_read_16(event, 3); 15930 } 15931 /** 15932 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15933 * @param event packet 15934 * @return foundation_status 15935 * @note: btstack_type 1 15936 */ 15937 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 15938 return event[5]; 15939 } 15940 /** 15941 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15942 * @param event packet 15943 * @return appkey_index 15944 * @note: btstack_type 2 15945 */ 15946 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 15947 return little_endian_read_16(event, 6); 15948 } 15949 /** 15950 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15951 * @param event packet 15952 * @return model_identifier 15953 * @note: btstack_type 4 15954 */ 15955 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 15956 return little_endian_read_32(event, 8); 15957 } 15958 15959 /** 15960 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15961 * @param event packet 15962 * @return dest 15963 * @note: btstack_type 2 15964 */ 15965 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 15966 return little_endian_read_16(event, 3); 15967 } 15968 /** 15969 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15970 * @param event packet 15971 * @return foundation_status 15972 * @note: btstack_type 1 15973 */ 15974 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 15975 return event[5]; 15976 } 15977 /** 15978 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15979 * @param event packet 15980 * @return model_id 15981 * @note: btstack_type 4 15982 */ 15983 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 15984 return little_endian_read_32(event, 6); 15985 } 15986 /** 15987 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15988 * @param event packet 15989 * @return num_appkey_indexes 15990 * @note: btstack_type 1 15991 */ 15992 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 15993 return event[10]; 15994 } 15995 /** 15996 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15997 * @param event packet 15998 * @return appkey_index_pos 15999 * @note: btstack_type 1 16000 */ 16001 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 16002 return event[11]; 16003 } 16004 /** 16005 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16006 * @param event packet 16007 * @return appkey_index_item 16008 * @note: btstack_type 2 16009 */ 16010 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 16011 return little_endian_read_16(event, 12); 16012 } 16013 16014 /** 16015 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16016 * @param event packet 16017 * @return dest 16018 * @note: btstack_type 2 16019 */ 16020 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 16021 return little_endian_read_16(event, 3); 16022 } 16023 /** 16024 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16025 * @param event packet 16026 * @return foundation_status 16027 * @note: btstack_type 1 16028 */ 16029 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 16030 return event[5]; 16031 } 16032 16033 /** 16034 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16035 * @param event packet 16036 * @return dest 16037 * @note: btstack_type 2 16038 */ 16039 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 16040 return little_endian_read_16(event, 3); 16041 } 16042 /** 16043 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16044 * @param event packet 16045 * @return foundation_status 16046 * @note: btstack_type 1 16047 */ 16048 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 16049 return event[5]; 16050 } 16051 /** 16052 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16053 * @param event packet 16054 * @return friend_state 16055 * @note: btstack_type 1 16056 */ 16057 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 16058 return event[6]; 16059 } 16060 16061 /** 16062 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16063 * @param event packet 16064 * @return dest 16065 * @note: btstack_type 2 16066 */ 16067 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 16068 return little_endian_read_16(event, 3); 16069 } 16070 /** 16071 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16072 * @param event packet 16073 * @return foundation_status 16074 * @note: btstack_type 1 16075 */ 16076 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 16077 return event[5]; 16078 } 16079 /** 16080 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16081 * @param event packet 16082 * @return netkey_index 16083 * @note: btstack_type 2 16084 */ 16085 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 16086 return little_endian_read_16(event, 6); 16087 } 16088 /** 16089 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16090 * @param event packet 16091 * @return phase 16092 * @note: btstack_type 1 16093 */ 16094 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 16095 return event[8]; 16096 } 16097 16098 /** 16099 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16100 * @param event packet 16101 * @return dest 16102 * @note: btstack_type 2 16103 */ 16104 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 16105 return little_endian_read_16(event, 3); 16106 } 16107 /** 16108 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16109 * @param event packet 16110 * @return foundation_status 16111 * @note: btstack_type 1 16112 */ 16113 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 16114 return event[5]; 16115 } 16116 /** 16117 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16118 * @param event packet 16119 * @return heartbeat_destination 16120 * @note: btstack_type 2 16121 */ 16122 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 16123 return little_endian_read_16(event, 6); 16124 } 16125 /** 16126 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16127 * @param event packet 16128 * @return count_S 16129 * @note: btstack_type 2 16130 */ 16131 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 16132 return little_endian_read_16(event, 8); 16133 } 16134 /** 16135 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16136 * @param event packet 16137 * @return period_S 16138 * @note: btstack_type 2 16139 */ 16140 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 16141 return little_endian_read_16(event, 10); 16142 } 16143 /** 16144 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16145 * @param event packet 16146 * @return ttl 16147 * @note: btstack_type 1 16148 */ 16149 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 16150 return event[12]; 16151 } 16152 /** 16153 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16154 * @param event packet 16155 * @return features 16156 * @note: btstack_type 2 16157 */ 16158 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 16159 return little_endian_read_16(event, 13); 16160 } 16161 /** 16162 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16163 * @param event packet 16164 * @return netkey_index 16165 * @note: btstack_type 2 16166 */ 16167 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 16168 return little_endian_read_16(event, 15); 16169 } 16170 16171 /** 16172 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16173 * @param event packet 16174 * @return dest 16175 * @note: btstack_type 2 16176 */ 16177 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 16178 return little_endian_read_16(event, 3); 16179 } 16180 /** 16181 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16182 * @param event packet 16183 * @return foundation_status 16184 * @note: btstack_type 1 16185 */ 16186 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 16187 return event[5]; 16188 } 16189 /** 16190 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16191 * @param event packet 16192 * @return heartbeat_destination 16193 * @note: btstack_type 2 16194 */ 16195 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 16196 return little_endian_read_16(event, 6); 16197 } 16198 /** 16199 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16200 * @param event packet 16201 * @return heartbeat_source 16202 * @note: btstack_type 2 16203 */ 16204 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 16205 return little_endian_read_16(event, 8); 16206 } 16207 /** 16208 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16209 * @param event packet 16210 * @return count_S 16211 * @note: btstack_type 2 16212 */ 16213 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 16214 return little_endian_read_16(event, 10); 16215 } 16216 /** 16217 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16218 * @param event packet 16219 * @return period_S 16220 * @note: btstack_type 2 16221 */ 16222 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 16223 return little_endian_read_16(event, 12); 16224 } 16225 /** 16226 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16227 * @param event packet 16228 * @return min_hops 16229 * @note: btstack_type 1 16230 */ 16231 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 16232 return event[14]; 16233 } 16234 /** 16235 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16236 * @param event packet 16237 * @return max_hops 16238 * @note: btstack_type 1 16239 */ 16240 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 16241 return event[15]; 16242 } 16243 16244 /** 16245 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16246 * @param event packet 16247 * @return dest 16248 * @note: btstack_type 2 16249 */ 16250 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 16251 return little_endian_read_16(event, 3); 16252 } 16253 /** 16254 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16255 * @param event packet 16256 * @return foundation_status 16257 * @note: btstack_type 1 16258 */ 16259 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 16260 return event[5]; 16261 } 16262 /** 16263 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16264 * @param event packet 16265 * @return lpn_address 16266 * @note: btstack_type 2 16267 */ 16268 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 16269 return little_endian_read_16(event, 6); 16270 } 16271 /** 16272 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16273 * @param event packet 16274 * @return poll_timeout 16275 * @note: btstack_type 3 16276 */ 16277 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 16278 return little_endian_read_24(event, 8); 16279 } 16280 16281 /** 16282 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16283 * @param event packet 16284 * @return dest 16285 * @note: btstack_type 2 16286 */ 16287 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 16288 return little_endian_read_16(event, 3); 16289 } 16290 /** 16291 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16292 * @param event packet 16293 * @return foundation_status 16294 * @note: btstack_type 1 16295 */ 16296 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 16297 return event[5]; 16298 } 16299 /** 16300 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16301 * @param event packet 16302 * @return transmit_count 16303 * @note: btstack_type 1 16304 */ 16305 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 16306 return event[6]; 16307 } 16308 /** 16309 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16310 * @param event packet 16311 * @return transmit_interval_steps_ms 16312 * @note: btstack_type 2 16313 */ 16314 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 16315 return little_endian_read_16(event, 7); 16316 } 16317 16318 16319 16320 /* API_END */ 16321 16322 #if defined __cplusplus 16323 } 16324 #endif 16325 16326 #endif // BTSTACK_EVENT_H 16327