1 /* 2 * Copyright (C) 2016 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. Neither the name of the copyright holders nor the names of 14 * contributors may be used to endorse or promote products derived 15 * from this software without specific prior written permission. 16 * 4. Any redistribution, use, or modification is done solely for 17 * personal benefit and not for any commercial purpose or for 18 * monetary gain. 19 * 20 * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS 21 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BLUEKITCHEN 24 * GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 27 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 30 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * Please inquire about commercial licensing options at 34 * [email protected] 35 * 36 */ 37 38 39 /** 40 * HCI Event Getter 41 * 42 * Note: Don't edit this file. It is generated by tool/btstack_event_generator.py 43 * 44 */ 45 46 #ifndef BTSTACK_EVENT_H 47 #define BTSTACK_EVENT_H 48 49 #if defined __cplusplus 50 extern "C" { 51 #endif 52 53 #include "btstack_util.h" 54 #include <stdint.h> 55 56 #ifdef ENABLE_BLE 57 #include "ble/gatt_client.h" 58 #endif 59 60 /* API_START */ 61 62 /** 63 * @brief Get event type 64 * @param event 65 * @return type of event 66 */ 67 static inline uint8_t hci_event_packet_get_type(const uint8_t * event){ 68 return event[0]; 69 } 70 71 typedef uint8_t* btstack_event_iterator_t; 72 73 /*** 74 * @brief Get subevent code for a2dp event 75 * @param event packet 76 * @return subevent_code 77 */ 78 static inline uint8_t hci_event_a2dp_meta_get_subevent_code(const uint8_t * event){ 79 return event[2]; 80 } 81 /*** 82 * @brief Get subevent code for ancs event 83 * @param event packet 84 * @return subevent_code 85 */ 86 static inline uint8_t hci_event_ancs_meta_get_subevent_code(const uint8_t * event){ 87 return event[2]; 88 } 89 /*** 90 * @brief Get subevent code for avdtp event 91 * @param event packet 92 * @return subevent_code 93 */ 94 static inline uint8_t hci_event_avdtp_meta_get_subevent_code(const uint8_t * event){ 95 return event[2]; 96 } 97 /*** 98 * @brief Get subevent code for avrcp event 99 * @param event packet 100 * @return subevent_code 101 */ 102 static inline uint8_t hci_event_avrcp_meta_get_subevent_code(const uint8_t * event){ 103 return event[2]; 104 } 105 /*** 106 * @brief Get subevent code for gap event 107 * @param event packet 108 * @return subevent_code 109 */ 110 static inline uint8_t hci_event_gap_meta_get_subevent_code(const uint8_t * event){ 111 return event[2]; 112 } 113 /*** 114 * @brief Get subevent code for gattservice event 115 * @param event packet 116 * @return subevent_code 117 */ 118 static inline uint8_t hci_event_gattservice_meta_get_subevent_code(const uint8_t * event){ 119 return event[2]; 120 } 121 /*** 122 * @brief Get subevent code for goep event 123 * @param event packet 124 * @return subevent_code 125 */ 126 static inline uint8_t hci_event_goep_meta_get_subevent_code(const uint8_t * event){ 127 return event[2]; 128 } 129 /*** 130 * @brief Get subevent code for hfp event 131 * @param event packet 132 * @return subevent_code 133 */ 134 static inline uint8_t hci_event_hfp_meta_get_subevent_code(const uint8_t * event){ 135 return event[2]; 136 } 137 /*** 138 * @brief Get subevent code for hid event 139 * @param event packet 140 * @return subevent_code 141 */ 142 static inline uint8_t hci_event_hid_meta_get_subevent_code(const uint8_t * event){ 143 return event[2]; 144 } 145 /*** 146 * @brief Get subevent code for hids event 147 * @param event packet 148 * @return subevent_code 149 */ 150 static inline uint8_t hci_event_hids_meta_get_subevent_code(const uint8_t * event){ 151 return event[2]; 152 } 153 /*** 154 * @brief Get subevent code for hsp event 155 * @param event packet 156 * @return subevent_code 157 */ 158 static inline uint8_t hci_event_hsp_meta_get_subevent_code(const uint8_t * event){ 159 return event[2]; 160 } 161 /*** 162 * @brief Get subevent code for le event 163 * @param event packet 164 * @return subevent_code 165 */ 166 static inline uint8_t hci_event_le_meta_get_subevent_code(const uint8_t * event){ 167 return event[2]; 168 } 169 /*** 170 * @brief Get subevent code for leaudio event 171 * @param event packet 172 * @return subevent_code 173 */ 174 static inline uint8_t hci_event_leaudio_meta_get_subevent_code(const uint8_t * event){ 175 return event[2]; 176 } 177 /*** 178 * @brief Get subevent code for map event 179 * @param event packet 180 * @return subevent_code 181 */ 182 static inline uint8_t hci_event_map_meta_get_subevent_code(const uint8_t * event){ 183 return event[2]; 184 } 185 /*** 186 * @brief Get subevent code for mesh event 187 * @param event packet 188 * @return subevent_code 189 */ 190 static inline uint8_t hci_event_mesh_meta_get_subevent_code(const uint8_t * event){ 191 return event[2]; 192 } 193 /*** 194 * @brief Get subevent code for pbap event 195 * @param event packet 196 * @return subevent_code 197 */ 198 static inline uint8_t hci_event_pbap_meta_get_subevent_code(const uint8_t * event){ 199 return event[2]; 200 } 201 /*** 202 * @brief Get subevent code for opp event 203 * @param event packet 204 * @return subevent_code 205 */ 206 static inline uint8_t hci_event_opp_meta_get_subevent_code(const uint8_t * event){ 207 return event[2]; 208 } 209 /** 210 * @brief Get field status from event HCI_EVENT_INQUIRY_COMPLETE 211 * @param event packet 212 * @return status 213 * @note: btstack_type 1 214 */ 215 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){ 216 return event[2]; 217 } 218 219 /** 220 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT 221 * @param event packet 222 * @return num_responses 223 * @note: btstack_type 1 224 */ 225 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){ 226 return event[2]; 227 } 228 /** 229 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT 230 * @param event packet 231 * @param Pointer to storage for bd_addr 232 * @note: btstack_type B 233 */ 234 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 235 reverse_bytes(&event[3], bd_addr, 6); 236 } 237 /** 238 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT 239 * @param event packet 240 * @return page_scan_repetition_mode 241 * @note: btstack_type 1 242 */ 243 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 244 return event[9]; 245 } 246 /** 247 * @brief Get field reserved1 from event HCI_EVENT_INQUIRY_RESULT 248 * @param event packet 249 * @return reserved1 250 * @note: btstack_type 1 251 */ 252 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){ 253 return event[10]; 254 } 255 /** 256 * @brief Get field reserved2 from event HCI_EVENT_INQUIRY_RESULT 257 * @param event packet 258 * @return reserved2 259 * @note: btstack_type 1 260 */ 261 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){ 262 return event[11]; 263 } 264 /** 265 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT 266 * @param event packet 267 * @return class_of_device 268 * @note: btstack_type 3 269 */ 270 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){ 271 return little_endian_read_24(event, 12); 272 } 273 /** 274 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT 275 * @param event packet 276 * @return clock_offset 277 * @note: btstack_type 2 278 */ 279 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){ 280 return little_endian_read_16(event, 15); 281 } 282 283 /** 284 * @brief Get field status from event HCI_EVENT_CONNECTION_COMPLETE 285 * @param event packet 286 * @return status 287 * @note: btstack_type 1 288 */ 289 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){ 290 return event[2]; 291 } 292 /** 293 * @brief Get field connection_handle from event HCI_EVENT_CONNECTION_COMPLETE 294 * @param event packet 295 * @return connection_handle 296 * @note: btstack_type 2 297 */ 298 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){ 299 return little_endian_read_16(event, 3); 300 } 301 /** 302 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_COMPLETE 303 * @param event packet 304 * @param Pointer to storage for bd_addr 305 * @note: btstack_type B 306 */ 307 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 308 reverse_bytes(&event[5], bd_addr, 6); 309 } 310 /** 311 * @brief Get field link_type from event HCI_EVENT_CONNECTION_COMPLETE 312 * @param event packet 313 * @return link_type 314 * @note: btstack_type 1 315 */ 316 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){ 317 return event[11]; 318 } 319 /** 320 * @brief Get field encryption_enabled from event HCI_EVENT_CONNECTION_COMPLETE 321 * @param event packet 322 * @return encryption_enabled 323 * @note: btstack_type 1 324 */ 325 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){ 326 return event[12]; 327 } 328 329 /** 330 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_REQUEST 331 * @param event packet 332 * @param Pointer to storage for bd_addr 333 * @note: btstack_type B 334 */ 335 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 336 reverse_bytes(&event[2], bd_addr, 6); 337 } 338 /** 339 * @brief Get field class_of_device from event HCI_EVENT_CONNECTION_REQUEST 340 * @param event packet 341 * @return class_of_device 342 * @note: btstack_type 3 343 */ 344 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){ 345 return little_endian_read_24(event, 8); 346 } 347 /** 348 * @brief Get field link_type from event HCI_EVENT_CONNECTION_REQUEST 349 * @param event packet 350 * @return link_type 351 * @note: btstack_type 1 352 */ 353 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){ 354 return event[11]; 355 } 356 357 /** 358 * @brief Get field status from event HCI_EVENT_DISCONNECTION_COMPLETE 359 * @param event packet 360 * @return status 361 * @note: btstack_type 1 362 */ 363 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){ 364 return event[2]; 365 } 366 /** 367 * @brief Get field connection_handle from event HCI_EVENT_DISCONNECTION_COMPLETE 368 * @param event packet 369 * @return connection_handle 370 * @note: btstack_type 2 371 */ 372 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){ 373 return little_endian_read_16(event, 3); 374 } 375 /** 376 * @brief Get field reason from event HCI_EVENT_DISCONNECTION_COMPLETE 377 * @param event packet 378 * @return reason 379 * @note: btstack_type 1 380 */ 381 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){ 382 return event[5]; 383 } 384 385 /** 386 * @brief Get field status from event HCI_EVENT_AUTHENTICATION_COMPLETE 387 * @param event packet 388 * @return status 389 * @note: btstack_type 1 390 */ 391 static inline uint8_t hci_event_authentication_complete_get_status(const uint8_t * event){ 392 return event[2]; 393 } 394 /** 395 * @brief Get field connection_handle from event HCI_EVENT_AUTHENTICATION_COMPLETE 396 * @param event packet 397 * @return connection_handle 398 * @note: btstack_type 2 399 */ 400 static inline uint16_t hci_event_authentication_complete_get_connection_handle(const uint8_t * event){ 401 return little_endian_read_16(event, 3); 402 } 403 404 /** 405 * @brief Get field status from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 406 * @param event packet 407 * @return status 408 * @note: btstack_type 1 409 */ 410 static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){ 411 return event[2]; 412 } 413 /** 414 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 415 * @param event packet 416 * @param Pointer to storage for bd_addr 417 * @note: btstack_type B 418 */ 419 static inline void hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 420 reverse_bytes(&event[3], bd_addr, 6); 421 } 422 /** 423 * @brief Get field remote_name from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 424 * @param event packet 425 * @return remote_name 426 * @note: btstack_type N 427 */ 428 static inline const char * hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){ 429 return (const char *) &event[9]; 430 } 431 432 /** 433 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE 434 * @param event packet 435 * @return status 436 * @note: btstack_type 1 437 */ 438 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){ 439 return event[2]; 440 } 441 /** 442 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE 443 * @param event packet 444 * @return connection_handle 445 * @note: btstack_type 2 446 */ 447 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){ 448 return little_endian_read_16(event, 3); 449 } 450 /** 451 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE 452 * @param event packet 453 * @return encryption_enabled 454 * @note: btstack_type 1 455 */ 456 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){ 457 return event[5]; 458 } 459 460 /** 461 * @brief Get field status from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 462 * @param event packet 463 * @return status 464 * @note: btstack_type 1 465 */ 466 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){ 467 return event[2]; 468 } 469 /** 470 * @brief Get field connection_handle from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 471 * @param event packet 472 * @return connection_handle 473 * @note: btstack_type 2 474 */ 475 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){ 476 return little_endian_read_16(event, 3); 477 } 478 479 /** 480 * @brief Get field status from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 481 * @param event packet 482 * @return status 483 * @note: btstack_type 1 484 */ 485 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){ 486 return event[2]; 487 } 488 /** 489 * @brief Get field connection_handle from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 490 * @param event packet 491 * @return connection_handle 492 * @note: btstack_type 2 493 */ 494 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){ 495 return little_endian_read_16(event, 3); 496 } 497 /** 498 * @brief Get field key_flag from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 499 * @param event packet 500 * @return key_flag 501 * @note: btstack_type 1 502 */ 503 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){ 504 return event[5]; 505 } 506 507 /** 508 * @brief Get field status from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 509 * @param event packet 510 * @return status 511 * @note: btstack_type 1 512 */ 513 static inline uint8_t hci_event_read_remote_version_information_complete_get_status(const uint8_t * event){ 514 return event[2]; 515 } 516 /** 517 * @brief Get field connection_handle from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 518 * @param event packet 519 * @return connection_handle 520 * @note: btstack_type 2 521 */ 522 static inline uint16_t hci_event_read_remote_version_information_complete_get_connection_handle(const uint8_t * event){ 523 return little_endian_read_16(event, 3); 524 } 525 /** 526 * @brief Get field version from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 527 * @param event packet 528 * @return version 529 * @note: btstack_type 1 530 */ 531 static inline uint8_t hci_event_read_remote_version_information_complete_get_version(const uint8_t * event){ 532 return event[5]; 533 } 534 /** 535 * @brief Get field manufacturer_name from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 536 * @param event packet 537 * @return manufacturer_name 538 * @note: btstack_type 2 539 */ 540 static inline uint16_t hci_event_read_remote_version_information_complete_get_manufacturer_name(const uint8_t * event){ 541 return little_endian_read_16(event, 6); 542 } 543 /** 544 * @brief Get field subversion from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 545 * @param event packet 546 * @return subversion 547 * @note: btstack_type 2 548 */ 549 static inline uint16_t hci_event_read_remote_version_information_complete_get_subversion(const uint8_t * event){ 550 return little_endian_read_16(event, 8); 551 } 552 553 /** 554 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_COMPLETE 555 * @param event packet 556 * @return num_hci_command_packets 557 * @note: btstack_type 1 558 */ 559 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){ 560 return event[2]; 561 } 562 /** 563 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_COMPLETE 564 * @param event packet 565 * @return command_opcode 566 * @note: btstack_type 2 567 */ 568 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){ 569 return little_endian_read_16(event, 3); 570 } 571 /** 572 * @brief Get field return_parameters from event HCI_EVENT_COMMAND_COMPLETE 573 * @param event packet 574 * @return return_parameters 575 * @note: btstack_type R 576 */ 577 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){ 578 return &event[5]; 579 } 580 581 /** 582 * @brief Get field status from event HCI_EVENT_COMMAND_STATUS 583 * @param event packet 584 * @return status 585 * @note: btstack_type 1 586 */ 587 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){ 588 return event[2]; 589 } 590 /** 591 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_STATUS 592 * @param event packet 593 * @return num_hci_command_packets 594 * @note: btstack_type 1 595 */ 596 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){ 597 return event[3]; 598 } 599 /** 600 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_STATUS 601 * @param event packet 602 * @return command_opcode 603 * @note: btstack_type 2 604 */ 605 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){ 606 return little_endian_read_16(event, 4); 607 } 608 609 /** 610 * @brief Get field hardware_code from event HCI_EVENT_HARDWARE_ERROR 611 * @param event packet 612 * @return hardware_code 613 * @note: btstack_type 1 614 */ 615 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){ 616 return event[2]; 617 } 618 619 /** 620 * @brief Get field handle from event HCI_EVENT_FLUSH_OCCURRED 621 * @param event packet 622 * @return handle 623 * @note: btstack_type H 624 */ 625 static inline hci_con_handle_t hci_event_flush_occurred_get_handle(const uint8_t * event){ 626 return little_endian_read_16(event, 2); 627 } 628 629 /** 630 * @brief Get field status from event HCI_EVENT_ROLE_CHANGE 631 * @param event packet 632 * @return status 633 * @note: btstack_type 1 634 */ 635 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){ 636 return event[2]; 637 } 638 /** 639 * @brief Get field bd_addr from event HCI_EVENT_ROLE_CHANGE 640 * @param event packet 641 * @param Pointer to storage for bd_addr 642 * @note: btstack_type B 643 */ 644 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 645 reverse_bytes(&event[3], bd_addr, 6); 646 } 647 /** 648 * @brief Get field role from event HCI_EVENT_ROLE_CHANGE 649 * @param event packet 650 * @return role 651 * @note: btstack_type 1 652 */ 653 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){ 654 return event[9]; 655 } 656 657 /** 658 * @brief Get field status from event HCI_EVENT_MODE_CHANGE 659 * @param event packet 660 * @return status 661 * @note: btstack_type 1 662 */ 663 static inline uint8_t hci_event_mode_change_get_status(const uint8_t * event){ 664 return event[2]; 665 } 666 /** 667 * @brief Get field handle from event HCI_EVENT_MODE_CHANGE 668 * @param event packet 669 * @return handle 670 * @note: btstack_type H 671 */ 672 static inline hci_con_handle_t hci_event_mode_change_get_handle(const uint8_t * event){ 673 return little_endian_read_16(event, 3); 674 } 675 /** 676 * @brief Get field mode from event HCI_EVENT_MODE_CHANGE 677 * @param event packet 678 * @return mode 679 * @note: btstack_type 1 680 */ 681 static inline uint8_t hci_event_mode_change_get_mode(const uint8_t * event){ 682 return event[5]; 683 } 684 /** 685 * @brief Get field interval from event HCI_EVENT_MODE_CHANGE 686 * @param event packet 687 * @return interval 688 * @note: btstack_type 2 689 */ 690 static inline uint16_t hci_event_mode_change_get_interval(const uint8_t * event){ 691 return little_endian_read_16(event, 6); 692 } 693 694 /** 695 * @brief Get field bd_addr from event HCI_EVENT_PIN_CODE_REQUEST 696 * @param event packet 697 * @param Pointer to storage for bd_addr 698 * @note: btstack_type B 699 */ 700 static inline void hci_event_pin_code_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 701 reverse_bytes(&event[2], bd_addr, 6); 702 } 703 704 /** 705 * @brief Get field bd_addr from event HCI_EVENT_LINK_KEY_REQUEST 706 * @param event packet 707 * @param Pointer to storage for bd_addr 708 * @note: btstack_type B 709 */ 710 static inline void hci_event_link_key_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 711 reverse_bytes(&event[2], bd_addr, 6); 712 } 713 714 /** 715 * @brief Get field link_type from event HCI_EVENT_DATA_BUFFER_OVERFLOW 716 * @param event packet 717 * @return link_type 718 * @note: btstack_type 1 719 */ 720 static inline uint8_t hci_event_data_buffer_overflow_get_link_type(const uint8_t * event){ 721 return event[2]; 722 } 723 724 /** 725 * @brief Get field handle from event HCI_EVENT_MAX_SLOTS_CHANGED 726 * @param event packet 727 * @return handle 728 * @note: btstack_type H 729 */ 730 static inline hci_con_handle_t hci_event_max_slots_changed_get_handle(const uint8_t * event){ 731 return little_endian_read_16(event, 2); 732 } 733 /** 734 * @brief Get field lmp_max_slots from event HCI_EVENT_MAX_SLOTS_CHANGED 735 * @param event packet 736 * @return lmp_max_slots 737 * @note: btstack_type 1 738 */ 739 static inline uint8_t hci_event_max_slots_changed_get_lmp_max_slots(const uint8_t * event){ 740 return event[4]; 741 } 742 743 /** 744 * @brief Get field status from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 745 * @param event packet 746 * @return status 747 * @note: btstack_type 1 748 */ 749 static inline uint8_t hci_event_read_clock_offset_complete_get_status(const uint8_t * event){ 750 return event[2]; 751 } 752 /** 753 * @brief Get field handle from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 754 * @param event packet 755 * @return handle 756 * @note: btstack_type H 757 */ 758 static inline hci_con_handle_t hci_event_read_clock_offset_complete_get_handle(const uint8_t * event){ 759 return little_endian_read_16(event, 3); 760 } 761 /** 762 * @brief Get field clock_offset from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 763 * @param event packet 764 * @return clock_offset 765 * @note: btstack_type 2 766 */ 767 static inline uint16_t hci_event_read_clock_offset_complete_get_clock_offset(const uint8_t * event){ 768 return little_endian_read_16(event, 5); 769 } 770 771 /** 772 * @brief Get field status from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 773 * @param event packet 774 * @return status 775 * @note: btstack_type 1 776 */ 777 static inline uint8_t hci_event_connection_packet_type_changed_get_status(const uint8_t * event){ 778 return event[2]; 779 } 780 /** 781 * @brief Get field handle from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 782 * @param event packet 783 * @return handle 784 * @note: btstack_type H 785 */ 786 static inline hci_con_handle_t hci_event_connection_packet_type_changed_get_handle(const uint8_t * event){ 787 return little_endian_read_16(event, 3); 788 } 789 /** 790 * @brief Get field packet_types from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 791 * @param event packet 792 * @return packet_types 793 * @note: btstack_type 2 794 */ 795 static inline uint16_t hci_event_connection_packet_type_changed_get_packet_types(const uint8_t * event){ 796 return little_endian_read_16(event, 5); 797 } 798 799 /** 800 * @brief Get field handle from event HCI_EVENT_QOS_VIOLATION 801 * @param event packet 802 * @return handle 803 * @note: btstack_type H 804 */ 805 static inline hci_con_handle_t hci_event_qos_violation_get_handle(const uint8_t * event){ 806 return little_endian_read_16(event, 2); 807 } 808 809 /** 810 * @brief Get field handle from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 811 * @param event packet 812 * @return handle 813 * @note: btstack_type H 814 */ 815 static inline hci_con_handle_t hci_event_page_scan_repetition_mode_change_get_handle(const uint8_t * event){ 816 return little_endian_read_16(event, 2); 817 } 818 /** 819 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 820 * @param event packet 821 * @return page_scan_repetition_mode 822 * @note: btstack_type 1 823 */ 824 static inline uint8_t hci_event_page_scan_repetition_mode_change_get_page_scan_repetition_mode(const uint8_t * event){ 825 return event[4]; 826 } 827 828 /** 829 * @brief Get field status from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 830 * @param event packet 831 * @return status 832 * @note: btstack_type 1 833 */ 834 static inline uint8_t hci_event_flow_specification_complete_get_status(const uint8_t * event){ 835 return event[2]; 836 } 837 /** 838 * @brief Get field handle from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 839 * @param event packet 840 * @return handle 841 * @note: btstack_type H 842 */ 843 static inline hci_con_handle_t hci_event_flow_specification_complete_get_handle(const uint8_t * event){ 844 return little_endian_read_16(event, 3); 845 } 846 /** 847 * @brief Get field unused from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 848 * @param event packet 849 * @return unused 850 * @note: btstack_type 1 851 */ 852 static inline uint8_t hci_event_flow_specification_complete_get_unused(const uint8_t * event){ 853 return event[5]; 854 } 855 /** 856 * @brief Get field flow_direction from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 857 * @param event packet 858 * @return flow_direction 859 * @note: btstack_type 1 860 */ 861 static inline uint8_t hci_event_flow_specification_complete_get_flow_direction(const uint8_t * event){ 862 return event[6]; 863 } 864 /** 865 * @brief Get field service_type from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 866 * @param event packet 867 * @return service_type 868 * @note: btstack_type 1 869 */ 870 static inline uint8_t hci_event_flow_specification_complete_get_service_type(const uint8_t * event){ 871 return event[7]; 872 } 873 /** 874 * @brief Get field token_rate from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 875 * @param event packet 876 * @return token_rate 877 * @note: btstack_type 4 878 */ 879 static inline uint32_t hci_event_flow_specification_complete_get_token_rate(const uint8_t * event){ 880 return little_endian_read_32(event, 8); 881 } 882 /** 883 * @brief Get field token_bucket_size from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 884 * @param event packet 885 * @return token_bucket_size 886 * @note: btstack_type 4 887 */ 888 static inline uint32_t hci_event_flow_specification_complete_get_token_bucket_size(const uint8_t * event){ 889 return little_endian_read_32(event, 12); 890 } 891 /** 892 * @brief Get field peak_bandwidth from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 893 * @param event packet 894 * @return peak_bandwidth 895 * @note: btstack_type 4 896 */ 897 static inline uint32_t hci_event_flow_specification_complete_get_peak_bandwidth(const uint8_t * event){ 898 return little_endian_read_32(event, 16); 899 } 900 /** 901 * @brief Get field access_latency from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 902 * @param event packet 903 * @return access_latency 904 * @note: btstack_type 4 905 */ 906 static inline uint32_t hci_event_flow_specification_complete_get_access_latency(const uint8_t * event){ 907 return little_endian_read_32(event, 20); 908 } 909 910 /** 911 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 912 * @param event packet 913 * @return num_responses 914 * @note: btstack_type 1 915 */ 916 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){ 917 return event[2]; 918 } 919 /** 920 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 921 * @param event packet 922 * @param Pointer to storage for bd_addr 923 * @note: btstack_type B 924 */ 925 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 926 reverse_bytes(&event[3], bd_addr, 6); 927 } 928 /** 929 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 930 * @param event packet 931 * @return page_scan_repetition_mode 932 * @note: btstack_type 1 933 */ 934 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){ 935 return event[9]; 936 } 937 /** 938 * @brief Get field reserved from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 939 * @param event packet 940 * @return reserved 941 * @note: btstack_type 1 942 */ 943 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){ 944 return event[10]; 945 } 946 /** 947 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 948 * @param event packet 949 * @return class_of_device 950 * @note: btstack_type 3 951 */ 952 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){ 953 return little_endian_read_24(event, 11); 954 } 955 /** 956 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 957 * @param event packet 958 * @return clock_offset 959 * @note: btstack_type 2 960 */ 961 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){ 962 return little_endian_read_16(event, 14); 963 } 964 /** 965 * @brief Get field rssi from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 966 * @param event packet 967 * @return rssi 968 * @note: btstack_type 1 969 */ 970 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){ 971 return event[16]; 972 } 973 974 /** 975 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 976 * @param event packet 977 * @return status 978 * @note: btstack_type 1 979 */ 980 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){ 981 return event[2]; 982 } 983 /** 984 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 985 * @param event packet 986 * @return handle 987 * @note: btstack_type H 988 */ 989 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){ 990 return little_endian_read_16(event, 3); 991 } 992 /** 993 * @brief Get field bd_addr from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 994 * @param event packet 995 * @param Pointer to storage for bd_addr 996 * @note: btstack_type B 997 */ 998 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 999 reverse_bytes(&event[5], bd_addr, 6); 1000 } 1001 /** 1002 * @brief Get field link_type from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1003 * @param event packet 1004 * @return link_type 1005 * @note: btstack_type 1 1006 */ 1007 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){ 1008 return event[11]; 1009 } 1010 /** 1011 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1012 * @param event packet 1013 * @return transmission_interval 1014 * @note: btstack_type 1 1015 */ 1016 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){ 1017 return event[12]; 1018 } 1019 /** 1020 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1021 * @param event packet 1022 * @return retransmission_interval 1023 * @note: btstack_type 1 1024 */ 1025 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){ 1026 return event[13]; 1027 } 1028 /** 1029 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1030 * @param event packet 1031 * @return rx_packet_length 1032 * @note: btstack_type 2 1033 */ 1034 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){ 1035 return little_endian_read_16(event, 14); 1036 } 1037 /** 1038 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1039 * @param event packet 1040 * @return tx_packet_length 1041 * @note: btstack_type 2 1042 */ 1043 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){ 1044 return little_endian_read_16(event, 16); 1045 } 1046 /** 1047 * @brief Get field air_mode from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1048 * @param event packet 1049 * @return air_mode 1050 * @note: btstack_type 1 1051 */ 1052 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){ 1053 return event[18]; 1054 } 1055 1056 /** 1057 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1058 * @param event packet 1059 * @return status 1060 * @note: btstack_type 1 1061 */ 1062 static inline uint8_t hci_event_synchronous_connection_changed_get_status(const uint8_t * event){ 1063 return event[2]; 1064 } 1065 /** 1066 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1067 * @param event packet 1068 * @return handle 1069 * @note: btstack_type H 1070 */ 1071 static inline hci_con_handle_t hci_event_synchronous_connection_changed_get_handle(const uint8_t * event){ 1072 return little_endian_read_16(event, 3); 1073 } 1074 /** 1075 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1076 * @param event packet 1077 * @return transmission_interval 1078 * @note: btstack_type 1 1079 */ 1080 static inline uint8_t hci_event_synchronous_connection_changed_get_transmission_interval(const uint8_t * event){ 1081 return event[5]; 1082 } 1083 /** 1084 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1085 * @param event packet 1086 * @return retransmission_interval 1087 * @note: btstack_type 1 1088 */ 1089 static inline uint8_t hci_event_synchronous_connection_changed_get_retransmission_interval(const uint8_t * event){ 1090 return event[6]; 1091 } 1092 /** 1093 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1094 * @param event packet 1095 * @return rx_packet_length 1096 * @note: btstack_type 2 1097 */ 1098 static inline uint16_t hci_event_synchronous_connection_changed_get_rx_packet_length(const uint8_t * event){ 1099 return little_endian_read_16(event, 7); 1100 } 1101 /** 1102 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1103 * @param event packet 1104 * @return tx_packet_length 1105 * @note: btstack_type 2 1106 */ 1107 static inline uint16_t hci_event_synchronous_connection_changed_get_tx_packet_length(const uint8_t * event){ 1108 return little_endian_read_16(event, 9); 1109 } 1110 1111 /** 1112 * @brief Get field status from event HCI_EVENT_SNIFF_SUBRATING 1113 * @param event packet 1114 * @return status 1115 * @note: btstack_type 1 1116 */ 1117 static inline uint8_t hci_event_sniff_subrating_get_status(const uint8_t * event){ 1118 return event[2]; 1119 } 1120 /** 1121 * @brief Get field handle from event HCI_EVENT_SNIFF_SUBRATING 1122 * @param event packet 1123 * @return handle 1124 * @note: btstack_type H 1125 */ 1126 static inline hci_con_handle_t hci_event_sniff_subrating_get_handle(const uint8_t * event){ 1127 return little_endian_read_16(event, 3); 1128 } 1129 /** 1130 * @brief Get field max_tx_latency from event HCI_EVENT_SNIFF_SUBRATING 1131 * @param event packet 1132 * @return max_tx_latency 1133 * @note: btstack_type 2 1134 */ 1135 static inline uint16_t hci_event_sniff_subrating_get_max_tx_latency(const uint8_t * event){ 1136 return little_endian_read_16(event, 5); 1137 } 1138 /** 1139 * @brief Get field max_rx_latency from event HCI_EVENT_SNIFF_SUBRATING 1140 * @param event packet 1141 * @return max_rx_latency 1142 * @note: btstack_type 2 1143 */ 1144 static inline uint16_t hci_event_sniff_subrating_get_max_rx_latency(const uint8_t * event){ 1145 return little_endian_read_16(event, 7); 1146 } 1147 /** 1148 * @brief Get field min_remote_timeout from event HCI_EVENT_SNIFF_SUBRATING 1149 * @param event packet 1150 * @return min_remote_timeout 1151 * @note: btstack_type 2 1152 */ 1153 static inline uint16_t hci_event_sniff_subrating_get_min_remote_timeout(const uint8_t * event){ 1154 return little_endian_read_16(event, 9); 1155 } 1156 /** 1157 * @brief Get field min_local_timeout from event HCI_EVENT_SNIFF_SUBRATING 1158 * @param event packet 1159 * @return min_local_timeout 1160 * @note: btstack_type 2 1161 */ 1162 static inline uint16_t hci_event_sniff_subrating_get_min_local_timeout(const uint8_t * event){ 1163 return little_endian_read_16(event, 11); 1164 } 1165 1166 /** 1167 * @brief Get field num_responses from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1168 * @param event packet 1169 * @return num_responses 1170 * @note: btstack_type 1 1171 */ 1172 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){ 1173 return event[2]; 1174 } 1175 /** 1176 * @brief Get field bd_addr from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1177 * @param event packet 1178 * @param Pointer to storage for bd_addr 1179 * @note: btstack_type B 1180 */ 1181 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1182 reverse_bytes(&event[3], bd_addr, 6); 1183 } 1184 /** 1185 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1186 * @param event packet 1187 * @return page_scan_repetition_mode 1188 * @note: btstack_type 1 1189 */ 1190 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){ 1191 return event[9]; 1192 } 1193 /** 1194 * @brief Get field reserved from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1195 * @param event packet 1196 * @return reserved 1197 * @note: btstack_type 1 1198 */ 1199 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){ 1200 return event[10]; 1201 } 1202 /** 1203 * @brief Get field class_of_device from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1204 * @param event packet 1205 * @return class_of_device 1206 * @note: btstack_type 3 1207 */ 1208 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){ 1209 return little_endian_read_24(event, 11); 1210 } 1211 /** 1212 * @brief Get field clock_offset from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1213 * @param event packet 1214 * @return clock_offset 1215 * @note: btstack_type 2 1216 */ 1217 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){ 1218 return little_endian_read_16(event, 14); 1219 } 1220 /** 1221 * @brief Get field rssi from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1222 * @param event packet 1223 * @return rssi 1224 * @note: btstack_type 1 1225 */ 1226 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){ 1227 return event[16]; 1228 } 1229 1230 /** 1231 * @brief Get field status from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1232 * @param event packet 1233 * @return status 1234 * @note: btstack_type 1 1235 */ 1236 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){ 1237 return event[2]; 1238 } 1239 /** 1240 * @brief Get field handle from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1241 * @param event packet 1242 * @return handle 1243 * @note: btstack_type H 1244 */ 1245 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){ 1246 return little_endian_read_16(event, 3); 1247 } 1248 1249 /** 1250 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_REQUEST 1251 * @param event packet 1252 * @param Pointer to storage for bd_addr 1253 * @note: btstack_type B 1254 */ 1255 static inline void hci_event_io_capability_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1256 reverse_bytes(&event[2], bd_addr, 6); 1257 } 1258 1259 /** 1260 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1261 * @param event packet 1262 * @param Pointer to storage for bd_addr 1263 * @note: btstack_type B 1264 */ 1265 static inline void hci_event_io_capability_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1266 reverse_bytes(&event[2], bd_addr, 6); 1267 } 1268 /** 1269 * @brief Get field io_capability from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1270 * @param event packet 1271 * @return io_capability 1272 * @note: btstack_type 1 1273 */ 1274 static inline uint8_t hci_event_io_capability_response_get_io_capability(const uint8_t * event){ 1275 return event[8]; 1276 } 1277 /** 1278 * @brief Get field oob_data_present from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1279 * @param event packet 1280 * @return oob_data_present 1281 * @note: btstack_type 1 1282 */ 1283 static inline uint8_t hci_event_io_capability_response_get_oob_data_present(const uint8_t * event){ 1284 return event[9]; 1285 } 1286 /** 1287 * @brief Get field authentication_requirements from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1288 * @param event packet 1289 * @return authentication_requirements 1290 * @note: btstack_type 1 1291 */ 1292 static inline uint8_t hci_event_io_capability_response_get_authentication_requirements(const uint8_t * event){ 1293 return event[10]; 1294 } 1295 1296 /** 1297 * @brief Get field bd_addr from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1298 * @param event packet 1299 * @param Pointer to storage for bd_addr 1300 * @note: btstack_type B 1301 */ 1302 static inline void hci_event_user_confirmation_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1303 reverse_bytes(&event[2], bd_addr, 6); 1304 } 1305 /** 1306 * @brief Get field numeric_value from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1307 * @param event packet 1308 * @return numeric_value 1309 * @note: btstack_type 4 1310 */ 1311 static inline uint32_t hci_event_user_confirmation_request_get_numeric_value(const uint8_t * event){ 1312 return little_endian_read_32(event, 8); 1313 } 1314 1315 /** 1316 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_REQUEST 1317 * @param event packet 1318 * @param Pointer to storage for bd_addr 1319 * @note: btstack_type B 1320 */ 1321 static inline void hci_event_user_passkey_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1322 reverse_bytes(&event[2], bd_addr, 6); 1323 } 1324 1325 /** 1326 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_OOB_DATA_REQUEST 1327 * @param event packet 1328 * @param Pointer to storage for bd_addr 1329 * @note: btstack_type B 1330 */ 1331 static inline void hci_event_remote_oob_data_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1332 reverse_bytes(&event[2], bd_addr, 6); 1333 } 1334 1335 /** 1336 * @brief Get field status from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1337 * @param event packet 1338 * @return status 1339 * @note: btstack_type 1 1340 */ 1341 static inline uint8_t hci_event_simple_pairing_complete_get_status(const uint8_t * event){ 1342 return event[2]; 1343 } 1344 /** 1345 * @brief Get field bd_addr from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1346 * @param event packet 1347 * @param Pointer to storage for bd_addr 1348 * @note: btstack_type B 1349 */ 1350 static inline void hci_event_simple_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1351 reverse_bytes(&event[3], bd_addr, 6); 1352 } 1353 1354 /** 1355 * @brief Get field handle from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1356 * @param event packet 1357 * @return handle 1358 * @note: btstack_type H 1359 */ 1360 static inline hci_con_handle_t hci_event_link_supervision_timeout_changed_get_handle(const uint8_t * event){ 1361 return little_endian_read_16(event, 2); 1362 } 1363 /** 1364 * @brief Get field link_supervision_timeout from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1365 * @param event packet 1366 * @return link_supervision_timeout 1367 * @note: btstack_type 2 1368 */ 1369 static inline uint16_t hci_event_link_supervision_timeout_changed_get_link_supervision_timeout(const uint8_t * event){ 1370 return little_endian_read_16(event, 4); 1371 } 1372 1373 /** 1374 * @brief Get field handle from event HCI_EVENT_ENHANCED_FLUSH_COMPLETE 1375 * @param event packet 1376 * @return handle 1377 * @note: btstack_type H 1378 */ 1379 static inline hci_con_handle_t hci_event_enhanced_flush_complete_get_handle(const uint8_t * event){ 1380 return little_endian_read_16(event, 2); 1381 } 1382 1383 /** 1384 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1385 * @param event packet 1386 * @param Pointer to storage for bd_addr 1387 * @note: btstack_type B 1388 */ 1389 static inline void hci_event_user_passkey_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1390 reverse_bytes(&event[2], bd_addr, 6); 1391 } 1392 /** 1393 * @brief Get field numeric_value from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1394 * @param event packet 1395 * @return numeric_value 1396 * @note: btstack_type 4 1397 */ 1398 static inline uint32_t hci_event_user_passkey_notification_get_numeric_value(const uint8_t * event){ 1399 return little_endian_read_32(event, 8); 1400 } 1401 1402 /** 1403 * @brief Get field bd_addr from event HCI_EVENT_KEYPRESS_NOTIFICATION 1404 * @param event packet 1405 * @param Pointer to storage for bd_addr 1406 * @note: btstack_type B 1407 */ 1408 static inline void hci_event_keypress_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1409 reverse_bytes(&event[2], bd_addr, 6); 1410 } 1411 /** 1412 * @brief Get field notification_type from event HCI_EVENT_KEYPRESS_NOTIFICATION 1413 * @param event packet 1414 * @return notification_type 1415 * @note: btstack_type 1 1416 */ 1417 static inline uint8_t hci_event_keypress_notification_get_notification_type(const uint8_t * event){ 1418 return event[8]; 1419 } 1420 1421 /** 1422 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1423 * @param event packet 1424 * @return status 1425 * @note: btstack_type 1 1426 */ 1427 static inline uint8_t hci_event_encryption_change_v2_get_status(const uint8_t * event){ 1428 return event[2]; 1429 } 1430 /** 1431 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1432 * @param event packet 1433 * @return connection_handle 1434 * @note: btstack_type 2 1435 */ 1436 static inline uint16_t hci_event_encryption_change_v2_get_connection_handle(const uint8_t * event){ 1437 return little_endian_read_16(event, 3); 1438 } 1439 /** 1440 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1441 * @param event packet 1442 * @return encryption_enabled 1443 * @note: btstack_type 1 1444 */ 1445 static inline uint8_t hci_event_encryption_change_v2_get_encryption_enabled(const uint8_t * event){ 1446 return event[5]; 1447 } 1448 /** 1449 * @brief Get field encryption_key_size from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1450 * @param event packet 1451 * @return encryption_key_size 1452 * @note: btstack_type 1 1453 */ 1454 static inline uint8_t hci_event_encryption_change_v2_get_encryption_key_size(const uint8_t * event){ 1455 return event[6]; 1456 } 1457 1458 /** 1459 * @brief Get field state from event BTSTACK_EVENT_STATE 1460 * @param event packet 1461 * @return state 1462 * @note: btstack_type 1 1463 */ 1464 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){ 1465 return event[2]; 1466 } 1467 1468 /** 1469 * @brief Get field number_connections from event BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 1470 * @param event packet 1471 * @return number_connections 1472 * @note: btstack_type 1 1473 */ 1474 static inline uint8_t btstack_event_nr_connections_changed_get_number_connections(const uint8_t * event){ 1475 return event[2]; 1476 } 1477 1478 1479 /** 1480 * @brief Get field discoverable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1481 * @param event packet 1482 * @return discoverable 1483 * @note: btstack_type 1 1484 */ 1485 static inline uint8_t btstack_event_scan_mode_changed_get_discoverable(const uint8_t * event){ 1486 return event[2]; 1487 } 1488 /** 1489 * @brief Get field connectable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1490 * @param event packet 1491 * @return connectable 1492 * @note: btstack_type 1 1493 */ 1494 static inline uint8_t btstack_event_scan_mode_changed_get_connectable(const uint8_t * event){ 1495 return event[3]; 1496 } 1497 1498 /** 1499 * @brief Get field major from event DAEMON_EVENT_VERSION 1500 * @param event packet 1501 * @return major 1502 * @note: btstack_type 1 1503 */ 1504 static inline uint8_t daemon_event_version_get_major(const uint8_t * event){ 1505 return event[2]; 1506 } 1507 /** 1508 * @brief Get field minor from event DAEMON_EVENT_VERSION 1509 * @param event packet 1510 * @return minor 1511 * @note: btstack_type 1 1512 */ 1513 static inline uint8_t daemon_event_version_get_minor(const uint8_t * event){ 1514 return event[3]; 1515 } 1516 /** 1517 * @brief Get field revision from event DAEMON_EVENT_VERSION 1518 * @param event packet 1519 * @return revision 1520 * @note: btstack_type 2 1521 */ 1522 static inline uint16_t daemon_event_version_get_revision(const uint8_t * event){ 1523 return little_endian_read_16(event, 4); 1524 } 1525 1526 /** 1527 * @brief Get field system_bluetooth_enabled from event DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED 1528 * @param event packet 1529 * @return system_bluetooth_enabled 1530 * @note: btstack_type 1 1531 */ 1532 static inline uint8_t daemon_event_system_bluetooth_enabled_get_system_bluetooth_enabled(const uint8_t * event){ 1533 return event[2]; 1534 } 1535 1536 /** 1537 * @brief Get field status from event DAEMON_EVENT_REMOTE_NAME_CACHED 1538 * @param event packet 1539 * @return status 1540 * @note: btstack_type 1 1541 */ 1542 static inline uint8_t daemon_event_remote_name_cached_get_status(const uint8_t * event){ 1543 return event[2]; 1544 } 1545 /** 1546 * @brief Get field address from event DAEMON_EVENT_REMOTE_NAME_CACHED 1547 * @param event packet 1548 * @param Pointer to storage for address 1549 * @note: btstack_type B 1550 */ 1551 static inline void daemon_event_remote_name_cached_get_address(const uint8_t * event, bd_addr_t address){ 1552 reverse_bytes(&event[3], address, 6); 1553 } 1554 /** 1555 * @brief Get field name from event DAEMON_EVENT_REMOTE_NAME_CACHED 1556 * @param event packet 1557 * @return name 1558 * @note: btstack_type T 1559 */ 1560 static inline const char * daemon_event_remote_name_cached_get_name(const uint8_t * event){ 1561 return (const char *) &event[9]; 1562 } 1563 1564 /** 1565 * @brief Get field status from event DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 1566 * @param event packet 1567 * @return status 1568 * @note: btstack_type 1 1569 */ 1570 static inline uint8_t daemon_event_l2cap_service_registered_get_status(const uint8_t * event){ 1571 return event[2]; 1572 } 1573 /** 1574 * @brief Get field psm from event DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 1575 * @param event packet 1576 * @return psm 1577 * @note: btstack_type 2 1578 */ 1579 static inline uint16_t daemon_event_l2cap_service_registered_get_psm(const uint8_t * event){ 1580 return little_endian_read_16(event, 3); 1581 } 1582 1583 /** 1584 * @brief Get field status from event DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 1585 * @param event packet 1586 * @return status 1587 * @note: btstack_type 1 1588 */ 1589 static inline uint8_t daemon_event_rfcomm_service_registered_get_status(const uint8_t * event){ 1590 return event[2]; 1591 } 1592 /** 1593 * @brief Get field channel_id from event DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 1594 * @param event packet 1595 * @return channel_id 1596 * @note: btstack_type 1 1597 */ 1598 static inline uint8_t daemon_event_rfcomm_service_registered_get_channel_id(const uint8_t * event){ 1599 return event[3]; 1600 } 1601 1602 /** 1603 * @brief Get field status from event DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 1604 * @param event packet 1605 * @return status 1606 * @note: btstack_type 1 1607 */ 1608 static inline uint8_t daemon_event_rfcomm_persistent_channel_get_status(const uint8_t * event){ 1609 return event[2]; 1610 } 1611 /** 1612 * @brief Get field server_channel_id from event DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 1613 * @param event packet 1614 * @return server_channel_id 1615 * @note: btstack_type 1 1616 */ 1617 static inline uint8_t daemon_event_rfcomm_persistent_channel_get_server_channel_id(const uint8_t * event){ 1618 return event[3]; 1619 } 1620 1621 /** 1622 * @brief Get field status from event DAEMON_EVENT_SDP_SERVICE_REGISTERED 1623 * @param event packet 1624 * @return status 1625 * @note: btstack_type 1 1626 */ 1627 static inline uint8_t daemon_event_sdp_service_registered_get_status(const uint8_t * event){ 1628 return event[2]; 1629 } 1630 /** 1631 * @brief Get field service_record_handle from event DAEMON_EVENT_SDP_SERVICE_REGISTERED 1632 * @param event packet 1633 * @return service_record_handle 1634 * @note: btstack_type 4 1635 */ 1636 static inline uint32_t daemon_event_sdp_service_registered_get_service_record_handle(const uint8_t * event){ 1637 return little_endian_read_32(event, 3); 1638 } 1639 1640 /** 1641 * @brief Get field active from event HCI_EVENT_TRANSPORT_SLEEP_MODE 1642 * @param event packet 1643 * @return active 1644 * @note: btstack_type 1 1645 */ 1646 static inline uint8_t hci_event_transport_sleep_mode_get_active(const uint8_t * event){ 1647 return event[2]; 1648 } 1649 1650 /** 1651 * @brief Get field vendor_id from event HCI_EVENT_TRANSPORT_USB_INFO 1652 * @param event packet 1653 * @return vendor_id 1654 * @note: btstack_type 2 1655 */ 1656 static inline uint16_t hci_event_transport_usb_info_get_vendor_id(const uint8_t * event){ 1657 return little_endian_read_16(event, 2); 1658 } 1659 /** 1660 * @brief Get field product_id from event HCI_EVENT_TRANSPORT_USB_INFO 1661 * @param event packet 1662 * @return product_id 1663 * @note: btstack_type 2 1664 */ 1665 static inline uint16_t hci_event_transport_usb_info_get_product_id(const uint8_t * event){ 1666 return little_endian_read_16(event, 4); 1667 } 1668 /** 1669 * @brief Get field path_len from event HCI_EVENT_TRANSPORT_USB_INFO 1670 * @param event packet 1671 * @return path_len 1672 * @note: btstack_type J 1673 */ 1674 static inline uint8_t hci_event_transport_usb_info_get_path_len(const uint8_t * event){ 1675 return event[6]; 1676 } 1677 /** 1678 * @brief Get field path from event HCI_EVENT_TRANSPORT_USB_INFO 1679 * @param event packet 1680 * @return path 1681 * @note: btstack_type V 1682 */ 1683 static inline const uint8_t * hci_event_transport_usb_info_get_path(const uint8_t * event){ 1684 return &event[7]; 1685 } 1686 1687 /** 1688 * @brief Get field big_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1689 * @param event packet 1690 * @return big_handle 1691 * @note: btstack_type 1 1692 */ 1693 static inline uint8_t hci_event_bis_can_send_now_get_big_handle(const uint8_t * event){ 1694 return event[2]; 1695 } 1696 /** 1697 * @brief Get field bis_index from event HCI_EVENT_BIS_CAN_SEND_NOW 1698 * @param event packet 1699 * @return bis_index 1700 * @note: btstack_type 1 1701 */ 1702 static inline uint8_t hci_event_bis_can_send_now_get_bis_index(const uint8_t * event){ 1703 return event[3]; 1704 } 1705 /** 1706 * @brief Get field con_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1707 * @param event packet 1708 * @return con_handle 1709 * @note: btstack_type H 1710 */ 1711 static inline hci_con_handle_t hci_event_bis_can_send_now_get_con_handle(const uint8_t * event){ 1712 return little_endian_read_16(event, 4); 1713 } 1714 1715 /** 1716 * @brief Get field cis_con_handle from event HCI_EVENT_CIS_CAN_SEND_NOW 1717 * @param event packet 1718 * @return cis_con_handle 1719 * @note: btstack_type H 1720 */ 1721 static inline hci_con_handle_t hci_event_cis_can_send_now_get_cis_con_handle(const uint8_t * event){ 1722 return little_endian_read_16(event, 2); 1723 } 1724 1725 1726 /** 1727 * @brief Get field status from event L2CAP_EVENT_CHANNEL_OPENED 1728 * @param event packet 1729 * @return status 1730 * @note: btstack_type 1 1731 */ 1732 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){ 1733 return event[2]; 1734 } 1735 /** 1736 * @brief Get field address from event L2CAP_EVENT_CHANNEL_OPENED 1737 * @param event packet 1738 * @param Pointer to storage for address 1739 * @note: btstack_type B 1740 */ 1741 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1742 reverse_bytes(&event[3], address, 6); 1743 } 1744 /** 1745 * @brief Get field handle from event L2CAP_EVENT_CHANNEL_OPENED 1746 * @param event packet 1747 * @return handle 1748 * @note: btstack_type H 1749 */ 1750 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){ 1751 return little_endian_read_16(event, 9); 1752 } 1753 /** 1754 * @brief Get field psm from event L2CAP_EVENT_CHANNEL_OPENED 1755 * @param event packet 1756 * @return psm 1757 * @note: btstack_type 2 1758 */ 1759 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){ 1760 return little_endian_read_16(event, 11); 1761 } 1762 /** 1763 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_OPENED 1764 * @param event packet 1765 * @return local_cid 1766 * @note: btstack_type 2 1767 */ 1768 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){ 1769 return little_endian_read_16(event, 13); 1770 } 1771 /** 1772 * @brief Get field remote_cid from event L2CAP_EVENT_CHANNEL_OPENED 1773 * @param event packet 1774 * @return remote_cid 1775 * @note: btstack_type 2 1776 */ 1777 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){ 1778 return little_endian_read_16(event, 15); 1779 } 1780 /** 1781 * @brief Get field local_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1782 * @param event packet 1783 * @return local_mtu 1784 * @note: btstack_type 2 1785 */ 1786 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){ 1787 return little_endian_read_16(event, 17); 1788 } 1789 /** 1790 * @brief Get field remote_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1791 * @param event packet 1792 * @return remote_mtu 1793 * @note: btstack_type 2 1794 */ 1795 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){ 1796 return little_endian_read_16(event, 19); 1797 } 1798 /** 1799 * @brief Get field flush_timeout from event L2CAP_EVENT_CHANNEL_OPENED 1800 * @param event packet 1801 * @return flush_timeout 1802 * @note: btstack_type 2 1803 */ 1804 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){ 1805 return little_endian_read_16(event, 21); 1806 } 1807 /** 1808 * @brief Get field incoming from event L2CAP_EVENT_CHANNEL_OPENED 1809 * @param event packet 1810 * @return incoming 1811 * @note: btstack_type 1 1812 */ 1813 static inline uint8_t l2cap_event_channel_opened_get_incoming(const uint8_t * event){ 1814 return event[23]; 1815 } 1816 /** 1817 * @brief Get field mode from event L2CAP_EVENT_CHANNEL_OPENED 1818 * @param event packet 1819 * @return mode 1820 * @note: btstack_type 1 1821 */ 1822 static inline uint8_t l2cap_event_channel_opened_get_mode(const uint8_t * event){ 1823 return event[24]; 1824 } 1825 /** 1826 * @brief Get field fcs from event L2CAP_EVENT_CHANNEL_OPENED 1827 * @param event packet 1828 * @return fcs 1829 * @note: btstack_type 1 1830 */ 1831 static inline uint8_t l2cap_event_channel_opened_get_fcs(const uint8_t * event){ 1832 return event[25]; 1833 } 1834 1835 /** 1836 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_CLOSED 1837 * @param event packet 1838 * @return local_cid 1839 * @note: btstack_type 2 1840 */ 1841 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){ 1842 return little_endian_read_16(event, 2); 1843 } 1844 1845 /** 1846 * @brief Get field address from event L2CAP_EVENT_INCOMING_CONNECTION 1847 * @param event packet 1848 * @param Pointer to storage for address 1849 * @note: btstack_type B 1850 */ 1851 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1852 reverse_bytes(&event[2], address, 6); 1853 } 1854 /** 1855 * @brief Get field handle from event L2CAP_EVENT_INCOMING_CONNECTION 1856 * @param event packet 1857 * @return handle 1858 * @note: btstack_type H 1859 */ 1860 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){ 1861 return little_endian_read_16(event, 8); 1862 } 1863 /** 1864 * @brief Get field psm from event L2CAP_EVENT_INCOMING_CONNECTION 1865 * @param event packet 1866 * @return psm 1867 * @note: btstack_type 2 1868 */ 1869 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){ 1870 return little_endian_read_16(event, 10); 1871 } 1872 /** 1873 * @brief Get field local_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1874 * @param event packet 1875 * @return local_cid 1876 * @note: btstack_type 2 1877 */ 1878 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){ 1879 return little_endian_read_16(event, 12); 1880 } 1881 /** 1882 * @brief Get field remote_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1883 * @param event packet 1884 * @return remote_cid 1885 * @note: btstack_type 2 1886 */ 1887 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){ 1888 return little_endian_read_16(event, 14); 1889 } 1890 1891 /** 1892 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1893 * @param event packet 1894 * @return handle 1895 * @note: btstack_type H 1896 */ 1897 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){ 1898 return little_endian_read_16(event, 2); 1899 } 1900 /** 1901 * @brief Get field interval_min from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1902 * @param event packet 1903 * @return interval_min 1904 * @note: btstack_type 2 1905 */ 1906 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){ 1907 return little_endian_read_16(event, 4); 1908 } 1909 /** 1910 * @brief Get field interval_max from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1911 * @param event packet 1912 * @return interval_max 1913 * @note: btstack_type 2 1914 */ 1915 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){ 1916 return little_endian_read_16(event, 6); 1917 } 1918 /** 1919 * @brief Get field latency from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1920 * @param event packet 1921 * @return latency 1922 * @note: btstack_type 2 1923 */ 1924 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latency(const uint8_t * event){ 1925 return little_endian_read_16(event, 8); 1926 } 1927 /** 1928 * @brief Get field timeout_multiplier from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1929 * @param event packet 1930 * @return timeout_multiplier 1931 * @note: btstack_type 2 1932 */ 1933 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){ 1934 return little_endian_read_16(event, 10); 1935 } 1936 1937 /** 1938 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1939 * @param event packet 1940 * @return handle 1941 * @note: btstack_type H 1942 */ 1943 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){ 1944 return little_endian_read_16(event, 2); 1945 } 1946 /** 1947 * @brief Get field result from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1948 * @param event packet 1949 * @return result 1950 * @note: btstack_type 2 1951 */ 1952 static inline uint16_t l2cap_event_connection_parameter_update_response_get_result(const uint8_t * event){ 1953 return little_endian_read_16(event, 4); 1954 } 1955 1956 /** 1957 * @brief Get field con_handle from event L2CAP_EVENT_INFORMATION_RESPONSE 1958 * @param event packet 1959 * @return con_handle 1960 * @note: btstack_type H 1961 */ 1962 static inline hci_con_handle_t l2cap_event_information_response_get_con_handle(const uint8_t * event){ 1963 return little_endian_read_16(event, 2); 1964 } 1965 /** 1966 * @brief Get field extended_feature_mask from event L2CAP_EVENT_INFORMATION_RESPONSE 1967 * @param event packet 1968 * @return extended_feature_mask 1969 * @note: btstack_type 2 1970 */ 1971 static inline uint16_t l2cap_event_information_response_get_extended_feature_mask(const uint8_t * event){ 1972 return little_endian_read_16(event, 4); 1973 } 1974 /** 1975 * @brief Get field fixed_channels_supported from event L2CAP_EVENT_INFORMATION_RESPONSE 1976 * @param event packet 1977 * @return fixed_channels_supported 1978 * @note: btstack_type 2 1979 */ 1980 static inline uint16_t l2cap_event_information_response_get_fixed_channels_supported(const uint8_t * event){ 1981 return little_endian_read_16(event, 6); 1982 } 1983 1984 /** 1985 * @brief Get field local_cid from event L2CAP_EVENT_CAN_SEND_NOW 1986 * @param event packet 1987 * @return local_cid 1988 * @note: btstack_type 2 1989 */ 1990 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){ 1991 return little_endian_read_16(event, 2); 1992 } 1993 1994 /** 1995 * @brief Get field local_cid from event L2CAP_EVENT_PACKET_SENT 1996 * @param event packet 1997 * @return local_cid 1998 * @note: btstack_type 2 1999 */ 2000 static inline uint16_t l2cap_event_packet_sent_get_local_cid(const uint8_t * event){ 2001 return little_endian_read_16(event, 2); 2002 } 2003 2004 /** 2005 * @brief Get field local_cid from event L2CAP_EVENT_ERTM_BUFFER_RELEASED 2006 * @param event packet 2007 * @return local_cid 2008 * @note: btstack_type 2 2009 */ 2010 static inline uint16_t l2cap_event_ertm_buffer_released_get_local_cid(const uint8_t * event){ 2011 return little_endian_read_16(event, 2); 2012 } 2013 2014 /** 2015 * @brief Get field address_type from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2016 * @param event packet 2017 * @return address_type 2018 * @note: btstack_type 1 2019 */ 2020 static inline uint8_t l2cap_event_cbm_incoming_connection_get_address_type(const uint8_t * event){ 2021 return event[2]; 2022 } 2023 /** 2024 * @brief Get field address from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2025 * @param event packet 2026 * @param Pointer to storage for address 2027 * @note: btstack_type B 2028 */ 2029 static inline void l2cap_event_cbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 2030 reverse_bytes(&event[3], address, 6); 2031 } 2032 /** 2033 * @brief Get field handle from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2034 * @param event packet 2035 * @return handle 2036 * @note: btstack_type H 2037 */ 2038 static inline hci_con_handle_t l2cap_event_cbm_incoming_connection_get_handle(const uint8_t * event){ 2039 return little_endian_read_16(event, 9); 2040 } 2041 /** 2042 * @brief Get field psm from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2043 * @param event packet 2044 * @return psm 2045 * @note: btstack_type 2 2046 */ 2047 static inline uint16_t l2cap_event_cbm_incoming_connection_get_psm(const uint8_t * event){ 2048 return little_endian_read_16(event, 11); 2049 } 2050 /** 2051 * @brief Get field local_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2052 * @param event packet 2053 * @return local_cid 2054 * @note: btstack_type 2 2055 */ 2056 static inline uint16_t l2cap_event_cbm_incoming_connection_get_local_cid(const uint8_t * event){ 2057 return little_endian_read_16(event, 13); 2058 } 2059 /** 2060 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2061 * @param event packet 2062 * @return remote_cid 2063 * @note: btstack_type 2 2064 */ 2065 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_cid(const uint8_t * event){ 2066 return little_endian_read_16(event, 15); 2067 } 2068 /** 2069 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 2070 * @param event packet 2071 * @return remote_mtu 2072 * @note: btstack_type 2 2073 */ 2074 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_mtu(const uint8_t * event){ 2075 return little_endian_read_16(event, 17); 2076 } 2077 2078 /** 2079 * @brief Get field status from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2080 * @param event packet 2081 * @return status 2082 * @note: btstack_type 1 2083 */ 2084 static inline uint8_t l2cap_event_cbm_channel_opened_get_status(const uint8_t * event){ 2085 return event[2]; 2086 } 2087 /** 2088 * @brief Get field address_type from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2089 * @param event packet 2090 * @return address_type 2091 * @note: btstack_type 1 2092 */ 2093 static inline uint8_t l2cap_event_cbm_channel_opened_get_address_type(const uint8_t * event){ 2094 return event[3]; 2095 } 2096 /** 2097 * @brief Get field address from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2098 * @param event packet 2099 * @param Pointer to storage for address 2100 * @note: btstack_type B 2101 */ 2102 static inline void l2cap_event_cbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 2103 reverse_bytes(&event[4], address, 6); 2104 } 2105 /** 2106 * @brief Get field handle from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2107 * @param event packet 2108 * @return handle 2109 * @note: btstack_type H 2110 */ 2111 static inline hci_con_handle_t l2cap_event_cbm_channel_opened_get_handle(const uint8_t * event){ 2112 return little_endian_read_16(event, 10); 2113 } 2114 /** 2115 * @brief Get field incoming from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2116 * @param event packet 2117 * @return incoming 2118 * @note: btstack_type 1 2119 */ 2120 static inline uint8_t l2cap_event_cbm_channel_opened_get_incoming(const uint8_t * event){ 2121 return event[12]; 2122 } 2123 /** 2124 * @brief Get field psm from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2125 * @param event packet 2126 * @return psm 2127 * @note: btstack_type 2 2128 */ 2129 static inline uint16_t l2cap_event_cbm_channel_opened_get_psm(const uint8_t * event){ 2130 return little_endian_read_16(event, 13); 2131 } 2132 /** 2133 * @brief Get field local_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2134 * @param event packet 2135 * @return local_cid 2136 * @note: btstack_type 2 2137 */ 2138 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_cid(const uint8_t * event){ 2139 return little_endian_read_16(event, 15); 2140 } 2141 /** 2142 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2143 * @param event packet 2144 * @return remote_cid 2145 * @note: btstack_type 2 2146 */ 2147 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_cid(const uint8_t * event){ 2148 return little_endian_read_16(event, 17); 2149 } 2150 /** 2151 * @brief Get field local_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2152 * @param event packet 2153 * @return local_mtu 2154 * @note: btstack_type 2 2155 */ 2156 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_mtu(const uint8_t * event){ 2157 return little_endian_read_16(event, 19); 2158 } 2159 /** 2160 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2161 * @param event packet 2162 * @return remote_mtu 2163 * @note: btstack_type 2 2164 */ 2165 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2166 return little_endian_read_16(event, 21); 2167 } 2168 2169 2170 /** 2171 * @brief Get field address_type from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2172 * @param event packet 2173 * @return address_type 2174 * @note: btstack_type 1 2175 */ 2176 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_address_type(const uint8_t * event){ 2177 return event[2]; 2178 } 2179 /** 2180 * @brief Get field address from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2181 * @param event packet 2182 * @param Pointer to storage for address 2183 * @note: btstack_type B 2184 */ 2185 static inline void l2cap_event_ecbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 2186 reverse_bytes(&event[3], address, 6); 2187 } 2188 /** 2189 * @brief Get field handle from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2190 * @param event packet 2191 * @return handle 2192 * @note: btstack_type H 2193 */ 2194 static inline hci_con_handle_t l2cap_event_ecbm_incoming_connection_get_handle(const uint8_t * event){ 2195 return little_endian_read_16(event, 9); 2196 } 2197 /** 2198 * @brief Get field psm from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2199 * @param event packet 2200 * @return psm 2201 * @note: btstack_type 2 2202 */ 2203 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_psm(const uint8_t * event){ 2204 return little_endian_read_16(event, 11); 2205 } 2206 /** 2207 * @brief Get field num_channels from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2208 * @param event packet 2209 * @return num_channels 2210 * @note: btstack_type 1 2211 */ 2212 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_num_channels(const uint8_t * event){ 2213 return event[13]; 2214 } 2215 /** 2216 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2217 * @param event packet 2218 * @return local_cid 2219 * @note: btstack_type 2 2220 */ 2221 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_local_cid(const uint8_t * event){ 2222 return little_endian_read_16(event, 14); 2223 } 2224 2225 /** 2226 * @brief Get field status from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2227 * @param event packet 2228 * @return status 2229 * @note: btstack_type 1 2230 */ 2231 static inline uint8_t l2cap_event_ecbm_channel_opened_get_status(const uint8_t * event){ 2232 return event[2]; 2233 } 2234 /** 2235 * @brief Get field address_type from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2236 * @param event packet 2237 * @return address_type 2238 * @note: btstack_type 1 2239 */ 2240 static inline uint8_t l2cap_event_ecbm_channel_opened_get_address_type(const uint8_t * event){ 2241 return event[3]; 2242 } 2243 /** 2244 * @brief Get field address from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2245 * @param event packet 2246 * @param Pointer to storage for address 2247 * @note: btstack_type B 2248 */ 2249 static inline void l2cap_event_ecbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 2250 reverse_bytes(&event[4], address, 6); 2251 } 2252 /** 2253 * @brief Get field handle from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2254 * @param event packet 2255 * @return handle 2256 * @note: btstack_type H 2257 */ 2258 static inline hci_con_handle_t l2cap_event_ecbm_channel_opened_get_handle(const uint8_t * event){ 2259 return little_endian_read_16(event, 10); 2260 } 2261 /** 2262 * @brief Get field incoming from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2263 * @param event packet 2264 * @return incoming 2265 * @note: btstack_type 1 2266 */ 2267 static inline uint8_t l2cap_event_ecbm_channel_opened_get_incoming(const uint8_t * event){ 2268 return event[12]; 2269 } 2270 /** 2271 * @brief Get field psm from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2272 * @param event packet 2273 * @return psm 2274 * @note: btstack_type 2 2275 */ 2276 static inline uint16_t l2cap_event_ecbm_channel_opened_get_psm(const uint8_t * event){ 2277 return little_endian_read_16(event, 13); 2278 } 2279 /** 2280 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2281 * @param event packet 2282 * @return local_cid 2283 * @note: btstack_type 2 2284 */ 2285 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_cid(const uint8_t * event){ 2286 return little_endian_read_16(event, 15); 2287 } 2288 /** 2289 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2290 * @param event packet 2291 * @return remote_cid 2292 * @note: btstack_type 2 2293 */ 2294 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_cid(const uint8_t * event){ 2295 return little_endian_read_16(event, 17); 2296 } 2297 /** 2298 * @brief Get field local_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2299 * @param event packet 2300 * @return local_mtu 2301 * @note: btstack_type 2 2302 */ 2303 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_mtu(const uint8_t * event){ 2304 return little_endian_read_16(event, 19); 2305 } 2306 /** 2307 * @brief Get field remote_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2308 * @param event packet 2309 * @return remote_mtu 2310 * @note: btstack_type 2 2311 */ 2312 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2313 return little_endian_read_16(event, 21); 2314 } 2315 2316 /** 2317 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_RECONFIGURED 2318 * @param event packet 2319 * @return remote_cid 2320 * @note: btstack_type 2 2321 */ 2322 static inline uint16_t l2cap_event_ecbm_reconfigured_get_remote_cid(const uint8_t * event){ 2323 return little_endian_read_16(event, 2); 2324 } 2325 /** 2326 * @brief Get field mtu from event L2CAP_EVENT_ECBM_RECONFIGURED 2327 * @param event packet 2328 * @return mtu 2329 * @note: btstack_type 2 2330 */ 2331 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mtu(const uint8_t * event){ 2332 return little_endian_read_16(event, 4); 2333 } 2334 /** 2335 * @brief Get field mps from event L2CAP_EVENT_ECBM_RECONFIGURED 2336 * @param event packet 2337 * @return mps 2338 * @note: btstack_type 2 2339 */ 2340 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mps(const uint8_t * event){ 2341 return little_endian_read_16(event, 6); 2342 } 2343 2344 /** 2345 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2346 * @param event packet 2347 * @return local_cid 2348 * @note: btstack_type 2 2349 */ 2350 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_local_cid(const uint8_t * event){ 2351 return little_endian_read_16(event, 2); 2352 } 2353 /** 2354 * @brief Get field reconfigure_result from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2355 * @param event packet 2356 * @return reconfigure_result 2357 * @note: btstack_type 2 2358 */ 2359 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_reconfigure_result(const uint8_t * event){ 2360 return little_endian_read_16(event, 4); 2361 } 2362 2363 /** 2364 * @brief Get field status from event RFCOMM_EVENT_CHANNEL_OPENED 2365 * @param event packet 2366 * @return status 2367 * @note: btstack_type 1 2368 */ 2369 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){ 2370 return event[2]; 2371 } 2372 /** 2373 * @brief Get field bd_addr from event RFCOMM_EVENT_CHANNEL_OPENED 2374 * @param event packet 2375 * @param Pointer to storage for bd_addr 2376 * @note: btstack_type B 2377 */ 2378 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2379 reverse_bytes(&event[3], bd_addr, 6); 2380 } 2381 /** 2382 * @brief Get field con_handle from event RFCOMM_EVENT_CHANNEL_OPENED 2383 * @param event packet 2384 * @return con_handle 2385 * @note: btstack_type 2 2386 */ 2387 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){ 2388 return little_endian_read_16(event, 9); 2389 } 2390 /** 2391 * @brief Get field server_channel from event RFCOMM_EVENT_CHANNEL_OPENED 2392 * @param event packet 2393 * @return server_channel 2394 * @note: btstack_type 1 2395 */ 2396 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){ 2397 return event[11]; 2398 } 2399 /** 2400 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_OPENED 2401 * @param event packet 2402 * @return rfcomm_cid 2403 * @note: btstack_type 2 2404 */ 2405 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){ 2406 return little_endian_read_16(event, 12); 2407 } 2408 /** 2409 * @brief Get field max_frame_size from event RFCOMM_EVENT_CHANNEL_OPENED 2410 * @param event packet 2411 * @return max_frame_size 2412 * @note: btstack_type 2 2413 */ 2414 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){ 2415 return little_endian_read_16(event, 14); 2416 } 2417 /** 2418 * @brief Get field incoming from event RFCOMM_EVENT_CHANNEL_OPENED 2419 * @param event packet 2420 * @return incoming 2421 * @note: btstack_type 1 2422 */ 2423 static inline uint8_t rfcomm_event_channel_opened_get_incoming(const uint8_t * event){ 2424 return event[16]; 2425 } 2426 2427 /** 2428 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_CLOSED 2429 * @param event packet 2430 * @return rfcomm_cid 2431 * @note: btstack_type 2 2432 */ 2433 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){ 2434 return little_endian_read_16(event, 2); 2435 } 2436 2437 /** 2438 * @brief Get field bd_addr from event RFCOMM_EVENT_INCOMING_CONNECTION 2439 * @param event packet 2440 * @param Pointer to storage for bd_addr 2441 * @note: btstack_type B 2442 */ 2443 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2444 reverse_bytes(&event[2], bd_addr, 6); 2445 } 2446 /** 2447 * @brief Get field server_channel from event RFCOMM_EVENT_INCOMING_CONNECTION 2448 * @param event packet 2449 * @return server_channel 2450 * @note: btstack_type 1 2451 */ 2452 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){ 2453 return event[8]; 2454 } 2455 /** 2456 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_INCOMING_CONNECTION 2457 * @param event packet 2458 * @return rfcomm_cid 2459 * @note: btstack_type 2 2460 */ 2461 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){ 2462 return little_endian_read_16(event, 9); 2463 } 2464 /** 2465 * @brief Get field con_handle from event RFCOMM_EVENT_INCOMING_CONNECTION 2466 * @param event packet 2467 * @return con_handle 2468 * @note: btstack_type H 2469 */ 2470 static inline hci_con_handle_t rfcomm_event_incoming_connection_get_con_handle(const uint8_t * event){ 2471 return little_endian_read_16(event, 11); 2472 } 2473 2474 /** 2475 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2476 * @param event packet 2477 * @return rfcomm_cid 2478 * @note: btstack_type 2 2479 */ 2480 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){ 2481 return little_endian_read_16(event, 2); 2482 } 2483 /** 2484 * @brief Get field line_status from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2485 * @param event packet 2486 * @return line_status 2487 * @note: btstack_type 1 2488 */ 2489 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){ 2490 return event[4]; 2491 } 2492 2493 /** 2494 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2495 * @param event packet 2496 * @return rfcomm_cid 2497 * @note: btstack_type 2 2498 */ 2499 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){ 2500 return little_endian_read_16(event, 2); 2501 } 2502 /** 2503 * @brief Get field modem_status from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2504 * @param event packet 2505 * @return modem_status 2506 * @note: btstack_type 1 2507 */ 2508 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){ 2509 return event[4]; 2510 } 2511 2512 /** 2513 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CAN_SEND_NOW 2514 * @param event packet 2515 * @return rfcomm_cid 2516 * @note: btstack_type 2 2517 */ 2518 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){ 2519 return little_endian_read_16(event, 2); 2520 } 2521 2522 /** 2523 * @brief Get field status from event SDP_EVENT_QUERY_COMPLETE 2524 * @param event packet 2525 * @return status 2526 * @note: btstack_type 1 2527 */ 2528 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){ 2529 return event[2]; 2530 } 2531 2532 /** 2533 * @brief Get field rfcomm_channel from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2534 * @param event packet 2535 * @return rfcomm_channel 2536 * @note: btstack_type 1 2537 */ 2538 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){ 2539 return event[2]; 2540 } 2541 /** 2542 * @brief Get field name from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2543 * @param event packet 2544 * @return name 2545 * @note: btstack_type T 2546 */ 2547 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){ 2548 return (const char *) &event[3]; 2549 } 2550 2551 /** 2552 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2553 * @param event packet 2554 * @return record_id 2555 * @note: btstack_type 2 2556 */ 2557 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){ 2558 return little_endian_read_16(event, 2); 2559 } 2560 /** 2561 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2562 * @param event packet 2563 * @return attribute_id 2564 * @note: btstack_type 2 2565 */ 2566 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){ 2567 return little_endian_read_16(event, 4); 2568 } 2569 /** 2570 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2571 * @param event packet 2572 * @return attribute_length 2573 * @note: btstack_type 2 2574 */ 2575 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){ 2576 return little_endian_read_16(event, 6); 2577 } 2578 /** 2579 * @brief Get field data_offset from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2580 * @param event packet 2581 * @return data_offset 2582 * @note: btstack_type 2 2583 */ 2584 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){ 2585 return little_endian_read_16(event, 8); 2586 } 2587 /** 2588 * @brief Get field data from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2589 * @param event packet 2590 * @return data 2591 * @note: btstack_type 1 2592 */ 2593 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){ 2594 return event[10]; 2595 } 2596 2597 /** 2598 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2599 * @param event packet 2600 * @return record_id 2601 * @note: btstack_type 2 2602 */ 2603 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){ 2604 return little_endian_read_16(event, 2); 2605 } 2606 /** 2607 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2608 * @param event packet 2609 * @return attribute_id 2610 * @note: btstack_type 2 2611 */ 2612 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){ 2613 return little_endian_read_16(event, 4); 2614 } 2615 /** 2616 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2617 * @param event packet 2618 * @return attribute_length 2619 * @note: btstack_type L 2620 */ 2621 static inline uint16_t sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){ 2622 return little_endian_read_16(event, 6); 2623 } 2624 /** 2625 * @brief Get field attribute_value from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2626 * @param event packet 2627 * @return attribute_value 2628 * @note: btstack_type V 2629 */ 2630 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){ 2631 return &event[8]; 2632 } 2633 2634 /** 2635 * @brief Get field total_count from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2636 * @param event packet 2637 * @return total_count 2638 * @note: btstack_type 2 2639 */ 2640 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){ 2641 return little_endian_read_16(event, 2); 2642 } 2643 /** 2644 * @brief Get field record_index from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2645 * @param event packet 2646 * @return record_index 2647 * @note: btstack_type 2 2648 */ 2649 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){ 2650 return little_endian_read_16(event, 4); 2651 } 2652 /** 2653 * @brief Get field record_handle from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2654 * @param event packet 2655 * @return record_handle 2656 * @note: btstack_type 4 2657 */ 2658 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){ 2659 return little_endian_read_32(event, 6); 2660 } 2661 2662 #ifdef ENABLE_BLE 2663 /** 2664 * @brief Get field handle from event GATT_EVENT_QUERY_COMPLETE 2665 * @param event packet 2666 * @return handle 2667 * @note: btstack_type H 2668 */ 2669 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){ 2670 return little_endian_read_16(event, 2); 2671 } 2672 /** 2673 * @brief Get field service_id from event GATT_EVENT_QUERY_COMPLETE 2674 * @param event packet 2675 * @return service_id 2676 * @note: btstack_type 2 2677 */ 2678 static inline uint16_t gatt_event_query_complete_get_service_id(const uint8_t * event){ 2679 return little_endian_read_16(event, 4); 2680 } 2681 /** 2682 * @brief Get field connection_id from event GATT_EVENT_QUERY_COMPLETE 2683 * @param event packet 2684 * @return connection_id 2685 * @note: btstack_type 2 2686 */ 2687 static inline uint16_t gatt_event_query_complete_get_connection_id(const uint8_t * event){ 2688 return little_endian_read_16(event, 6); 2689 } 2690 /** 2691 * @brief Get field att_status from event GATT_EVENT_QUERY_COMPLETE 2692 * @param event packet 2693 * @return att_status 2694 * @note: btstack_type 1 2695 */ 2696 static inline uint8_t gatt_event_query_complete_get_att_status(const uint8_t * event){ 2697 return event[8]; 2698 } 2699 #endif 2700 2701 #ifdef ENABLE_BLE 2702 /** 2703 * @brief Get field handle from event GATT_EVENT_SERVICE_QUERY_RESULT 2704 * @param event packet 2705 * @return handle 2706 * @note: btstack_type H 2707 */ 2708 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){ 2709 return little_endian_read_16(event, 2); 2710 } 2711 /** 2712 * @brief Get field service_id from event GATT_EVENT_SERVICE_QUERY_RESULT 2713 * @param event packet 2714 * @return service_id 2715 * @note: btstack_type 2 2716 */ 2717 static inline uint16_t gatt_event_service_query_result_get_service_id(const uint8_t * event){ 2718 return little_endian_read_16(event, 4); 2719 } 2720 /** 2721 * @brief Get field connection_id from event GATT_EVENT_SERVICE_QUERY_RESULT 2722 * @param event packet 2723 * @return connection_id 2724 * @note: btstack_type 2 2725 */ 2726 static inline uint16_t gatt_event_service_query_result_get_connection_id(const uint8_t * event){ 2727 return little_endian_read_16(event, 6); 2728 } 2729 /** 2730 * @brief Get field service from event GATT_EVENT_SERVICE_QUERY_RESULT 2731 * @param event packet 2732 * @param Pointer to storage for service 2733 * @note: btstack_type X 2734 */ 2735 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2736 gatt_client_deserialize_service(event, 8, service); 2737 } 2738 #endif 2739 2740 #ifdef ENABLE_BLE 2741 /** 2742 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2743 * @param event packet 2744 * @return handle 2745 * @note: btstack_type H 2746 */ 2747 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){ 2748 return little_endian_read_16(event, 2); 2749 } 2750 /** 2751 * @brief Get field characteristic from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2752 * @param event packet 2753 * @param Pointer to storage for characteristic 2754 * @note: btstack_type Y 2755 */ 2756 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){ 2757 gatt_client_deserialize_characteristic(event, 4, characteristic); 2758 } 2759 #endif 2760 2761 #ifdef ENABLE_BLE 2762 /** 2763 * @brief Get field handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2764 * @param event packet 2765 * @return handle 2766 * @note: btstack_type H 2767 */ 2768 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){ 2769 return little_endian_read_16(event, 2); 2770 } 2771 /** 2772 * @brief Get field include_handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2773 * @param event packet 2774 * @return include_handle 2775 * @note: btstack_type 2 2776 */ 2777 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){ 2778 return little_endian_read_16(event, 4); 2779 } 2780 /** 2781 * @brief Get field service from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2782 * @param event packet 2783 * @param Pointer to storage for service 2784 * @note: btstack_type X 2785 */ 2786 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2787 gatt_client_deserialize_service(event, 6, service); 2788 } 2789 #endif 2790 2791 #ifdef ENABLE_BLE 2792 /** 2793 * @brief Get field handle from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2794 * @param event packet 2795 * @return handle 2796 * @note: btstack_type H 2797 */ 2798 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){ 2799 return little_endian_read_16(event, 2); 2800 } 2801 /** 2802 * @brief Get field characteristic_descriptor from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2803 * @param event packet 2804 * @param Pointer to storage for characteristic_descriptor 2805 * @note: btstack_type Z 2806 */ 2807 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){ 2808 gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor); 2809 } 2810 #endif 2811 2812 #ifdef ENABLE_BLE 2813 /** 2814 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2815 * @param event packet 2816 * @return handle 2817 * @note: btstack_type H 2818 */ 2819 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){ 2820 return little_endian_read_16(event, 2); 2821 } 2822 /** 2823 * @brief Get field value_handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2824 * @param event packet 2825 * @return value_handle 2826 * @note: btstack_type 2 2827 */ 2828 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2829 return little_endian_read_16(event, 4); 2830 } 2831 /** 2832 * @brief Get field value_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2833 * @param event packet 2834 * @return value_length 2835 * @note: btstack_type L 2836 */ 2837 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2838 return little_endian_read_16(event, 6); 2839 } 2840 /** 2841 * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2842 * @param event packet 2843 * @return value 2844 * @note: btstack_type V 2845 */ 2846 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){ 2847 return &event[8]; 2848 } 2849 #endif 2850 2851 #ifdef ENABLE_BLE 2852 /** 2853 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2854 * @param event packet 2855 * @return handle 2856 * @note: btstack_type H 2857 */ 2858 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){ 2859 return little_endian_read_16(event, 2); 2860 } 2861 /** 2862 * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2863 * @param event packet 2864 * @return value_handle 2865 * @note: btstack_type 2 2866 */ 2867 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2868 return little_endian_read_16(event, 4); 2869 } 2870 /** 2871 * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2872 * @param event packet 2873 * @return value_offset 2874 * @note: btstack_type 2 2875 */ 2876 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){ 2877 return little_endian_read_16(event, 6); 2878 } 2879 /** 2880 * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2881 * @param event packet 2882 * @return value_length 2883 * @note: btstack_type L 2884 */ 2885 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2886 return little_endian_read_16(event, 8); 2887 } 2888 /** 2889 * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2890 * @param event packet 2891 * @return value 2892 * @note: btstack_type V 2893 */ 2894 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){ 2895 return &event[10]; 2896 } 2897 #endif 2898 2899 #ifdef ENABLE_BLE 2900 /** 2901 * @brief Get field handle from event GATT_EVENT_NOTIFICATION 2902 * @param event packet 2903 * @return handle 2904 * @note: btstack_type H 2905 */ 2906 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){ 2907 return little_endian_read_16(event, 2); 2908 } 2909 /** 2910 * @brief Get field value_handle from event GATT_EVENT_NOTIFICATION 2911 * @param event packet 2912 * @return value_handle 2913 * @note: btstack_type 2 2914 */ 2915 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){ 2916 return little_endian_read_16(event, 4); 2917 } 2918 /** 2919 * @brief Get field value_length from event GATT_EVENT_NOTIFICATION 2920 * @param event packet 2921 * @return value_length 2922 * @note: btstack_type L 2923 */ 2924 static inline uint16_t gatt_event_notification_get_value_length(const uint8_t * event){ 2925 return little_endian_read_16(event, 6); 2926 } 2927 /** 2928 * @brief Get field value from event GATT_EVENT_NOTIFICATION 2929 * @param event packet 2930 * @return value 2931 * @note: btstack_type V 2932 */ 2933 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){ 2934 return &event[8]; 2935 } 2936 #endif 2937 2938 #ifdef ENABLE_BLE 2939 /** 2940 * @brief Get field handle from event GATT_EVENT_INDICATION 2941 * @param event packet 2942 * @return handle 2943 * @note: btstack_type H 2944 */ 2945 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){ 2946 return little_endian_read_16(event, 2); 2947 } 2948 /** 2949 * @brief Get field value_handle from event GATT_EVENT_INDICATION 2950 * @param event packet 2951 * @return value_handle 2952 * @note: btstack_type 2 2953 */ 2954 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){ 2955 return little_endian_read_16(event, 4); 2956 } 2957 /** 2958 * @brief Get field value_length from event GATT_EVENT_INDICATION 2959 * @param event packet 2960 * @return value_length 2961 * @note: btstack_type L 2962 */ 2963 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){ 2964 return little_endian_read_16(event, 6); 2965 } 2966 /** 2967 * @brief Get field value from event GATT_EVENT_INDICATION 2968 * @param event packet 2969 * @return value 2970 * @note: btstack_type V 2971 */ 2972 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){ 2973 return &event[8]; 2974 } 2975 #endif 2976 2977 #ifdef ENABLE_BLE 2978 /** 2979 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2980 * @param event packet 2981 * @return handle 2982 * @note: btstack_type H 2983 */ 2984 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2985 return little_endian_read_16(event, 2); 2986 } 2987 /** 2988 * @brief Get field descriptor_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2989 * @param event packet 2990 * @return descriptor_handle 2991 * @note: btstack_type 2 2992 */ 2993 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 2994 return little_endian_read_16(event, 4); 2995 } 2996 /** 2997 * @brief Get field descriptor_length from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2998 * @param event packet 2999 * @return descriptor_length 3000 * @note: btstack_type L 3001 */ 3002 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 3003 return little_endian_read_16(event, 6); 3004 } 3005 /** 3006 * @brief Get field descriptor from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3007 * @param event packet 3008 * @return descriptor 3009 * @note: btstack_type V 3010 */ 3011 static inline const uint8_t * gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 3012 return &event[8]; 3013 } 3014 #endif 3015 3016 #ifdef ENABLE_BLE 3017 /** 3018 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3019 * @param event packet 3020 * @return handle 3021 * @note: btstack_type H 3022 */ 3023 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 3024 return little_endian_read_16(event, 2); 3025 } 3026 /** 3027 * @brief Get field descriptor_handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3028 * @param event packet 3029 * @return descriptor_handle 3030 * @note: btstack_type 2 3031 */ 3032 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 3033 return little_endian_read_16(event, 4); 3034 } 3035 /** 3036 * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3037 * @param event packet 3038 * @return descriptor_offset 3039 * @note: btstack_type 2 3040 */ 3041 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){ 3042 return little_endian_read_16(event, 6); 3043 } 3044 /** 3045 * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3046 * @param event packet 3047 * @return descriptor_length 3048 * @note: btstack_type L 3049 */ 3050 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 3051 return little_endian_read_16(event, 8); 3052 } 3053 /** 3054 * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 3055 * @param event packet 3056 * @return descriptor 3057 * @note: btstack_type V 3058 */ 3059 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 3060 return &event[10]; 3061 } 3062 #endif 3063 3064 #ifdef ENABLE_BLE 3065 /** 3066 * @brief Get field handle from event GATT_EVENT_MTU 3067 * @param event packet 3068 * @return handle 3069 * @note: btstack_type H 3070 */ 3071 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){ 3072 return little_endian_read_16(event, 2); 3073 } 3074 /** 3075 * @brief Get field MTU from event GATT_EVENT_MTU 3076 * @param event packet 3077 * @return MTU 3078 * @note: btstack_type 2 3079 */ 3080 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){ 3081 return little_endian_read_16(event, 4); 3082 } 3083 #endif 3084 3085 #ifdef ENABLE_BLE 3086 /** 3087 * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 3088 * @param event packet 3089 * @return handle 3090 * @note: btstack_type H 3091 */ 3092 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){ 3093 return little_endian_read_16(event, 2); 3094 } 3095 #endif 3096 3097 #ifdef ENABLE_BLE 3098 /** 3099 * @brief Get field status from event GATT_EVENT_CONNECTED 3100 * @param event packet 3101 * @return status 3102 * @note: btstack_type 1 3103 */ 3104 static inline uint8_t gatt_event_connected_get_status(const uint8_t * event){ 3105 return event[2]; 3106 } 3107 /** 3108 * @brief Get field address_type from event GATT_EVENT_CONNECTED 3109 * @param event packet 3110 * @return address_type 3111 * @note: btstack_type 1 3112 */ 3113 static inline uint8_t gatt_event_connected_get_address_type(const uint8_t * event){ 3114 return event[3]; 3115 } 3116 /** 3117 * @brief Get field address from event GATT_EVENT_CONNECTED 3118 * @param event packet 3119 * @param Pointer to storage for address 3120 * @note: btstack_type B 3121 */ 3122 static inline void gatt_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 3123 reverse_bytes(&event[4], address, 6); 3124 } 3125 /** 3126 * @brief Get field handle from event GATT_EVENT_CONNECTED 3127 * @param event packet 3128 * @return handle 3129 * @note: btstack_type H 3130 */ 3131 static inline hci_con_handle_t gatt_event_connected_get_handle(const uint8_t * event){ 3132 return little_endian_read_16(event, 10); 3133 } 3134 #endif 3135 3136 #ifdef ENABLE_BLE 3137 /** 3138 * @brief Get field handle from event GATT_EVENT_DISCONNECTED 3139 * @param event packet 3140 * @return handle 3141 * @note: btstack_type H 3142 */ 3143 static inline hci_con_handle_t gatt_event_disconnected_get_handle(const uint8_t * event){ 3144 return little_endian_read_16(event, 2); 3145 } 3146 #endif 3147 3148 #ifdef ENABLE_BLE 3149 /** 3150 * @brief Get field handle from event GATT_EVENT_SERVICE_CHANGED 3151 * @param event packet 3152 * @return handle 3153 * @note: btstack_type H 3154 */ 3155 static inline hci_con_handle_t gatt_event_service_changed_get_handle(const uint8_t * event){ 3156 return little_endian_read_16(event, 2); 3157 } 3158 /** 3159 * @brief Get field attribute_handle_start from event GATT_EVENT_SERVICE_CHANGED 3160 * @param event packet 3161 * @return attribute_handle_start 3162 * @note: btstack_type 2 3163 */ 3164 static inline uint16_t gatt_event_service_changed_get_attribute_handle_start(const uint8_t * event){ 3165 return little_endian_read_16(event, 4); 3166 } 3167 /** 3168 * @brief Get field attribute_handle_end from event GATT_EVENT_SERVICE_CHANGED 3169 * @param event packet 3170 * @return attribute_handle_end 3171 * @note: btstack_type 2 3172 */ 3173 static inline uint16_t gatt_event_service_changed_get_attribute_handle_end(const uint8_t * event){ 3174 return little_endian_read_16(event, 6); 3175 } 3176 #endif 3177 3178 /** 3179 * @brief Get field address_type from event ATT_EVENT_CONNECTED 3180 * @param event packet 3181 * @return address_type 3182 * @note: btstack_type 1 3183 */ 3184 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){ 3185 return event[2]; 3186 } 3187 /** 3188 * @brief Get field address from event ATT_EVENT_CONNECTED 3189 * @param event packet 3190 * @param Pointer to storage for address 3191 * @note: btstack_type B 3192 */ 3193 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 3194 reverse_bytes(&event[3], address, 6); 3195 } 3196 /** 3197 * @brief Get field handle from event ATT_EVENT_CONNECTED 3198 * @param event packet 3199 * @return handle 3200 * @note: btstack_type H 3201 */ 3202 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){ 3203 return little_endian_read_16(event, 9); 3204 } 3205 3206 /** 3207 * @brief Get field handle from event ATT_EVENT_DISCONNECTED 3208 * @param event packet 3209 * @return handle 3210 * @note: btstack_type H 3211 */ 3212 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){ 3213 return little_endian_read_16(event, 2); 3214 } 3215 3216 /** 3217 * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 3218 * @param event packet 3219 * @return handle 3220 * @note: btstack_type H 3221 */ 3222 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){ 3223 return little_endian_read_16(event, 2); 3224 } 3225 /** 3226 * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 3227 * @param event packet 3228 * @return MTU 3229 * @note: btstack_type 2 3230 */ 3231 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){ 3232 return little_endian_read_16(event, 4); 3233 } 3234 3235 /** 3236 * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3237 * @param event packet 3238 * @return status 3239 * @note: btstack_type 1 3240 */ 3241 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){ 3242 return event[2]; 3243 } 3244 /** 3245 * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3246 * @param event packet 3247 * @return conn_handle 3248 * @note: btstack_type H 3249 */ 3250 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){ 3251 return little_endian_read_16(event, 3); 3252 } 3253 /** 3254 * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3255 * @param event packet 3256 * @return attribute_handle 3257 * @note: btstack_type 2 3258 */ 3259 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){ 3260 return little_endian_read_16(event, 5); 3261 } 3262 3263 3264 /** 3265 * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED 3266 * @param event packet 3267 * @return status 3268 * @note: btstack_type 1 3269 */ 3270 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){ 3271 return event[2]; 3272 } 3273 /** 3274 * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED 3275 * @param event packet 3276 * @return service_uuid 3277 * @note: btstack_type 2 3278 */ 3279 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){ 3280 return little_endian_read_16(event, 3); 3281 } 3282 3283 /** 3284 * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED 3285 * @param event packet 3286 * @return status 3287 * @note: btstack_type 1 3288 */ 3289 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){ 3290 return event[2]; 3291 } 3292 /** 3293 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED 3294 * @param event packet 3295 * @return bnep_cid 3296 * @note: btstack_type 2 3297 */ 3298 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){ 3299 return little_endian_read_16(event, 3); 3300 } 3301 /** 3302 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED 3303 * @param event packet 3304 * @return source_uuid 3305 * @note: btstack_type 2 3306 */ 3307 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){ 3308 return little_endian_read_16(event, 5); 3309 } 3310 /** 3311 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED 3312 * @param event packet 3313 * @return destination_uuid 3314 * @note: btstack_type 2 3315 */ 3316 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){ 3317 return little_endian_read_16(event, 7); 3318 } 3319 /** 3320 * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED 3321 * @param event packet 3322 * @return mtu 3323 * @note: btstack_type 2 3324 */ 3325 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){ 3326 return little_endian_read_16(event, 9); 3327 } 3328 /** 3329 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED 3330 * @param event packet 3331 * @param Pointer to storage for remote_address 3332 * @note: btstack_type B 3333 */ 3334 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3335 reverse_bytes(&event[11], remote_address, 6); 3336 } 3337 /** 3338 * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED 3339 * @param event packet 3340 * @return con_handle 3341 * @note: btstack_type H 3342 */ 3343 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){ 3344 return little_endian_read_16(event, 17); 3345 } 3346 3347 /** 3348 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED 3349 * @param event packet 3350 * @return bnep_cid 3351 * @note: btstack_type 2 3352 */ 3353 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){ 3354 return little_endian_read_16(event, 2); 3355 } 3356 /** 3357 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3358 * @param event packet 3359 * @return source_uuid 3360 * @note: btstack_type 2 3361 */ 3362 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){ 3363 return little_endian_read_16(event, 4); 3364 } 3365 /** 3366 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3367 * @param event packet 3368 * @return destination_uuid 3369 * @note: btstack_type 2 3370 */ 3371 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){ 3372 return little_endian_read_16(event, 6); 3373 } 3374 /** 3375 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED 3376 * @param event packet 3377 * @param Pointer to storage for remote_address 3378 * @note: btstack_type B 3379 */ 3380 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3381 reverse_bytes(&event[8], remote_address, 6); 3382 } 3383 3384 /** 3385 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT 3386 * @param event packet 3387 * @return bnep_cid 3388 * @note: btstack_type 2 3389 */ 3390 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){ 3391 return little_endian_read_16(event, 2); 3392 } 3393 /** 3394 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3395 * @param event packet 3396 * @return source_uuid 3397 * @note: btstack_type 2 3398 */ 3399 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){ 3400 return little_endian_read_16(event, 4); 3401 } 3402 /** 3403 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3404 * @param event packet 3405 * @return destination_uuid 3406 * @note: btstack_type 2 3407 */ 3408 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){ 3409 return little_endian_read_16(event, 6); 3410 } 3411 /** 3412 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT 3413 * @param event packet 3414 * @param Pointer to storage for remote_address 3415 * @note: btstack_type B 3416 */ 3417 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3418 reverse_bytes(&event[8], remote_address, 6); 3419 } 3420 /** 3421 * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT 3422 * @param event packet 3423 * @return channel_state 3424 * @note: btstack_type 1 3425 */ 3426 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){ 3427 return event[14]; 3428 } 3429 3430 /** 3431 * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW 3432 * @param event packet 3433 * @return bnep_cid 3434 * @note: btstack_type 2 3435 */ 3436 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){ 3437 return little_endian_read_16(event, 2); 3438 } 3439 /** 3440 * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW 3441 * @param event packet 3442 * @return source_uuid 3443 * @note: btstack_type 2 3444 */ 3445 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){ 3446 return little_endian_read_16(event, 4); 3447 } 3448 /** 3449 * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW 3450 * @param event packet 3451 * @return destination_uuid 3452 * @note: btstack_type 2 3453 */ 3454 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){ 3455 return little_endian_read_16(event, 6); 3456 } 3457 /** 3458 * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW 3459 * @param event packet 3460 * @param Pointer to storage for remote_address 3461 * @note: btstack_type B 3462 */ 3463 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3464 reverse_bytes(&event[8], remote_address, 6); 3465 } 3466 3467 #ifdef ENABLE_BLE 3468 /** 3469 * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST 3470 * @param event packet 3471 * @return handle 3472 * @note: btstack_type H 3473 */ 3474 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ 3475 return little_endian_read_16(event, 2); 3476 } 3477 /** 3478 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST 3479 * @param event packet 3480 * @return addr_type 3481 * @note: btstack_type 1 3482 */ 3483 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ 3484 return event[4]; 3485 } 3486 /** 3487 * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST 3488 * @param event packet 3489 * @param Pointer to storage for address 3490 * @note: btstack_type B 3491 */ 3492 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ 3493 reverse_bytes(&event[5], address, 6); 3494 } 3495 /** 3496 * @brief Get field secure_connection from event SM_EVENT_JUST_WORKS_REQUEST 3497 * @param event packet 3498 * @return secure_connection 3499 * @note: btstack_type 1 3500 */ 3501 static inline uint8_t sm_event_just_works_request_get_secure_connection(const uint8_t * event){ 3502 return event[11]; 3503 } 3504 #endif 3505 3506 #ifdef ENABLE_BLE 3507 /** 3508 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3509 * @param event packet 3510 * @return handle 3511 * @note: btstack_type H 3512 */ 3513 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ 3514 return little_endian_read_16(event, 2); 3515 } 3516 /** 3517 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3518 * @param event packet 3519 * @return addr_type 3520 * @note: btstack_type 1 3521 */ 3522 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ 3523 return event[4]; 3524 } 3525 /** 3526 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3527 * @param event packet 3528 * @param Pointer to storage for address 3529 * @note: btstack_type B 3530 */ 3531 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ 3532 reverse_bytes(&event[5], address, 6); 3533 } 3534 /** 3535 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3536 * @param event packet 3537 * @return secure_connection 3538 * @note: btstack_type 1 3539 */ 3540 static inline uint8_t sm_event_passkey_display_number_get_secure_connection(const uint8_t * event){ 3541 return event[11]; 3542 } 3543 /** 3544 * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3545 * @param event packet 3546 * @return passkey 3547 * @note: btstack_type 4 3548 */ 3549 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ 3550 return little_endian_read_32(event, 12); 3551 } 3552 #endif 3553 3554 #ifdef ENABLE_BLE 3555 /** 3556 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3557 * @param event packet 3558 * @return handle 3559 * @note: btstack_type H 3560 */ 3561 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ 3562 return little_endian_read_16(event, 2); 3563 } 3564 /** 3565 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3566 * @param event packet 3567 * @return addr_type 3568 * @note: btstack_type 1 3569 */ 3570 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ 3571 return event[4]; 3572 } 3573 /** 3574 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3575 * @param event packet 3576 * @param Pointer to storage for address 3577 * @note: btstack_type B 3578 */ 3579 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ 3580 reverse_bytes(&event[5], address, 6); 3581 } 3582 #endif 3583 3584 #ifdef ENABLE_BLE 3585 /** 3586 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER 3587 * @param event packet 3588 * @return handle 3589 * @note: btstack_type H 3590 */ 3591 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ 3592 return little_endian_read_16(event, 2); 3593 } 3594 /** 3595 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER 3596 * @param event packet 3597 * @return addr_type 3598 * @note: btstack_type 1 3599 */ 3600 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ 3601 return event[4]; 3602 } 3603 /** 3604 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER 3605 * @param event packet 3606 * @param Pointer to storage for address 3607 * @note: btstack_type B 3608 */ 3609 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ 3610 reverse_bytes(&event[5], address, 6); 3611 } 3612 /** 3613 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_INPUT_NUMBER 3614 * @param event packet 3615 * @return secure_connection 3616 * @note: btstack_type 1 3617 */ 3618 static inline uint8_t sm_event_passkey_input_number_get_secure_connection(const uint8_t * event){ 3619 return event[11]; 3620 } 3621 #endif 3622 3623 #ifdef ENABLE_BLE 3624 /** 3625 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3626 * @param event packet 3627 * @return handle 3628 * @note: btstack_type H 3629 */ 3630 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){ 3631 return little_endian_read_16(event, 2); 3632 } 3633 /** 3634 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3635 * @param event packet 3636 * @return addr_type 3637 * @note: btstack_type 1 3638 */ 3639 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){ 3640 return event[4]; 3641 } 3642 /** 3643 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3644 * @param event packet 3645 * @param Pointer to storage for address 3646 * @note: btstack_type B 3647 */ 3648 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){ 3649 reverse_bytes(&event[5], address, 6); 3650 } 3651 /** 3652 * @brief Get field secure_connection from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3653 * @param event packet 3654 * @return secure_connection 3655 * @note: btstack_type 1 3656 */ 3657 static inline uint8_t sm_event_numeric_comparison_request_get_secure_connection(const uint8_t * event){ 3658 return event[11]; 3659 } 3660 /** 3661 * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3662 * @param event packet 3663 * @return passkey 3664 * @note: btstack_type 4 3665 */ 3666 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){ 3667 return little_endian_read_32(event, 12); 3668 } 3669 #endif 3670 3671 #ifdef ENABLE_BLE 3672 /** 3673 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3674 * @param event packet 3675 * @return handle 3676 * @note: btstack_type H 3677 */ 3678 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ 3679 return little_endian_read_16(event, 2); 3680 } 3681 /** 3682 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3683 * @param event packet 3684 * @return addr_type 3685 * @note: btstack_type 1 3686 */ 3687 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ 3688 return event[4]; 3689 } 3690 /** 3691 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3692 * @param event packet 3693 * @param Pointer to storage for address 3694 * @note: btstack_type B 3695 */ 3696 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ 3697 reverse_bytes(&event[5], address, 6); 3698 } 3699 #endif 3700 3701 #ifdef ENABLE_BLE 3702 /** 3703 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3704 * @param event packet 3705 * @return handle 3706 * @note: btstack_type H 3707 */ 3708 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ 3709 return little_endian_read_16(event, 2); 3710 } 3711 /** 3712 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3713 * @param event packet 3714 * @return addr_type 3715 * @note: btstack_type 1 3716 */ 3717 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ 3718 return event[4]; 3719 } 3720 /** 3721 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3722 * @param event packet 3723 * @param Pointer to storage for address 3724 * @note: btstack_type B 3725 */ 3726 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ 3727 reverse_bytes(&event[5], address, 6); 3728 } 3729 #endif 3730 3731 #ifdef ENABLE_BLE 3732 /** 3733 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3734 * @param event packet 3735 * @return handle 3736 * @note: btstack_type H 3737 */ 3738 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ 3739 return little_endian_read_16(event, 2); 3740 } 3741 /** 3742 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3743 * @param event packet 3744 * @return addr_type 3745 * @note: btstack_type 1 3746 */ 3747 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ 3748 return event[4]; 3749 } 3750 /** 3751 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3752 * @param event packet 3753 * @param Pointer to storage for address 3754 * @note: btstack_type B 3755 */ 3756 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ 3757 reverse_bytes(&event[5], address, 6); 3758 } 3759 /** 3760 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3761 * @param event packet 3762 * @return identity_addr_type 3763 * @note: btstack_type 1 3764 */ 3765 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){ 3766 return event[11]; 3767 } 3768 /** 3769 * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3770 * @param event packet 3771 * @param Pointer to storage for identity_address 3772 * @note: btstack_type B 3773 */ 3774 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3775 reverse_bytes(&event[12], identity_address, 6); 3776 } 3777 /** 3778 * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3779 * @param event packet 3780 * @return index 3781 * @note: btstack_type 2 3782 */ 3783 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){ 3784 return little_endian_read_16(event, 18); 3785 } 3786 #endif 3787 3788 #ifdef ENABLE_BLE 3789 /** 3790 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST 3791 * @param event packet 3792 * @return handle 3793 * @note: btstack_type H 3794 */ 3795 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){ 3796 return little_endian_read_16(event, 2); 3797 } 3798 /** 3799 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST 3800 * @param event packet 3801 * @return addr_type 3802 * @note: btstack_type 1 3803 */ 3804 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ 3805 return event[4]; 3806 } 3807 /** 3808 * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST 3809 * @param event packet 3810 * @param Pointer to storage for address 3811 * @note: btstack_type B 3812 */ 3813 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ 3814 reverse_bytes(&event[5], address, 6); 3815 } 3816 #endif 3817 3818 #ifdef ENABLE_BLE 3819 /** 3820 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT 3821 * @param event packet 3822 * @return handle 3823 * @note: btstack_type H 3824 */ 3825 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ 3826 return little_endian_read_16(event, 2); 3827 } 3828 /** 3829 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT 3830 * @param event packet 3831 * @return addr_type 3832 * @note: btstack_type 1 3833 */ 3834 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ 3835 return event[4]; 3836 } 3837 /** 3838 * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT 3839 * @param event packet 3840 * @param Pointer to storage for address 3841 * @note: btstack_type B 3842 */ 3843 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ 3844 reverse_bytes(&event[5], address, 6); 3845 } 3846 /** 3847 * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT 3848 * @param event packet 3849 * @return authorization_result 3850 * @note: btstack_type 1 3851 */ 3852 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ 3853 return event[11]; 3854 } 3855 #endif 3856 3857 #ifdef ENABLE_BLE 3858 /** 3859 * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION 3860 * @param event packet 3861 * @return handle 3862 * @note: btstack_type H 3863 */ 3864 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){ 3865 return little_endian_read_16(event, 2); 3866 } 3867 /** 3868 * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION 3869 * @param event packet 3870 * @return action 3871 * @note: btstack_type 1 3872 */ 3873 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){ 3874 return event[4]; 3875 } 3876 #endif 3877 3878 #ifdef ENABLE_BLE 3879 /** 3880 * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED 3881 * @param event packet 3882 * @return handle 3883 * @note: btstack_type H 3884 */ 3885 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){ 3886 return little_endian_read_16(event, 2); 3887 } 3888 /** 3889 * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED 3890 * @param event packet 3891 * @return addr_type 3892 * @note: btstack_type 1 3893 */ 3894 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){ 3895 return event[4]; 3896 } 3897 /** 3898 * @brief Get field address from event SM_EVENT_IDENTITY_CREATED 3899 * @param event packet 3900 * @param Pointer to storage for address 3901 * @note: btstack_type B 3902 */ 3903 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){ 3904 reverse_bytes(&event[5], address, 6); 3905 } 3906 /** 3907 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED 3908 * @param event packet 3909 * @return identity_addr_type 3910 * @note: btstack_type 1 3911 */ 3912 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){ 3913 return event[11]; 3914 } 3915 /** 3916 * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED 3917 * @param event packet 3918 * @param Pointer to storage for identity_address 3919 * @note: btstack_type B 3920 */ 3921 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3922 reverse_bytes(&event[12], identity_address, 6); 3923 } 3924 /** 3925 * @brief Get field index from event SM_EVENT_IDENTITY_CREATED 3926 * @param event packet 3927 * @return index 3928 * @note: btstack_type 2 3929 */ 3930 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){ 3931 return little_endian_read_16(event, 18); 3932 } 3933 #endif 3934 3935 #ifdef ENABLE_BLE 3936 /** 3937 * @brief Get field handle from event SM_EVENT_PAIRING_STARTED 3938 * @param event packet 3939 * @return handle 3940 * @note: btstack_type H 3941 */ 3942 static inline hci_con_handle_t sm_event_pairing_started_get_handle(const uint8_t * event){ 3943 return little_endian_read_16(event, 2); 3944 } 3945 /** 3946 * @brief Get field addr_type from event SM_EVENT_PAIRING_STARTED 3947 * @param event packet 3948 * @return addr_type 3949 * @note: btstack_type 1 3950 */ 3951 static inline uint8_t sm_event_pairing_started_get_addr_type(const uint8_t * event){ 3952 return event[4]; 3953 } 3954 /** 3955 * @brief Get field address from event SM_EVENT_PAIRING_STARTED 3956 * @param event packet 3957 * @param Pointer to storage for address 3958 * @note: btstack_type B 3959 */ 3960 static inline void sm_event_pairing_started_get_address(const uint8_t * event, bd_addr_t address){ 3961 reverse_bytes(&event[5], address, 6); 3962 } 3963 #endif 3964 3965 #ifdef ENABLE_BLE 3966 /** 3967 * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE 3968 * @param event packet 3969 * @return handle 3970 * @note: btstack_type H 3971 */ 3972 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){ 3973 return little_endian_read_16(event, 2); 3974 } 3975 /** 3976 * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE 3977 * @param event packet 3978 * @return addr_type 3979 * @note: btstack_type 1 3980 */ 3981 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){ 3982 return event[4]; 3983 } 3984 /** 3985 * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE 3986 * @param event packet 3987 * @param Pointer to storage for address 3988 * @note: btstack_type B 3989 */ 3990 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){ 3991 reverse_bytes(&event[5], address, 6); 3992 } 3993 /** 3994 * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE 3995 * @param event packet 3996 * @return status 3997 * @note: btstack_type 1 3998 */ 3999 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){ 4000 return event[11]; 4001 } 4002 /** 4003 * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE 4004 * @param event packet 4005 * @return reason 4006 * @note: btstack_type 1 4007 */ 4008 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){ 4009 return event[12]; 4010 } 4011 #endif 4012 4013 #ifdef ENABLE_BLE 4014 /** 4015 * @brief Get field handle from event SM_EVENT_REENCRYPTION_STARTED 4016 * @param event packet 4017 * @return handle 4018 * @note: btstack_type H 4019 */ 4020 static inline hci_con_handle_t sm_event_reencryption_started_get_handle(const uint8_t * event){ 4021 return little_endian_read_16(event, 2); 4022 } 4023 /** 4024 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_STARTED 4025 * @param event packet 4026 * @return addr_type 4027 * @note: btstack_type 1 4028 */ 4029 static inline uint8_t sm_event_reencryption_started_get_addr_type(const uint8_t * event){ 4030 return event[4]; 4031 } 4032 /** 4033 * @brief Get field address from event SM_EVENT_REENCRYPTION_STARTED 4034 * @param event packet 4035 * @param Pointer to storage for address 4036 * @note: btstack_type B 4037 */ 4038 static inline void sm_event_reencryption_started_get_address(const uint8_t * event, bd_addr_t address){ 4039 reverse_bytes(&event[5], address, 6); 4040 } 4041 #endif 4042 4043 #ifdef ENABLE_BLE 4044 /** 4045 * @brief Get field handle from event SM_EVENT_REENCRYPTION_COMPLETE 4046 * @param event packet 4047 * @return handle 4048 * @note: btstack_type H 4049 */ 4050 static inline hci_con_handle_t sm_event_reencryption_complete_get_handle(const uint8_t * event){ 4051 return little_endian_read_16(event, 2); 4052 } 4053 /** 4054 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_COMPLETE 4055 * @param event packet 4056 * @return addr_type 4057 * @note: btstack_type 1 4058 */ 4059 static inline uint8_t sm_event_reencryption_complete_get_addr_type(const uint8_t * event){ 4060 return event[4]; 4061 } 4062 /** 4063 * @brief Get field address from event SM_EVENT_REENCRYPTION_COMPLETE 4064 * @param event packet 4065 * @param Pointer to storage for address 4066 * @note: btstack_type B 4067 */ 4068 static inline void sm_event_reencryption_complete_get_address(const uint8_t * event, bd_addr_t address){ 4069 reverse_bytes(&event[5], address, 6); 4070 } 4071 /** 4072 * @brief Get field status from event SM_EVENT_REENCRYPTION_COMPLETE 4073 * @param event packet 4074 * @return status 4075 * @note: btstack_type 1 4076 */ 4077 static inline uint8_t sm_event_reencryption_complete_get_status(const uint8_t * event){ 4078 return event[11]; 4079 } 4080 #endif 4081 4082 /** 4083 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 4084 * @param event packet 4085 * @return handle 4086 * @note: btstack_type H 4087 */ 4088 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 4089 return little_endian_read_16(event, 2); 4090 } 4091 /** 4092 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 4093 * @param event packet 4094 * @return security_level 4095 * @note: btstack_type 1 4096 */ 4097 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 4098 return event[4]; 4099 } 4100 4101 /** 4102 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 4103 * @param event packet 4104 * @return status 4105 * @note: btstack_type 1 4106 */ 4107 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 4108 return event[2]; 4109 } 4110 /** 4111 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 4112 * @param event packet 4113 * @param Pointer to storage for address 4114 * @note: btstack_type B 4115 */ 4116 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 4117 reverse_bytes(&event[3], address, 6); 4118 } 4119 4120 /** 4121 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 4122 * @param event packet 4123 * @return advertising_event_type 4124 * @note: btstack_type 1 4125 */ 4126 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 4127 return event[2]; 4128 } 4129 /** 4130 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 4131 * @param event packet 4132 * @return address_type 4133 * @note: btstack_type 1 4134 */ 4135 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 4136 return event[3]; 4137 } 4138 /** 4139 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 4140 * @param event packet 4141 * @param Pointer to storage for address 4142 * @note: btstack_type B 4143 */ 4144 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 4145 reverse_bytes(&event[4], address, 6); 4146 } 4147 /** 4148 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 4149 * @param event packet 4150 * @return rssi 4151 * @note: btstack_type 1 4152 */ 4153 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 4154 return event[10]; 4155 } 4156 /** 4157 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 4158 * @param event packet 4159 * @return data_length 4160 * @note: btstack_type J 4161 */ 4162 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 4163 return event[11]; 4164 } 4165 /** 4166 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 4167 * @param event packet 4168 * @return data 4169 * @note: btstack_type V 4170 */ 4171 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 4172 return &event[12]; 4173 } 4174 4175 /** 4176 * @brief Get field advertising_event_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4177 * @param event packet 4178 * @return advertising_event_type 4179 * @note: btstack_type 2 4180 */ 4181 static inline uint16_t gap_event_extended_advertising_report_get_advertising_event_type(const uint8_t * event){ 4182 return little_endian_read_16(event, 2); 4183 } 4184 /** 4185 * @brief Get field address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4186 * @param event packet 4187 * @return address_type 4188 * @note: btstack_type 1 4189 */ 4190 static inline uint8_t gap_event_extended_advertising_report_get_address_type(const uint8_t * event){ 4191 return event[4]; 4192 } 4193 /** 4194 * @brief Get field address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4195 * @param event packet 4196 * @param Pointer to storage for address 4197 * @note: btstack_type B 4198 */ 4199 static inline void gap_event_extended_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 4200 reverse_bytes(&event[5], address, 6); 4201 } 4202 /** 4203 * @brief Get field primary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4204 * @param event packet 4205 * @return primary_phy 4206 * @note: btstack_type 1 4207 */ 4208 static inline uint8_t gap_event_extended_advertising_report_get_primary_phy(const uint8_t * event){ 4209 return event[11]; 4210 } 4211 /** 4212 * @brief Get field secondary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4213 * @param event packet 4214 * @return secondary_phy 4215 * @note: btstack_type 1 4216 */ 4217 static inline uint8_t gap_event_extended_advertising_report_get_secondary_phy(const uint8_t * event){ 4218 return event[12]; 4219 } 4220 /** 4221 * @brief Get field advertising_sid from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4222 * @param event packet 4223 * @return advertising_sid 4224 * @note: btstack_type 1 4225 */ 4226 static inline uint8_t gap_event_extended_advertising_report_get_advertising_sid(const uint8_t * event){ 4227 return event[13]; 4228 } 4229 /** 4230 * @brief Get field tx_power from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4231 * @param event packet 4232 * @return tx_power 4233 * @note: btstack_type 1 4234 */ 4235 static inline uint8_t gap_event_extended_advertising_report_get_tx_power(const uint8_t * event){ 4236 return event[14]; 4237 } 4238 /** 4239 * @brief Get field rssi from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4240 * @param event packet 4241 * @return rssi 4242 * @note: btstack_type 1 4243 */ 4244 static inline uint8_t gap_event_extended_advertising_report_get_rssi(const uint8_t * event){ 4245 return event[15]; 4246 } 4247 /** 4248 * @brief Get field periodic_advertising_interval from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4249 * @param event packet 4250 * @return periodic_advertising_interval 4251 * @note: btstack_type 2 4252 */ 4253 static inline uint16_t gap_event_extended_advertising_report_get_periodic_advertising_interval(const uint8_t * event){ 4254 return little_endian_read_16(event, 16); 4255 } 4256 /** 4257 * @brief Get field direct_address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4258 * @param event packet 4259 * @return direct_address_type 4260 * @note: btstack_type 1 4261 */ 4262 static inline uint8_t gap_event_extended_advertising_report_get_direct_address_type(const uint8_t * event){ 4263 return event[18]; 4264 } 4265 /** 4266 * @brief Get field direct_address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4267 * @param event packet 4268 * @param Pointer to storage for direct_address 4269 * @note: btstack_type B 4270 */ 4271 static inline void gap_event_extended_advertising_report_get_direct_address(const uint8_t * event, bd_addr_t direct_address){ 4272 reverse_bytes(&event[19], direct_address, 6); 4273 } 4274 /** 4275 * @brief Get field data_length from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4276 * @param event packet 4277 * @return data_length 4278 * @note: btstack_type J 4279 */ 4280 static inline uint8_t gap_event_extended_advertising_report_get_data_length(const uint8_t * event){ 4281 return event[25]; 4282 } 4283 /** 4284 * @brief Get field data from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4285 * @param event packet 4286 * @return data 4287 * @note: btstack_type V 4288 */ 4289 static inline const uint8_t * gap_event_extended_advertising_report_get_data(const uint8_t * event){ 4290 return &event[26]; 4291 } 4292 4293 /** 4294 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 4295 * @param event packet 4296 * @param Pointer to storage for bd_addr 4297 * @note: btstack_type B 4298 */ 4299 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4300 reverse_bytes(&event[2], bd_addr, 6); 4301 } 4302 /** 4303 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 4304 * @param event packet 4305 * @return page_scan_repetition_mode 4306 * @note: btstack_type 1 4307 */ 4308 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 4309 return event[8]; 4310 } 4311 /** 4312 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 4313 * @param event packet 4314 * @return class_of_device 4315 * @note: btstack_type 3 4316 */ 4317 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 4318 return little_endian_read_24(event, 9); 4319 } 4320 /** 4321 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 4322 * @param event packet 4323 * @return clock_offset 4324 * @note: btstack_type 2 4325 */ 4326 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 4327 return little_endian_read_16(event, 12); 4328 } 4329 /** 4330 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 4331 * @param event packet 4332 * @return rssi_available 4333 * @note: btstack_type 1 4334 */ 4335 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 4336 return event[14]; 4337 } 4338 /** 4339 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 4340 * @param event packet 4341 * @return rssi 4342 * @note: btstack_type 1 4343 */ 4344 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 4345 return event[15]; 4346 } 4347 /** 4348 * @brief Get field device_id_available from event GAP_EVENT_INQUIRY_RESULT 4349 * @param event packet 4350 * @return device_id_available 4351 * @note: btstack_type 1 4352 */ 4353 static inline uint8_t gap_event_inquiry_result_get_device_id_available(const uint8_t * event){ 4354 return event[16]; 4355 } 4356 /** 4357 * @brief Get field device_id_vendor_id_source from event GAP_EVENT_INQUIRY_RESULT 4358 * @param event packet 4359 * @return device_id_vendor_id_source 4360 * @note: btstack_type 2 4361 */ 4362 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id_source(const uint8_t * event){ 4363 return little_endian_read_16(event, 17); 4364 } 4365 /** 4366 * @brief Get field device_id_vendor_id from event GAP_EVENT_INQUIRY_RESULT 4367 * @param event packet 4368 * @return device_id_vendor_id 4369 * @note: btstack_type 2 4370 */ 4371 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id(const uint8_t * event){ 4372 return little_endian_read_16(event, 19); 4373 } 4374 /** 4375 * @brief Get field device_id_product_id from event GAP_EVENT_INQUIRY_RESULT 4376 * @param event packet 4377 * @return device_id_product_id 4378 * @note: btstack_type 2 4379 */ 4380 static inline uint16_t gap_event_inquiry_result_get_device_id_product_id(const uint8_t * event){ 4381 return little_endian_read_16(event, 21); 4382 } 4383 /** 4384 * @brief Get field device_id_version from event GAP_EVENT_INQUIRY_RESULT 4385 * @param event packet 4386 * @return device_id_version 4387 * @note: btstack_type 2 4388 */ 4389 static inline uint16_t gap_event_inquiry_result_get_device_id_version(const uint8_t * event){ 4390 return little_endian_read_16(event, 23); 4391 } 4392 /** 4393 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 4394 * @param event packet 4395 * @return name_available 4396 * @note: btstack_type 1 4397 */ 4398 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 4399 return event[25]; 4400 } 4401 /** 4402 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 4403 * @param event packet 4404 * @return name_len 4405 * @note: btstack_type J 4406 */ 4407 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 4408 return event[26]; 4409 } 4410 /** 4411 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 4412 * @param event packet 4413 * @return name 4414 * @note: btstack_type V 4415 */ 4416 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 4417 return &event[27]; 4418 } 4419 4420 /** 4421 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 4422 * @param event packet 4423 * @return status 4424 * @note: btstack_type 1 4425 */ 4426 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 4427 return event[2]; 4428 } 4429 4430 /** 4431 * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT 4432 * @param event packet 4433 * @return con_handle 4434 * @note: btstack_type H 4435 */ 4436 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){ 4437 return little_endian_read_16(event, 2); 4438 } 4439 /** 4440 * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT 4441 * @param event packet 4442 * @return rssi 4443 * @note: btstack_type 1 4444 */ 4445 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){ 4446 return event[4]; 4447 } 4448 4449 /** 4450 * @brief Get field oob_data_present from event GAP_EVENT_LOCAL_OOB_DATA 4451 * @param event packet 4452 * @return oob_data_present 4453 * @note: btstack_type 1 4454 */ 4455 static inline uint8_t gap_event_local_oob_data_get_oob_data_present(const uint8_t * event){ 4456 return event[2]; 4457 } 4458 /** 4459 * @brief Get field c_192 from event GAP_EVENT_LOCAL_OOB_DATA 4460 * @param event packet 4461 * @param Pointer to storage for c_192 4462 * @note: btstack_type K 4463 */ 4464 static inline void gap_event_local_oob_data_get_c_192(const uint8_t * event, uint8_t * c_192){ 4465 reverse_bytes(&event[3], c_192, 16); 4466 } 4467 /** 4468 * @brief Get field r_192 from event GAP_EVENT_LOCAL_OOB_DATA 4469 * @param event packet 4470 * @param Pointer to storage for r_192 4471 * @note: btstack_type K 4472 */ 4473 static inline void gap_event_local_oob_data_get_r_192(const uint8_t * event, uint8_t * r_192){ 4474 reverse_bytes(&event[19], r_192, 16); 4475 } 4476 /** 4477 * @brief Get field c_256 from event GAP_EVENT_LOCAL_OOB_DATA 4478 * @param event packet 4479 * @param Pointer to storage for c_256 4480 * @note: btstack_type K 4481 */ 4482 static inline void gap_event_local_oob_data_get_c_256(const uint8_t * event, uint8_t * c_256){ 4483 reverse_bytes(&event[35], c_256, 16); 4484 } 4485 /** 4486 * @brief Get field r_256 from event GAP_EVENT_LOCAL_OOB_DATA 4487 * @param event packet 4488 * @param Pointer to storage for r_256 4489 * @note: btstack_type K 4490 */ 4491 static inline void gap_event_local_oob_data_get_r_256(const uint8_t * event, uint8_t * r_256){ 4492 reverse_bytes(&event[51], r_256, 16); 4493 } 4494 4495 /** 4496 * @brief Get field con_handle from event GAP_EVENT_PAIRING_STARTED 4497 * @param event packet 4498 * @return con_handle 4499 * @note: btstack_type H 4500 */ 4501 static inline hci_con_handle_t gap_event_pairing_started_get_con_handle(const uint8_t * event){ 4502 return little_endian_read_16(event, 2); 4503 } 4504 /** 4505 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_STARTED 4506 * @param event packet 4507 * @param Pointer to storage for bd_addr 4508 * @note: btstack_type B 4509 */ 4510 static inline void gap_event_pairing_started_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4511 reverse_bytes(&event[4], bd_addr, 6); 4512 } 4513 /** 4514 * @brief Get field ssp from event GAP_EVENT_PAIRING_STARTED 4515 * @param event packet 4516 * @return ssp 4517 * @note: btstack_type 1 4518 */ 4519 static inline uint8_t gap_event_pairing_started_get_ssp(const uint8_t * event){ 4520 return event[10]; 4521 } 4522 /** 4523 * @brief Get field initiator from event GAP_EVENT_PAIRING_STARTED 4524 * @param event packet 4525 * @return initiator 4526 * @note: btstack_type 1 4527 */ 4528 static inline uint8_t gap_event_pairing_started_get_initiator(const uint8_t * event){ 4529 return event[11]; 4530 } 4531 4532 /** 4533 * @brief Get field con_handle from event GAP_EVENT_PAIRING_COMPLETE 4534 * @param event packet 4535 * @return con_handle 4536 * @note: btstack_type H 4537 */ 4538 static inline hci_con_handle_t gap_event_pairing_complete_get_con_handle(const uint8_t * event){ 4539 return little_endian_read_16(event, 2); 4540 } 4541 /** 4542 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_COMPLETE 4543 * @param event packet 4544 * @param Pointer to storage for bd_addr 4545 * @note: btstack_type B 4546 */ 4547 static inline void gap_event_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4548 reverse_bytes(&event[4], bd_addr, 6); 4549 } 4550 /** 4551 * @brief Get field status from event GAP_EVENT_PAIRING_COMPLETE 4552 * @param event packet 4553 * @return status 4554 * @note: btstack_type 1 4555 */ 4556 static inline uint8_t gap_event_pairing_complete_get_status(const uint8_t * event){ 4557 return event[10]; 4558 } 4559 4560 /** 4561 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4562 * @param event packet 4563 * @return status 4564 * @note: btstack_type 1 4565 */ 4566 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 4567 return event[3]; 4568 } 4569 /** 4570 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4571 * @param event packet 4572 * @return connection_handle 4573 * @note: btstack_type H 4574 */ 4575 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 4576 return little_endian_read_16(event, 4); 4577 } 4578 /** 4579 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4580 * @param event packet 4581 * @return role 4582 * @note: btstack_type 1 4583 */ 4584 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 4585 return event[6]; 4586 } 4587 /** 4588 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4589 * @param event packet 4590 * @return peer_address_type 4591 * @note: btstack_type 1 4592 */ 4593 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 4594 return event[7]; 4595 } 4596 /** 4597 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4598 * @param event packet 4599 * @param Pointer to storage for peer_address 4600 * @note: btstack_type B 4601 */ 4602 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 4603 reverse_bytes(&event[8], peer_address, 6); 4604 } 4605 /** 4606 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4607 * @param event packet 4608 * @return conn_interval 4609 * @note: btstack_type 2 4610 */ 4611 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 4612 return little_endian_read_16(event, 14); 4613 } 4614 /** 4615 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4616 * @param event packet 4617 * @return conn_latency 4618 * @note: btstack_type 2 4619 */ 4620 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 4621 return little_endian_read_16(event, 16); 4622 } 4623 /** 4624 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4625 * @param event packet 4626 * @return supervision_timeout 4627 * @note: btstack_type 2 4628 */ 4629 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 4630 return little_endian_read_16(event, 18); 4631 } 4632 /** 4633 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4634 * @param event packet 4635 * @return master_clock_accuracy 4636 * @note: btstack_type 1 4637 */ 4638 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 4639 return event[20]; 4640 } 4641 4642 /** 4643 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4644 * @param event packet 4645 * @return status 4646 * @note: btstack_type 1 4647 */ 4648 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 4649 return event[3]; 4650 } 4651 /** 4652 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4653 * @param event packet 4654 * @return connection_handle 4655 * @note: btstack_type H 4656 */ 4657 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 4658 return little_endian_read_16(event, 4); 4659 } 4660 /** 4661 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4662 * @param event packet 4663 * @return conn_interval 4664 * @note: btstack_type 2 4665 */ 4666 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 4667 return little_endian_read_16(event, 6); 4668 } 4669 /** 4670 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4671 * @param event packet 4672 * @return conn_latency 4673 * @note: btstack_type 2 4674 */ 4675 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 4676 return little_endian_read_16(event, 8); 4677 } 4678 /** 4679 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4680 * @param event packet 4681 * @return supervision_timeout 4682 * @note: btstack_type 2 4683 */ 4684 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 4685 return little_endian_read_16(event, 10); 4686 } 4687 4688 /** 4689 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4690 * @param event packet 4691 * @return connection_handle 4692 * @note: btstack_type H 4693 */ 4694 static inline hci_con_handle_t hci_subevent_le_read_remote_features_complete_get_connection_handle(const uint8_t * event){ 4695 return little_endian_read_16(event, 3); 4696 } 4697 /** 4698 * @brief Get field le_features from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4699 * @param event packet 4700 * @return le_features 4701 * @note: btstack_type D 4702 */ 4703 static inline const uint8_t * hci_subevent_le_read_remote_features_complete_get_le_features(const uint8_t * event){ 4704 return (const uint8_t *) &event[5]; 4705 } 4706 4707 /** 4708 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4709 * @param event packet 4710 * @return connection_handle 4711 * @note: btstack_type H 4712 */ 4713 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 4714 return little_endian_read_16(event, 3); 4715 } 4716 /** 4717 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4718 * @param event packet 4719 * @return random_number 4720 * @note: btstack_type D 4721 */ 4722 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 4723 return (const uint8_t *) &event[5]; 4724 } 4725 /** 4726 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4727 * @param event packet 4728 * @return encryption_diversifier 4729 * @note: btstack_type 2 4730 */ 4731 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 4732 return little_endian_read_16(event, 13); 4733 } 4734 4735 /** 4736 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4737 * @param event packet 4738 * @return connection_handle 4739 * @note: btstack_type H 4740 */ 4741 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 4742 return little_endian_read_16(event, 3); 4743 } 4744 /** 4745 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4746 * @param event packet 4747 * @return interval_min 4748 * @note: btstack_type 2 4749 */ 4750 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 4751 return little_endian_read_16(event, 5); 4752 } 4753 /** 4754 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4755 * @param event packet 4756 * @return interval_max 4757 * @note: btstack_type 2 4758 */ 4759 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 4760 return little_endian_read_16(event, 7); 4761 } 4762 /** 4763 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4764 * @param event packet 4765 * @return latency 4766 * @note: btstack_type 2 4767 */ 4768 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 4769 return little_endian_read_16(event, 9); 4770 } 4771 /** 4772 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4773 * @param event packet 4774 * @return timeout 4775 * @note: btstack_type 2 4776 */ 4777 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 4778 return little_endian_read_16(event, 11); 4779 } 4780 4781 /** 4782 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4783 * @param event packet 4784 * @return connection_handle 4785 * @note: btstack_type H 4786 */ 4787 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 4788 return little_endian_read_16(event, 3); 4789 } 4790 /** 4791 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4792 * @param event packet 4793 * @return max_tx_octets 4794 * @note: btstack_type 2 4795 */ 4796 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 4797 return little_endian_read_16(event, 5); 4798 } 4799 /** 4800 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4801 * @param event packet 4802 * @return max_tx_time 4803 * @note: btstack_type 2 4804 */ 4805 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 4806 return little_endian_read_16(event, 7); 4807 } 4808 /** 4809 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4810 * @param event packet 4811 * @return max_rx_octets 4812 * @note: btstack_type 2 4813 */ 4814 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 4815 return little_endian_read_16(event, 9); 4816 } 4817 /** 4818 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4819 * @param event packet 4820 * @return max_rx_time 4821 * @note: btstack_type 2 4822 */ 4823 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 4824 return little_endian_read_16(event, 11); 4825 } 4826 4827 /** 4828 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4829 * @param event packet 4830 * @return status 4831 * @note: btstack_type 1 4832 */ 4833 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 4834 return event[3]; 4835 } 4836 /** 4837 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4838 * @param event packet 4839 * @param Pointer to storage for dhkey_x 4840 * @note: btstack_type Q 4841 */ 4842 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 4843 reverse_bytes(&event[4], dhkey_x, 32); 4844 } 4845 /** 4846 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4847 * @param event packet 4848 * @param Pointer to storage for dhkey_y 4849 * @note: btstack_type Q 4850 */ 4851 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 4852 reverse_bytes(&event[36], dhkey_y, 32); 4853 } 4854 4855 /** 4856 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4857 * @param event packet 4858 * @return status 4859 * @note: btstack_type 1 4860 */ 4861 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 4862 return event[3]; 4863 } 4864 /** 4865 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4866 * @param event packet 4867 * @param Pointer to storage for dhkey 4868 * @note: btstack_type Q 4869 */ 4870 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 4871 reverse_bytes(&event[4], dhkey, 32); 4872 } 4873 4874 /** 4875 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4876 * @param event packet 4877 * @return status 4878 * @note: btstack_type 1 4879 */ 4880 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_status(const uint8_t * event){ 4881 return event[3]; 4882 } 4883 /** 4884 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4885 * @param event packet 4886 * @return connection_handle 4887 * @note: btstack_type H 4888 */ 4889 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v1_get_connection_handle(const uint8_t * event){ 4890 return little_endian_read_16(event, 4); 4891 } 4892 /** 4893 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4894 * @param event packet 4895 * @return role 4896 * @note: btstack_type 1 4897 */ 4898 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_role(const uint8_t * event){ 4899 return event[6]; 4900 } 4901 /** 4902 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4903 * @param event packet 4904 * @return peer_address_type 4905 * @note: btstack_type 1 4906 */ 4907 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_peer_address_type(const uint8_t * event){ 4908 return event[7]; 4909 } 4910 /** 4911 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4912 * @param event packet 4913 * @param Pointer to storage for peer_addresss 4914 * @note: btstack_type B 4915 */ 4916 static inline void hci_subevent_le_enhanced_connection_complete_v1_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 4917 reverse_bytes(&event[8], peer_addresss, 6); 4918 } 4919 /** 4920 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4921 * @param event packet 4922 * @param Pointer to storage for local_resolvable_private_address 4923 * @note: btstack_type B 4924 */ 4925 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){ 4926 reverse_bytes(&event[14], local_resolvable_private_address, 6); 4927 } 4928 /** 4929 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4930 * @param event packet 4931 * @param Pointer to storage for peer_resolvable_private_address 4932 * @note: btstack_type B 4933 */ 4934 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){ 4935 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 4936 } 4937 /** 4938 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4939 * @param event packet 4940 * @return conn_interval 4941 * @note: btstack_type 2 4942 */ 4943 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_interval(const uint8_t * event){ 4944 return little_endian_read_16(event, 26); 4945 } 4946 /** 4947 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4948 * @param event packet 4949 * @return conn_latency 4950 * @note: btstack_type 2 4951 */ 4952 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_latency(const uint8_t * event){ 4953 return little_endian_read_16(event, 28); 4954 } 4955 /** 4956 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4957 * @param event packet 4958 * @return supervision_timeout 4959 * @note: btstack_type 2 4960 */ 4961 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_supervision_timeout(const uint8_t * event){ 4962 return little_endian_read_16(event, 30); 4963 } 4964 /** 4965 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1 4966 * @param event packet 4967 * @return master_clock_accuracy 4968 * @note: btstack_type 1 4969 */ 4970 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_master_clock_accuracy(const uint8_t * event){ 4971 return event[32]; 4972 } 4973 4974 /** 4975 * @brief Get field status from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4976 * @param event packet 4977 * @return status 4978 * @note: btstack_type 1 4979 */ 4980 static inline uint8_t hci_subevent_le_phy_update_complete_get_status(const uint8_t * event){ 4981 return event[3]; 4982 } 4983 /** 4984 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4985 * @param event packet 4986 * @return connection_handle 4987 * @note: btstack_type H 4988 */ 4989 static inline hci_con_handle_t hci_subevent_le_phy_update_complete_get_connection_handle(const uint8_t * event){ 4990 return little_endian_read_16(event, 4); 4991 } 4992 /** 4993 * @brief Get field tx_phy from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4994 * @param event packet 4995 * @return tx_phy 4996 * @note: btstack_type 1 4997 */ 4998 static inline uint8_t hci_subevent_le_phy_update_complete_get_tx_phy(const uint8_t * event){ 4999 return event[6]; 5000 } 5001 5002 /** 5003 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5004 * @param event packet 5005 * @return status 5006 * @note: btstack_type 1 5007 */ 5008 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_status(const uint8_t * event){ 5009 return event[3]; 5010 } 5011 /** 5012 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5013 * @param event packet 5014 * @return sync_handle 5015 * @note: btstack_type H 5016 */ 5017 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_establishment_get_sync_handle(const uint8_t * event){ 5018 return little_endian_read_16(event, 4); 5019 } 5020 /** 5021 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5022 * @param event packet 5023 * @return advertising_sid 5024 * @note: btstack_type 1 5025 */ 5026 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertising_sid(const uint8_t * event){ 5027 return event[6]; 5028 } 5029 /** 5030 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5031 * @param event packet 5032 * @return advertiser_address_type 5033 * @note: btstack_type 1 5034 */ 5035 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address_type(const uint8_t * event){ 5036 return event[7]; 5037 } 5038 /** 5039 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5040 * @param event packet 5041 * @param Pointer to storage for advertiser_address 5042 * @note: btstack_type B 5043 */ 5044 static inline void hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5045 reverse_bytes(&event[8], advertiser_address, 6); 5046 } 5047 /** 5048 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5049 * @param event packet 5050 * @return advertiser_phy 5051 * @note: btstack_type 1 5052 */ 5053 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_phy(const uint8_t * event){ 5054 return event[14]; 5055 } 5056 /** 5057 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5058 * @param event packet 5059 * @return periodic_advertising_interval 5060 * @note: btstack_type 2 5061 */ 5062 static inline uint16_t hci_subevent_le_periodic_advertising_sync_establishment_get_periodic_advertising_interval(const uint8_t * event){ 5063 return little_endian_read_16(event, 15); 5064 } 5065 /** 5066 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 5067 * @param event packet 5068 * @return advertiser_clock_accuracy 5069 * @note: btstack_type 1 5070 */ 5071 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_clock_accuracy(const uint8_t * event){ 5072 return event[17]; 5073 } 5074 5075 /** 5076 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5077 * @param event packet 5078 * @return sync_handle 5079 * @note: btstack_type H 5080 */ 5081 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_report_get_sync_handle(const uint8_t * event){ 5082 return little_endian_read_16(event, 3); 5083 } 5084 /** 5085 * @brief Get field tx_power from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5086 * @param event packet 5087 * @return tx_power 5088 * @note: btstack_type 1 5089 */ 5090 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_tx_power(const uint8_t * event){ 5091 return event[5]; 5092 } 5093 /** 5094 * @brief Get field rssi from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5095 * @param event packet 5096 * @return rssi 5097 * @note: btstack_type 1 5098 */ 5099 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_rssi(const uint8_t * event){ 5100 return event[6]; 5101 } 5102 /** 5103 * @brief Get field cte_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5104 * @param event packet 5105 * @return cte_type 5106 * @note: btstack_type 1 5107 */ 5108 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_cte_type(const uint8_t * event){ 5109 return event[7]; 5110 } 5111 /** 5112 * @brief Get field data_status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5113 * @param event packet 5114 * @return data_status 5115 * @note: btstack_type 1 5116 */ 5117 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_status(const uint8_t * event){ 5118 return event[8]; 5119 } 5120 /** 5121 * @brief Get field data_length from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5122 * @param event packet 5123 * @return data_length 5124 * @note: btstack_type J 5125 */ 5126 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_length(const uint8_t * event){ 5127 return event[9]; 5128 } 5129 /** 5130 * @brief Get field data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 5131 * @param event packet 5132 * @return data 5133 * @note: btstack_type V 5134 */ 5135 static inline const uint8_t * hci_subevent_le_periodic_advertising_report_get_data(const uint8_t * event){ 5136 return &event[10]; 5137 } 5138 5139 /** 5140 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_LOST 5141 * @param event packet 5142 * @return sync_handle 5143 * @note: btstack_type H 5144 */ 5145 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_lost_get_sync_handle(const uint8_t * event){ 5146 return little_endian_read_16(event, 3); 5147 } 5148 5149 5150 /** 5151 * @brief Get field status from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5152 * @param event packet 5153 * @return status 5154 * @note: btstack_type 1 5155 */ 5156 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_status(const uint8_t * event){ 5157 return event[3]; 5158 } 5159 /** 5160 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5161 * @param event packet 5162 * @return advertising_handle 5163 * @note: btstack_type 1 5164 */ 5165 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_advertising_handle(const uint8_t * event){ 5166 return event[4]; 5167 } 5168 /** 5169 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5170 * @param event packet 5171 * @return connection_handle 5172 * @note: btstack_type H 5173 */ 5174 static inline hci_con_handle_t hci_subevent_le_advertising_set_terminated_get_connection_handle(const uint8_t * event){ 5175 return little_endian_read_16(event, 5); 5176 } 5177 /** 5178 * @brief Get field num_completed_exteneded_advertising_events from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 5179 * @param event packet 5180 * @return num_completed_exteneded_advertising_events 5181 * @note: btstack_type 1 5182 */ 5183 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_num_completed_exteneded_advertising_events(const uint8_t * event){ 5184 return event[7]; 5185 } 5186 5187 /** 5188 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5189 * @param event packet 5190 * @return advertising_handle 5191 * @note: btstack_type 1 5192 */ 5193 static inline uint8_t hci_subevent_le_scan_request_received_get_advertising_handle(const uint8_t * event){ 5194 return event[3]; 5195 } 5196 /** 5197 * @brief Get field scanner_address_type from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5198 * @param event packet 5199 * @return scanner_address_type 5200 * @note: btstack_type 1 5201 */ 5202 static inline uint8_t hci_subevent_le_scan_request_received_get_scanner_address_type(const uint8_t * event){ 5203 return event[4]; 5204 } 5205 /** 5206 * @brief Get field scanner_address from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 5207 * @param event packet 5208 * @param Pointer to storage for scanner_address 5209 * @note: btstack_type B 5210 */ 5211 static inline void hci_subevent_le_scan_request_received_get_scanner_address(const uint8_t * event, bd_addr_t scanner_address){ 5212 reverse_bytes(&event[5], scanner_address, 6); 5213 } 5214 5215 /** 5216 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 5217 * @param event packet 5218 * @return connection_handle 5219 * @note: btstack_type H 5220 */ 5221 static inline hci_con_handle_t hci_subevent_le_channel_selection_algorithm_get_connection_handle(const uint8_t * event){ 5222 return little_endian_read_16(event, 3); 5223 } 5224 /** 5225 * @brief Get field channel_selection_algorithm from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 5226 * @param event packet 5227 * @return channel_selection_algorithm 5228 * @note: btstack_type 1 5229 */ 5230 static inline uint8_t hci_subevent_le_channel_selection_algorithm_get_channel_selection_algorithm(const uint8_t * event){ 5231 return event[5]; 5232 } 5233 5234 /** 5235 * @brief Get field status from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5236 * @param event packet 5237 * @return status 5238 * @note: btstack_type 1 5239 */ 5240 static inline uint8_t hci_subevent_le_le_cte_request_failed_get_status(const uint8_t * event){ 5241 return event[3]; 5242 } 5243 /** 5244 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5245 * @param event packet 5246 * @return connection_handle 5247 * @note: btstack_type H 5248 */ 5249 static inline hci_con_handle_t hci_subevent_le_le_cte_request_failed_get_connection_handle(const uint8_t * event){ 5250 return little_endian_read_16(event, 4); 5251 } 5252 5253 /** 5254 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5255 * @param event packet 5256 * @return status 5257 * @note: btstack_type 1 5258 */ 5259 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_status(const uint8_t * event){ 5260 return event[3]; 5261 } 5262 /** 5263 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5264 * @param event packet 5265 * @return connection_handle 5266 * @note: btstack_type H 5267 */ 5268 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_connection_handle(const uint8_t * event){ 5269 return little_endian_read_16(event, 4); 5270 } 5271 /** 5272 * @brief Get field service_data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5273 * @param event packet 5274 * @return service_data 5275 * @note: btstack_type 2 5276 */ 5277 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_service_data(const uint8_t * event){ 5278 return little_endian_read_16(event, 6); 5279 } 5280 /** 5281 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5282 * @param event packet 5283 * @return sync_handle 5284 * @note: btstack_type H 5285 */ 5286 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_sync_handle(const uint8_t * event){ 5287 return little_endian_read_16(event, 8); 5288 } 5289 /** 5290 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5291 * @param event packet 5292 * @return advertising_sid 5293 * @note: btstack_type 1 5294 */ 5295 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertising_sid(const uint8_t * event){ 5296 return event[10]; 5297 } 5298 /** 5299 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5300 * @param event packet 5301 * @return advertiser_address_type 5302 * @note: btstack_type 1 5303 */ 5304 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address_type(const uint8_t * event){ 5305 return event[11]; 5306 } 5307 /** 5308 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5309 * @param event packet 5310 * @param Pointer to storage for advertiser_address 5311 * @note: btstack_type B 5312 */ 5313 static inline void hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5314 reverse_bytes(&event[12], advertiser_address, 6); 5315 } 5316 /** 5317 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5318 * @param event packet 5319 * @return advertiser_phy 5320 * @note: btstack_type 1 5321 */ 5322 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_phy(const uint8_t * event){ 5323 return event[18]; 5324 } 5325 /** 5326 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5327 * @param event packet 5328 * @return periodic_advertising_interval 5329 * @note: btstack_type 2 5330 */ 5331 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_periodic_advertising_interval(const uint8_t * event){ 5332 return little_endian_read_16(event, 19); 5333 } 5334 /** 5335 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5336 * @param event packet 5337 * @return advertiser_clock_accuracy 5338 * @note: btstack_type 1 5339 */ 5340 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_clock_accuracy(const uint8_t * event){ 5341 return event[21]; 5342 } 5343 5344 /** 5345 * @brief Get field status from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5346 * @param event packet 5347 * @return status 5348 * @note: btstack_type 1 5349 */ 5350 static inline uint8_t hci_subevent_le_cis_established_get_status(const uint8_t * event){ 5351 return event[3]; 5352 } 5353 /** 5354 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5355 * @param event packet 5356 * @return connection_handle 5357 * @note: btstack_type H 5358 */ 5359 static inline hci_con_handle_t hci_subevent_le_cis_established_get_connection_handle(const uint8_t * event){ 5360 return little_endian_read_16(event, 4); 5361 } 5362 /** 5363 * @brief Get field cig_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5364 * @param event packet 5365 * @return cig_sync_delay 5366 * @note: btstack_type 3 5367 */ 5368 static inline uint32_t hci_subevent_le_cis_established_get_cig_sync_delay(const uint8_t * event){ 5369 return little_endian_read_24(event, 6); 5370 } 5371 /** 5372 * @brief Get field cis_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5373 * @param event packet 5374 * @return cis_sync_delay 5375 * @note: btstack_type 3 5376 */ 5377 static inline uint32_t hci_subevent_le_cis_established_get_cis_sync_delay(const uint8_t * event){ 5378 return little_endian_read_24(event, 9); 5379 } 5380 /** 5381 * @brief Get field transport_latency_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5382 * @param event packet 5383 * @return transport_latency_c_to_p 5384 * @note: btstack_type 3 5385 */ 5386 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_c_to_p(const uint8_t * event){ 5387 return little_endian_read_24(event, 12); 5388 } 5389 /** 5390 * @brief Get field transport_latency_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5391 * @param event packet 5392 * @return transport_latency_p_to_c 5393 * @note: btstack_type 3 5394 */ 5395 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_p_to_c(const uint8_t * event){ 5396 return little_endian_read_24(event, 15); 5397 } 5398 /** 5399 * @brief Get field phy_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5400 * @param event packet 5401 * @return phy_c_to_p 5402 * @note: btstack_type 1 5403 */ 5404 static inline uint8_t hci_subevent_le_cis_established_get_phy_c_to_p(const uint8_t * event){ 5405 return event[18]; 5406 } 5407 /** 5408 * @brief Get field phy_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5409 * @param event packet 5410 * @return phy_p_to_c 5411 * @note: btstack_type 1 5412 */ 5413 static inline uint8_t hci_subevent_le_cis_established_get_phy_p_to_c(const uint8_t * event){ 5414 return event[19]; 5415 } 5416 /** 5417 * @brief Get field nse from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5418 * @param event packet 5419 * @return nse 5420 * @note: btstack_type 1 5421 */ 5422 static inline uint8_t hci_subevent_le_cis_established_get_nse(const uint8_t * event){ 5423 return event[20]; 5424 } 5425 /** 5426 * @brief Get field bn_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5427 * @param event packet 5428 * @return bn_c_to_p 5429 * @note: btstack_type 1 5430 */ 5431 static inline uint8_t hci_subevent_le_cis_established_get_bn_c_to_p(const uint8_t * event){ 5432 return event[21]; 5433 } 5434 /** 5435 * @brief Get field bn_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5436 * @param event packet 5437 * @return bn_p_to_c 5438 * @note: btstack_type 1 5439 */ 5440 static inline uint8_t hci_subevent_le_cis_established_get_bn_p_to_c(const uint8_t * event){ 5441 return event[22]; 5442 } 5443 /** 5444 * @brief Get field ft_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5445 * @param event packet 5446 * @return ft_c_to_p 5447 * @note: btstack_type 1 5448 */ 5449 static inline uint8_t hci_subevent_le_cis_established_get_ft_c_to_p(const uint8_t * event){ 5450 return event[23]; 5451 } 5452 /** 5453 * @brief Get field ft_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5454 * @param event packet 5455 * @return ft_p_to_c 5456 * @note: btstack_type 1 5457 */ 5458 static inline uint8_t hci_subevent_le_cis_established_get_ft_p_to_c(const uint8_t * event){ 5459 return event[24]; 5460 } 5461 /** 5462 * @brief Get field max_pdu_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5463 * @param event packet 5464 * @return max_pdu_c_to_p 5465 * @note: btstack_type 2 5466 */ 5467 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_c_to_p(const uint8_t * event){ 5468 return little_endian_read_16(event, 25); 5469 } 5470 /** 5471 * @brief Get field max_pdu_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5472 * @param event packet 5473 * @return max_pdu_p_to_c 5474 * @note: btstack_type 2 5475 */ 5476 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_p_to_c(const uint8_t * event){ 5477 return little_endian_read_16(event, 27); 5478 } 5479 /** 5480 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5481 * @param event packet 5482 * @return iso_interval 5483 * @note: btstack_type 2 5484 */ 5485 static inline uint16_t hci_subevent_le_cis_established_get_iso_interval(const uint8_t * event){ 5486 return little_endian_read_16(event, 29); 5487 } 5488 5489 /** 5490 * @brief Get field acl_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5491 * @param event packet 5492 * @return acl_connection_handle 5493 * @note: btstack_type H 5494 */ 5495 static inline hci_con_handle_t hci_subevent_le_cis_request_get_acl_connection_handle(const uint8_t * event){ 5496 return little_endian_read_16(event, 3); 5497 } 5498 /** 5499 * @brief Get field cis_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5500 * @param event packet 5501 * @return cis_connection_handle 5502 * @note: btstack_type H 5503 */ 5504 static inline hci_con_handle_t hci_subevent_le_cis_request_get_cis_connection_handle(const uint8_t * event){ 5505 return little_endian_read_16(event, 5); 5506 } 5507 /** 5508 * @brief Get field cig_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5509 * @param event packet 5510 * @return cig_id 5511 * @note: btstack_type 1 5512 */ 5513 static inline uint8_t hci_subevent_le_cis_request_get_cig_id(const uint8_t * event){ 5514 return event[7]; 5515 } 5516 /** 5517 * @brief Get field cis_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5518 * @param event packet 5519 * @return cis_id 5520 * @note: btstack_type 1 5521 */ 5522 static inline uint8_t hci_subevent_le_cis_request_get_cis_id(const uint8_t * event){ 5523 return event[8]; 5524 } 5525 5526 /** 5527 * @brief Get field big_handle from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5528 * @param event packet 5529 * @return big_handle 5530 * @note: btstack_type 1 5531 */ 5532 static inline uint8_t hci_subevent_le_terminate_big_complete_get_big_handle(const uint8_t * event){ 5533 return event[3]; 5534 } 5535 /** 5536 * @brief Get field reason from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5537 * @param event packet 5538 * @return reason 5539 * @note: btstack_type 1 5540 */ 5541 static inline uint8_t hci_subevent_le_terminate_big_complete_get_reason(const uint8_t * event){ 5542 return event[4]; 5543 } 5544 5545 /** 5546 * @brief Get field big_handle from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5547 * @param event packet 5548 * @return big_handle 5549 * @note: btstack_type 1 5550 */ 5551 static inline uint8_t hci_subevent_le_big_sync_lost_get_big_handle(const uint8_t * event){ 5552 return event[3]; 5553 } 5554 /** 5555 * @brief Get field reason from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5556 * @param event packet 5557 * @return reason 5558 * @note: btstack_type 1 5559 */ 5560 static inline uint8_t hci_subevent_le_big_sync_lost_get_reason(const uint8_t * event){ 5561 return event[4]; 5562 } 5563 5564 /** 5565 * @brief Get field status from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5566 * @param event packet 5567 * @return status 5568 * @note: btstack_type 1 5569 */ 5570 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_status(const uint8_t * event){ 5571 return event[3]; 5572 } 5573 /** 5574 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5575 * @param event packet 5576 * @return connection_handle 5577 * @note: btstack_type H 5578 */ 5579 static inline hci_con_handle_t hci_subevent_le_request_peer_sca_complete_get_connection_handle(const uint8_t * event){ 5580 return little_endian_read_16(event, 4); 5581 } 5582 /** 5583 * @brief Get field peer_clock_accuracy from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5584 * @param event packet 5585 * @return peer_clock_accuracy 5586 * @note: btstack_type 1 5587 */ 5588 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_peer_clock_accuracy(const uint8_t * event){ 5589 return event[6]; 5590 } 5591 5592 /** 5593 * @brief Get field status from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5594 * @param event packet 5595 * @return status 5596 * @note: btstack_type 1 5597 */ 5598 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_status(const uint8_t * event){ 5599 return event[3]; 5600 } 5601 /** 5602 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5603 * @param event packet 5604 * @return connection_handle 5605 * @note: btstack_type H 5606 */ 5607 static inline hci_con_handle_t hci_subevent_le_transmit_power_reporting_get_connection_handle(const uint8_t * event){ 5608 return little_endian_read_16(event, 4); 5609 } 5610 /** 5611 * @brief Get field reason from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5612 * @param event packet 5613 * @return reason 5614 * @note: btstack_type 1 5615 */ 5616 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_reason(const uint8_t * event){ 5617 return event[6]; 5618 } 5619 /** 5620 * @brief Get field phy from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5621 * @param event packet 5622 * @return phy 5623 * @note: btstack_type 1 5624 */ 5625 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_phy(const uint8_t * event){ 5626 return event[7]; 5627 } 5628 /** 5629 * @brief Get field tx_power_level from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5630 * @param event packet 5631 * @return tx_power_level 5632 * @note: btstack_type 1 5633 */ 5634 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level(const uint8_t * event){ 5635 return event[8]; 5636 } 5637 /** 5638 * @brief Get field tx_power_level_flag from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5639 * @param event packet 5640 * @return tx_power_level_flag 5641 * @note: btstack_type 1 5642 */ 5643 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level_flag(const uint8_t * event){ 5644 return event[9]; 5645 } 5646 /** 5647 * @brief Get field delta from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5648 * @param event packet 5649 * @return delta 5650 * @note: btstack_type 1 5651 */ 5652 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_delta(const uint8_t * event){ 5653 return event[10]; 5654 } 5655 5656 /** 5657 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5658 * @param event packet 5659 * @return sync_handle 5660 * @note: btstack_type H 5661 */ 5662 static inline hci_con_handle_t hci_subevent_le_biginfo_advertising_report_get_sync_handle(const uint8_t * event){ 5663 return little_endian_read_16(event, 3); 5664 } 5665 /** 5666 * @brief Get field num_bis from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5667 * @param event packet 5668 * @return num_bis 5669 * @note: btstack_type 1 5670 */ 5671 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_num_bis(const uint8_t * event){ 5672 return event[5]; 5673 } 5674 /** 5675 * @brief Get field nse from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5676 * @param event packet 5677 * @return nse 5678 * @note: btstack_type 1 5679 */ 5680 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_nse(const uint8_t * event){ 5681 return event[6]; 5682 } 5683 /** 5684 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5685 * @param event packet 5686 * @return iso_interval 5687 * @note: btstack_type 2 5688 */ 5689 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_iso_interval(const uint8_t * event){ 5690 return little_endian_read_16(event, 7); 5691 } 5692 /** 5693 * @brief Get field bn from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5694 * @param event packet 5695 * @return bn 5696 * @note: btstack_type 1 5697 */ 5698 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_bn(const uint8_t * event){ 5699 return event[9]; 5700 } 5701 /** 5702 * @brief Get field pto from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5703 * @param event packet 5704 * @return pto 5705 * @note: btstack_type 1 5706 */ 5707 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_pto(const uint8_t * event){ 5708 return event[10]; 5709 } 5710 /** 5711 * @brief Get field irc from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5712 * @param event packet 5713 * @return irc 5714 * @note: btstack_type 1 5715 */ 5716 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_irc(const uint8_t * event){ 5717 return event[11]; 5718 } 5719 /** 5720 * @brief Get field max_pdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5721 * @param event packet 5722 * @return max_pdu 5723 * @note: btstack_type 2 5724 */ 5725 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_pdu(const uint8_t * event){ 5726 return little_endian_read_16(event, 12); 5727 } 5728 /** 5729 * @brief Get field sdu_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5730 * @param event packet 5731 * @return sdu_interval 5732 * @note: btstack_type 3 5733 */ 5734 static inline uint32_t hci_subevent_le_biginfo_advertising_report_get_sdu_interval(const uint8_t * event){ 5735 return little_endian_read_24(event, 14); 5736 } 5737 /** 5738 * @brief Get field max_sdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5739 * @param event packet 5740 * @return max_sdu 5741 * @note: btstack_type 2 5742 */ 5743 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_sdu(const uint8_t * event){ 5744 return little_endian_read_16(event, 17); 5745 } 5746 /** 5747 * @brief Get field phy from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5748 * @param event packet 5749 * @return phy 5750 * @note: btstack_type 1 5751 */ 5752 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_phy(const uint8_t * event){ 5753 return event[19]; 5754 } 5755 /** 5756 * @brief Get field framing from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5757 * @param event packet 5758 * @return framing 5759 * @note: btstack_type 1 5760 */ 5761 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_framing(const uint8_t * event){ 5762 return event[20]; 5763 } 5764 /** 5765 * @brief Get field encryption from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5766 * @param event packet 5767 * @return encryption 5768 * @note: btstack_type 1 5769 */ 5770 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_encryption(const uint8_t * event){ 5771 return event[21]; 5772 } 5773 5774 /** 5775 * @brief Get field status from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5776 * @param event packet 5777 * @return status 5778 * @note: btstack_type 1 5779 */ 5780 static inline uint8_t hci_subevent_le_subrate_change_get_status(const uint8_t * event){ 5781 return event[3]; 5782 } 5783 /** 5784 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5785 * @param event packet 5786 * @return connection_handle 5787 * @note: btstack_type H 5788 */ 5789 static inline hci_con_handle_t hci_subevent_le_subrate_change_get_connection_handle(const uint8_t * event){ 5790 return little_endian_read_16(event, 4); 5791 } 5792 /** 5793 * @brief Get field subrate_factor from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5794 * @param event packet 5795 * @return subrate_factor 5796 * @note: btstack_type 2 5797 */ 5798 static inline uint16_t hci_subevent_le_subrate_change_get_subrate_factor(const uint8_t * event){ 5799 return little_endian_read_16(event, 6); 5800 } 5801 /** 5802 * @brief Get field peripheral_latency from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5803 * @param event packet 5804 * @return peripheral_latency 5805 * @note: btstack_type 2 5806 */ 5807 static inline uint16_t hci_subevent_le_subrate_change_get_peripheral_latency(const uint8_t * event){ 5808 return little_endian_read_16(event, 8); 5809 } 5810 /** 5811 * @brief Get field continuation_number from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5812 * @param event packet 5813 * @return continuation_number 5814 * @note: btstack_type 2 5815 */ 5816 static inline uint16_t hci_subevent_le_subrate_change_get_continuation_number(const uint8_t * event){ 5817 return little_endian_read_16(event, 10); 5818 } 5819 /** 5820 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5821 * @param event packet 5822 * @return supervision_timeout 5823 * @note: btstack_type 2 5824 */ 5825 static inline uint16_t hci_subevent_le_subrate_change_get_supervision_timeout(const uint8_t * event){ 5826 return little_endian_read_16(event, 12); 5827 } 5828 5829 /** 5830 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5831 * @param event packet 5832 * @return advertising_handle 5833 * @note: btstack_type 1 5834 */ 5835 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_advertising_handle(const uint8_t * event){ 5836 return event[3]; 5837 } 5838 /** 5839 * @brief Get field subevent_start from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5840 * @param event packet 5841 * @return subevent_start 5842 * @note: btstack_type 1 5843 */ 5844 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_start(const uint8_t * event){ 5845 return event[4]; 5846 } 5847 /** 5848 * @brief Get field subevent_data_count from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST 5849 * @param event packet 5850 * @return subevent_data_count 5851 * @note: btstack_type 1 5852 */ 5853 static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_data_count(const uint8_t * event){ 5854 return event[5]; 5855 } 5856 5857 /** 5858 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5859 * @param event packet 5860 * @return status 5861 * @note: btstack_type 1 5862 */ 5863 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_status(const uint8_t * event){ 5864 return event[3]; 5865 } 5866 /** 5867 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5868 * @param event packet 5869 * @return connection_handle 5870 * @note: btstack_type H 5871 */ 5872 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_connection_handle(const uint8_t * event){ 5873 return little_endian_read_16(event, 4); 5874 } 5875 /** 5876 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5877 * @param event packet 5878 * @return role 5879 * @note: btstack_type 1 5880 */ 5881 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_role(const uint8_t * event){ 5882 return event[6]; 5883 } 5884 /** 5885 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5886 * @param event packet 5887 * @return peer_address_type 5888 * @note: btstack_type 1 5889 */ 5890 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_peer_address_type(const uint8_t * event){ 5891 return event[7]; 5892 } 5893 /** 5894 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5895 * @param event packet 5896 * @param Pointer to storage for peer_addresss 5897 * @note: btstack_type B 5898 */ 5899 static inline void hci_subevent_le_enhanced_connection_complete_v2_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 5900 reverse_bytes(&event[8], peer_addresss, 6); 5901 } 5902 /** 5903 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5904 * @param event packet 5905 * @param Pointer to storage for local_resolvable_private_address 5906 * @note: btstack_type B 5907 */ 5908 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){ 5909 reverse_bytes(&event[14], local_resolvable_private_address, 6); 5910 } 5911 /** 5912 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5913 * @param event packet 5914 * @param Pointer to storage for peer_resolvable_private_address 5915 * @note: btstack_type B 5916 */ 5917 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){ 5918 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 5919 } 5920 /** 5921 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5922 * @param event packet 5923 * @return conn_interval 5924 * @note: btstack_type 2 5925 */ 5926 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_interval(const uint8_t * event){ 5927 return little_endian_read_16(event, 26); 5928 } 5929 /** 5930 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5931 * @param event packet 5932 * @return conn_latency 5933 * @note: btstack_type 2 5934 */ 5935 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_latency(const uint8_t * event){ 5936 return little_endian_read_16(event, 28); 5937 } 5938 /** 5939 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5940 * @param event packet 5941 * @return supervision_timeout 5942 * @note: btstack_type 2 5943 */ 5944 static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_supervision_timeout(const uint8_t * event){ 5945 return little_endian_read_16(event, 30); 5946 } 5947 /** 5948 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5949 * @param event packet 5950 * @return master_clock_accuracy 5951 * @note: btstack_type 1 5952 */ 5953 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_master_clock_accuracy(const uint8_t * event){ 5954 return event[32]; 5955 } 5956 /** 5957 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5958 * @param event packet 5959 * @return advertising_handle 5960 * @note: btstack_type 1 5961 */ 5962 static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_advertising_handle(const uint8_t * event){ 5963 return event[33]; 5964 } 5965 /** 5966 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2 5967 * @param event packet 5968 * @return sync_handle 5969 * @note: btstack_type H 5970 */ 5971 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_sync_handle(const uint8_t * event){ 5972 return little_endian_read_16(event, 34); 5973 } 5974 5975 /** 5976 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5977 * @param event packet 5978 * @return advertisement_handle 5979 * @note: btstack_type 1 5980 */ 5981 static inline uint8_t gap_subevent_advertising_set_installed_get_advertisement_handle(const uint8_t * event){ 5982 return event[3]; 5983 } 5984 /** 5985 * @brief Get field status from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5986 * @param event packet 5987 * @return status 5988 * @note: btstack_type 1 5989 */ 5990 static inline uint8_t gap_subevent_advertising_set_installed_get_status(const uint8_t * event){ 5991 return event[4]; 5992 } 5993 /** 5994 * @brief Get field selected_tx_power from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5995 * @param event packet 5996 * @return selected_tx_power 5997 * @note: btstack_type 1 5998 */ 5999 static inline uint8_t gap_subevent_advertising_set_installed_get_selected_tx_power(const uint8_t * event){ 6000 return event[5]; 6001 } 6002 6003 /** 6004 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_REMOVED 6005 * @param event packet 6006 * @return advertisement_handle 6007 * @note: btstack_type 1 6008 */ 6009 static inline uint8_t gap_subevent_advertising_set_removed_get_advertisement_handle(const uint8_t * event){ 6010 return event[3]; 6011 } 6012 6013 /** 6014 * @brief Get field status from event GAP_SUBEVENT_BIG_CREATED 6015 * @param event packet 6016 * @return status 6017 * @note: btstack_type 1 6018 */ 6019 static inline uint8_t gap_subevent_big_created_get_status(const uint8_t * event){ 6020 return event[3]; 6021 } 6022 /** 6023 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_CREATED 6024 * @param event packet 6025 * @return big_handle 6026 * @note: btstack_type 1 6027 */ 6028 static inline uint8_t gap_subevent_big_created_get_big_handle(const uint8_t * event){ 6029 return event[4]; 6030 } 6031 /** 6032 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_CREATED 6033 * @param event packet 6034 * @return num_bis 6035 * @note: btstack_type 1 6036 */ 6037 static inline uint8_t gap_subevent_big_created_get_num_bis(const uint8_t * event){ 6038 return event[5]; 6039 } 6040 /** 6041 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_CREATED 6042 * @param event packet 6043 * @param index 6044 * @return bis_con_handles 6045 * @note: btstack_type C 6046 */ 6047 static inline uint16_t gap_subevent_big_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 6048 return little_endian_read_16(event, 6 + (2 * (int) index)); 6049 } 6050 6051 /** 6052 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_TERMINATED 6053 * @param event packet 6054 * @return big_handle 6055 * @note: btstack_type 1 6056 */ 6057 static inline uint8_t gap_subevent_big_terminated_get_big_handle(const uint8_t * event){ 6058 return event[3]; 6059 } 6060 6061 /** 6062 * @brief Get field status from event GAP_SUBEVENT_BIG_SYNC_CREATED 6063 * @param event packet 6064 * @return status 6065 * @note: btstack_type 1 6066 */ 6067 static inline uint8_t gap_subevent_big_sync_created_get_status(const uint8_t * event){ 6068 return event[3]; 6069 } 6070 /** 6071 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_CREATED 6072 * @param event packet 6073 * @return big_handle 6074 * @note: btstack_type 1 6075 */ 6076 static inline uint8_t gap_subevent_big_sync_created_get_big_handle(const uint8_t * event){ 6077 return event[4]; 6078 } 6079 /** 6080 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_SYNC_CREATED 6081 * @param event packet 6082 * @return num_bis 6083 * @note: btstack_type 1 6084 */ 6085 static inline uint8_t gap_subevent_big_sync_created_get_num_bis(const uint8_t * event){ 6086 return event[5]; 6087 } 6088 /** 6089 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_SYNC_CREATED 6090 * @param event packet 6091 * @param index 6092 * @return bis_con_handles 6093 * @note: btstack_type C 6094 */ 6095 static inline uint16_t gap_subevent_big_sync_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 6096 return little_endian_read_16(event, 6 + (2 * (int) index)); 6097 } 6098 6099 /** 6100 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_STOPPED 6101 * @param event packet 6102 * @return big_handle 6103 * @note: btstack_type 1 6104 */ 6105 static inline uint8_t gap_subevent_big_sync_stopped_get_big_handle(const uint8_t * event){ 6106 return event[3]; 6107 } 6108 6109 /** 6110 * @brief Get field status from event GAP_SUBEVENT_CIG_CREATED 6111 * @param event packet 6112 * @return status 6113 * @note: btstack_type 1 6114 */ 6115 static inline uint8_t gap_subevent_cig_created_get_status(const uint8_t * event){ 6116 return event[3]; 6117 } 6118 /** 6119 * @brief Get field cig_id from event GAP_SUBEVENT_CIG_CREATED 6120 * @param event packet 6121 * @return cig_id 6122 * @note: btstack_type 1 6123 */ 6124 static inline uint8_t gap_subevent_cig_created_get_cig_id(const uint8_t * event){ 6125 return event[4]; 6126 } 6127 /** 6128 * @brief Get field num_cis from event GAP_SUBEVENT_CIG_CREATED 6129 * @param event packet 6130 * @return num_cis 6131 * @note: btstack_type 1 6132 */ 6133 static inline uint8_t gap_subevent_cig_created_get_num_cis(const uint8_t * event){ 6134 return event[5]; 6135 } 6136 /** 6137 * @brief Get element of array field cis_con_handles from event GAP_SUBEVENT_CIG_CREATED 6138 * @param event packet 6139 * @param index 6140 * @return cis_con_handles 6141 * @note: btstack_type C 6142 */ 6143 static inline uint16_t gap_subevent_cig_created_get_cis_con_handles(const uint8_t * event, uint8_t index){ 6144 return little_endian_read_16(event, 6 + (2 * (int) index)); 6145 } 6146 6147 /** 6148 * @brief Get field status from event GAP_SUBEVENT_CIS_CREATED 6149 * @param event packet 6150 * @return status 6151 * @note: btstack_type 1 6152 */ 6153 static inline uint8_t gap_subevent_cis_created_get_status(const uint8_t * event){ 6154 return event[3]; 6155 } 6156 /** 6157 * @brief Get field cig_id from event GAP_SUBEVENT_CIS_CREATED 6158 * @param event packet 6159 * @return cig_id 6160 * @note: btstack_type 1 6161 */ 6162 static inline uint8_t gap_subevent_cis_created_get_cig_id(const uint8_t * event){ 6163 return event[4]; 6164 } 6165 /** 6166 * @brief Get field cis_id from event GAP_SUBEVENT_CIS_CREATED 6167 * @param event packet 6168 * @return cis_id 6169 * @note: btstack_type 1 6170 */ 6171 static inline uint8_t gap_subevent_cis_created_get_cis_id(const uint8_t * event){ 6172 return event[5]; 6173 } 6174 /** 6175 * @brief Get field cis_con_handle from event GAP_SUBEVENT_CIS_CREATED 6176 * @param event packet 6177 * @return cis_con_handle 6178 * @note: btstack_type H 6179 */ 6180 static inline hci_con_handle_t gap_subevent_cis_created_get_cis_con_handle(const uint8_t * event){ 6181 return little_endian_read_16(event, 6); 6182 } 6183 /** 6184 * @brief Get field acl_con_handle from event GAP_SUBEVENT_CIS_CREATED 6185 * @param event packet 6186 * @return acl_con_handle 6187 * @note: btstack_type H 6188 */ 6189 static inline hci_con_handle_t gap_subevent_cis_created_get_acl_con_handle(const uint8_t * event){ 6190 return little_endian_read_16(event, 8); 6191 } 6192 /** 6193 * @brief Get field iso_interval_1250us from event GAP_SUBEVENT_CIS_CREATED 6194 * @param event packet 6195 * @return iso_interval_1250us 6196 * @note: btstack_type 2 6197 */ 6198 static inline uint16_t gap_subevent_cis_created_get_iso_interval_1250us(const uint8_t * event){ 6199 return little_endian_read_16(event, 10); 6200 } 6201 /** 6202 * @brief Get field number_of_subevents from event GAP_SUBEVENT_CIS_CREATED 6203 * @param event packet 6204 * @return number_of_subevents 6205 * @note: btstack_type 1 6206 */ 6207 static inline uint8_t gap_subevent_cis_created_get_number_of_subevents(const uint8_t * event){ 6208 return event[12]; 6209 } 6210 /** 6211 * @brief Get field burst_number_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6212 * @param event packet 6213 * @return burst_number_c_to_p 6214 * @note: btstack_type 1 6215 */ 6216 static inline uint8_t gap_subevent_cis_created_get_burst_number_c_to_p(const uint8_t * event){ 6217 return event[13]; 6218 } 6219 /** 6220 * @brief Get field burst_number_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6221 * @param event packet 6222 * @return burst_number_p_to_c 6223 * @note: btstack_type 1 6224 */ 6225 static inline uint8_t gap_subevent_cis_created_get_burst_number_p_to_c(const uint8_t * event){ 6226 return event[14]; 6227 } 6228 /** 6229 * @brief Get field flush_timeout_c_to_p from event GAP_SUBEVENT_CIS_CREATED 6230 * @param event packet 6231 * @return flush_timeout_c_to_p 6232 * @note: btstack_type 1 6233 */ 6234 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_c_to_p(const uint8_t * event){ 6235 return event[15]; 6236 } 6237 /** 6238 * @brief Get field flush_timeout_p_to_c from event GAP_SUBEVENT_CIS_CREATED 6239 * @param event packet 6240 * @return flush_timeout_p_to_c 6241 * @note: btstack_type 1 6242 */ 6243 static inline uint8_t gap_subevent_cis_created_get_flush_timeout_p_to_c(const uint8_t * event){ 6244 return event[16]; 6245 } 6246 6247 /** 6248 * @brief Get field status from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6249 * @param event packet 6250 * @return status 6251 * @note: btstack_type 1 6252 */ 6253 static inline uint8_t gap_subevent_le_connection_complete_get_status(const uint8_t * event){ 6254 return event[3]; 6255 } 6256 /** 6257 * @brief Get field connection_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6258 * @param event packet 6259 * @return connection_handle 6260 * @note: btstack_type H 6261 */ 6262 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 6263 return little_endian_read_16(event, 4); 6264 } 6265 /** 6266 * @brief Get field role from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6267 * @param event packet 6268 * @return role 6269 * @note: btstack_type 1 6270 */ 6271 static inline uint8_t gap_subevent_le_connection_complete_get_role(const uint8_t * event){ 6272 return event[6]; 6273 } 6274 /** 6275 * @brief Get field peer_address_type from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6276 * @param event packet 6277 * @return peer_address_type 6278 * @note: btstack_type 1 6279 */ 6280 static inline uint8_t gap_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 6281 return event[7]; 6282 } 6283 /** 6284 * @brief Get field peer_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6285 * @param event packet 6286 * @param Pointer to storage for peer_address 6287 * @note: btstack_type B 6288 */ 6289 static inline void gap_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 6290 reverse_bytes(&event[8], peer_address, 6); 6291 } 6292 /** 6293 * @brief Get field local_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6294 * @param event packet 6295 * @param Pointer to storage for local_resolvable_private_address 6296 * @note: btstack_type B 6297 */ 6298 static inline void gap_subevent_le_connection_complete_get_local_resolvable_private_address(const uint8_t * event, bd_addr_t local_resolvable_private_address){ 6299 reverse_bytes(&event[14], local_resolvable_private_address, 6); 6300 } 6301 /** 6302 * @brief Get field peer_resolvable_private_address from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6303 * @param event packet 6304 * @param Pointer to storage for peer_resolvable_private_address 6305 * @note: btstack_type B 6306 */ 6307 static inline void gap_subevent_le_connection_complete_get_peer_resolvable_private_address(const uint8_t * event, bd_addr_t peer_resolvable_private_address){ 6308 reverse_bytes(&event[20], peer_resolvable_private_address, 6); 6309 } 6310 /** 6311 * @brief Get field conn_interval from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6312 * @param event packet 6313 * @return conn_interval 6314 * @note: btstack_type 2 6315 */ 6316 static inline uint16_t gap_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 6317 return little_endian_read_16(event, 26); 6318 } 6319 /** 6320 * @brief Get field conn_latency from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6321 * @param event packet 6322 * @return conn_latency 6323 * @note: btstack_type 2 6324 */ 6325 static inline uint16_t gap_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 6326 return little_endian_read_16(event, 28); 6327 } 6328 /** 6329 * @brief Get field supervision_timeout from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6330 * @param event packet 6331 * @return supervision_timeout 6332 * @note: btstack_type 2 6333 */ 6334 static inline uint16_t gap_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 6335 return little_endian_read_16(event, 30); 6336 } 6337 /** 6338 * @brief Get field master_clock_accuracy from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6339 * @param event packet 6340 * @return master_clock_accuracy 6341 * @note: btstack_type 1 6342 */ 6343 static inline uint8_t gap_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 6344 return event[32]; 6345 } 6346 /** 6347 * @brief Get field advertising_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6348 * @param event packet 6349 * @return advertising_handle 6350 * @note: btstack_type 1 6351 */ 6352 static inline uint8_t gap_subevent_le_connection_complete_get_advertising_handle(const uint8_t * event){ 6353 return event[33]; 6354 } 6355 /** 6356 * @brief Get field sync_handle from event GAP_SUBEVENT_LE_CONNECTION_COMPLETE 6357 * @param event packet 6358 * @return sync_handle 6359 * @note: btstack_type H 6360 */ 6361 static inline hci_con_handle_t gap_subevent_le_connection_complete_get_sync_handle(const uint8_t * event){ 6362 return little_endian_read_16(event, 34); 6363 } 6364 6365 /** 6366 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6367 * @param event packet 6368 * @return acl_handle 6369 * @note: btstack_type H 6370 */ 6371 static inline hci_con_handle_t hsp_subevent_rfcomm_connection_complete_get_acl_handle(const uint8_t * event){ 6372 return little_endian_read_16(event, 3); 6373 } 6374 /** 6375 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6376 * @param event packet 6377 * @return status 6378 * @note: btstack_type 1 6379 */ 6380 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 6381 return event[5]; 6382 } 6383 /** 6384 * @brief Get field bd_addr from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 6385 * @param event packet 6386 * @param Pointer to storage for bd_addr 6387 * @note: btstack_type B 6388 */ 6389 static inline void hsp_subevent_rfcomm_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6390 reverse_bytes(&event[6], bd_addr, 6); 6391 } 6392 6393 /** 6394 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 6395 * @param event packet 6396 * @return acl_handle 6397 * @note: btstack_type H 6398 */ 6399 static inline hci_con_handle_t hsp_subevent_rfcomm_disconnection_complete_get_acl_handle(const uint8_t * event){ 6400 return little_endian_read_16(event, 3); 6401 } 6402 6403 /** 6404 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6405 * @param event packet 6406 * @return acl_handle 6407 * @note: btstack_type H 6408 */ 6409 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_acl_handle(const uint8_t * event){ 6410 return little_endian_read_16(event, 3); 6411 } 6412 /** 6413 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6414 * @param event packet 6415 * @return status 6416 * @note: btstack_type 1 6417 */ 6418 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 6419 return event[5]; 6420 } 6421 /** 6422 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 6423 * @param event packet 6424 * @return sco_handle 6425 * @note: btstack_type H 6426 */ 6427 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_sco_handle(const uint8_t * event){ 6428 return little_endian_read_16(event, 6); 6429 } 6430 6431 /** 6432 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6433 * @param event packet 6434 * @return acl_handle 6435 * @note: btstack_type H 6436 */ 6437 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_acl_handle(const uint8_t * event){ 6438 return little_endian_read_16(event, 3); 6439 } 6440 /** 6441 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 6442 * @param event packet 6443 * @return sco_handle 6444 * @note: btstack_type H 6445 */ 6446 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_sco_handle(const uint8_t * event){ 6447 return little_endian_read_16(event, 5); 6448 } 6449 6450 /** 6451 * @brief Get field acl_handle from event HSP_SUBEVENT_RING 6452 * @param event packet 6453 * @return acl_handle 6454 * @note: btstack_type H 6455 */ 6456 static inline hci_con_handle_t hsp_subevent_ring_get_acl_handle(const uint8_t * event){ 6457 return little_endian_read_16(event, 3); 6458 } 6459 6460 /** 6461 * @brief Get field acl_handle from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6462 * @param event packet 6463 * @return acl_handle 6464 * @note: btstack_type H 6465 */ 6466 static inline hci_con_handle_t hsp_subevent_microphone_gain_changed_get_acl_handle(const uint8_t * event){ 6467 return little_endian_read_16(event, 3); 6468 } 6469 /** 6470 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 6471 * @param event packet 6472 * @return gain 6473 * @note: btstack_type 1 6474 */ 6475 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 6476 return event[5]; 6477 } 6478 6479 /** 6480 * @brief Get field acl_handle from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6481 * @param event packet 6482 * @return acl_handle 6483 * @note: btstack_type H 6484 */ 6485 static inline hci_con_handle_t hsp_subevent_speaker_gain_changed_get_acl_handle(const uint8_t * event){ 6486 return little_endian_read_16(event, 3); 6487 } 6488 /** 6489 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 6490 * @param event packet 6491 * @return gain 6492 * @note: btstack_type 1 6493 */ 6494 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 6495 return event[5]; 6496 } 6497 6498 /** 6499 * @brief Get field acl_handle from event HSP_SUBEVENT_HS_COMMAND 6500 * @param event packet 6501 * @return acl_handle 6502 * @note: btstack_type H 6503 */ 6504 static inline hci_con_handle_t hsp_subevent_hs_command_get_acl_handle(const uint8_t * event){ 6505 return little_endian_read_16(event, 3); 6506 } 6507 /** 6508 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 6509 * @param event packet 6510 * @return value_length 6511 * @note: btstack_type J 6512 */ 6513 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 6514 return event[5]; 6515 } 6516 /** 6517 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 6518 * @param event packet 6519 * @return value 6520 * @note: btstack_type V 6521 */ 6522 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 6523 return &event[6]; 6524 } 6525 6526 /** 6527 * @brief Get field acl_handle from event HSP_SUBEVENT_AG_INDICATION 6528 * @param event packet 6529 * @return acl_handle 6530 * @note: btstack_type H 6531 */ 6532 static inline hci_con_handle_t hsp_subevent_ag_indication_get_acl_handle(const uint8_t * event){ 6533 return little_endian_read_16(event, 3); 6534 } 6535 /** 6536 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 6537 * @param event packet 6538 * @return value_length 6539 * @note: btstack_type J 6540 */ 6541 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 6542 return event[5]; 6543 } 6544 /** 6545 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 6546 * @param event packet 6547 * @return value 6548 * @note: btstack_type V 6549 */ 6550 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 6551 return &event[6]; 6552 } 6553 6554 /** 6555 * @brief Get field acl_handle from event HSP_SUBEVENT_BUTTON_PRESSED 6556 * @param event packet 6557 * @return acl_handle 6558 * @note: btstack_type H 6559 */ 6560 static inline hci_con_handle_t hsp_subevent_button_pressed_get_acl_handle(const uint8_t * event){ 6561 return little_endian_read_16(event, 3); 6562 } 6563 6564 /** 6565 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6566 * @param event packet 6567 * @return acl_handle 6568 * @note: btstack_type H 6569 */ 6570 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_acl_handle(const uint8_t * event){ 6571 return little_endian_read_16(event, 3); 6572 } 6573 /** 6574 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6575 * @param event packet 6576 * @return status 6577 * @note: btstack_type 1 6578 */ 6579 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 6580 return event[5]; 6581 } 6582 /** 6583 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6584 * @param event packet 6585 * @param Pointer to storage for bd_addr 6586 * @note: btstack_type B 6587 */ 6588 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6589 reverse_bytes(&event[6], bd_addr, 6); 6590 } 6591 6592 /** 6593 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 6594 * @param event packet 6595 * @return acl_handle 6596 * @note: btstack_type H 6597 */ 6598 static inline hci_con_handle_t hfp_subevent_service_level_connection_released_get_acl_handle(const uint8_t * event){ 6599 return little_endian_read_16(event, 3); 6600 } 6601 6602 /** 6603 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6604 * @param event packet 6605 * @return acl_handle 6606 * @note: btstack_type H 6607 */ 6608 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_acl_handle(const uint8_t * event){ 6609 return little_endian_read_16(event, 3); 6610 } 6611 /** 6612 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6613 * @param event packet 6614 * @return status 6615 * @note: btstack_type 1 6616 */ 6617 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 6618 return event[5]; 6619 } 6620 /** 6621 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6622 * @param event packet 6623 * @return sco_handle 6624 * @note: btstack_type H 6625 */ 6626 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_sco_handle(const uint8_t * event){ 6627 return little_endian_read_16(event, 6); 6628 } 6629 /** 6630 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6631 * @param event packet 6632 * @param Pointer to storage for bd_addr 6633 * @note: btstack_type B 6634 */ 6635 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6636 reverse_bytes(&event[8], bd_addr, 6); 6637 } 6638 /** 6639 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6640 * @param event packet 6641 * @return negotiated_codec 6642 * @note: btstack_type 1 6643 */ 6644 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 6645 return event[14]; 6646 } 6647 /** 6648 * @brief Get field sco_packet_types from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6649 * @param event packet 6650 * @return sco_packet_types 6651 * @note: btstack_type 2 6652 */ 6653 static inline uint16_t hfp_subevent_audio_connection_established_get_sco_packet_types(const uint8_t * event){ 6654 return little_endian_read_16(event, 15); 6655 } 6656 /** 6657 * @brief Get field rx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6658 * @param event packet 6659 * @return rx_packet_length 6660 * @note: btstack_type 2 6661 */ 6662 static inline uint16_t hfp_subevent_audio_connection_established_get_rx_packet_length(const uint8_t * event){ 6663 return little_endian_read_16(event, 17); 6664 } 6665 /** 6666 * @brief Get field tx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6667 * @param event packet 6668 * @return tx_packet_length 6669 * @note: btstack_type 2 6670 */ 6671 static inline uint16_t hfp_subevent_audio_connection_established_get_tx_packet_length(const uint8_t * event){ 6672 return little_endian_read_16(event, 19); 6673 } 6674 6675 /** 6676 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6677 * @param event packet 6678 * @return acl_handle 6679 * @note: btstack_type H 6680 */ 6681 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_acl_handle(const uint8_t * event){ 6682 return little_endian_read_16(event, 3); 6683 } 6684 /** 6685 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6686 * @param event packet 6687 * @return sco_handle 6688 * @note: btstack_type H 6689 */ 6690 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_sco_handle(const uint8_t * event){ 6691 return little_endian_read_16(event, 5); 6692 } 6693 6694 /** 6695 * @brief Get field acl_handle from event HFP_SUBEVENT_COMPLETE 6696 * @param event packet 6697 * @return acl_handle 6698 * @note: btstack_type H 6699 */ 6700 static inline hci_con_handle_t hfp_subevent_complete_get_acl_handle(const uint8_t * event){ 6701 return little_endian_read_16(event, 3); 6702 } 6703 /** 6704 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 6705 * @param event packet 6706 * @return status 6707 * @note: btstack_type 1 6708 */ 6709 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 6710 return event[5]; 6711 } 6712 6713 /** 6714 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6715 * @param event packet 6716 * @return acl_handle 6717 * @note: btstack_type H 6718 */ 6719 static inline hci_con_handle_t hfp_subevent_ag_indicator_mapping_get_acl_handle(const uint8_t * event){ 6720 return little_endian_read_16(event, 3); 6721 } 6722 /** 6723 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6724 * @param event packet 6725 * @return indicator_index 6726 * @note: btstack_type 1 6727 */ 6728 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_index(const uint8_t * event){ 6729 return event[5]; 6730 } 6731 /** 6732 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6733 * @param event packet 6734 * @return indicator_min_range 6735 * @note: btstack_type 1 6736 */ 6737 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_min_range(const uint8_t * event){ 6738 return event[6]; 6739 } 6740 /** 6741 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6742 * @param event packet 6743 * @return indicator_max_range 6744 * @note: btstack_type 1 6745 */ 6746 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_max_range(const uint8_t * event){ 6747 return event[7]; 6748 } 6749 /** 6750 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6751 * @param event packet 6752 * @return indicator_name 6753 * @note: btstack_type T 6754 */ 6755 static inline const char * hfp_subevent_ag_indicator_mapping_get_indicator_name(const uint8_t * event){ 6756 return (const char *) &event[8]; 6757 } 6758 6759 /** 6760 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6761 * @param event packet 6762 * @return acl_handle 6763 * @note: btstack_type H 6764 */ 6765 static inline hci_con_handle_t hfp_subevent_ag_indicator_status_changed_get_acl_handle(const uint8_t * event){ 6766 return little_endian_read_16(event, 3); 6767 } 6768 /** 6769 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6770 * @param event packet 6771 * @return indicator_index 6772 * @note: btstack_type 1 6773 */ 6774 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 6775 return event[5]; 6776 } 6777 /** 6778 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6779 * @param event packet 6780 * @return indicator_status 6781 * @note: btstack_type 1 6782 */ 6783 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 6784 return event[6]; 6785 } 6786 /** 6787 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6788 * @param event packet 6789 * @return indicator_min_range 6790 * @note: btstack_type 1 6791 */ 6792 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 6793 return event[7]; 6794 } 6795 /** 6796 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6797 * @param event packet 6798 * @return indicator_max_range 6799 * @note: btstack_type 1 6800 */ 6801 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 6802 return event[8]; 6803 } 6804 /** 6805 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6806 * @param event packet 6807 * @return indicator_mandatory 6808 * @note: btstack_type 1 6809 */ 6810 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 6811 return event[9]; 6812 } 6813 /** 6814 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6815 * @param event packet 6816 * @return indicator_enabled 6817 * @note: btstack_type 1 6818 */ 6819 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 6820 return event[10]; 6821 } 6822 /** 6823 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6824 * @param event packet 6825 * @return indicator_status_changed 6826 * @note: btstack_type 1 6827 */ 6828 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 6829 return event[11]; 6830 } 6831 /** 6832 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6833 * @param event packet 6834 * @return indicator_name 6835 * @note: btstack_type T 6836 */ 6837 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 6838 return (const char *) &event[12]; 6839 } 6840 6841 /** 6842 * @brief Get field acl_handle from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6843 * @param event packet 6844 * @return acl_handle 6845 * @note: btstack_type H 6846 */ 6847 static inline hci_con_handle_t hfp_subevent_network_operator_changed_get_acl_handle(const uint8_t * event){ 6848 return little_endian_read_16(event, 3); 6849 } 6850 /** 6851 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6852 * @param event packet 6853 * @return network_operator_mode 6854 * @note: btstack_type 1 6855 */ 6856 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 6857 return event[5]; 6858 } 6859 /** 6860 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6861 * @param event packet 6862 * @return network_operator_format 6863 * @note: btstack_type 1 6864 */ 6865 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 6866 return event[6]; 6867 } 6868 /** 6869 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6870 * @param event packet 6871 * @return network_operator_name 6872 * @note: btstack_type T 6873 */ 6874 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 6875 return (const char *) &event[7]; 6876 } 6877 6878 /** 6879 * @brief Get field acl_handle from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6880 * @param event packet 6881 * @return acl_handle 6882 * @note: btstack_type H 6883 */ 6884 static inline hci_con_handle_t hfp_subevent_extended_audio_gateway_error_get_acl_handle(const uint8_t * event){ 6885 return little_endian_read_16(event, 3); 6886 } 6887 /** 6888 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6889 * @param event packet 6890 * @return error 6891 * @note: btstack_type 1 6892 */ 6893 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 6894 return event[5]; 6895 } 6896 6897 /** 6898 * @brief Get field acl_handle from event HFP_SUBEVENT_START_RINGING 6899 * @param event packet 6900 * @return acl_handle 6901 * @note: btstack_type H 6902 */ 6903 static inline hci_con_handle_t hfp_subevent_start_ringing_get_acl_handle(const uint8_t * event){ 6904 return little_endian_read_16(event, 3); 6905 } 6906 6907 /** 6908 * @brief Get field acl_handle from event HFP_SUBEVENT_RING 6909 * @param event packet 6910 * @return acl_handle 6911 * @note: btstack_type H 6912 */ 6913 static inline hci_con_handle_t hfp_subevent_ring_get_acl_handle(const uint8_t * event){ 6914 return little_endian_read_16(event, 3); 6915 } 6916 6917 /** 6918 * @brief Get field acl_handle from event HFP_SUBEVENT_STOP_RINGING 6919 * @param event packet 6920 * @return acl_handle 6921 * @note: btstack_type H 6922 */ 6923 static inline hci_con_handle_t hfp_subevent_stop_ringing_get_acl_handle(const uint8_t * event){ 6924 return little_endian_read_16(event, 3); 6925 } 6926 6927 /** 6928 * @brief Get field acl_handle from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6929 * @param event packet 6930 * @return acl_handle 6931 * @note: btstack_type H 6932 */ 6933 static inline hci_con_handle_t hfp_subevent_place_call_with_number_get_acl_handle(const uint8_t * event){ 6934 return little_endian_read_16(event, 3); 6935 } 6936 /** 6937 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6938 * @param event packet 6939 * @return number 6940 * @note: btstack_type T 6941 */ 6942 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 6943 return (const char *) &event[5]; 6944 } 6945 6946 /** 6947 * @brief Get field acl_handle from event HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 6948 * @param event packet 6949 * @return acl_handle 6950 * @note: btstack_type H 6951 */ 6952 static inline hci_con_handle_t hfp_subevent_attach_number_to_voice_tag_get_acl_handle(const uint8_t * event){ 6953 return little_endian_read_16(event, 3); 6954 } 6955 6956 /** 6957 * @brief Get field acl_handle from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6958 * @param event packet 6959 * @return acl_handle 6960 * @note: btstack_type H 6961 */ 6962 static inline hci_con_handle_t hfp_subevent_number_for_voice_tag_get_acl_handle(const uint8_t * event){ 6963 return little_endian_read_16(event, 3); 6964 } 6965 /** 6966 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6967 * @param event packet 6968 * @return number 6969 * @note: btstack_type T 6970 */ 6971 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 6972 return (const char *) &event[5]; 6973 } 6974 6975 /** 6976 * @brief Get field acl_handle from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 6977 * @param event packet 6978 * @return acl_handle 6979 * @note: btstack_type H 6980 */ 6981 static inline hci_con_handle_t hfp_subevent_transmit_dtmf_codes_get_acl_handle(const uint8_t * event){ 6982 return little_endian_read_16(event, 3); 6983 } 6984 /** 6985 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 6986 * @param event packet 6987 * @return dtmf 6988 * @note: btstack_type T 6989 */ 6990 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 6991 return (const char *) &event[5]; 6992 } 6993 6994 /** 6995 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_ANSWERED 6996 * @param event packet 6997 * @return acl_handle 6998 * @note: btstack_type H 6999 */ 7000 static inline hci_con_handle_t hfp_subevent_call_answered_get_acl_handle(const uint8_t * event){ 7001 return little_endian_read_16(event, 3); 7002 } 7003 7004 /** 7005 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_TERMINATED 7006 * @param event packet 7007 * @return acl_handle 7008 * @note: btstack_type H 7009 */ 7010 static inline hci_con_handle_t hfp_subevent_call_terminated_get_acl_handle(const uint8_t * event){ 7011 return little_endian_read_16(event, 3); 7012 } 7013 7014 /** 7015 * @brief Get field acl_handle from event HFP_SUBEVENT_CONFERENCE_CALL 7016 * @param event packet 7017 * @return acl_handle 7018 * @note: btstack_type H 7019 */ 7020 static inline hci_con_handle_t hfp_subevent_conference_call_get_acl_handle(const uint8_t * event){ 7021 return little_endian_read_16(event, 3); 7022 } 7023 7024 /** 7025 * @brief Get field acl_handle from event HFP_SUBEVENT_SPEAKER_VOLUME 7026 * @param event packet 7027 * @return acl_handle 7028 * @note: btstack_type H 7029 */ 7030 static inline hci_con_handle_t hfp_subevent_speaker_volume_get_acl_handle(const uint8_t * event){ 7031 return little_endian_read_16(event, 3); 7032 } 7033 /** 7034 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 7035 * @param event packet 7036 * @return gain 7037 * @note: btstack_type 1 7038 */ 7039 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 7040 return event[5]; 7041 } 7042 7043 /** 7044 * @brief Get field acl_handle from event HFP_SUBEVENT_MICROPHONE_VOLUME 7045 * @param event packet 7046 * @return acl_handle 7047 * @note: btstack_type H 7048 */ 7049 static inline hci_con_handle_t hfp_subevent_microphone_volume_get_acl_handle(const uint8_t * event){ 7050 return little_endian_read_16(event, 3); 7051 } 7052 /** 7053 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 7054 * @param event packet 7055 * @return gain 7056 * @note: btstack_type 1 7057 */ 7058 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 7059 return event[5]; 7060 } 7061 7062 /** 7063 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7064 * @param event packet 7065 * @return acl_handle 7066 * @note: btstack_type H 7067 */ 7068 static inline hci_con_handle_t hfp_subevent_call_waiting_notification_get_acl_handle(const uint8_t * event){ 7069 return little_endian_read_16(event, 3); 7070 } 7071 /** 7072 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7073 * @param event packet 7074 * @return type 7075 * @note: btstack_type 1 7076 */ 7077 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 7078 return event[5]; 7079 } 7080 /** 7081 * @brief Get field number_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7082 * @param event packet 7083 * @return number_length 7084 * @note: btstack_type J 7085 */ 7086 static inline uint8_t hfp_subevent_call_waiting_notification_get_number_length(const uint8_t * event){ 7087 return event[6]; 7088 } 7089 /** 7090 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7091 * @param event packet 7092 * @return number 7093 * @note: btstack_type V 7094 */ 7095 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 7096 return &event[7]; 7097 } 7098 /** 7099 * @brief Get field alpha_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7100 * @param event packet 7101 * @return alpha_length 7102 * @note: btstack_type J 7103 */ 7104 static inline uint8_t hfp_subevent_call_waiting_notification_get_alpha_length(const uint8_t * event){ 7105 return event[7u + event[6]]; 7106 } 7107 /** 7108 * @brief Get field alpha from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 7109 * @param event packet 7110 * @return alpha 7111 * @note: btstack_type V 7112 */ 7113 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_alpha(const uint8_t * event){ 7114 return &event[7u + event[6] + 1u]; 7115 } 7116 7117 /** 7118 * @brief Get field acl_handle from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7119 * @param event packet 7120 * @return acl_handle 7121 * @note: btstack_type H 7122 */ 7123 static inline hci_con_handle_t hfp_subevent_calling_line_identification_notification_get_acl_handle(const uint8_t * event){ 7124 return little_endian_read_16(event, 3); 7125 } 7126 /** 7127 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7128 * @param event packet 7129 * @return type 7130 * @note: btstack_type 1 7131 */ 7132 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 7133 return event[5]; 7134 } 7135 /** 7136 * @brief Get field number_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7137 * @param event packet 7138 * @return number_length 7139 * @note: btstack_type J 7140 */ 7141 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_number_length(const uint8_t * event){ 7142 return event[6]; 7143 } 7144 /** 7145 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7146 * @param event packet 7147 * @return number 7148 * @note: btstack_type V 7149 */ 7150 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 7151 return &event[7]; 7152 } 7153 /** 7154 * @brief Get field alpha_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7155 * @param event packet 7156 * @return alpha_length 7157 * @note: btstack_type J 7158 */ 7159 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_alpha_length(const uint8_t * event){ 7160 return event[7u + event[6]]; 7161 } 7162 /** 7163 * @brief Get field alpha from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 7164 * @param event packet 7165 * @return alpha 7166 * @note: btstack_type V 7167 */ 7168 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_alpha(const uint8_t * event){ 7169 return &event[7u + event[6] + 1u]; 7170 } 7171 7172 /** 7173 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7174 * @param event packet 7175 * @return acl_handle 7176 * @note: btstack_type H 7177 */ 7178 static inline hci_con_handle_t hfp_subevent_enhanced_call_status_get_acl_handle(const uint8_t * event){ 7179 return little_endian_read_16(event, 3); 7180 } 7181 /** 7182 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7183 * @param event packet 7184 * @return clcc_idx 7185 * @note: btstack_type 1 7186 */ 7187 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 7188 return event[5]; 7189 } 7190 /** 7191 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7192 * @param event packet 7193 * @return clcc_dir 7194 * @note: btstack_type 1 7195 */ 7196 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 7197 return event[6]; 7198 } 7199 /** 7200 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7201 * @param event packet 7202 * @return clcc_status 7203 * @note: btstack_type 1 7204 */ 7205 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 7206 return event[7]; 7207 } 7208 /** 7209 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7210 * @param event packet 7211 * @return clcc_mode 7212 * @note: btstack_type 1 7213 */ 7214 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 7215 return event[8]; 7216 } 7217 /** 7218 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7219 * @param event packet 7220 * @return clcc_mpty 7221 * @note: btstack_type 1 7222 */ 7223 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 7224 return event[9]; 7225 } 7226 /** 7227 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7228 * @param event packet 7229 * @return bnip_type 7230 * @note: btstack_type 1 7231 */ 7232 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 7233 return event[10]; 7234 } 7235 /** 7236 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 7237 * @param event packet 7238 * @return bnip_number 7239 * @note: btstack_type T 7240 */ 7241 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 7242 return (const char *) &event[11]; 7243 } 7244 7245 /** 7246 * @brief Get field acl_handle from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7247 * @param event packet 7248 * @return acl_handle 7249 * @note: btstack_type H 7250 */ 7251 static inline hci_con_handle_t hfp_subevent_subscriber_number_information_get_acl_handle(const uint8_t * event){ 7252 return little_endian_read_16(event, 3); 7253 } 7254 /** 7255 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7256 * @param event packet 7257 * @return status 7258 * @note: btstack_type 1 7259 */ 7260 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 7261 return event[5]; 7262 } 7263 /** 7264 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7265 * @param event packet 7266 * @return bnip_type 7267 * @note: btstack_type 1 7268 */ 7269 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 7270 return event[6]; 7271 } 7272 /** 7273 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 7274 * @param event packet 7275 * @return bnip_number 7276 * @note: btstack_type T 7277 */ 7278 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 7279 return (const char *) &event[7]; 7280 } 7281 7282 /** 7283 * @brief Get field acl_handle from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7284 * @param event packet 7285 * @return acl_handle 7286 * @note: btstack_type H 7287 */ 7288 static inline hci_con_handle_t hfp_subevent_response_and_hold_status_get_acl_handle(const uint8_t * event){ 7289 return little_endian_read_16(event, 3); 7290 } 7291 /** 7292 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 7293 * @param event packet 7294 * @return value 7295 * @note: btstack_type T 7296 */ 7297 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 7298 return (const char *) &event[5]; 7299 } 7300 7301 /** 7302 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_SENT 7303 * @param event packet 7304 * @return acl_handle 7305 * @note: btstack_type H 7306 */ 7307 static inline hci_con_handle_t hfp_subevent_at_message_sent_get_acl_handle(const uint8_t * event){ 7308 return little_endian_read_16(event, 3); 7309 } 7310 /** 7311 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_SENT 7312 * @param event packet 7313 * @return command 7314 * @note: btstack_type T 7315 */ 7316 static inline const char * hfp_subevent_at_message_sent_get_command(const uint8_t * event){ 7317 return (const char *) &event[5]; 7318 } 7319 7320 /** 7321 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7322 * @param event packet 7323 * @return acl_handle 7324 * @note: btstack_type H 7325 */ 7326 static inline hci_con_handle_t hfp_subevent_at_message_received_get_acl_handle(const uint8_t * event){ 7327 return little_endian_read_16(event, 3); 7328 } 7329 /** 7330 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 7331 * @param event packet 7332 * @return command 7333 * @note: btstack_type T 7334 */ 7335 static inline const char * hfp_subevent_at_message_received_get_command(const uint8_t * event){ 7336 return (const char *) &event[5]; 7337 } 7338 7339 /** 7340 * @brief Get field acl_handle from event HFP_SUBEVENT_IN_BAND_RING_TONE 7341 * @param event packet 7342 * @return acl_handle 7343 * @note: btstack_type H 7344 */ 7345 static inline hci_con_handle_t hfp_subevent_in_band_ring_tone_get_acl_handle(const uint8_t * event){ 7346 return little_endian_read_16(event, 3); 7347 } 7348 /** 7349 * @brief Get field status from event HFP_SUBEVENT_IN_BAND_RING_TONE 7350 * @param event packet 7351 * @return status 7352 * @note: btstack_type 1 7353 */ 7354 static inline uint8_t hfp_subevent_in_band_ring_tone_get_status(const uint8_t * event){ 7355 return event[5]; 7356 } 7357 7358 /** 7359 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7360 * @param event packet 7361 * @return acl_handle 7362 * @note: btstack_type H 7363 */ 7364 static inline hci_con_handle_t hfp_subevent_voice_recognition_activated_get_acl_handle(const uint8_t * event){ 7365 return little_endian_read_16(event, 3); 7366 } 7367 /** 7368 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7369 * @param event packet 7370 * @return status 7371 * @note: btstack_type 1 7372 */ 7373 static inline uint8_t hfp_subevent_voice_recognition_activated_get_status(const uint8_t * event){ 7374 return event[5]; 7375 } 7376 /** 7377 * @brief Get field enhanced from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 7378 * @param event packet 7379 * @return enhanced 7380 * @note: btstack_type 1 7381 */ 7382 static inline uint8_t hfp_subevent_voice_recognition_activated_get_enhanced(const uint8_t * event){ 7383 return event[6]; 7384 } 7385 7386 /** 7387 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7388 * @param event packet 7389 * @return acl_handle 7390 * @note: btstack_type H 7391 */ 7392 static inline hci_con_handle_t hfp_subevent_voice_recognition_deactivated_get_acl_handle(const uint8_t * event){ 7393 return little_endian_read_16(event, 3); 7394 } 7395 /** 7396 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 7397 * @param event packet 7398 * @return status 7399 * @note: btstack_type 1 7400 */ 7401 static inline uint8_t hfp_subevent_voice_recognition_deactivated_get_status(const uint8_t * event){ 7402 return event[5]; 7403 } 7404 7405 /** 7406 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7407 * @param event packet 7408 * @return acl_handle 7409 * @note: btstack_type H 7410 */ 7411 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_acl_handle(const uint8_t * event){ 7412 return little_endian_read_16(event, 3); 7413 } 7414 /** 7415 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 7416 * @param event packet 7417 * @return status 7418 * @note: btstack_type 1 7419 */ 7420 static inline uint8_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_status(const uint8_t * event){ 7421 return event[5]; 7422 } 7423 7424 /** 7425 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7426 * @param event packet 7427 * @return acl_handle 7428 * @note: btstack_type H 7429 */ 7430 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_acl_handle(const uint8_t * event){ 7431 return little_endian_read_16(event, 3); 7432 } 7433 /** 7434 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 7435 * @param event packet 7436 * @return status 7437 * @note: btstack_type 1 7438 */ 7439 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_status(const uint8_t * event){ 7440 return event[5]; 7441 } 7442 7443 /** 7444 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7445 * @param event packet 7446 * @return acl_handle 7447 * @note: btstack_type H 7448 */ 7449 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_acl_handle(const uint8_t * event){ 7450 return little_endian_read_16(event, 3); 7451 } 7452 /** 7453 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 7454 * @param event packet 7455 * @return status 7456 * @note: btstack_type 1 7457 */ 7458 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_status(const uint8_t * event){ 7459 return event[5]; 7460 } 7461 7462 /** 7463 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7464 * @param event packet 7465 * @return acl_handle 7466 * @note: btstack_type H 7467 */ 7468 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_acl_handle(const uint8_t * event){ 7469 return little_endian_read_16(event, 3); 7470 } 7471 /** 7472 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 7473 * @param event packet 7474 * @return status 7475 * @note: btstack_type 1 7476 */ 7477 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_status(const uint8_t * event){ 7478 return event[5]; 7479 } 7480 7481 /** 7482 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7483 * @param event packet 7484 * @return acl_handle 7485 * @note: btstack_type H 7486 */ 7487 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_acl_handle(const uint8_t * event){ 7488 return little_endian_read_16(event, 3); 7489 } 7490 /** 7491 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 7492 * @param event packet 7493 * @return status 7494 * @note: btstack_type 1 7495 */ 7496 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_status(const uint8_t * event){ 7497 return event[5]; 7498 } 7499 7500 /** 7501 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7502 * @param event packet 7503 * @return acl_handle 7504 * @note: btstack_type H 7505 */ 7506 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_get_acl_handle(const uint8_t * event){ 7507 return little_endian_read_16(event, 3); 7508 } 7509 /** 7510 * @brief Get field text_id from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7511 * @param event packet 7512 * @return text_id 7513 * @note: btstack_type 2 7514 */ 7515 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_id(const uint8_t * event){ 7516 return little_endian_read_16(event, 5); 7517 } 7518 /** 7519 * @brief Get field text_type from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7520 * @param event packet 7521 * @return text_type 7522 * @note: btstack_type 1 7523 */ 7524 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_type(const uint8_t * event){ 7525 return event[7]; 7526 } 7527 /** 7528 * @brief Get field text_operation from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7529 * @param event packet 7530 * @return text_operation 7531 * @note: btstack_type 1 7532 */ 7533 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_operation(const uint8_t * event){ 7534 return event[8]; 7535 } 7536 /** 7537 * @brief Get field text_length from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7538 * @param event packet 7539 * @return text_length 7540 * @note: btstack_type L 7541 */ 7542 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_length(const uint8_t * event){ 7543 return little_endian_read_16(event, 9); 7544 } 7545 /** 7546 * @brief Get field text from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 7547 * @param event packet 7548 * @return text 7549 * @note: btstack_type V 7550 */ 7551 static inline const uint8_t * hfp_subevent_enhanced_voice_recognition_ag_message_get_text(const uint8_t * event){ 7552 return &event[11]; 7553 } 7554 7555 /** 7556 * @brief Get field acl_handle from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7557 * @param event packet 7558 * @return acl_handle 7559 * @note: btstack_type H 7560 */ 7561 static inline hci_con_handle_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_acl_handle(const uint8_t * event){ 7562 return little_endian_read_16(event, 3); 7563 } 7564 /** 7565 * @brief Get field status from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7566 * @param event packet 7567 * @return status 7568 * @note: btstack_type 1 7569 */ 7570 static inline uint8_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_status(const uint8_t * event){ 7571 return event[5]; 7572 } 7573 7574 /** 7575 * @brief Get field acl_handle from event HFP_SUBEVENT_HF_INDICATOR 7576 * @param event packet 7577 * @return acl_handle 7578 * @note: btstack_type H 7579 */ 7580 static inline hci_con_handle_t hfp_subevent_hf_indicator_get_acl_handle(const uint8_t * event){ 7581 return little_endian_read_16(event, 3); 7582 } 7583 /** 7584 * @brief Get field uuid from event HFP_SUBEVENT_HF_INDICATOR 7585 * @param event packet 7586 * @return uuid 7587 * @note: btstack_type 2 7588 */ 7589 static inline uint16_t hfp_subevent_hf_indicator_get_uuid(const uint8_t * event){ 7590 return little_endian_read_16(event, 5); 7591 } 7592 /** 7593 * @brief Get field value from event HFP_SUBEVENT_HF_INDICATOR 7594 * @param event packet 7595 * @return value 7596 * @note: btstack_type 1 7597 */ 7598 static inline uint8_t hfp_subevent_hf_indicator_get_value(const uint8_t * event){ 7599 return event[7]; 7600 } 7601 7602 /** 7603 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7604 * @param event packet 7605 * @return acl_handle 7606 * @note: btstack_type H 7607 */ 7608 static inline hci_con_handle_t hfp_subevent_custom_at_command_get_acl_handle(const uint8_t * event){ 7609 return little_endian_read_16(event, 3); 7610 } 7611 /** 7612 * @brief Get field command_id from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7613 * @param event packet 7614 * @return command_id 7615 * @note: btstack_type 2 7616 */ 7617 static inline uint16_t hfp_subevent_custom_at_command_get_command_id(const uint8_t * event){ 7618 return little_endian_read_16(event, 5); 7619 } 7620 /** 7621 * @brief Get field command_string from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7622 * @param event packet 7623 * @return command_string 7624 * @note: btstack_type T 7625 */ 7626 static inline const char * hfp_subevent_custom_at_command_get_command_string(const uint8_t * event){ 7627 return (const char *) &event[7]; 7628 } 7629 7630 /** 7631 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7632 * @param event packet 7633 * @return acl_handle 7634 * @note: btstack_type H 7635 */ 7636 static inline hci_con_handle_t hfp_subevent_custom_at_message_sent_get_acl_handle(const uint8_t * event){ 7637 return little_endian_read_16(event, 3); 7638 } 7639 /** 7640 * @brief Get field status from event HFP_SUBEVENT_CUSTOM_AT_MESSAGE_SENT 7641 * @param event packet 7642 * @return status 7643 * @note: btstack_type 1 7644 */ 7645 static inline uint8_t hfp_subevent_custom_at_message_sent_get_status(const uint8_t * event){ 7646 return event[5]; 7647 } 7648 7649 /** 7650 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7651 * @param event packet 7652 * @return acl_handle 7653 * @note: btstack_type H 7654 */ 7655 static inline hci_con_handle_t hfp_subevent_apple_extension_supported_get_acl_handle(const uint8_t * event){ 7656 return little_endian_read_16(event, 3); 7657 } 7658 /** 7659 * @brief Get field supported from event HFP_SUBEVENT_APPLE_EXTENSION_SUPPORTED 7660 * @param event packet 7661 * @return supported 7662 * @note: btstack_type 1 7663 */ 7664 static inline uint8_t hfp_subevent_apple_extension_supported_get_supported(const uint8_t * event){ 7665 return event[5]; 7666 } 7667 7668 /** 7669 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7670 * @param event packet 7671 * @return acl_handle 7672 * @note: btstack_type H 7673 */ 7674 static inline hci_con_handle_t hfp_subevent_apple_accessory_information_get_acl_handle(const uint8_t * event){ 7675 return little_endian_read_16(event, 3); 7676 } 7677 /** 7678 * @brief Get field vendor_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7679 * @param event packet 7680 * @return vendor_id 7681 * @note: btstack_type 2 7682 */ 7683 static inline uint16_t hfp_subevent_apple_accessory_information_get_vendor_id(const uint8_t * event){ 7684 return little_endian_read_16(event, 5); 7685 } 7686 /** 7687 * @brief Get field product_id from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7688 * @param event packet 7689 * @return product_id 7690 * @note: btstack_type 2 7691 */ 7692 static inline uint16_t hfp_subevent_apple_accessory_information_get_product_id(const uint8_t * event){ 7693 return little_endian_read_16(event, 7); 7694 } 7695 /** 7696 * @brief Get field features from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7697 * @param event packet 7698 * @return features 7699 * @note: btstack_type 1 7700 */ 7701 static inline uint8_t hfp_subevent_apple_accessory_information_get_features(const uint8_t * event){ 7702 return event[9]; 7703 } 7704 /** 7705 * @brief Get field version_len from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7706 * @param event packet 7707 * @return version_len 7708 * @note: btstack_type J 7709 */ 7710 static inline uint8_t hfp_subevent_apple_accessory_information_get_version_len(const uint8_t * event){ 7711 return event[10]; 7712 } 7713 /** 7714 * @brief Get field version from event HFP_SUBEVENT_APPLE_ACCESSORY_INFORMATION 7715 * @param event packet 7716 * @return version 7717 * @note: btstack_type V 7718 */ 7719 static inline const uint8_t * hfp_subevent_apple_accessory_information_get_version(const uint8_t * event){ 7720 return &event[11]; 7721 } 7722 7723 /** 7724 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7725 * @param event packet 7726 * @return acl_handle 7727 * @note: btstack_type H 7728 */ 7729 static inline hci_con_handle_t hfp_subevent_apple_battery_level_get_acl_handle(const uint8_t * event){ 7730 return little_endian_read_16(event, 3); 7731 } 7732 /** 7733 * @brief Get field battery_level from event HFP_SUBEVENT_APPLE_BATTERY_LEVEL 7734 * @param event packet 7735 * @return battery_level 7736 * @note: btstack_type 1 7737 */ 7738 static inline uint8_t hfp_subevent_apple_battery_level_get_battery_level(const uint8_t * event){ 7739 return event[5]; 7740 } 7741 7742 /** 7743 * @brief Get field acl_handle from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7744 * @param event packet 7745 * @return acl_handle 7746 * @note: btstack_type H 7747 */ 7748 static inline hci_con_handle_t hfp_subevent_apple_docked_state_get_acl_handle(const uint8_t * event){ 7749 return little_endian_read_16(event, 3); 7750 } 7751 /** 7752 * @brief Get field docket from event HFP_SUBEVENT_APPLE_DOCKED_STATE 7753 * @param event packet 7754 * @return docket 7755 * @note: btstack_type 1 7756 */ 7757 static inline uint8_t hfp_subevent_apple_docked_state_get_docket(const uint8_t * event){ 7758 return event[5]; 7759 } 7760 7761 #ifdef ENABLE_BLE 7762 /** 7763 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 7764 * @param event packet 7765 * @return handle 7766 * @note: btstack_type H 7767 */ 7768 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 7769 return little_endian_read_16(event, 3); 7770 } 7771 #endif 7772 7773 #ifdef ENABLE_BLE 7774 /** 7775 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7776 * @param event packet 7777 * @return handle 7778 * @note: btstack_type H 7779 */ 7780 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 7781 return little_endian_read_16(event, 3); 7782 } 7783 /** 7784 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7785 * @param event packet 7786 * @return attribute_id 7787 * @note: btstack_type 2 7788 */ 7789 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 7790 return little_endian_read_16(event, 5); 7791 } 7792 /** 7793 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7794 * @param event packet 7795 * @return text 7796 * @note: btstack_type T 7797 */ 7798 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 7799 return (const char *) &event[7]; 7800 } 7801 #endif 7802 7803 #ifdef ENABLE_BLE 7804 /** 7805 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 7806 * @param event packet 7807 * @return handle 7808 * @note: btstack_type H 7809 */ 7810 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 7811 return little_endian_read_16(event, 3); 7812 } 7813 #endif 7814 7815 /** 7816 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7817 * @param event packet 7818 * @return avdtp_cid 7819 * @note: btstack_type 2 7820 */ 7821 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 7822 return little_endian_read_16(event, 3); 7823 } 7824 /** 7825 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7826 * @param event packet 7827 * @return local_seid 7828 * @note: btstack_type 1 7829 */ 7830 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 7831 return event[5]; 7832 } 7833 /** 7834 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7835 * @param event packet 7836 * @return is_initiator 7837 * @note: btstack_type 1 7838 */ 7839 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 7840 return event[6]; 7841 } 7842 /** 7843 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7844 * @param event packet 7845 * @return signal_identifier 7846 * @note: btstack_type 1 7847 */ 7848 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 7849 return event[7]; 7850 } 7851 7852 /** 7853 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7854 * @param event packet 7855 * @return avdtp_cid 7856 * @note: btstack_type 2 7857 */ 7858 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 7859 return little_endian_read_16(event, 3); 7860 } 7861 /** 7862 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7863 * @param event packet 7864 * @return local_seid 7865 * @note: btstack_type 1 7866 */ 7867 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 7868 return event[5]; 7869 } 7870 /** 7871 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 7872 * @param event packet 7873 * @return is_initiator 7874 * @note: btstack_type 1 7875 */ 7876 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 7877 return event[6]; 7878 } 7879 /** 7880 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 7881 * @param event packet 7882 * @return signal_identifier 7883 * @note: btstack_type 1 7884 */ 7885 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 7886 return event[7]; 7887 } 7888 7889 /** 7890 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7891 * @param event packet 7892 * @return avdtp_cid 7893 * @note: btstack_type 2 7894 */ 7895 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 7896 return little_endian_read_16(event, 3); 7897 } 7898 /** 7899 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7900 * @param event packet 7901 * @return local_seid 7902 * @note: btstack_type 1 7903 */ 7904 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 7905 return event[5]; 7906 } 7907 /** 7908 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7909 * @param event packet 7910 * @return is_initiator 7911 * @note: btstack_type 1 7912 */ 7913 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 7914 return event[6]; 7915 } 7916 /** 7917 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7918 * @param event packet 7919 * @return signal_identifier 7920 * @note: btstack_type 1 7921 */ 7922 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 7923 return event[7]; 7924 } 7925 7926 /** 7927 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7928 * @param event packet 7929 * @return avdtp_cid 7930 * @note: btstack_type 2 7931 */ 7932 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 7933 return little_endian_read_16(event, 3); 7934 } 7935 /** 7936 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7937 * @param event packet 7938 * @param Pointer to storage for bd_addr 7939 * @note: btstack_type B 7940 */ 7941 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7942 reverse_bytes(&event[5], bd_addr, 6); 7943 } 7944 /** 7945 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7946 * @param event packet 7947 * @return con_handle 7948 * @note: btstack_type 2 7949 */ 7950 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 7951 return little_endian_read_16(event, 11); 7952 } 7953 /** 7954 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7955 * @param event packet 7956 * @return status 7957 * @note: btstack_type 1 7958 */ 7959 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 7960 return event[13]; 7961 } 7962 7963 /** 7964 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 7965 * @param event packet 7966 * @return avdtp_cid 7967 * @note: btstack_type 2 7968 */ 7969 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 7970 return little_endian_read_16(event, 3); 7971 } 7972 7973 /** 7974 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7975 * @param event packet 7976 * @return avdtp_cid 7977 * @note: btstack_type 2 7978 */ 7979 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 7980 return little_endian_read_16(event, 3); 7981 } 7982 /** 7983 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7984 * @param event packet 7985 * @return remote_seid 7986 * @note: btstack_type 1 7987 */ 7988 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 7989 return event[5]; 7990 } 7991 /** 7992 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7993 * @param event packet 7994 * @return in_use 7995 * @note: btstack_type 1 7996 */ 7997 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 7998 return event[6]; 7999 } 8000 /** 8001 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8002 * @param event packet 8003 * @return media_type 8004 * @note: btstack_type 1 8005 */ 8006 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 8007 return event[7]; 8008 } 8009 /** 8010 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 8011 * @param event packet 8012 * @return sep_type 8013 * @note: btstack_type 1 8014 */ 8015 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 8016 return event[8]; 8017 } 8018 8019 /** 8020 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8021 * @param event packet 8022 * @return avdtp_cid 8023 * @note: btstack_type 2 8024 */ 8025 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 8026 return little_endian_read_16(event, 3); 8027 } 8028 /** 8029 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8030 * @param event packet 8031 * @return remote_seid 8032 * @note: btstack_type 1 8033 */ 8034 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 8035 return event[5]; 8036 } 8037 /** 8038 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8039 * @param event packet 8040 * @return media_type 8041 * @note: btstack_type 1 8042 */ 8043 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 8044 return event[6]; 8045 } 8046 /** 8047 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8048 * @param event packet 8049 * @return sampling_frequency_bitmap 8050 * @note: btstack_type 1 8051 */ 8052 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8053 return event[7]; 8054 } 8055 /** 8056 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8057 * @param event packet 8058 * @return channel_mode_bitmap 8059 * @note: btstack_type 1 8060 */ 8061 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 8062 return event[8]; 8063 } 8064 /** 8065 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8066 * @param event packet 8067 * @return block_length_bitmap 8068 * @note: btstack_type 1 8069 */ 8070 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 8071 return event[9]; 8072 } 8073 /** 8074 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8075 * @param event packet 8076 * @return subbands_bitmap 8077 * @note: btstack_type 1 8078 */ 8079 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 8080 return event[10]; 8081 } 8082 /** 8083 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8084 * @param event packet 8085 * @return allocation_method_bitmap 8086 * @note: btstack_type 1 8087 */ 8088 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 8089 return event[11]; 8090 } 8091 /** 8092 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8093 * @param event packet 8094 * @return min_bitpool_value 8095 * @note: btstack_type 1 8096 */ 8097 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 8098 return event[12]; 8099 } 8100 /** 8101 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 8102 * @param event packet 8103 * @return max_bitpool_value 8104 * @note: btstack_type 1 8105 */ 8106 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 8107 return event[13]; 8108 } 8109 8110 /** 8111 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8112 * @param event packet 8113 * @return avdtp_cid 8114 * @note: btstack_type 2 8115 */ 8116 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ 8117 return little_endian_read_16(event, 3); 8118 } 8119 /** 8120 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8121 * @param event packet 8122 * @return remote_seid 8123 * @note: btstack_type 1 8124 */ 8125 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 8126 return event[5]; 8127 } 8128 /** 8129 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8130 * @param event packet 8131 * @return media_type 8132 * @note: btstack_type 1 8133 */ 8134 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 8135 return event[6]; 8136 } 8137 /** 8138 * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8139 * @param event packet 8140 * @return layer_bitmap 8141 * @note: btstack_type 1 8142 */ 8143 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 8144 return event[7]; 8145 } 8146 /** 8147 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8148 * @param event packet 8149 * @return crc 8150 * @note: btstack_type 1 8151 */ 8152 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 8153 return event[8]; 8154 } 8155 /** 8156 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8157 * @param event packet 8158 * @return channel_mode_bitmap 8159 * @note: btstack_type 1 8160 */ 8161 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 8162 return event[9]; 8163 } 8164 /** 8165 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8166 * @param event packet 8167 * @return media_payload_format 8168 * @note: btstack_type 1 8169 */ 8170 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 8171 return event[10]; 8172 } 8173 /** 8174 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8175 * @param event packet 8176 * @return sampling_frequency_bitmap 8177 * @note: btstack_type 1 8178 */ 8179 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8180 return event[11]; 8181 } 8182 /** 8183 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8184 * @param event packet 8185 * @return vbr 8186 * @note: btstack_type 1 8187 */ 8188 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 8189 return event[12]; 8190 } 8191 /** 8192 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 8193 * @param event packet 8194 * @return bit_rate_index_bitmap 8195 * @note: btstack_type 2 8196 */ 8197 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8198 return little_endian_read_16(event, 13); 8199 } 8200 8201 /** 8202 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8203 * @param event packet 8204 * @return avdtp_cid 8205 * @note: btstack_type 2 8206 */ 8207 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ 8208 return little_endian_read_16(event, 3); 8209 } 8210 /** 8211 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8212 * @param event packet 8213 * @return remote_seid 8214 * @note: btstack_type 1 8215 */ 8216 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 8217 return event[5]; 8218 } 8219 /** 8220 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8221 * @param event packet 8222 * @return media_type 8223 * @note: btstack_type 1 8224 */ 8225 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 8226 return event[6]; 8227 } 8228 /** 8229 * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8230 * @param event packet 8231 * @return object_type_bitmap 8232 * @note: btstack_type 1 8233 */ 8234 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 8235 return event[7]; 8236 } 8237 /** 8238 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8239 * @param event packet 8240 * @return sampling_frequency_bitmap 8241 * @note: btstack_type 2 8242 */ 8243 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8244 return little_endian_read_16(event, 8); 8245 } 8246 /** 8247 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8248 * @param event packet 8249 * @return channels_bitmap 8250 * @note: btstack_type 1 8251 */ 8252 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 8253 return event[10]; 8254 } 8255 /** 8256 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8257 * @param event packet 8258 * @return bit_rate 8259 * @note: btstack_type 3 8260 */ 8261 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 8262 return little_endian_read_24(event, 11); 8263 } 8264 /** 8265 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 8266 * @param event packet 8267 * @return vbr 8268 * @note: btstack_type 1 8269 */ 8270 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 8271 return event[14]; 8272 } 8273 8274 /** 8275 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8276 * @param event packet 8277 * @return avdtp_cid 8278 * @note: btstack_type 2 8279 */ 8280 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ 8281 return little_endian_read_16(event, 3); 8282 } 8283 /** 8284 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8285 * @param event packet 8286 * @return remote_seid 8287 * @note: btstack_type 1 8288 */ 8289 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 8290 return event[5]; 8291 } 8292 /** 8293 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8294 * @param event packet 8295 * @return media_type 8296 * @note: btstack_type 1 8297 */ 8298 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 8299 return event[6]; 8300 } 8301 /** 8302 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8303 * @param event packet 8304 * @return version 8305 * @note: btstack_type 1 8306 */ 8307 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 8308 return event[7]; 8309 } 8310 /** 8311 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8312 * @param event packet 8313 * @return channel_mode_bitmap 8314 * @note: btstack_type 1 8315 */ 8316 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 8317 return event[8]; 8318 } 8319 /** 8320 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8321 * @param event packet 8322 * @return sampling_frequency_bitmap 8323 * @note: btstack_type 1 8324 */ 8325 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 8326 return event[9]; 8327 } 8328 /** 8329 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8330 * @param event packet 8331 * @return vbr 8332 * @note: btstack_type 1 8333 */ 8334 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 8335 return event[10]; 8336 } 8337 /** 8338 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8339 * @param event packet 8340 * @return bit_rate_index_bitmap 8341 * @note: btstack_type 3 8342 */ 8343 static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 8344 return little_endian_read_24(event, 11); 8345 } 8346 /** 8347 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 8348 * @param event packet 8349 * @return maximum_sul 8350 * @note: btstack_type 2 8351 */ 8352 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 8353 return little_endian_read_16(event, 14); 8354 } 8355 8356 /** 8357 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8358 * @param event packet 8359 * @return avdtp_cid 8360 * @note: btstack_type 2 8361 */ 8362 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 8363 return little_endian_read_16(event, 3); 8364 } 8365 /** 8366 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8367 * @param event packet 8368 * @return remote_seid 8369 * @note: btstack_type 1 8370 */ 8371 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 8372 return event[5]; 8373 } 8374 /** 8375 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8376 * @param event packet 8377 * @return media_type 8378 * @note: btstack_type 1 8379 */ 8380 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 8381 return event[6]; 8382 } 8383 /** 8384 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8385 * @param event packet 8386 * @return media_codec_type 8387 * @note: btstack_type 2 8388 */ 8389 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 8390 return little_endian_read_16(event, 7); 8391 } 8392 /** 8393 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8394 * @param event packet 8395 * @return media_codec_information_len 8396 * @note: btstack_type L 8397 */ 8398 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 8399 return little_endian_read_16(event, 9); 8400 } 8401 /** 8402 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 8403 * @param event packet 8404 * @return media_codec_information 8405 * @note: btstack_type V 8406 */ 8407 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 8408 return &event[11]; 8409 } 8410 8411 /** 8412 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8413 * @param event packet 8414 * @return avdtp_cid 8415 * @note: btstack_type 2 8416 */ 8417 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 8418 return little_endian_read_16(event, 3); 8419 } 8420 /** 8421 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 8422 * @param event packet 8423 * @return remote_seid 8424 * @note: btstack_type 1 8425 */ 8426 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 8427 return event[5]; 8428 } 8429 8430 /** 8431 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8432 * @param event packet 8433 * @return avdtp_cid 8434 * @note: btstack_type 2 8435 */ 8436 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8437 return little_endian_read_16(event, 3); 8438 } 8439 /** 8440 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 8441 * @param event packet 8442 * @return remote_seid 8443 * @note: btstack_type 1 8444 */ 8445 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 8446 return event[5]; 8447 } 8448 8449 /** 8450 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8451 * @param event packet 8452 * @return avdtp_cid 8453 * @note: btstack_type 2 8454 */ 8455 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 8456 return little_endian_read_16(event, 3); 8457 } 8458 /** 8459 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8460 * @param event packet 8461 * @return remote_seid 8462 * @note: btstack_type 1 8463 */ 8464 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 8465 return event[5]; 8466 } 8467 /** 8468 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8469 * @param event packet 8470 * @return recovery_type 8471 * @note: btstack_type 1 8472 */ 8473 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 8474 return event[6]; 8475 } 8476 /** 8477 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8478 * @param event packet 8479 * @return maximum_recovery_window_size 8480 * @note: btstack_type 1 8481 */ 8482 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 8483 return event[7]; 8484 } 8485 /** 8486 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 8487 * @param event packet 8488 * @return maximum_number_media_packets 8489 * @note: btstack_type 1 8490 */ 8491 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 8492 return event[8]; 8493 } 8494 8495 /** 8496 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8497 * @param event packet 8498 * @return avdtp_cid 8499 * @note: btstack_type 2 8500 */ 8501 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 8502 return little_endian_read_16(event, 3); 8503 } 8504 /** 8505 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8506 * @param event packet 8507 * @return remote_seid 8508 * @note: btstack_type 1 8509 */ 8510 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 8511 return event[5]; 8512 } 8513 /** 8514 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8515 * @param event packet 8516 * @return cp_type 8517 * @note: btstack_type 2 8518 */ 8519 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 8520 return little_endian_read_16(event, 6); 8521 } 8522 /** 8523 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8524 * @param event packet 8525 * @return cp_type_value_len 8526 * @note: btstack_type L 8527 */ 8528 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 8529 return little_endian_read_16(event, 8); 8530 } 8531 /** 8532 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 8533 * @param event packet 8534 * @return cp_type_value 8535 * @note: btstack_type V 8536 */ 8537 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 8538 return &event[10]; 8539 } 8540 8541 /** 8542 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8543 * @param event packet 8544 * @return avdtp_cid 8545 * @note: btstack_type 2 8546 */ 8547 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 8548 return little_endian_read_16(event, 3); 8549 } 8550 /** 8551 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8552 * @param event packet 8553 * @return remote_seid 8554 * @note: btstack_type 1 8555 */ 8556 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 8557 return event[5]; 8558 } 8559 /** 8560 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8561 * @param event packet 8562 * @return fragmentation 8563 * @note: btstack_type 1 8564 */ 8565 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 8566 return event[6]; 8567 } 8568 /** 8569 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8570 * @param event packet 8571 * @return transport_identifiers_num 8572 * @note: btstack_type 1 8573 */ 8574 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 8575 return event[7]; 8576 } 8577 /** 8578 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8579 * @param event packet 8580 * @return transport_session_identifier_1 8581 * @note: btstack_type 1 8582 */ 8583 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 8584 return event[8]; 8585 } 8586 /** 8587 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8588 * @param event packet 8589 * @return transport_session_identifier_2 8590 * @note: btstack_type 1 8591 */ 8592 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 8593 return event[9]; 8594 } 8595 /** 8596 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8597 * @param event packet 8598 * @return transport_session_identifier_3 8599 * @note: btstack_type 1 8600 */ 8601 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 8602 return event[10]; 8603 } 8604 /** 8605 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8606 * @param event packet 8607 * @return tcid_1 8608 * @note: btstack_type 1 8609 */ 8610 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 8611 return event[11]; 8612 } 8613 /** 8614 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8615 * @param event packet 8616 * @return tcid_2 8617 * @note: btstack_type 1 8618 */ 8619 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 8620 return event[12]; 8621 } 8622 /** 8623 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 8624 * @param event packet 8625 * @return tcid_3 8626 * @note: btstack_type 1 8627 */ 8628 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 8629 return event[13]; 8630 } 8631 8632 /** 8633 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8634 * @param event packet 8635 * @return avdtp_cid 8636 * @note: btstack_type 2 8637 */ 8638 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 8639 return little_endian_read_16(event, 3); 8640 } 8641 /** 8642 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 8643 * @param event packet 8644 * @return remote_seid 8645 * @note: btstack_type 1 8646 */ 8647 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 8648 return event[5]; 8649 } 8650 8651 /** 8652 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8653 * @param event packet 8654 * @return avdtp_cid 8655 * @note: btstack_type 2 8656 */ 8657 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 8658 return little_endian_read_16(event, 3); 8659 } 8660 /** 8661 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8662 * @param event packet 8663 * @return remote_seid 8664 * @note: btstack_type 1 8665 */ 8666 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 8667 return event[5]; 8668 } 8669 /** 8670 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8671 * @param event packet 8672 * @return back_ch 8673 * @note: btstack_type 1 8674 */ 8675 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 8676 return event[6]; 8677 } 8678 /** 8679 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8680 * @param event packet 8681 * @return media 8682 * @note: btstack_type 1 8683 */ 8684 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 8685 return event[7]; 8686 } 8687 /** 8688 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8689 * @param event packet 8690 * @return recovery 8691 * @note: btstack_type 1 8692 */ 8693 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 8694 return event[8]; 8695 } 8696 8697 /** 8698 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8699 * @param event packet 8700 * @return avdtp_cid 8701 * @note: btstack_type 2 8702 */ 8703 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 8704 return little_endian_read_16(event, 3); 8705 } 8706 /** 8707 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8708 * @param event packet 8709 * @return remote_seid 8710 * @note: btstack_type 1 8711 */ 8712 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 8713 return event[5]; 8714 } 8715 8716 /** 8717 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8718 * @param event packet 8719 * @return avdtp_cid 8720 * @note: btstack_type 2 8721 */ 8722 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 8723 return little_endian_read_16(event, 3); 8724 } 8725 /** 8726 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8727 * @param event packet 8728 * @return local_seid 8729 * @note: btstack_type 1 8730 */ 8731 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 8732 return event[5]; 8733 } 8734 /** 8735 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8736 * @param event packet 8737 * @return remote_seid 8738 * @note: btstack_type 1 8739 */ 8740 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 8741 return event[6]; 8742 } 8743 /** 8744 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8745 * @param event packet 8746 * @return reconfigure 8747 * @note: btstack_type 1 8748 */ 8749 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 8750 return event[7]; 8751 } 8752 /** 8753 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8754 * @param event packet 8755 * @return media_type 8756 * @note: btstack_type 1 8757 */ 8758 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 8759 return event[8]; 8760 } 8761 /** 8762 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8763 * @param event packet 8764 * @return sampling_frequency 8765 * @note: btstack_type 2 8766 */ 8767 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 8768 return little_endian_read_16(event, 9); 8769 } 8770 /** 8771 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8772 * @param event packet 8773 * @return channel_mode 8774 * @note: btstack_type 1 8775 */ 8776 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 8777 return event[11]; 8778 } 8779 /** 8780 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8781 * @param event packet 8782 * @return num_channels 8783 * @note: btstack_type 1 8784 */ 8785 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 8786 return event[12]; 8787 } 8788 /** 8789 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8790 * @param event packet 8791 * @return block_length 8792 * @note: btstack_type 1 8793 */ 8794 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 8795 return event[13]; 8796 } 8797 /** 8798 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8799 * @param event packet 8800 * @return subbands 8801 * @note: btstack_type 1 8802 */ 8803 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 8804 return event[14]; 8805 } 8806 /** 8807 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8808 * @param event packet 8809 * @return allocation_method 8810 * @note: btstack_type 1 8811 */ 8812 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 8813 return event[15]; 8814 } 8815 /** 8816 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8817 * @param event packet 8818 * @return min_bitpool_value 8819 * @note: btstack_type 1 8820 */ 8821 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 8822 return event[16]; 8823 } 8824 /** 8825 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8826 * @param event packet 8827 * @return max_bitpool_value 8828 * @note: btstack_type 1 8829 */ 8830 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 8831 return event[17]; 8832 } 8833 8834 /** 8835 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8836 * @param event packet 8837 * @return avdtp_cid 8838 * @note: btstack_type 2 8839 */ 8840 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ 8841 return little_endian_read_16(event, 3); 8842 } 8843 /** 8844 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8845 * @param event packet 8846 * @return local_seid 8847 * @note: btstack_type 1 8848 */ 8849 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 8850 return event[5]; 8851 } 8852 /** 8853 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8854 * @param event packet 8855 * @return remote_seid 8856 * @note: btstack_type 1 8857 */ 8858 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 8859 return event[6]; 8860 } 8861 /** 8862 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8863 * @param event packet 8864 * @return reconfigure 8865 * @note: btstack_type 1 8866 */ 8867 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 8868 return event[7]; 8869 } 8870 /** 8871 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8872 * @param event packet 8873 * @return media_type 8874 * @note: btstack_type 1 8875 */ 8876 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 8877 return event[8]; 8878 } 8879 /** 8880 * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8881 * @param event packet 8882 * @return layer 8883 * @note: btstack_type 1 8884 */ 8885 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 8886 return event[9]; 8887 } 8888 /** 8889 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8890 * @param event packet 8891 * @return crc 8892 * @note: btstack_type 1 8893 */ 8894 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 8895 return event[10]; 8896 } 8897 /** 8898 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8899 * @param event packet 8900 * @return channel_mode 8901 * @note: btstack_type 1 8902 */ 8903 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 8904 return event[11]; 8905 } 8906 /** 8907 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8908 * @param event packet 8909 * @return num_channels 8910 * @note: btstack_type 1 8911 */ 8912 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 8913 return event[12]; 8914 } 8915 /** 8916 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8917 * @param event packet 8918 * @return media_payload_format 8919 * @note: btstack_type 1 8920 */ 8921 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 8922 return event[13]; 8923 } 8924 /** 8925 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8926 * @param event packet 8927 * @return sampling_frequency 8928 * @note: btstack_type 2 8929 */ 8930 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 8931 return little_endian_read_16(event, 14); 8932 } 8933 /** 8934 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8935 * @param event packet 8936 * @return vbr 8937 * @note: btstack_type 1 8938 */ 8939 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 8940 return event[16]; 8941 } 8942 /** 8943 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8944 * @param event packet 8945 * @return bit_rate_index 8946 * @note: btstack_type 1 8947 */ 8948 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 8949 return event[17]; 8950 } 8951 8952 /** 8953 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8954 * @param event packet 8955 * @return avdtp_cid 8956 * @note: btstack_type 2 8957 */ 8958 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ 8959 return little_endian_read_16(event, 3); 8960 } 8961 /** 8962 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8963 * @param event packet 8964 * @return local_seid 8965 * @note: btstack_type 1 8966 */ 8967 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 8968 return event[5]; 8969 } 8970 /** 8971 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8972 * @param event packet 8973 * @return remote_seid 8974 * @note: btstack_type 1 8975 */ 8976 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 8977 return event[6]; 8978 } 8979 /** 8980 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8981 * @param event packet 8982 * @return reconfigure 8983 * @note: btstack_type 1 8984 */ 8985 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 8986 return event[7]; 8987 } 8988 /** 8989 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8990 * @param event packet 8991 * @return media_type 8992 * @note: btstack_type 1 8993 */ 8994 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 8995 return event[8]; 8996 } 8997 /** 8998 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8999 * @param event packet 9000 * @return object_type 9001 * @note: btstack_type 1 9002 */ 9003 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 9004 return event[9]; 9005 } 9006 /** 9007 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9008 * @param event packet 9009 * @return sampling_frequency 9010 * @note: btstack_type 3 9011 */ 9012 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 9013 return little_endian_read_24(event, 10); 9014 } 9015 /** 9016 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9017 * @param event packet 9018 * @return num_channels 9019 * @note: btstack_type 1 9020 */ 9021 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9022 return event[13]; 9023 } 9024 /** 9025 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9026 * @param event packet 9027 * @return bit_rate 9028 * @note: btstack_type 3 9029 */ 9030 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9031 return little_endian_read_24(event, 14); 9032 } 9033 /** 9034 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9035 * @param event packet 9036 * @return vbr 9037 * @note: btstack_type 1 9038 */ 9039 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9040 return event[17]; 9041 } 9042 9043 /** 9044 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9045 * @param event packet 9046 * @return avdtp_cid 9047 * @note: btstack_type 2 9048 */ 9049 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ 9050 return little_endian_read_16(event, 3); 9051 } 9052 /** 9053 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9054 * @param event packet 9055 * @return local_seid 9056 * @note: btstack_type 1 9057 */ 9058 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9059 return event[5]; 9060 } 9061 /** 9062 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9063 * @param event packet 9064 * @return remote_seid 9065 * @note: btstack_type 1 9066 */ 9067 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9068 return event[6]; 9069 } 9070 /** 9071 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9072 * @param event packet 9073 * @return reconfigure 9074 * @note: btstack_type 1 9075 */ 9076 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9077 return event[7]; 9078 } 9079 /** 9080 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9081 * @param event packet 9082 * @return media_type 9083 * @note: btstack_type 1 9084 */ 9085 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9086 return event[8]; 9087 } 9088 /** 9089 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9090 * @param event packet 9091 * @return version 9092 * @note: btstack_type 1 9093 */ 9094 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9095 return event[9]; 9096 } 9097 /** 9098 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9099 * @param event packet 9100 * @return channel_mode 9101 * @note: btstack_type 1 9102 */ 9103 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9104 return event[10]; 9105 } 9106 /** 9107 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9108 * @param event packet 9109 * @return num_channels 9110 * @note: btstack_type 1 9111 */ 9112 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9113 return event[11]; 9114 } 9115 /** 9116 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9117 * @param event packet 9118 * @return sampling_frequency 9119 * @note: btstack_type 2 9120 */ 9121 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9122 return little_endian_read_16(event, 12); 9123 } 9124 /** 9125 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9126 * @param event packet 9127 * @return vbr 9128 * @note: btstack_type 1 9129 */ 9130 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9131 return event[14]; 9132 } 9133 /** 9134 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9135 * @param event packet 9136 * @return bit_rate_index 9137 * @note: btstack_type 1 9138 */ 9139 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9140 return event[15]; 9141 } 9142 /** 9143 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9144 * @param event packet 9145 * @return maximum_sul 9146 * @note: btstack_type 2 9147 */ 9148 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9149 return little_endian_read_16(event, 16); 9150 } 9151 9152 /** 9153 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9154 * @param event packet 9155 * @return avdtp_cid 9156 * @note: btstack_type 2 9157 */ 9158 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 9159 return little_endian_read_16(event, 3); 9160 } 9161 /** 9162 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9163 * @param event packet 9164 * @return local_seid 9165 * @note: btstack_type 1 9166 */ 9167 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9168 return event[5]; 9169 } 9170 /** 9171 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9172 * @param event packet 9173 * @return remote_seid 9174 * @note: btstack_type 1 9175 */ 9176 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9177 return event[6]; 9178 } 9179 /** 9180 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9181 * @param event packet 9182 * @return reconfigure 9183 * @note: btstack_type 1 9184 */ 9185 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9186 return event[7]; 9187 } 9188 /** 9189 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9190 * @param event packet 9191 * @return media_type 9192 * @note: btstack_type 1 9193 */ 9194 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9195 return event[8]; 9196 } 9197 /** 9198 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9199 * @param event packet 9200 * @return media_codec_type 9201 * @note: btstack_type 2 9202 */ 9203 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9204 return little_endian_read_16(event, 9); 9205 } 9206 /** 9207 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9208 * @param event packet 9209 * @return media_codec_information_len 9210 * @note: btstack_type L 9211 */ 9212 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9213 return little_endian_read_16(event, 11); 9214 } 9215 /** 9216 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9217 * @param event packet 9218 * @return media_codec_information 9219 * @note: btstack_type V 9220 */ 9221 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9222 return &event[13]; 9223 } 9224 9225 /** 9226 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9227 * @param event packet 9228 * @return avdtp_cid 9229 * @note: btstack_type 2 9230 */ 9231 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 9232 return little_endian_read_16(event, 3); 9233 } 9234 /** 9235 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9236 * @param event packet 9237 * @param Pointer to storage for bd_addr 9238 * @note: btstack_type B 9239 */ 9240 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9241 reverse_bytes(&event[5], bd_addr, 6); 9242 } 9243 /** 9244 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9245 * @param event packet 9246 * @return local_seid 9247 * @note: btstack_type 1 9248 */ 9249 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 9250 return event[11]; 9251 } 9252 /** 9253 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9254 * @param event packet 9255 * @return remote_seid 9256 * @note: btstack_type 1 9257 */ 9258 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 9259 return event[12]; 9260 } 9261 /** 9262 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 9263 * @param event packet 9264 * @return status 9265 * @note: btstack_type 1 9266 */ 9267 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 9268 return event[13]; 9269 } 9270 9271 /** 9272 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9273 * @param event packet 9274 * @return avdtp_cid 9275 * @note: btstack_type 2 9276 */ 9277 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 9278 return little_endian_read_16(event, 3); 9279 } 9280 /** 9281 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 9282 * @param event packet 9283 * @return local_seid 9284 * @note: btstack_type 1 9285 */ 9286 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 9287 return event[5]; 9288 } 9289 9290 /** 9291 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9292 * @param event packet 9293 * @return avdtp_cid 9294 * @note: btstack_type 2 9295 */ 9296 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 9297 return little_endian_read_16(event, 3); 9298 } 9299 /** 9300 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9301 * @param event packet 9302 * @return local_seid 9303 * @note: btstack_type 1 9304 */ 9305 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9306 return event[5]; 9307 } 9308 /** 9309 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9310 * @param event packet 9311 * @return sequence_number 9312 * @note: btstack_type 2 9313 */ 9314 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 9315 return little_endian_read_16(event, 6); 9316 } 9317 9318 /** 9319 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 9320 * @param event packet 9321 * @return avdtp_cid 9322 * @note: btstack_type 2 9323 */ 9324 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 9325 return little_endian_read_16(event, 3); 9326 } 9327 9328 /** 9329 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9330 * @param event packet 9331 * @return avdtp_cid 9332 * @note: btstack_type 2 9333 */ 9334 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 9335 return little_endian_read_16(event, 3); 9336 } 9337 /** 9338 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9339 * @param event packet 9340 * @return local_seid 9341 * @note: btstack_type 1 9342 */ 9343 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 9344 return event[5]; 9345 } 9346 /** 9347 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 9348 * @param event packet 9349 * @return delay_100us 9350 * @note: btstack_type 2 9351 */ 9352 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 9353 return little_endian_read_16(event, 6); 9354 } 9355 9356 /** 9357 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9358 * @param event packet 9359 * @return a2dp_cid 9360 * @note: btstack_type 2 9361 */ 9362 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 9363 return little_endian_read_16(event, 3); 9364 } 9365 /** 9366 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 9367 * @param event packet 9368 * @return local_seid 9369 * @note: btstack_type 1 9370 */ 9371 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 9372 return event[5]; 9373 } 9374 9375 /** 9376 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9377 * @param event packet 9378 * @return a2dp_cid 9379 * @note: btstack_type 2 9380 */ 9381 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 9382 return little_endian_read_16(event, 3); 9383 } 9384 /** 9385 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9386 * @param event packet 9387 * @return local_seid 9388 * @note: btstack_type 1 9389 */ 9390 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 9391 return event[5]; 9392 } 9393 /** 9394 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9395 * @param event packet 9396 * @return remote_seid 9397 * @note: btstack_type 1 9398 */ 9399 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 9400 return event[6]; 9401 } 9402 /** 9403 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9404 * @param event packet 9405 * @return reconfigure 9406 * @note: btstack_type 1 9407 */ 9408 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 9409 return event[7]; 9410 } 9411 /** 9412 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9413 * @param event packet 9414 * @return media_type 9415 * @note: btstack_type 1 9416 */ 9417 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 9418 return event[8]; 9419 } 9420 /** 9421 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9422 * @param event packet 9423 * @return sampling_frequency 9424 * @note: btstack_type 2 9425 */ 9426 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 9427 return little_endian_read_16(event, 9); 9428 } 9429 /** 9430 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9431 * @param event packet 9432 * @return channel_mode 9433 * @note: btstack_type 1 9434 */ 9435 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 9436 return event[11]; 9437 } 9438 /** 9439 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9440 * @param event packet 9441 * @return num_channels 9442 * @note: btstack_type 1 9443 */ 9444 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 9445 return event[12]; 9446 } 9447 /** 9448 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9449 * @param event packet 9450 * @return block_length 9451 * @note: btstack_type 1 9452 */ 9453 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 9454 return event[13]; 9455 } 9456 /** 9457 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9458 * @param event packet 9459 * @return subbands 9460 * @note: btstack_type 1 9461 */ 9462 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 9463 return event[14]; 9464 } 9465 /** 9466 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9467 * @param event packet 9468 * @return allocation_method 9469 * @note: btstack_type 1 9470 */ 9471 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 9472 return event[15]; 9473 } 9474 /** 9475 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9476 * @param event packet 9477 * @return min_bitpool_value 9478 * @note: btstack_type 1 9479 */ 9480 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 9481 return event[16]; 9482 } 9483 /** 9484 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 9485 * @param event packet 9486 * @return max_bitpool_value 9487 * @note: btstack_type 1 9488 */ 9489 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 9490 return event[17]; 9491 } 9492 9493 /** 9494 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9495 * @param event packet 9496 * @return a2dp_cid 9497 * @note: btstack_type 2 9498 */ 9499 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_a2dp_cid(const uint8_t * event){ 9500 return little_endian_read_16(event, 3); 9501 } 9502 /** 9503 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9504 * @param event packet 9505 * @return local_seid 9506 * @note: btstack_type 1 9507 */ 9508 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 9509 return event[5]; 9510 } 9511 /** 9512 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9513 * @param event packet 9514 * @return remote_seid 9515 * @note: btstack_type 1 9516 */ 9517 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 9518 return event[6]; 9519 } 9520 /** 9521 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9522 * @param event packet 9523 * @return reconfigure 9524 * @note: btstack_type 1 9525 */ 9526 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 9527 return event[7]; 9528 } 9529 /** 9530 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9531 * @param event packet 9532 * @return media_type 9533 * @note: btstack_type 1 9534 */ 9535 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 9536 return event[8]; 9537 } 9538 /** 9539 * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9540 * @param event packet 9541 * @return layer 9542 * @note: btstack_type 1 9543 */ 9544 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 9545 return event[9]; 9546 } 9547 /** 9548 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9549 * @param event packet 9550 * @return crc 9551 * @note: btstack_type 1 9552 */ 9553 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 9554 return event[10]; 9555 } 9556 /** 9557 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9558 * @param event packet 9559 * @return channel_mode 9560 * @note: btstack_type 1 9561 */ 9562 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 9563 return event[11]; 9564 } 9565 /** 9566 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9567 * @param event packet 9568 * @return num_channels 9569 * @note: btstack_type 1 9570 */ 9571 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 9572 return event[12]; 9573 } 9574 /** 9575 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9576 * @param event packet 9577 * @return media_payload_format 9578 * @note: btstack_type 1 9579 */ 9580 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 9581 return event[13]; 9582 } 9583 /** 9584 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9585 * @param event packet 9586 * @return sampling_frequency 9587 * @note: btstack_type 2 9588 */ 9589 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 9590 return little_endian_read_16(event, 14); 9591 } 9592 /** 9593 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9594 * @param event packet 9595 * @return vbr 9596 * @note: btstack_type 1 9597 */ 9598 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 9599 return event[16]; 9600 } 9601 /** 9602 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 9603 * @param event packet 9604 * @return bit_rate_index 9605 * @note: btstack_type 1 9606 */ 9607 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 9608 return event[17]; 9609 } 9610 9611 /** 9612 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9613 * @param event packet 9614 * @return a2dp_cid 9615 * @note: btstack_type 2 9616 */ 9617 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_a2dp_cid(const uint8_t * event){ 9618 return little_endian_read_16(event, 3); 9619 } 9620 /** 9621 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9622 * @param event packet 9623 * @return local_seid 9624 * @note: btstack_type 1 9625 */ 9626 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 9627 return event[5]; 9628 } 9629 /** 9630 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9631 * @param event packet 9632 * @return remote_seid 9633 * @note: btstack_type 1 9634 */ 9635 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 9636 return event[6]; 9637 } 9638 /** 9639 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9640 * @param event packet 9641 * @return reconfigure 9642 * @note: btstack_type 1 9643 */ 9644 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 9645 return event[7]; 9646 } 9647 /** 9648 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9649 * @param event packet 9650 * @return media_type 9651 * @note: btstack_type 1 9652 */ 9653 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 9654 return event[8]; 9655 } 9656 /** 9657 * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9658 * @param event packet 9659 * @return object_type 9660 * @note: btstack_type 1 9661 */ 9662 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 9663 return event[9]; 9664 } 9665 /** 9666 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9667 * @param event packet 9668 * @return sampling_frequency 9669 * @note: btstack_type 3 9670 */ 9671 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 9672 return little_endian_read_24(event, 10); 9673 } 9674 /** 9675 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9676 * @param event packet 9677 * @return num_channels 9678 * @note: btstack_type 1 9679 */ 9680 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 9681 return event[13]; 9682 } 9683 /** 9684 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9685 * @param event packet 9686 * @return bit_rate 9687 * @note: btstack_type 3 9688 */ 9689 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9690 return little_endian_read_24(event, 14); 9691 } 9692 /** 9693 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9694 * @param event packet 9695 * @return vbr 9696 * @note: btstack_type 1 9697 */ 9698 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9699 return event[17]; 9700 } 9701 9702 /** 9703 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9704 * @param event packet 9705 * @return a2dp_cid 9706 * @note: btstack_type 2 9707 */ 9708 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_a2dp_cid(const uint8_t * event){ 9709 return little_endian_read_16(event, 3); 9710 } 9711 /** 9712 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9713 * @param event packet 9714 * @return local_seid 9715 * @note: btstack_type 1 9716 */ 9717 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9718 return event[5]; 9719 } 9720 /** 9721 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9722 * @param event packet 9723 * @return remote_seid 9724 * @note: btstack_type 1 9725 */ 9726 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9727 return event[6]; 9728 } 9729 /** 9730 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9731 * @param event packet 9732 * @return reconfigure 9733 * @note: btstack_type 1 9734 */ 9735 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9736 return event[7]; 9737 } 9738 /** 9739 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9740 * @param event packet 9741 * @return media_type 9742 * @note: btstack_type 1 9743 */ 9744 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9745 return event[8]; 9746 } 9747 /** 9748 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9749 * @param event packet 9750 * @return version 9751 * @note: btstack_type 1 9752 */ 9753 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9754 return event[9]; 9755 } 9756 /** 9757 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9758 * @param event packet 9759 * @return channel_mode 9760 * @note: btstack_type 1 9761 */ 9762 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9763 return event[10]; 9764 } 9765 /** 9766 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9767 * @param event packet 9768 * @return num_channels 9769 * @note: btstack_type 1 9770 */ 9771 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9772 return event[11]; 9773 } 9774 /** 9775 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9776 * @param event packet 9777 * @return sampling_frequency 9778 * @note: btstack_type 2 9779 */ 9780 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9781 return little_endian_read_16(event, 12); 9782 } 9783 /** 9784 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9785 * @param event packet 9786 * @return vbr 9787 * @note: btstack_type 1 9788 */ 9789 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9790 return event[14]; 9791 } 9792 /** 9793 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9794 * @param event packet 9795 * @return bit_rate_index 9796 * @note: btstack_type 1 9797 */ 9798 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9799 return event[15]; 9800 } 9801 /** 9802 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9803 * @param event packet 9804 * @return maximum_sul 9805 * @note: btstack_type 2 9806 */ 9807 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9808 return little_endian_read_16(event, 16); 9809 } 9810 9811 /** 9812 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9813 * @param event packet 9814 * @return a2dp_cid 9815 * @note: btstack_type 2 9816 */ 9817 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 9818 return little_endian_read_16(event, 3); 9819 } 9820 /** 9821 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9822 * @param event packet 9823 * @return local_seid 9824 * @note: btstack_type 1 9825 */ 9826 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9827 return event[5]; 9828 } 9829 /** 9830 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9831 * @param event packet 9832 * @return remote_seid 9833 * @note: btstack_type 1 9834 */ 9835 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9836 return event[6]; 9837 } 9838 /** 9839 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9840 * @param event packet 9841 * @return reconfigure 9842 * @note: btstack_type 1 9843 */ 9844 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9845 return event[7]; 9846 } 9847 /** 9848 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9849 * @param event packet 9850 * @return media_type 9851 * @note: btstack_type 1 9852 */ 9853 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9854 return event[8]; 9855 } 9856 /** 9857 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9858 * @param event packet 9859 * @return media_codec_type 9860 * @note: btstack_type 2 9861 */ 9862 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9863 return little_endian_read_16(event, 9); 9864 } 9865 /** 9866 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9867 * @param event packet 9868 * @return media_codec_information_len 9869 * @note: btstack_type L 9870 */ 9871 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9872 return little_endian_read_16(event, 11); 9873 } 9874 /** 9875 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9876 * @param event packet 9877 * @return media_codec_information 9878 * @note: btstack_type V 9879 */ 9880 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9881 return &event[13]; 9882 } 9883 9884 /** 9885 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9886 * @param event packet 9887 * @return a2dp_cid 9888 * @note: btstack_type 2 9889 */ 9890 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 9891 return little_endian_read_16(event, 3); 9892 } 9893 /** 9894 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9895 * @param event packet 9896 * @param Pointer to storage for bd_addr 9897 * @note: btstack_type B 9898 */ 9899 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9900 reverse_bytes(&event[5], bd_addr, 6); 9901 } 9902 /** 9903 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9904 * @param event packet 9905 * @return local_seid 9906 * @note: btstack_type 1 9907 */ 9908 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 9909 return event[11]; 9910 } 9911 /** 9912 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9913 * @param event packet 9914 * @return remote_seid 9915 * @note: btstack_type 1 9916 */ 9917 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 9918 return event[12]; 9919 } 9920 /** 9921 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9922 * @param event packet 9923 * @return status 9924 * @note: btstack_type 1 9925 */ 9926 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 9927 return event[13]; 9928 } 9929 9930 /** 9931 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9932 * @param event packet 9933 * @return a2dp_cid 9934 * @note: btstack_type 2 9935 */ 9936 static inline uint16_t a2dp_subevent_start_stream_requested_get_a2dp_cid(const uint8_t * event){ 9937 return little_endian_read_16(event, 3); 9938 } 9939 /** 9940 * @brief Get field local_seid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9941 * @param event packet 9942 * @return local_seid 9943 * @note: btstack_type 1 9944 */ 9945 static inline uint8_t a2dp_subevent_start_stream_requested_get_local_seid(const uint8_t * event){ 9946 return event[5]; 9947 } 9948 9949 /** 9950 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 9951 * @param event packet 9952 * @return a2dp_cid 9953 * @note: btstack_type 2 9954 */ 9955 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 9956 return little_endian_read_16(event, 3); 9957 } 9958 /** 9959 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 9960 * @param event packet 9961 * @return local_seid 9962 * @note: btstack_type 1 9963 */ 9964 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 9965 return event[5]; 9966 } 9967 9968 /** 9969 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9970 * @param event packet 9971 * @return a2dp_cid 9972 * @note: btstack_type 2 9973 */ 9974 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 9975 return little_endian_read_16(event, 3); 9976 } 9977 /** 9978 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9979 * @param event packet 9980 * @return local_seid 9981 * @note: btstack_type 1 9982 */ 9983 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 9984 return event[5]; 9985 } 9986 9987 /** 9988 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 9989 * @param event packet 9990 * @return a2dp_cid 9991 * @note: btstack_type 2 9992 */ 9993 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 9994 return little_endian_read_16(event, 3); 9995 } 9996 /** 9997 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 9998 * @param event packet 9999 * @return local_seid 10000 * @note: btstack_type 1 10001 */ 10002 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 10003 return event[5]; 10004 } 10005 10006 /** 10007 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 10008 * @param event packet 10009 * @return a2dp_cid 10010 * @note: btstack_type 2 10011 */ 10012 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 10013 return little_endian_read_16(event, 3); 10014 } 10015 /** 10016 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 10017 * @param event packet 10018 * @return local_seid 10019 * @note: btstack_type 1 10020 */ 10021 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 10022 return event[5]; 10023 } 10024 10025 /** 10026 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10027 * @param event packet 10028 * @return a2dp_cid 10029 * @note: btstack_type 2 10030 */ 10031 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 10032 return little_endian_read_16(event, 3); 10033 } 10034 /** 10035 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10036 * @param event packet 10037 * @return local_seid 10038 * @note: btstack_type 1 10039 */ 10040 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 10041 return event[5]; 10042 } 10043 /** 10044 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 10045 * @param event packet 10046 * @return signal_identifier 10047 * @note: btstack_type 1 10048 */ 10049 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 10050 return event[6]; 10051 } 10052 10053 /** 10054 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 10055 * @param event packet 10056 * @return a2dp_cid 10057 * @note: btstack_type 2 10058 */ 10059 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 10060 return little_endian_read_16(event, 3); 10061 } 10062 /** 10063 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 10064 * @param event packet 10065 * @return local_seid 10066 * @note: btstack_type 1 10067 */ 10068 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 10069 return event[5]; 10070 } 10071 /** 10072 * @brief Get field is_initiator from event A2DP_SUBEVENT_COMMAND_REJECTED 10073 * @param event packet 10074 * @return is_initiator 10075 * @note: btstack_type 1 10076 */ 10077 static inline uint8_t a2dp_subevent_command_rejected_get_is_initiator(const uint8_t * event){ 10078 return event[6]; 10079 } 10080 /** 10081 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 10082 * @param event packet 10083 * @return signal_identifier 10084 * @note: btstack_type 1 10085 */ 10086 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 10087 return event[7]; 10088 } 10089 10090 /** 10091 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10092 * @param event packet 10093 * @return a2dp_cid 10094 * @note: btstack_type 2 10095 */ 10096 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 10097 return little_endian_read_16(event, 3); 10098 } 10099 /** 10100 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10101 * @param event packet 10102 * @param Pointer to storage for bd_addr 10103 * @note: btstack_type B 10104 */ 10105 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10106 reverse_bytes(&event[5], bd_addr, 6); 10107 } 10108 /** 10109 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10110 * @param event packet 10111 * @return con_handle 10112 * @note: btstack_type 2 10113 */ 10114 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 10115 return little_endian_read_16(event, 11); 10116 } 10117 /** 10118 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 10119 * @param event packet 10120 * @return status 10121 * @note: btstack_type 1 10122 */ 10123 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 10124 return event[13]; 10125 } 10126 10127 /** 10128 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 10129 * @param event packet 10130 * @return a2dp_cid 10131 * @note: btstack_type 2 10132 */ 10133 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 10134 return little_endian_read_16(event, 3); 10135 } 10136 10137 /** 10138 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10139 * @param event packet 10140 * @return a2dp_cid 10141 * @note: btstack_type 2 10142 */ 10143 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 10144 return little_endian_read_16(event, 3); 10145 } 10146 /** 10147 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10148 * @param event packet 10149 * @return local_seid 10150 * @note: btstack_type 1 10151 */ 10152 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 10153 return event[5]; 10154 } 10155 /** 10156 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 10157 * @param event packet 10158 * @return status 10159 * @note: btstack_type 1 10160 */ 10161 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 10162 return event[6]; 10163 } 10164 10165 /** 10166 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10167 * @param event packet 10168 * @return a2dp_cid 10169 * @note: btstack_type 2 10170 */ 10171 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_a2dp_cid(const uint8_t * event){ 10172 return little_endian_read_16(event, 3); 10173 } 10174 /** 10175 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10176 * @param event packet 10177 * @return remote_seid 10178 * @note: btstack_type 1 10179 */ 10180 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 10181 return event[5]; 10182 } 10183 /** 10184 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10185 * @param event packet 10186 * @return media_type 10187 * @note: btstack_type 1 10188 */ 10189 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 10190 return event[6]; 10191 } 10192 /** 10193 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10194 * @param event packet 10195 * @return sampling_frequency_bitmap 10196 * @note: btstack_type 1 10197 */ 10198 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10199 return event[7]; 10200 } 10201 /** 10202 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10203 * @param event packet 10204 * @return channel_mode_bitmap 10205 * @note: btstack_type 1 10206 */ 10207 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 10208 return event[8]; 10209 } 10210 /** 10211 * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10212 * @param event packet 10213 * @return block_length_bitmap 10214 * @note: btstack_type 1 10215 */ 10216 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 10217 return event[9]; 10218 } 10219 /** 10220 * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10221 * @param event packet 10222 * @return subbands_bitmap 10223 * @note: btstack_type 1 10224 */ 10225 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 10226 return event[10]; 10227 } 10228 /** 10229 * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10230 * @param event packet 10231 * @return allocation_method_bitmap 10232 * @note: btstack_type 1 10233 */ 10234 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 10235 return event[11]; 10236 } 10237 /** 10238 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10239 * @param event packet 10240 * @return min_bitpool_value 10241 * @note: btstack_type 1 10242 */ 10243 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 10244 return event[12]; 10245 } 10246 /** 10247 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 10248 * @param event packet 10249 * @return max_bitpool_value 10250 * @note: btstack_type 1 10251 */ 10252 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 10253 return event[13]; 10254 } 10255 10256 /** 10257 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10258 * @param event packet 10259 * @return a2dp_cid 10260 * @note: btstack_type 2 10261 */ 10262 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_a2dp_cid(const uint8_t * event){ 10263 return little_endian_read_16(event, 3); 10264 } 10265 /** 10266 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10267 * @param event packet 10268 * @return remote_seid 10269 * @note: btstack_type 1 10270 */ 10271 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 10272 return event[5]; 10273 } 10274 /** 10275 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10276 * @param event packet 10277 * @return media_type 10278 * @note: btstack_type 1 10279 */ 10280 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 10281 return event[6]; 10282 } 10283 /** 10284 * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10285 * @param event packet 10286 * @return layer_bitmap 10287 * @note: btstack_type 1 10288 */ 10289 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 10290 return event[7]; 10291 } 10292 /** 10293 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10294 * @param event packet 10295 * @return crc 10296 * @note: btstack_type 1 10297 */ 10298 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 10299 return event[8]; 10300 } 10301 /** 10302 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10303 * @param event packet 10304 * @return channel_mode_bitmap 10305 * @note: btstack_type 1 10306 */ 10307 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 10308 return event[9]; 10309 } 10310 /** 10311 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10312 * @param event packet 10313 * @return media_payload_format 10314 * @note: btstack_type 1 10315 */ 10316 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 10317 return event[10]; 10318 } 10319 /** 10320 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10321 * @param event packet 10322 * @return sampling_frequency_bitmap 10323 * @note: btstack_type 1 10324 */ 10325 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10326 return event[11]; 10327 } 10328 /** 10329 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10330 * @param event packet 10331 * @return vbr 10332 * @note: btstack_type 1 10333 */ 10334 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 10335 return event[12]; 10336 } 10337 /** 10338 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 10339 * @param event packet 10340 * @return bit_rate_index_bitmap 10341 * @note: btstack_type 2 10342 */ 10343 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10344 return little_endian_read_16(event, 13); 10345 } 10346 10347 /** 10348 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10349 * @param event packet 10350 * @return a2dp_cid 10351 * @note: btstack_type 2 10352 */ 10353 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_a2dp_cid(const uint8_t * event){ 10354 return little_endian_read_16(event, 3); 10355 } 10356 /** 10357 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10358 * @param event packet 10359 * @return remote_seid 10360 * @note: btstack_type 1 10361 */ 10362 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 10363 return event[5]; 10364 } 10365 /** 10366 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10367 * @param event packet 10368 * @return media_type 10369 * @note: btstack_type 1 10370 */ 10371 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 10372 return event[6]; 10373 } 10374 /** 10375 * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10376 * @param event packet 10377 * @return object_type_bitmap 10378 * @note: btstack_type 1 10379 */ 10380 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 10381 return event[7]; 10382 } 10383 /** 10384 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10385 * @param event packet 10386 * @return sampling_frequency_bitmap 10387 * @note: btstack_type 2 10388 */ 10389 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10390 return little_endian_read_16(event, 8); 10391 } 10392 /** 10393 * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10394 * @param event packet 10395 * @return channels_bitmap 10396 * @note: btstack_type 1 10397 */ 10398 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 10399 return event[10]; 10400 } 10401 /** 10402 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10403 * @param event packet 10404 * @return bit_rate 10405 * @note: btstack_type 3 10406 */ 10407 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 10408 return little_endian_read_24(event, 11); 10409 } 10410 /** 10411 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 10412 * @param event packet 10413 * @return vbr 10414 * @note: btstack_type 1 10415 */ 10416 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 10417 return event[14]; 10418 } 10419 10420 /** 10421 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10422 * @param event packet 10423 * @return a2dp_cid 10424 * @note: btstack_type 2 10425 */ 10426 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_a2dp_cid(const uint8_t * event){ 10427 return little_endian_read_16(event, 3); 10428 } 10429 /** 10430 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10431 * @param event packet 10432 * @return remote_seid 10433 * @note: btstack_type 1 10434 */ 10435 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 10436 return event[5]; 10437 } 10438 /** 10439 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10440 * @param event packet 10441 * @return media_type 10442 * @note: btstack_type 1 10443 */ 10444 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 10445 return event[6]; 10446 } 10447 /** 10448 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10449 * @param event packet 10450 * @return version 10451 * @note: btstack_type 1 10452 */ 10453 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 10454 return event[7]; 10455 } 10456 /** 10457 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10458 * @param event packet 10459 * @return channel_mode_bitmap 10460 * @note: btstack_type 1 10461 */ 10462 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 10463 return event[8]; 10464 } 10465 /** 10466 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10467 * @param event packet 10468 * @return sampling_frequency_bitmap 10469 * @note: btstack_type 1 10470 */ 10471 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 10472 return event[9]; 10473 } 10474 /** 10475 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10476 * @param event packet 10477 * @return vbr 10478 * @note: btstack_type 1 10479 */ 10480 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 10481 return event[10]; 10482 } 10483 /** 10484 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10485 * @param event packet 10486 * @return bit_rate_index_bitmap 10487 * @note: btstack_type 3 10488 */ 10489 static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 10490 return little_endian_read_24(event, 11); 10491 } 10492 /** 10493 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 10494 * @param event packet 10495 * @return maximum_sul 10496 * @note: btstack_type 2 10497 */ 10498 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 10499 return little_endian_read_16(event, 14); 10500 } 10501 10502 /** 10503 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10504 * @param event packet 10505 * @return a2dp_cid 10506 * @note: btstack_type 2 10507 */ 10508 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_a2dp_cid(const uint8_t * event){ 10509 return little_endian_read_16(event, 3); 10510 } 10511 /** 10512 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10513 * @param event packet 10514 * @return remote_seid 10515 * @note: btstack_type 1 10516 */ 10517 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 10518 return event[5]; 10519 } 10520 /** 10521 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10522 * @param event packet 10523 * @return media_type 10524 * @note: btstack_type 1 10525 */ 10526 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 10527 return event[6]; 10528 } 10529 /** 10530 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10531 * @param event packet 10532 * @return media_codec_type 10533 * @note: btstack_type 2 10534 */ 10535 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 10536 return little_endian_read_16(event, 7); 10537 } 10538 /** 10539 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10540 * @param event packet 10541 * @return media_codec_information_len 10542 * @note: btstack_type L 10543 */ 10544 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 10545 return little_endian_read_16(event, 9); 10546 } 10547 /** 10548 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 10549 * @param event packet 10550 * @return media_codec_information 10551 * @note: btstack_type V 10552 */ 10553 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 10554 return &event[11]; 10555 } 10556 10557 /** 10558 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10559 * @param event packet 10560 * @return a2dp_cid 10561 * @note: btstack_type 2 10562 */ 10563 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_a2dp_cid(const uint8_t * event){ 10564 return little_endian_read_16(event, 3); 10565 } 10566 /** 10567 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 10568 * @param event packet 10569 * @return remote_seid 10570 * @note: btstack_type 1 10571 */ 10572 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 10573 return event[5]; 10574 } 10575 10576 /** 10577 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10578 * @param event packet 10579 * @return a2dp_cid 10580 * @note: btstack_type 2 10581 */ 10582 static inline uint16_t a2dp_subevent_signaling_delay_report_get_a2dp_cid(const uint8_t * event){ 10583 return little_endian_read_16(event, 3); 10584 } 10585 /** 10586 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10587 * @param event packet 10588 * @return local_seid 10589 * @note: btstack_type 1 10590 */ 10591 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 10592 return event[5]; 10593 } 10594 /** 10595 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 10596 * @param event packet 10597 * @return delay_100us 10598 * @note: btstack_type 2 10599 */ 10600 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 10601 return little_endian_read_16(event, 6); 10602 } 10603 10604 /** 10605 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10606 * @param event packet 10607 * @return a2dp_cid 10608 * @note: btstack_type 2 10609 */ 10610 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_a2dp_cid(const uint8_t * event){ 10611 return little_endian_read_16(event, 3); 10612 } 10613 /** 10614 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 10615 * @param event packet 10616 * @return remote_seid 10617 * @note: btstack_type 1 10618 */ 10619 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 10620 return event[5]; 10621 } 10622 10623 /** 10624 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 10625 * @param event packet 10626 * @return a2dp_cid 10627 * @note: btstack_type 2 10628 */ 10629 static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_a2dp_cid(const uint8_t * event){ 10630 return little_endian_read_16(event, 3); 10631 } 10632 10633 /** 10634 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10635 * @param event packet 10636 * @return avrcp_cid 10637 * @note: btstack_type 2 10638 */ 10639 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 10640 return little_endian_read_16(event, 3); 10641 } 10642 /** 10643 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10644 * @param event packet 10645 * @return command_type 10646 * @note: btstack_type 1 10647 */ 10648 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 10649 return event[5]; 10650 } 10651 /** 10652 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 10653 * @param event packet 10654 * @return play_status 10655 * @note: btstack_type 1 10656 */ 10657 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 10658 return event[6]; 10659 } 10660 10661 /** 10662 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10663 * @param event packet 10664 * @return avrcp_cid 10665 * @note: btstack_type 2 10666 */ 10667 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 10668 return little_endian_read_16(event, 3); 10669 } 10670 /** 10671 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 10672 * @param event packet 10673 * @return command_type 10674 * @note: btstack_type 1 10675 */ 10676 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 10677 return event[5]; 10678 } 10679 10680 /** 10681 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10682 * @param event packet 10683 * @return avrcp_cid 10684 * @note: btstack_type 2 10685 */ 10686 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 10687 return little_endian_read_16(event, 3); 10688 } 10689 /** 10690 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10691 * @param event packet 10692 * @return command_type 10693 * @note: btstack_type 1 10694 */ 10695 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 10696 return event[5]; 10697 } 10698 10699 /** 10700 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10701 * @param event packet 10702 * @return avrcp_cid 10703 * @note: btstack_type 2 10704 */ 10705 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){ 10706 return little_endian_read_16(event, 3); 10707 } 10708 /** 10709 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10710 * @param event packet 10711 * @return command_type 10712 * @note: btstack_type 1 10713 */ 10714 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 10715 return event[5]; 10716 } 10717 10718 /** 10719 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10720 * @param event packet 10721 * @return avrcp_cid 10722 * @note: btstack_type 2 10723 */ 10724 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 10725 return little_endian_read_16(event, 3); 10726 } 10727 /** 10728 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10729 * @param event packet 10730 * @return command_type 10731 * @note: btstack_type 1 10732 */ 10733 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 10734 return event[5]; 10735 } 10736 /** 10737 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10738 * @param event packet 10739 * @return playback_position 10740 * @note: btstack_type 4 10741 */ 10742 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 10743 return little_endian_read_32(event, 6); 10744 } 10745 10746 /** 10747 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10748 * @param event packet 10749 * @return avrcp_cid 10750 * @note: btstack_type 2 10751 */ 10752 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 10753 return little_endian_read_16(event, 3); 10754 } 10755 /** 10756 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10757 * @param event packet 10758 * @return command_type 10759 * @note: btstack_type 1 10760 */ 10761 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 10762 return event[5]; 10763 } 10764 /** 10765 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10766 * @param event packet 10767 * @return battery_status 10768 * @note: btstack_type 1 10769 */ 10770 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 10771 return event[6]; 10772 } 10773 10774 /** 10775 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10776 * @param event packet 10777 * @return avrcp_cid 10778 * @note: btstack_type 2 10779 */ 10780 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 10781 return little_endian_read_16(event, 3); 10782 } 10783 /** 10784 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10785 * @param event packet 10786 * @return command_type 10787 * @note: btstack_type 1 10788 */ 10789 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 10790 return event[5]; 10791 } 10792 /** 10793 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10794 * @param event packet 10795 * @return system_status 10796 * @note: btstack_type 1 10797 */ 10798 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 10799 return event[6]; 10800 } 10801 10802 /** 10803 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10804 * @param event packet 10805 * @return avrcp_cid 10806 * @note: btstack_type 2 10807 */ 10808 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 10809 return little_endian_read_16(event, 3); 10810 } 10811 /** 10812 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10813 * @param event packet 10814 * @return command_type 10815 * @note: btstack_type 1 10816 */ 10817 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 10818 return event[5]; 10819 } 10820 10821 /** 10822 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10823 * @param event packet 10824 * @return avrcp_cid 10825 * @note: btstack_type 2 10826 */ 10827 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 10828 return little_endian_read_16(event, 3); 10829 } 10830 /** 10831 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10832 * @param event packet 10833 * @return command_type 10834 * @note: btstack_type 1 10835 */ 10836 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 10837 return event[5]; 10838 } 10839 10840 /** 10841 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10842 * @param event packet 10843 * @return avrcp_cid 10844 * @note: btstack_type 2 10845 */ 10846 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 10847 return little_endian_read_16(event, 3); 10848 } 10849 /** 10850 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10851 * @param event packet 10852 * @return command_type 10853 * @note: btstack_type 1 10854 */ 10855 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 10856 return event[5]; 10857 } 10858 /** 10859 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10860 * @param event packet 10861 * @return uid_counter 10862 * @note: btstack_type 2 10863 */ 10864 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 10865 return little_endian_read_16(event, 6); 10866 } 10867 10868 /** 10869 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10870 * @param event packet 10871 * @return avrcp_cid 10872 * @note: btstack_type 2 10873 */ 10874 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 10875 return little_endian_read_16(event, 3); 10876 } 10877 /** 10878 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10879 * @param event packet 10880 * @return command_type 10881 * @note: btstack_type 1 10882 */ 10883 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 10884 return event[5]; 10885 } 10886 /** 10887 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10888 * @param event packet 10889 * @return absolute_volume 10890 * @note: btstack_type 1 10891 */ 10892 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 10893 return event[6]; 10894 } 10895 10896 /** 10897 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10898 * @param event packet 10899 * @return avrcp_cid 10900 * @note: btstack_type 2 10901 */ 10902 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 10903 return little_endian_read_16(event, 3); 10904 } 10905 /** 10906 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10907 * @param event packet 10908 * @return command_type 10909 * @note: btstack_type 1 10910 */ 10911 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 10912 return event[5]; 10913 } 10914 /** 10915 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10916 * @param event packet 10917 * @return absolute_volume 10918 * @note: btstack_type 1 10919 */ 10920 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 10921 return event[6]; 10922 } 10923 10924 /** 10925 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10926 * @param event packet 10927 * @return avrcp_cid 10928 * @note: btstack_type 2 10929 */ 10930 static inline uint16_t avrcp_subevent_notification_state_get_avrcp_cid(const uint8_t * event){ 10931 return little_endian_read_16(event, 3); 10932 } 10933 /** 10934 * @brief Get field status from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10935 * @param event packet 10936 * @return status 10937 * @note: btstack_type 1 10938 */ 10939 static inline uint8_t avrcp_subevent_notification_state_get_status(const uint8_t * event){ 10940 return event[5]; 10941 } 10942 /** 10943 * @brief Get field enabled from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10944 * @param event packet 10945 * @return enabled 10946 * @note: btstack_type 1 10947 */ 10948 static inline uint8_t avrcp_subevent_notification_state_get_enabled(const uint8_t * event){ 10949 return event[6]; 10950 } 10951 /** 10952 * @brief Get field event_id from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10953 * @param event packet 10954 * @return event_id 10955 * @note: btstack_type 1 10956 */ 10957 static inline uint8_t avrcp_subevent_notification_state_get_event_id(const uint8_t * event){ 10958 return event[7]; 10959 } 10960 10961 /** 10962 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10963 * @param event packet 10964 * @return status 10965 * @note: btstack_type 1 10966 */ 10967 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 10968 return event[3]; 10969 } 10970 /** 10971 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10972 * @param event packet 10973 * @return avrcp_cid 10974 * @note: btstack_type 2 10975 */ 10976 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 10977 return little_endian_read_16(event, 4); 10978 } 10979 /** 10980 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10981 * @param event packet 10982 * @param Pointer to storage for bd_addr 10983 * @note: btstack_type B 10984 */ 10985 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10986 reverse_bytes(&event[6], bd_addr, 6); 10987 } 10988 /** 10989 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10990 * @param event packet 10991 * @return con_handle 10992 * @note: btstack_type 2 10993 */ 10994 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 10995 return little_endian_read_16(event, 12); 10996 } 10997 10998 /** 10999 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 11000 * @param event packet 11001 * @return avrcp_cid 11002 * @note: btstack_type 2 11003 */ 11004 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 11005 return little_endian_read_16(event, 3); 11006 } 11007 11008 /** 11009 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11010 * @param event packet 11011 * @return avrcp_cid 11012 * @note: btstack_type 2 11013 */ 11014 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 11015 return little_endian_read_16(event, 3); 11016 } 11017 /** 11018 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11019 * @param event packet 11020 * @return command_type 11021 * @note: btstack_type 1 11022 */ 11023 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 11024 return event[5]; 11025 } 11026 /** 11027 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11028 * @param event packet 11029 * @return repeat_mode 11030 * @note: btstack_type 1 11031 */ 11032 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 11033 return event[6]; 11034 } 11035 /** 11036 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 11037 * @param event packet 11038 * @return shuffle_mode 11039 * @note: btstack_type 1 11040 */ 11041 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 11042 return event[7]; 11043 } 11044 11045 /** 11046 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 11047 * @param event packet 11048 * @return avrcp_cid 11049 * @note: btstack_type 2 11050 */ 11051 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 11052 return little_endian_read_16(event, 3); 11053 } 11054 /** 11055 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 11056 * @param event packet 11057 * @return command_type 11058 * @note: btstack_type 1 11059 */ 11060 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 11061 return event[5]; 11062 } 11063 /** 11064 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 11065 * @param event packet 11066 * @return song_length 11067 * @note: btstack_type 4 11068 */ 11069 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 11070 return little_endian_read_32(event, 6); 11071 } 11072 /** 11073 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 11074 * @param event packet 11075 * @return song_position 11076 * @note: btstack_type 4 11077 */ 11078 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 11079 return little_endian_read_32(event, 10); 11080 } 11081 /** 11082 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 11083 * @param event packet 11084 * @return play_status 11085 * @note: btstack_type 1 11086 */ 11087 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 11088 return event[14]; 11089 } 11090 11091 /** 11092 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 11093 * @param event packet 11094 * @return avrcp_cid 11095 * @note: btstack_type 2 11096 */ 11097 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 11098 return little_endian_read_16(event, 3); 11099 } 11100 /** 11101 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 11102 * @param event packet 11103 * @return command_type 11104 * @note: btstack_type 1 11105 */ 11106 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 11107 return event[5]; 11108 } 11109 /** 11110 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 11111 * @param event packet 11112 * @return operation_id 11113 * @note: btstack_type 1 11114 */ 11115 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 11116 return event[6]; 11117 } 11118 11119 /** 11120 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11121 * @param event packet 11122 * @return avrcp_cid 11123 * @note: btstack_type 2 11124 */ 11125 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 11126 return little_endian_read_16(event, 3); 11127 } 11128 /** 11129 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11130 * @param event packet 11131 * @return command_type 11132 * @note: btstack_type 1 11133 */ 11134 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 11135 return event[5]; 11136 } 11137 /** 11138 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 11139 * @param event packet 11140 * @return operation_id 11141 * @note: btstack_type 1 11142 */ 11143 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 11144 return event[6]; 11145 } 11146 11147 /** 11148 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 11149 * @param event packet 11150 * @return avrcp_cid 11151 * @note: btstack_type 2 11152 */ 11153 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 11154 return little_endian_read_16(event, 3); 11155 } 11156 /** 11157 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 11158 * @param event packet 11159 * @return command_type 11160 * @note: btstack_type 1 11161 */ 11162 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 11163 return event[5]; 11164 } 11165 11166 /** 11167 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 11168 * @param event packet 11169 * @return avrcp_cid 11170 * @note: btstack_type 2 11171 */ 11172 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 11173 return little_endian_read_16(event, 3); 11174 } 11175 11176 /** 11177 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 11178 * @param event packet 11179 * @return avrcp_cid 11180 * @note: btstack_type 2 11181 */ 11182 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 11183 return little_endian_read_16(event, 3); 11184 } 11185 /** 11186 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 11187 * @param event packet 11188 * @return operation_id 11189 * @note: btstack_type 1 11190 */ 11191 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 11192 return event[5]; 11193 } 11194 /** 11195 * @brief Get field button_pressed from event AVRCP_SUBEVENT_OPERATION 11196 * @param event packet 11197 * @return button_pressed 11198 * @note: btstack_type 1 11199 */ 11200 static inline uint8_t avrcp_subevent_operation_get_button_pressed(const uint8_t * event){ 11201 return event[6]; 11202 } 11203 /** 11204 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 11205 * @param event packet 11206 * @return operands_length 11207 * @note: btstack_type 1 11208 */ 11209 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 11210 return event[7]; 11211 } 11212 /** 11213 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 11214 * @param event packet 11215 * @return operand 11216 * @note: btstack_type 1 11217 */ 11218 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 11219 return event[8]; 11220 } 11221 11222 /** 11223 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11224 * @param event packet 11225 * @return avrcp_cid 11226 * @note: btstack_type 2 11227 */ 11228 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 11229 return little_endian_read_16(event, 3); 11230 } 11231 /** 11232 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11233 * @param event packet 11234 * @return command_type 11235 * @note: btstack_type 1 11236 */ 11237 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 11238 return event[5]; 11239 } 11240 /** 11241 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 11242 * @param event packet 11243 * @return track 11244 * @note: btstack_type 1 11245 */ 11246 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 11247 return event[6]; 11248 } 11249 11250 /** 11251 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11252 * @param event packet 11253 * @return avrcp_cid 11254 * @note: btstack_type 2 11255 */ 11256 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 11257 return little_endian_read_16(event, 3); 11258 } 11259 /** 11260 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11261 * @param event packet 11262 * @return command_type 11263 * @note: btstack_type 1 11264 */ 11265 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 11266 return event[5]; 11267 } 11268 /** 11269 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 11270 * @param event packet 11271 * @return total_tracks 11272 * @note: btstack_type 1 11273 */ 11274 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 11275 return event[6]; 11276 } 11277 11278 /** 11279 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11280 * @param event packet 11281 * @return avrcp_cid 11282 * @note: btstack_type 2 11283 */ 11284 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 11285 return little_endian_read_16(event, 3); 11286 } 11287 /** 11288 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11289 * @param event packet 11290 * @return command_type 11291 * @note: btstack_type 1 11292 */ 11293 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 11294 return event[5]; 11295 } 11296 /** 11297 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 11298 * @param event packet 11299 * @return song_length 11300 * @note: btstack_type 4 11301 */ 11302 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 11303 return little_endian_read_32(event, 6); 11304 } 11305 11306 /** 11307 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11308 * @param event packet 11309 * @return avrcp_cid 11310 * @note: btstack_type 2 11311 */ 11312 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 11313 return little_endian_read_16(event, 3); 11314 } 11315 /** 11316 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11317 * @param event packet 11318 * @return command_type 11319 * @note: btstack_type 1 11320 */ 11321 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 11322 return event[5]; 11323 } 11324 /** 11325 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11326 * @param event packet 11327 * @return value_len 11328 * @note: btstack_type J 11329 */ 11330 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 11331 return event[6]; 11332 } 11333 /** 11334 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 11335 * @param event packet 11336 * @return value 11337 * @note: btstack_type V 11338 */ 11339 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 11340 return &event[7]; 11341 } 11342 11343 /** 11344 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11345 * @param event packet 11346 * @return avrcp_cid 11347 * @note: btstack_type 2 11348 */ 11349 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 11350 return little_endian_read_16(event, 3); 11351 } 11352 /** 11353 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11354 * @param event packet 11355 * @return command_type 11356 * @note: btstack_type 1 11357 */ 11358 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 11359 return event[5]; 11360 } 11361 /** 11362 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11363 * @param event packet 11364 * @return value_len 11365 * @note: btstack_type J 11366 */ 11367 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 11368 return event[6]; 11369 } 11370 /** 11371 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 11372 * @param event packet 11373 * @return value 11374 * @note: btstack_type V 11375 */ 11376 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 11377 return &event[7]; 11378 } 11379 11380 /** 11381 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11382 * @param event packet 11383 * @return avrcp_cid 11384 * @note: btstack_type 2 11385 */ 11386 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 11387 return little_endian_read_16(event, 3); 11388 } 11389 /** 11390 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11391 * @param event packet 11392 * @return command_type 11393 * @note: btstack_type 1 11394 */ 11395 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 11396 return event[5]; 11397 } 11398 /** 11399 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11400 * @param event packet 11401 * @return value_len 11402 * @note: btstack_type J 11403 */ 11404 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 11405 return event[6]; 11406 } 11407 /** 11408 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 11409 * @param event packet 11410 * @return value 11411 * @note: btstack_type V 11412 */ 11413 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 11414 return &event[7]; 11415 } 11416 11417 /** 11418 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11419 * @param event packet 11420 * @return avrcp_cid 11421 * @note: btstack_type 2 11422 */ 11423 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 11424 return little_endian_read_16(event, 3); 11425 } 11426 /** 11427 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11428 * @param event packet 11429 * @return command_type 11430 * @note: btstack_type 1 11431 */ 11432 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 11433 return event[5]; 11434 } 11435 /** 11436 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11437 * @param event packet 11438 * @return value_len 11439 * @note: btstack_type J 11440 */ 11441 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 11442 return event[6]; 11443 } 11444 /** 11445 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 11446 * @param event packet 11447 * @return value 11448 * @note: btstack_type V 11449 */ 11450 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 11451 return &event[7]; 11452 } 11453 11454 /** 11455 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11456 * @param event packet 11457 * @return avrcp_cid 11458 * @note: btstack_type 2 11459 */ 11460 static inline uint16_t avrcp_subevent_now_playing_cover_art_info_get_avrcp_cid(const uint8_t * event){ 11461 return little_endian_read_16(event, 3); 11462 } 11463 /** 11464 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11465 * @param event packet 11466 * @return command_type 11467 * @note: btstack_type 1 11468 */ 11469 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_command_type(const uint8_t * event){ 11470 return event[5]; 11471 } 11472 /** 11473 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11474 * @param event packet 11475 * @return value_len 11476 * @note: btstack_type J 11477 */ 11478 static inline uint8_t avrcp_subevent_now_playing_cover_art_info_get_value_len(const uint8_t * event){ 11479 return event[6]; 11480 } 11481 /** 11482 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_COVER_ART_INFO 11483 * @param event packet 11484 * @return value 11485 * @note: btstack_type V 11486 */ 11487 static inline const uint8_t * avrcp_subevent_now_playing_cover_art_info_get_value(const uint8_t * event){ 11488 return &event[7]; 11489 } 11490 11491 /** 11492 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11493 * @param event packet 11494 * @return avrcp_cid 11495 * @note: btstack_type 2 11496 */ 11497 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 11498 return little_endian_read_16(event, 3); 11499 } 11500 /** 11501 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11502 * @param event packet 11503 * @return command_type 11504 * @note: btstack_type 1 11505 */ 11506 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 11507 return event[5]; 11508 } 11509 /** 11510 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 11511 * @param event packet 11512 * @return status 11513 * @note: btstack_type 1 11514 */ 11515 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 11516 return event[6]; 11517 } 11518 11519 /** 11520 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11521 * @param event packet 11522 * @return avrcp_cid 11523 * @note: btstack_type 2 11524 */ 11525 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 11526 return little_endian_read_16(event, 3); 11527 } 11528 /** 11529 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11530 * @param event packet 11531 * @return command_type 11532 * @note: btstack_type 1 11533 */ 11534 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 11535 return event[5]; 11536 } 11537 /** 11538 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 11539 * @param event packet 11540 * @return playback_position_ms 11541 * @note: btstack_type 4 11542 */ 11543 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 11544 return little_endian_read_32(event, 6); 11545 } 11546 11547 /** 11548 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11549 * @param event packet 11550 * @return avrcp_cid 11551 * @note: btstack_type 2 11552 */ 11553 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 11554 return little_endian_read_16(event, 3); 11555 } 11556 /** 11557 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11558 * @param event packet 11559 * @return command_type 11560 * @note: btstack_type 1 11561 */ 11562 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 11563 return event[5]; 11564 } 11565 /** 11566 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11567 * @param event packet 11568 * @return status 11569 * @note: btstack_type 1 11570 */ 11571 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 11572 return event[6]; 11573 } 11574 /** 11575 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 11576 * @param event packet 11577 * @return event_id 11578 * @note: btstack_type 1 11579 */ 11580 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 11581 return event[7]; 11582 } 11583 11584 /** 11585 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11586 * @param event packet 11587 * @return avrcp_cid 11588 * @note: btstack_type 2 11589 */ 11590 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){ 11591 return little_endian_read_16(event, 3); 11592 } 11593 /** 11594 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11595 * @param event packet 11596 * @return command_type 11597 * @note: btstack_type 1 11598 */ 11599 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 11600 return event[5]; 11601 } 11602 /** 11603 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 11604 * @param event packet 11605 * @return status 11606 * @note: btstack_type 1 11607 */ 11608 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 11609 return event[6]; 11610 } 11611 11612 /** 11613 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11614 * @param event packet 11615 * @return avrcp_cid 11616 * @note: btstack_type 2 11617 */ 11618 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 11619 return little_endian_read_16(event, 3); 11620 } 11621 /** 11622 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11623 * @param event packet 11624 * @return command_type 11625 * @note: btstack_type 1 11626 */ 11627 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 11628 return event[5]; 11629 } 11630 /** 11631 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11632 * @param event packet 11633 * @return status 11634 * @note: btstack_type 1 11635 */ 11636 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 11637 return event[6]; 11638 } 11639 /** 11640 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 11641 * @param event packet 11642 * @return company_id 11643 * @note: btstack_type 3 11644 */ 11645 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 11646 return little_endian_read_24(event, 7); 11647 } 11648 11649 /** 11650 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11651 * @param event packet 11652 * @return avrcp_cid 11653 * @note: btstack_type 2 11654 */ 11655 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){ 11656 return little_endian_read_16(event, 3); 11657 } 11658 /** 11659 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11660 * @param event packet 11661 * @return command_type 11662 * @note: btstack_type 1 11663 */ 11664 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 11665 return event[5]; 11666 } 11667 /** 11668 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 11669 * @param event packet 11670 * @return status 11671 * @note: btstack_type 1 11672 */ 11673 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 11674 return event[6]; 11675 } 11676 11677 /** 11678 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11679 * @param event packet 11680 * @return avrcp_cid 11681 * @note: btstack_type 2 11682 */ 11683 static inline uint16_t avrcp_subevent_custom_command_response_get_avrcp_cid(const uint8_t * event){ 11684 return little_endian_read_16(event, 3); 11685 } 11686 /** 11687 * @brief Get field command_type from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11688 * @param event packet 11689 * @return command_type 11690 * @note: btstack_type 1 11691 */ 11692 static inline uint8_t avrcp_subevent_custom_command_response_get_command_type(const uint8_t * event){ 11693 return event[5]; 11694 } 11695 /** 11696 * @brief Get field pdu_id from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11697 * @param event packet 11698 * @return pdu_id 11699 * @note: btstack_type 1 11700 */ 11701 static inline uint8_t avrcp_subevent_custom_command_response_get_pdu_id(const uint8_t * event){ 11702 return event[6]; 11703 } 11704 /** 11705 * @brief Get field params_len from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11706 * @param event packet 11707 * @return params_len 11708 * @note: btstack_type L 11709 */ 11710 static inline uint16_t avrcp_subevent_custom_command_response_get_params_len(const uint8_t * event){ 11711 return little_endian_read_16(event, 7); 11712 } 11713 /** 11714 * @brief Get field params from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 11715 * @param event packet 11716 * @return params 11717 * @note: btstack_type V 11718 */ 11719 static inline const uint8_t * avrcp_subevent_custom_command_response_get_params(const uint8_t * event){ 11720 return &event[9]; 11721 } 11722 11723 /** 11724 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11725 * @param event packet 11726 * @param Pointer to storage for bd_addr 11727 * @note: btstack_type B 11728 */ 11729 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11730 reverse_bytes(&event[3], bd_addr, 6); 11731 } 11732 /** 11733 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11734 * @param event packet 11735 * @return browsing_cid 11736 * @note: btstack_type 2 11737 */ 11738 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 11739 return little_endian_read_16(event, 9); 11740 } 11741 11742 /** 11743 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11744 * @param event packet 11745 * @return status 11746 * @note: btstack_type 1 11747 */ 11748 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 11749 return event[3]; 11750 } 11751 /** 11752 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11753 * @param event packet 11754 * @param Pointer to storage for bd_addr 11755 * @note: btstack_type B 11756 */ 11757 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11758 reverse_bytes(&event[4], bd_addr, 6); 11759 } 11760 /** 11761 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11762 * @param event packet 11763 * @return browsing_cid 11764 * @note: btstack_type 2 11765 */ 11766 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 11767 return little_endian_read_16(event, 10); 11768 } 11769 11770 /** 11771 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 11772 * @param event packet 11773 * @return browsing_cid 11774 * @note: btstack_type 2 11775 */ 11776 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 11777 return little_endian_read_16(event, 3); 11778 } 11779 11780 /** 11781 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 11782 * @param event packet 11783 * @return browsing_cid 11784 * @note: btstack_type 2 11785 */ 11786 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 11787 return little_endian_read_16(event, 3); 11788 } 11789 /** 11790 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 11791 * @param event packet 11792 * @return uid_counter 11793 * @note: btstack_type 2 11794 */ 11795 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 11796 return little_endian_read_16(event, 5); 11797 } 11798 /** 11799 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 11800 * @param event packet 11801 * @return browsing_status 11802 * @note: btstack_type 1 11803 */ 11804 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 11805 return event[7]; 11806 } 11807 /** 11808 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 11809 * @param event packet 11810 * @return bluetooth_status 11811 * @note: btstack_type 1 11812 */ 11813 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 11814 return event[8]; 11815 } 11816 11817 /** 11818 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11819 * @param event packet 11820 * @return browsing_cid 11821 * @note: btstack_type 2 11822 */ 11823 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 11824 return little_endian_read_16(event, 3); 11825 } 11826 /** 11827 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11828 * @param event packet 11829 * @return scope 11830 * @note: btstack_type 1 11831 */ 11832 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 11833 return event[5]; 11834 } 11835 /** 11836 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11837 * @param event packet 11838 * @return attr_bitmap 11839 * @note: btstack_type 4 11840 */ 11841 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 11842 return little_endian_read_32(event, 6); 11843 } 11844 11845 /** 11846 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11847 * @param event packet 11848 * @return browsing_cid 11849 * @note: btstack_type 2 11850 */ 11851 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 11852 return little_endian_read_16(event, 3); 11853 } 11854 /** 11855 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11856 * @param event packet 11857 * @return scope 11858 * @note: btstack_type 1 11859 */ 11860 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 11861 return event[5]; 11862 } 11863 11864 /** 11865 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11866 * @param event packet 11867 * @return browsing_cid 11868 * @note: btstack_type 2 11869 */ 11870 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_browsing_cid(const uint8_t * event){ 11871 return little_endian_read_16(event, 3); 11872 } 11873 /** 11874 * @brief Get field player_id from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11875 * @param event packet 11876 * @return player_id 11877 * @note: btstack_type 2 11878 */ 11879 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_player_id(const uint8_t * event){ 11880 return little_endian_read_16(event, 5); 11881 } 11882 11883 /** 11884 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11885 * @param event packet 11886 * @return status 11887 * @note: btstack_type 1 11888 */ 11889 static inline uint8_t avrcp_subevent_cover_art_connection_established_get_status(const uint8_t * event){ 11890 return event[3]; 11891 } 11892 /** 11893 * @brief Get field bd_addr from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11894 * @param event packet 11895 * @param Pointer to storage for bd_addr 11896 * @note: btstack_type B 11897 */ 11898 static inline void avrcp_subevent_cover_art_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11899 reverse_bytes(&event[4], bd_addr, 6); 11900 } 11901 /** 11902 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11903 * @param event packet 11904 * @return avrcp_cid 11905 * @note: btstack_type 2 11906 */ 11907 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_avrcp_cid(const uint8_t * event){ 11908 return little_endian_read_16(event, 10); 11909 } 11910 /** 11911 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_ESTABLISHED 11912 * @param event packet 11913 * @return cover_art_cid 11914 * @note: btstack_type 2 11915 */ 11916 static inline uint16_t avrcp_subevent_cover_art_connection_established_get_cover_art_cid(const uint8_t * event){ 11917 return little_endian_read_16(event, 12); 11918 } 11919 11920 /** 11921 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11922 * @param event packet 11923 * @return cover_art_cid 11924 * @note: btstack_type 2 11925 */ 11926 static inline uint16_t avrcp_subevent_cover_art_operation_complete_get_cover_art_cid(const uint8_t * event){ 11927 return little_endian_read_16(event, 3); 11928 } 11929 /** 11930 * @brief Get field status from event AVRCP_SUBEVENT_COVER_ART_OPERATION_COMPLETE 11931 * @param event packet 11932 * @return status 11933 * @note: btstack_type 1 11934 */ 11935 static inline uint8_t avrcp_subevent_cover_art_operation_complete_get_status(const uint8_t * event){ 11936 return event[5]; 11937 } 11938 11939 /** 11940 * @brief Get field cover_art_cid from event AVRCP_SUBEVENT_COVER_ART_CONNECTION_RELEASED 11941 * @param event packet 11942 * @return cover_art_cid 11943 * @note: btstack_type 2 11944 */ 11945 static inline uint16_t avrcp_subevent_cover_art_connection_released_get_cover_art_cid(const uint8_t * event){ 11946 return little_endian_read_16(event, 3); 11947 } 11948 11949 /** 11950 * @brief Get field goep_cid from event GOEP_SUBEVENT_INCOMING_CONNECTION 11951 * @param event packet 11952 * @return goep_cid 11953 * @note: btstack_type 2 11954 */ 11955 static inline uint16_t goep_subevent_incoming_connection_get_goep_cid(const uint8_t * event){ 11956 return little_endian_read_16(event, 3); 11957 } 11958 /** 11959 * @brief Get field address from event GOEP_SUBEVENT_INCOMING_CONNECTION 11960 * @param event packet 11961 * @param Pointer to storage for address 11962 * @note: btstack_type B 11963 */ 11964 static inline void goep_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 11965 reverse_bytes(&event[5], address, 6); 11966 } 11967 /** 11968 * @brief Get field handle from event GOEP_SUBEVENT_INCOMING_CONNECTION 11969 * @param event packet 11970 * @return handle 11971 * @note: btstack_type H 11972 */ 11973 static inline hci_con_handle_t goep_subevent_incoming_connection_get_handle(const uint8_t * event){ 11974 return little_endian_read_16(event, 11); 11975 } 11976 11977 /** 11978 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 11979 * @param event packet 11980 * @return goep_cid 11981 * @note: btstack_type 2 11982 */ 11983 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 11984 return little_endian_read_16(event, 3); 11985 } 11986 /** 11987 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 11988 * @param event packet 11989 * @return status 11990 * @note: btstack_type 1 11991 */ 11992 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 11993 return event[5]; 11994 } 11995 /** 11996 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 11997 * @param event packet 11998 * @param Pointer to storage for bd_addr 11999 * @note: btstack_type B 12000 */ 12001 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12002 reverse_bytes(&event[6], bd_addr, 6); 12003 } 12004 /** 12005 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 12006 * @param event packet 12007 * @return con_handle 12008 * @note: btstack_type H 12009 */ 12010 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12011 return little_endian_read_16(event, 12); 12012 } 12013 /** 12014 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 12015 * @param event packet 12016 * @return incoming 12017 * @note: btstack_type 1 12018 */ 12019 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 12020 return event[14]; 12021 } 12022 12023 /** 12024 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 12025 * @param event packet 12026 * @return goep_cid 12027 * @note: btstack_type 2 12028 */ 12029 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 12030 return little_endian_read_16(event, 3); 12031 } 12032 12033 /** 12034 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 12035 * @param event packet 12036 * @return goep_cid 12037 * @note: btstack_type 2 12038 */ 12039 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 12040 return little_endian_read_16(event, 3); 12041 } 12042 12043 /** 12044 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 12045 * @param event packet 12046 * @return pbap_cid 12047 * @note: btstack_type 2 12048 */ 12049 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 12050 return little_endian_read_16(event, 3); 12051 } 12052 /** 12053 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 12054 * @param event packet 12055 * @return status 12056 * @note: btstack_type 1 12057 */ 12058 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 12059 return event[5]; 12060 } 12061 /** 12062 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 12063 * @param event packet 12064 * @param Pointer to storage for bd_addr 12065 * @note: btstack_type B 12066 */ 12067 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12068 reverse_bytes(&event[6], bd_addr, 6); 12069 } 12070 /** 12071 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 12072 * @param event packet 12073 * @return con_handle 12074 * @note: btstack_type H 12075 */ 12076 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12077 return little_endian_read_16(event, 12); 12078 } 12079 /** 12080 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 12081 * @param event packet 12082 * @return incoming 12083 * @note: btstack_type 1 12084 */ 12085 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 12086 return event[14]; 12087 } 12088 12089 /** 12090 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 12091 * @param event packet 12092 * @return goep_cid 12093 * @note: btstack_type 2 12094 */ 12095 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 12096 return little_endian_read_16(event, 3); 12097 } 12098 12099 /** 12100 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 12101 * @param event packet 12102 * @return goep_cid 12103 * @note: btstack_type 2 12104 */ 12105 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 12106 return little_endian_read_16(event, 3); 12107 } 12108 /** 12109 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 12110 * @param event packet 12111 * @return status 12112 * @note: btstack_type 1 12113 */ 12114 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 12115 return event[5]; 12116 } 12117 12118 /** 12119 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12120 * @param event packet 12121 * @return goep_cid 12122 * @note: btstack_type 2 12123 */ 12124 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 12125 return little_endian_read_16(event, 3); 12126 } 12127 /** 12128 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12129 * @param event packet 12130 * @return status 12131 * @note: btstack_type 1 12132 */ 12133 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 12134 return event[5]; 12135 } 12136 /** 12137 * @brief Get field phonebook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 12138 * @param event packet 12139 * @return phonebook_size 12140 * @note: btstack_type 2 12141 */ 12142 static inline uint16_t pbap_subevent_phonebook_size_get_phonebook_size(const uint8_t * event){ 12143 return little_endian_read_16(event, 6); 12144 } 12145 12146 /** 12147 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12148 * @param event packet 12149 * @return goep_cid 12150 * @note: btstack_type 2 12151 */ 12152 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 12153 return little_endian_read_16(event, 3); 12154 } 12155 /** 12156 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12157 * @param event packet 12158 * @return user_id_required 12159 * @note: btstack_type 1 12160 */ 12161 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 12162 return event[5]; 12163 } 12164 /** 12165 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 12166 * @param event packet 12167 * @return full_access 12168 * @note: btstack_type 1 12169 */ 12170 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 12171 return event[6]; 12172 } 12173 12174 /** 12175 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 12176 * @param event packet 12177 * @return goep_cid 12178 * @note: btstack_type 2 12179 */ 12180 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 12181 return little_endian_read_16(event, 3); 12182 } 12183 /** 12184 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 12185 * @param event packet 12186 * @return name_len 12187 * @note: btstack_type J 12188 */ 12189 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 12190 return event[5]; 12191 } 12192 /** 12193 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 12194 * @param event packet 12195 * @return name 12196 * @note: btstack_type V 12197 */ 12198 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 12199 return &event[6]; 12200 } 12201 /** 12202 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 12203 * @param event packet 12204 * @return handle_len 12205 * @note: btstack_type J 12206 */ 12207 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 12208 return event[6u + event[5]]; 12209 } 12210 /** 12211 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 12212 * @param event packet 12213 * @return handle 12214 * @note: btstack_type V 12215 */ 12216 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 12217 return &event[6u + event[5] + 1u]; 12218 } 12219 12220 /** 12221 * @brief Get field goep_cid from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12222 * @param event packet 12223 * @return goep_cid 12224 * @note: btstack_type 2 12225 */ 12226 static inline uint16_t pbap_subevent_reset_missed_calls_get_goep_cid(const uint8_t * event){ 12227 return little_endian_read_16(event, 3); 12228 } 12229 /** 12230 * @brief Get field phonebook from event PBAP_SUBEVENT_RESET_MISSED_CALLS 12231 * @param event packet 12232 * @return phonebook 12233 * @note: btstack_type 1 12234 */ 12235 static inline uint8_t pbap_subevent_reset_missed_calls_get_phonebook(const uint8_t * event){ 12236 return event[5]; 12237 } 12238 12239 /** 12240 * @brief Get field goep_cid from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12241 * @param event packet 12242 * @return goep_cid 12243 * @note: btstack_type 2 12244 */ 12245 static inline uint16_t pbap_subevent_query_phonebook_size_get_goep_cid(const uint8_t * event){ 12246 return little_endian_read_16(event, 3); 12247 } 12248 /** 12249 * @brief Get field vcard_selector from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12250 * @param event packet 12251 * @return vcard_selector 12252 * @note: btstack_type 4 12253 */ 12254 static inline uint32_t pbap_subevent_query_phonebook_size_get_vcard_selector(const uint8_t * event){ 12255 return little_endian_read_32(event, 5); 12256 } 12257 /** 12258 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12259 * @param event packet 12260 * @return vcard_selector_operator 12261 * @note: btstack_type 1 12262 */ 12263 static inline uint8_t pbap_subevent_query_phonebook_size_get_vcard_selector_operator(const uint8_t * event){ 12264 return event[9]; 12265 } 12266 /** 12267 * @brief Get field phonebook from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 12268 * @param event packet 12269 * @return phonebook 12270 * @note: btstack_type 1 12271 */ 12272 static inline uint8_t pbap_subevent_query_phonebook_size_get_phonebook(const uint8_t * event){ 12273 return event[10]; 12274 } 12275 12276 /** 12277 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_PHONEBOOK 12278 * @param event packet 12279 * @return goep_cid 12280 * @note: btstack_type 2 12281 */ 12282 static inline uint16_t pbap_subevent_pull_phonebook_get_goep_cid(const uint8_t * event){ 12283 return little_endian_read_16(event, 3); 12284 } 12285 /** 12286 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_PHONEBOOK 12287 * @param event packet 12288 * @return continuation 12289 * @note: btstack_type 4 12290 */ 12291 static inline uint32_t pbap_subevent_pull_phonebook_get_continuation(const uint8_t * event){ 12292 return little_endian_read_32(event, 5); 12293 } 12294 /** 12295 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12296 * @param event packet 12297 * @return property_selector 12298 * @note: btstack_type 4 12299 */ 12300 static inline uint32_t pbap_subevent_pull_phonebook_get_property_selector(const uint8_t * event){ 12301 return little_endian_read_32(event, 9); 12302 } 12303 /** 12304 * @brief Get field format from event PBAP_SUBEVENT_PULL_PHONEBOOK 12305 * @param event packet 12306 * @return format 12307 * @note: btstack_type 1 12308 */ 12309 static inline uint8_t pbap_subevent_pull_phonebook_get_format(const uint8_t * event){ 12310 return event[13]; 12311 } 12312 /** 12313 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_PHONEBOOK 12314 * @param event packet 12315 * @return max_list_count 12316 * @note: btstack_type 2 12317 */ 12318 static inline uint16_t pbap_subevent_pull_phonebook_get_max_list_count(const uint8_t * event){ 12319 return little_endian_read_16(event, 14); 12320 } 12321 /** 12322 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_PHONEBOOK 12323 * @param event packet 12324 * @return list_start_offset 12325 * @note: btstack_type 2 12326 */ 12327 static inline uint16_t pbap_subevent_pull_phonebook_get_list_start_offset(const uint8_t * event){ 12328 return little_endian_read_16(event, 16); 12329 } 12330 /** 12331 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 12332 * @param event packet 12333 * @return vcard_selector 12334 * @note: btstack_type 4 12335 */ 12336 static inline uint32_t pbap_subevent_pull_phonebook_get_vcard_selector(const uint8_t * event){ 12337 return little_endian_read_32(event, 18); 12338 } 12339 /** 12340 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_PHONEBOOK 12341 * @param event packet 12342 * @return vcard_selector_operator 12343 * @note: btstack_type 1 12344 */ 12345 static inline uint8_t pbap_subevent_pull_phonebook_get_vcard_selector_operator(const uint8_t * event){ 12346 return event[22]; 12347 } 12348 /** 12349 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_PHONEBOOK 12350 * @param event packet 12351 * @return phonebook 12352 * @note: btstack_type 1 12353 */ 12354 static inline uint8_t pbap_subevent_pull_phonebook_get_phonebook(const uint8_t * event){ 12355 return event[23]; 12356 } 12357 12358 /** 12359 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12360 * @param event packet 12361 * @return goep_cid 12362 * @note: btstack_type 2 12363 */ 12364 static inline uint16_t pbap_subevent_pull_vcard_listing_get_goep_cid(const uint8_t * event){ 12365 return little_endian_read_16(event, 3); 12366 } 12367 /** 12368 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12369 * @param event packet 12370 * @return continuation 12371 * @note: btstack_type 4 12372 */ 12373 static inline uint32_t pbap_subevent_pull_vcard_listing_get_continuation(const uint8_t * event){ 12374 return little_endian_read_32(event, 5); 12375 } 12376 /** 12377 * @brief Get field order from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12378 * @param event packet 12379 * @return order 12380 * @note: btstack_type 1 12381 */ 12382 static inline uint8_t pbap_subevent_pull_vcard_listing_get_order(const uint8_t * event){ 12383 return event[9]; 12384 } 12385 /** 12386 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12387 * @param event packet 12388 * @return max_list_count 12389 * @note: btstack_type 2 12390 */ 12391 static inline uint16_t pbap_subevent_pull_vcard_listing_get_max_list_count(const uint8_t * event){ 12392 return little_endian_read_16(event, 10); 12393 } 12394 /** 12395 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12396 * @param event packet 12397 * @return list_start_offset 12398 * @note: btstack_type 2 12399 */ 12400 static inline uint16_t pbap_subevent_pull_vcard_listing_get_list_start_offset(const uint8_t * event){ 12401 return little_endian_read_16(event, 12); 12402 } 12403 /** 12404 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12405 * @param event packet 12406 * @return vcard_selector 12407 * @note: btstack_type 4 12408 */ 12409 static inline uint32_t pbap_subevent_pull_vcard_listing_get_vcard_selector(const uint8_t * event){ 12410 return little_endian_read_32(event, 14); 12411 } 12412 /** 12413 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12414 * @param event packet 12415 * @return vcard_selector_operator 12416 * @note: btstack_type 1 12417 */ 12418 static inline uint8_t pbap_subevent_pull_vcard_listing_get_vcard_selector_operator(const uint8_t * event){ 12419 return event[18]; 12420 } 12421 /** 12422 * @brief Get field search_property from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12423 * @param event packet 12424 * @return search_property 12425 * @note: btstack_type 1 12426 */ 12427 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_property(const uint8_t * event){ 12428 return event[19]; 12429 } 12430 /** 12431 * @brief Get field search_value_len from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12432 * @param event packet 12433 * @return search_value_len 12434 * @note: btstack_type J 12435 */ 12436 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_value_len(const uint8_t * event){ 12437 return event[20]; 12438 } 12439 /** 12440 * @brief Get field search_value from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12441 * @param event packet 12442 * @return search_value 12443 * @note: btstack_type V 12444 */ 12445 static inline const uint8_t * pbap_subevent_pull_vcard_listing_get_search_value(const uint8_t * event){ 12446 return &event[21]; 12447 } 12448 /** 12449 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_LISTING 12450 * @param event packet 12451 * @return phonebook 12452 * @note: btstack_type 1 12453 */ 12454 static inline uint8_t pbap_subevent_pull_vcard_listing_get_phonebook(const uint8_t * event){ 12455 return event[21u + event[20]]; 12456 } 12457 12458 /** 12459 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12460 * @param event packet 12461 * @return goep_cid 12462 * @note: btstack_type 2 12463 */ 12464 static inline uint16_t pbap_subevent_pull_vcard_entry_get_goep_cid(const uint8_t * event){ 12465 return little_endian_read_16(event, 3); 12466 } 12467 /** 12468 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12469 * @param event packet 12470 * @return continuation 12471 * @note: btstack_type 4 12472 */ 12473 static inline uint32_t pbap_subevent_pull_vcard_entry_get_continuation(const uint8_t * event){ 12474 return little_endian_read_32(event, 5); 12475 } 12476 /** 12477 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12478 * @param event packet 12479 * @return property_selector 12480 * @note: btstack_type 4 12481 */ 12482 static inline uint32_t pbap_subevent_pull_vcard_entry_get_property_selector(const uint8_t * event){ 12483 return little_endian_read_32(event, 9); 12484 } 12485 /** 12486 * @brief Get field format from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12487 * @param event packet 12488 * @return format 12489 * @note: btstack_type 1 12490 */ 12491 static inline uint8_t pbap_subevent_pull_vcard_entry_get_format(const uint8_t * event){ 12492 return event[13]; 12493 } 12494 /** 12495 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12496 * @param event packet 12497 * @return phonebook 12498 * @note: btstack_type 1 12499 */ 12500 static inline uint8_t pbap_subevent_pull_vcard_entry_get_phonebook(const uint8_t * event){ 12501 return event[14]; 12502 } 12503 /** 12504 * @brief Get field name from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 12505 * @param event packet 12506 * @return name 12507 * @note: btstack_type T 12508 */ 12509 static inline const char * pbap_subevent_pull_vcard_entry_get_name(const uint8_t * event){ 12510 return (const char *) &event[15]; 12511 } 12512 12513 /** 12514 * @brief Get field hid_cid from event HID_SUBEVENT_INCOMING_CONNECTION 12515 * @param event packet 12516 * @return hid_cid 12517 * @note: btstack_type 2 12518 */ 12519 static inline uint16_t hid_subevent_incoming_connection_get_hid_cid(const uint8_t * event){ 12520 return little_endian_read_16(event, 3); 12521 } 12522 /** 12523 * @brief Get field address from event HID_SUBEVENT_INCOMING_CONNECTION 12524 * @param event packet 12525 * @param Pointer to storage for address 12526 * @note: btstack_type B 12527 */ 12528 static inline void hid_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 12529 reverse_bytes(&event[5], address, 6); 12530 } 12531 /** 12532 * @brief Get field handle from event HID_SUBEVENT_INCOMING_CONNECTION 12533 * @param event packet 12534 * @return handle 12535 * @note: btstack_type H 12536 */ 12537 static inline hci_con_handle_t hid_subevent_incoming_connection_get_handle(const uint8_t * event){ 12538 return little_endian_read_16(event, 11); 12539 } 12540 12541 /** 12542 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 12543 * @param event packet 12544 * @return hid_cid 12545 * @note: btstack_type 2 12546 */ 12547 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 12548 return little_endian_read_16(event, 3); 12549 } 12550 /** 12551 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 12552 * @param event packet 12553 * @return status 12554 * @note: btstack_type 1 12555 */ 12556 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 12557 return event[5]; 12558 } 12559 /** 12560 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 12561 * @param event packet 12562 * @param Pointer to storage for bd_addr 12563 * @note: btstack_type B 12564 */ 12565 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 12566 reverse_bytes(&event[6], bd_addr, 6); 12567 } 12568 /** 12569 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 12570 * @param event packet 12571 * @return con_handle 12572 * @note: btstack_type H 12573 */ 12574 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 12575 return little_endian_read_16(event, 12); 12576 } 12577 /** 12578 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 12579 * @param event packet 12580 * @return incoming 12581 * @note: btstack_type 1 12582 */ 12583 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 12584 return event[14]; 12585 } 12586 12587 /** 12588 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 12589 * @param event packet 12590 * @return hid_cid 12591 * @note: btstack_type 2 12592 */ 12593 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 12594 return little_endian_read_16(event, 3); 12595 } 12596 12597 /** 12598 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 12599 * @param event packet 12600 * @return hid_cid 12601 * @note: btstack_type 2 12602 */ 12603 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 12604 return little_endian_read_16(event, 3); 12605 } 12606 12607 /** 12608 * @brief Get field hid_cid from event HID_SUBEVENT_SUSPEND 12609 * @param event packet 12610 * @return hid_cid 12611 * @note: btstack_type 2 12612 */ 12613 static inline uint16_t hid_subevent_suspend_get_hid_cid(const uint8_t * event){ 12614 return little_endian_read_16(event, 3); 12615 } 12616 12617 /** 12618 * @brief Get field hid_cid from event HID_SUBEVENT_EXIT_SUSPEND 12619 * @param event packet 12620 * @return hid_cid 12621 * @note: btstack_type 2 12622 */ 12623 static inline uint16_t hid_subevent_exit_suspend_get_hid_cid(const uint8_t * event){ 12624 return little_endian_read_16(event, 3); 12625 } 12626 12627 /** 12628 * @brief Get field hid_cid from event HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 12629 * @param event packet 12630 * @return hid_cid 12631 * @note: btstack_type 2 12632 */ 12633 static inline uint16_t hid_subevent_virtual_cable_unplug_get_hid_cid(const uint8_t * event){ 12634 return little_endian_read_16(event, 3); 12635 } 12636 12637 /** 12638 * @brief Get field hid_cid from event HID_SUBEVENT_GET_REPORT_RESPONSE 12639 * @param event packet 12640 * @return hid_cid 12641 * @note: btstack_type 2 12642 */ 12643 static inline uint16_t hid_subevent_get_report_response_get_hid_cid(const uint8_t * event){ 12644 return little_endian_read_16(event, 3); 12645 } 12646 /** 12647 * @brief Get field handshake_status from event HID_SUBEVENT_GET_REPORT_RESPONSE 12648 * @param event packet 12649 * @return handshake_status 12650 * @note: btstack_type 1 12651 */ 12652 static inline uint8_t hid_subevent_get_report_response_get_handshake_status(const uint8_t * event){ 12653 return event[5]; 12654 } 12655 /** 12656 * @brief Get field report_len from event HID_SUBEVENT_GET_REPORT_RESPONSE 12657 * @param event packet 12658 * @return report_len 12659 * @note: btstack_type L 12660 */ 12661 static inline uint16_t hid_subevent_get_report_response_get_report_len(const uint8_t * event){ 12662 return little_endian_read_16(event, 6); 12663 } 12664 /** 12665 * @brief Get field report from event HID_SUBEVENT_GET_REPORT_RESPONSE 12666 * @param event packet 12667 * @return report 12668 * @note: btstack_type V 12669 */ 12670 static inline const uint8_t * hid_subevent_get_report_response_get_report(const uint8_t * event){ 12671 return &event[8]; 12672 } 12673 12674 /** 12675 * @brief Get field hid_cid from event HID_SUBEVENT_SET_REPORT_RESPONSE 12676 * @param event packet 12677 * @return hid_cid 12678 * @note: btstack_type 2 12679 */ 12680 static inline uint16_t hid_subevent_set_report_response_get_hid_cid(const uint8_t * event){ 12681 return little_endian_read_16(event, 3); 12682 } 12683 /** 12684 * @brief Get field handshake_status from event HID_SUBEVENT_SET_REPORT_RESPONSE 12685 * @param event packet 12686 * @return handshake_status 12687 * @note: btstack_type 1 12688 */ 12689 static inline uint8_t hid_subevent_set_report_response_get_handshake_status(const uint8_t * event){ 12690 return event[5]; 12691 } 12692 12693 /** 12694 * @brief Get field hid_cid from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12695 * @param event packet 12696 * @return hid_cid 12697 * @note: btstack_type 2 12698 */ 12699 static inline uint16_t hid_subevent_get_protocol_response_get_hid_cid(const uint8_t * event){ 12700 return little_endian_read_16(event, 3); 12701 } 12702 /** 12703 * @brief Get field handshake_status from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12704 * @param event packet 12705 * @return handshake_status 12706 * @note: btstack_type 1 12707 */ 12708 static inline uint8_t hid_subevent_get_protocol_response_get_handshake_status(const uint8_t * event){ 12709 return event[5]; 12710 } 12711 /** 12712 * @brief Get field protocol_mode from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 12713 * @param event packet 12714 * @return protocol_mode 12715 * @note: btstack_type 1 12716 */ 12717 static inline uint8_t hid_subevent_get_protocol_response_get_protocol_mode(const uint8_t * event){ 12718 return event[6]; 12719 } 12720 12721 /** 12722 * @brief Get field hid_cid from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12723 * @param event packet 12724 * @return hid_cid 12725 * @note: btstack_type 2 12726 */ 12727 static inline uint16_t hid_subevent_set_protocol_response_get_hid_cid(const uint8_t * event){ 12728 return little_endian_read_16(event, 3); 12729 } 12730 /** 12731 * @brief Get field handshake_status from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12732 * @param event packet 12733 * @return handshake_status 12734 * @note: btstack_type 1 12735 */ 12736 static inline uint8_t hid_subevent_set_protocol_response_get_handshake_status(const uint8_t * event){ 12737 return event[5]; 12738 } 12739 /** 12740 * @brief Get field protocol_mode from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 12741 * @param event packet 12742 * @return protocol_mode 12743 * @note: btstack_type 1 12744 */ 12745 static inline uint8_t hid_subevent_set_protocol_response_get_protocol_mode(const uint8_t * event){ 12746 return event[6]; 12747 } 12748 12749 /** 12750 * @brief Get field hid_cid from event HID_SUBEVENT_REPORT 12751 * @param event packet 12752 * @return hid_cid 12753 * @note: btstack_type 2 12754 */ 12755 static inline uint16_t hid_subevent_report_get_hid_cid(const uint8_t * event){ 12756 return little_endian_read_16(event, 3); 12757 } 12758 /** 12759 * @brief Get field report_len from event HID_SUBEVENT_REPORT 12760 * @param event packet 12761 * @return report_len 12762 * @note: btstack_type L 12763 */ 12764 static inline uint16_t hid_subevent_report_get_report_len(const uint8_t * event){ 12765 return little_endian_read_16(event, 5); 12766 } 12767 /** 12768 * @brief Get field report from event HID_SUBEVENT_REPORT 12769 * @param event packet 12770 * @return report 12771 * @note: btstack_type V 12772 */ 12773 static inline const uint8_t * hid_subevent_report_get_report(const uint8_t * event){ 12774 return &event[7]; 12775 } 12776 12777 /** 12778 * @brief Get field hid_cid from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12779 * @param event packet 12780 * @return hid_cid 12781 * @note: btstack_type 2 12782 */ 12783 static inline uint16_t hid_subevent_descriptor_available_get_hid_cid(const uint8_t * event){ 12784 return little_endian_read_16(event, 3); 12785 } 12786 /** 12787 * @brief Get field status from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12788 * @param event packet 12789 * @return status 12790 * @note: btstack_type 1 12791 */ 12792 static inline uint8_t hid_subevent_descriptor_available_get_status(const uint8_t * event){ 12793 return event[5]; 12794 } 12795 12796 /** 12797 * @brief Get field hid_cid from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12798 * @param event packet 12799 * @return hid_cid 12800 * @note: btstack_type 2 12801 */ 12802 static inline uint16_t hid_subevent_sniff_subrating_params_get_hid_cid(const uint8_t * event){ 12803 return little_endian_read_16(event, 3); 12804 } 12805 /** 12806 * @brief Get field host_max_latency from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12807 * @param event packet 12808 * @return host_max_latency 12809 * @note: btstack_type 2 12810 */ 12811 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_max_latency(const uint8_t * event){ 12812 return little_endian_read_16(event, 5); 12813 } 12814 /** 12815 * @brief Get field host_min_timeout from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12816 * @param event packet 12817 * @return host_min_timeout 12818 * @note: btstack_type 2 12819 */ 12820 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_min_timeout(const uint8_t * event){ 12821 return little_endian_read_16(event, 7); 12822 } 12823 12824 /** 12825 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 12826 * @param event packet 12827 * @return con_handle 12828 * @note: btstack_type 2 12829 */ 12830 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 12831 return little_endian_read_16(event, 3); 12832 } 12833 12834 /** 12835 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 12836 * @param event packet 12837 * @return con_handle 12838 * @note: btstack_type 2 12839 */ 12840 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 12841 return little_endian_read_16(event, 3); 12842 } 12843 /** 12844 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 12845 * @param event packet 12846 * @return protocol_mode 12847 * @note: btstack_type 1 12848 */ 12849 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 12850 return event[5]; 12851 } 12852 12853 /** 12854 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12855 * @param event packet 12856 * @return con_handle 12857 * @note: btstack_type 2 12858 */ 12859 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 12860 return little_endian_read_16(event, 3); 12861 } 12862 /** 12863 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12864 * @param event packet 12865 * @return enable 12866 * @note: btstack_type 1 12867 */ 12868 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 12869 return event[5]; 12870 } 12871 12872 /** 12873 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12874 * @param event packet 12875 * @return con_handle 12876 * @note: btstack_type 2 12877 */ 12878 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 12879 return little_endian_read_16(event, 3); 12880 } 12881 /** 12882 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12883 * @param event packet 12884 * @return enable 12885 * @note: btstack_type 1 12886 */ 12887 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 12888 return event[5]; 12889 } 12890 12891 /** 12892 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12893 * @param event packet 12894 * @return con_handle 12895 * @note: btstack_type 2 12896 */ 12897 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 12898 return little_endian_read_16(event, 3); 12899 } 12900 /** 12901 * @brief Get field report_id from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12902 * @param event packet 12903 * @return report_id 12904 * @note: btstack_type 1 12905 */ 12906 static inline uint8_t hids_subevent_input_report_enable_get_report_id(const uint8_t * event){ 12907 return event[5]; 12908 } 12909 /** 12910 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12911 * @param event packet 12912 * @return enable 12913 * @note: btstack_type 1 12914 */ 12915 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 12916 return event[6]; 12917 } 12918 12919 /** 12920 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12921 * @param event packet 12922 * @return con_handle 12923 * @note: btstack_type 2 12924 */ 12925 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 12926 return little_endian_read_16(event, 3); 12927 } 12928 /** 12929 * @brief Get field report_id from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12930 * @param event packet 12931 * @return report_id 12932 * @note: btstack_type 1 12933 */ 12934 static inline uint8_t hids_subevent_output_report_enable_get_report_id(const uint8_t * event){ 12935 return event[5]; 12936 } 12937 /** 12938 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12939 * @param event packet 12940 * @return enable 12941 * @note: btstack_type 1 12942 */ 12943 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 12944 return event[6]; 12945 } 12946 12947 /** 12948 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12949 * @param event packet 12950 * @return con_handle 12951 * @note: btstack_type 2 12952 */ 12953 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 12954 return little_endian_read_16(event, 3); 12955 } 12956 /** 12957 * @brief Get field report_id from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12958 * @param event packet 12959 * @return report_id 12960 * @note: btstack_type 1 12961 */ 12962 static inline uint8_t hids_subevent_feature_report_enable_get_report_id(const uint8_t * event){ 12963 return event[5]; 12964 } 12965 /** 12966 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12967 * @param event packet 12968 * @return enable 12969 * @note: btstack_type 1 12970 */ 12971 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 12972 return event[6]; 12973 } 12974 12975 /** 12976 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 12977 * @param event packet 12978 * @return con_handle 12979 * @note: btstack_type 2 12980 */ 12981 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 12982 return little_endian_read_16(event, 3); 12983 } 12984 12985 /** 12986 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 12987 * @param event packet 12988 * @return con_handle 12989 * @note: btstack_type 2 12990 */ 12991 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 12992 return little_endian_read_16(event, 3); 12993 } 12994 12995 /** 12996 * @brief Get field con_handle from event HIDS_SUBEVENT_SET_REPORT 12997 * @param event packet 12998 * @return con_handle 12999 * @note: btstack_type 2 13000 */ 13001 static inline uint16_t hids_subevent_set_report_get_con_handle(const uint8_t * event){ 13002 return little_endian_read_16(event, 3); 13003 } 13004 /** 13005 * @brief Get field report_id from event HIDS_SUBEVENT_SET_REPORT 13006 * @param event packet 13007 * @return report_id 13008 * @note: btstack_type 1 13009 */ 13010 static inline uint8_t hids_subevent_set_report_get_report_id(const uint8_t * event){ 13011 return event[5]; 13012 } 13013 /** 13014 * @brief Get field report_type from event HIDS_SUBEVENT_SET_REPORT 13015 * @param event packet 13016 * @return report_type 13017 * @note: btstack_type 1 13018 */ 13019 static inline uint8_t hids_subevent_set_report_get_report_type(const uint8_t * event){ 13020 return event[6]; 13021 } 13022 /** 13023 * @brief Get field report_length from event HIDS_SUBEVENT_SET_REPORT 13024 * @param event packet 13025 * @return report_length 13026 * @note: btstack_type J 13027 */ 13028 static inline uint8_t hids_subevent_set_report_get_report_length(const uint8_t * event){ 13029 return event[7]; 13030 } 13031 /** 13032 * @brief Get field report_data from event HIDS_SUBEVENT_SET_REPORT 13033 * @param event packet 13034 * @return report_data 13035 * @note: btstack_type V 13036 */ 13037 static inline const uint8_t * hids_subevent_set_report_get_report_data(const uint8_t * event){ 13038 return &event[8]; 13039 } 13040 13041 /** 13042 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13043 * @param event packet 13044 * @return con_handle 13045 * @note: btstack_type 2 13046 */ 13047 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 13048 return little_endian_read_16(event, 3); 13049 } 13050 /** 13051 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13052 * @param event packet 13053 * @return measurement_type 13054 * @note: btstack_type 1 13055 */ 13056 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 13057 return event[5]; 13058 } 13059 /** 13060 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 13061 * @param event packet 13062 * @return is_enhanced 13063 * @note: btstack_type 1 13064 */ 13065 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 13066 return event[6]; 13067 } 13068 13069 /** 13070 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 13071 * @param event packet 13072 * @return con_handle 13073 * @note: btstack_type 2 13074 */ 13075 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 13076 return little_endian_read_16(event, 3); 13077 } 13078 13079 /** 13080 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 13081 * @param event packet 13082 * @return con_handle 13083 * @note: btstack_type 2 13084 */ 13085 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 13086 return little_endian_read_16(event, 3); 13087 } 13088 13089 /** 13090 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13091 * @param event packet 13092 * @return hids_cid 13093 * @note: btstack_type 2 13094 */ 13095 static inline uint16_t gattservice_subevent_battery_service_connected_get_hids_cid(const uint8_t * event){ 13096 return little_endian_read_16(event, 3); 13097 } 13098 /** 13099 * @brief Get field status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13100 * @param event packet 13101 * @return status 13102 * @note: btstack_type 1 13103 */ 13104 static inline uint8_t gattservice_subevent_battery_service_connected_get_status(const uint8_t * event){ 13105 return event[5]; 13106 } 13107 /** 13108 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13109 * @param event packet 13110 * @return num_instances 13111 * @note: btstack_type 1 13112 */ 13113 static inline uint8_t gattservice_subevent_battery_service_connected_get_num_instances(const uint8_t * event){ 13114 return event[6]; 13115 } 13116 /** 13117 * @brief Get field poll_bitmap from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 13118 * @param event packet 13119 * @return poll_bitmap 13120 * @note: btstack_type 1 13121 */ 13122 static inline uint8_t gattservice_subevent_battery_service_connected_get_poll_bitmap(const uint8_t * event){ 13123 return event[7]; 13124 } 13125 13126 /** 13127 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13128 * @param event packet 13129 * @return hids_cid 13130 * @note: btstack_type 2 13131 */ 13132 static inline uint16_t gattservice_subevent_battery_service_level_get_hids_cid(const uint8_t * event){ 13133 return little_endian_read_16(event, 3); 13134 } 13135 /** 13136 * @brief Get field sevice_index from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13137 * @param event packet 13138 * @return sevice_index 13139 * @note: btstack_type 1 13140 */ 13141 static inline uint8_t gattservice_subevent_battery_service_level_get_sevice_index(const uint8_t * event){ 13142 return event[5]; 13143 } 13144 /** 13145 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13146 * @param event packet 13147 * @return att_status 13148 * @note: btstack_type 1 13149 */ 13150 static inline uint8_t gattservice_subevent_battery_service_level_get_att_status(const uint8_t * event){ 13151 return event[6]; 13152 } 13153 /** 13154 * @brief Get field level from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 13155 * @param event packet 13156 * @return level 13157 * @note: btstack_type 1 13158 */ 13159 static inline uint8_t gattservice_subevent_battery_service_level_get_level(const uint8_t * event){ 13160 return event[7]; 13161 } 13162 13163 /** 13164 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 13165 * @param event packet 13166 * @return con_handle 13167 * @note: btstack_type H 13168 */ 13169 static inline hci_con_handle_t gattservice_subevent_device_information_done_get_con_handle(const uint8_t * event){ 13170 return little_endian_read_16(event, 3); 13171 } 13172 /** 13173 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 13174 * @param event packet 13175 * @return att_status 13176 * @note: btstack_type 1 13177 */ 13178 static inline uint8_t gattservice_subevent_device_information_done_get_att_status(const uint8_t * event){ 13179 return event[5]; 13180 } 13181 13182 /** 13183 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13184 * @param event packet 13185 * @return con_handle 13186 * @note: btstack_type H 13187 */ 13188 static inline hci_con_handle_t gattservice_subevent_device_information_manufacturer_name_get_con_handle(const uint8_t * event){ 13189 return little_endian_read_16(event, 3); 13190 } 13191 /** 13192 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13193 * @param event packet 13194 * @return att_status 13195 * @note: btstack_type 1 13196 */ 13197 static inline uint8_t gattservice_subevent_device_information_manufacturer_name_get_att_status(const uint8_t * event){ 13198 return event[5]; 13199 } 13200 /** 13201 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 13202 * @param event packet 13203 * @return value 13204 * @note: btstack_type T 13205 */ 13206 static inline const char * gattservice_subevent_device_information_manufacturer_name_get_value(const uint8_t * event){ 13207 return (const char *) &event[6]; 13208 } 13209 13210 /** 13211 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13212 * @param event packet 13213 * @return con_handle 13214 * @note: btstack_type H 13215 */ 13216 static inline hci_con_handle_t gattservice_subevent_device_information_model_number_get_con_handle(const uint8_t * event){ 13217 return little_endian_read_16(event, 3); 13218 } 13219 /** 13220 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13221 * @param event packet 13222 * @return att_status 13223 * @note: btstack_type 1 13224 */ 13225 static inline uint8_t gattservice_subevent_device_information_model_number_get_att_status(const uint8_t * event){ 13226 return event[5]; 13227 } 13228 /** 13229 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 13230 * @param event packet 13231 * @return value 13232 * @note: btstack_type T 13233 */ 13234 static inline const char * gattservice_subevent_device_information_model_number_get_value(const uint8_t * event){ 13235 return (const char *) &event[6]; 13236 } 13237 13238 /** 13239 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13240 * @param event packet 13241 * @return con_handle 13242 * @note: btstack_type H 13243 */ 13244 static inline hci_con_handle_t gattservice_subevent_device_information_serial_number_get_con_handle(const uint8_t * event){ 13245 return little_endian_read_16(event, 3); 13246 } 13247 /** 13248 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13249 * @param event packet 13250 * @return att_status 13251 * @note: btstack_type 1 13252 */ 13253 static inline uint8_t gattservice_subevent_device_information_serial_number_get_att_status(const uint8_t * event){ 13254 return event[5]; 13255 } 13256 /** 13257 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 13258 * @param event packet 13259 * @return value 13260 * @note: btstack_type T 13261 */ 13262 static inline const char * gattservice_subevent_device_information_serial_number_get_value(const uint8_t * event){ 13263 return (const char *) &event[6]; 13264 } 13265 13266 /** 13267 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13268 * @param event packet 13269 * @return con_handle 13270 * @note: btstack_type H 13271 */ 13272 static inline hci_con_handle_t gattservice_subevent_device_information_hardware_revision_get_con_handle(const uint8_t * event){ 13273 return little_endian_read_16(event, 3); 13274 } 13275 /** 13276 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13277 * @param event packet 13278 * @return att_status 13279 * @note: btstack_type 1 13280 */ 13281 static inline uint8_t gattservice_subevent_device_information_hardware_revision_get_att_status(const uint8_t * event){ 13282 return event[5]; 13283 } 13284 /** 13285 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 13286 * @param event packet 13287 * @return value 13288 * @note: btstack_type T 13289 */ 13290 static inline const char * gattservice_subevent_device_information_hardware_revision_get_value(const uint8_t * event){ 13291 return (const char *) &event[6]; 13292 } 13293 13294 /** 13295 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13296 * @param event packet 13297 * @return con_handle 13298 * @note: btstack_type H 13299 */ 13300 static inline hci_con_handle_t gattservice_subevent_device_information_firmware_revision_get_con_handle(const uint8_t * event){ 13301 return little_endian_read_16(event, 3); 13302 } 13303 /** 13304 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13305 * @param event packet 13306 * @return att_status 13307 * @note: btstack_type 1 13308 */ 13309 static inline uint8_t gattservice_subevent_device_information_firmware_revision_get_att_status(const uint8_t * event){ 13310 return event[5]; 13311 } 13312 /** 13313 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 13314 * @param event packet 13315 * @return value 13316 * @note: btstack_type T 13317 */ 13318 static inline const char * gattservice_subevent_device_information_firmware_revision_get_value(const uint8_t * event){ 13319 return (const char *) &event[6]; 13320 } 13321 13322 /** 13323 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13324 * @param event packet 13325 * @return con_handle 13326 * @note: btstack_type H 13327 */ 13328 static inline hci_con_handle_t gattservice_subevent_device_information_software_revision_get_con_handle(const uint8_t * event){ 13329 return little_endian_read_16(event, 3); 13330 } 13331 /** 13332 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13333 * @param event packet 13334 * @return att_status 13335 * @note: btstack_type 1 13336 */ 13337 static inline uint8_t gattservice_subevent_device_information_software_revision_get_att_status(const uint8_t * event){ 13338 return event[5]; 13339 } 13340 /** 13341 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 13342 * @param event packet 13343 * @return value 13344 * @note: btstack_type T 13345 */ 13346 static inline const char * gattservice_subevent_device_information_software_revision_get_value(const uint8_t * event){ 13347 return (const char *) &event[6]; 13348 } 13349 13350 /** 13351 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13352 * @param event packet 13353 * @return con_handle 13354 * @note: btstack_type H 13355 */ 13356 static inline hci_con_handle_t gattservice_subevent_device_information_system_id_get_con_handle(const uint8_t * event){ 13357 return little_endian_read_16(event, 3); 13358 } 13359 /** 13360 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13361 * @param event packet 13362 * @return att_status 13363 * @note: btstack_type 1 13364 */ 13365 static inline uint8_t gattservice_subevent_device_information_system_id_get_att_status(const uint8_t * event){ 13366 return event[5]; 13367 } 13368 /** 13369 * @brief Get field manufacturer_id_low from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13370 * @param event packet 13371 * @return manufacturer_id_low 13372 * @note: btstack_type 4 13373 */ 13374 static inline uint32_t gattservice_subevent_device_information_system_id_get_manufacturer_id_low(const uint8_t * event){ 13375 return little_endian_read_32(event, 6); 13376 } 13377 /** 13378 * @brief Get field manufacturer_id_high from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13379 * @param event packet 13380 * @return manufacturer_id_high 13381 * @note: btstack_type 1 13382 */ 13383 static inline uint8_t gattservice_subevent_device_information_system_id_get_manufacturer_id_high(const uint8_t * event){ 13384 return event[10]; 13385 } 13386 /** 13387 * @brief Get field organizationally_unique_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 13388 * @param event packet 13389 * @return organizationally_unique_id 13390 * @note: btstack_type 3 13391 */ 13392 static inline uint32_t gattservice_subevent_device_information_system_id_get_organizationally_unique_id(const uint8_t * event){ 13393 return little_endian_read_24(event, 11); 13394 } 13395 13396 /** 13397 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13398 * @param event packet 13399 * @return con_handle 13400 * @note: btstack_type H 13401 */ 13402 static inline hci_con_handle_t gattservice_subevent_device_information_ieee_regulatory_certification_get_con_handle(const uint8_t * event){ 13403 return little_endian_read_16(event, 3); 13404 } 13405 /** 13406 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13407 * @param event packet 13408 * @return att_status 13409 * @note: btstack_type 1 13410 */ 13411 static inline uint8_t gattservice_subevent_device_information_ieee_regulatory_certification_get_att_status(const uint8_t * event){ 13412 return event[5]; 13413 } 13414 /** 13415 * @brief Get field value_a from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13416 * @param event packet 13417 * @return value_a 13418 * @note: btstack_type 2 13419 */ 13420 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_a(const uint8_t * event){ 13421 return little_endian_read_16(event, 6); 13422 } 13423 /** 13424 * @brief Get field value_b from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 13425 * @param event packet 13426 * @return value_b 13427 * @note: btstack_type 2 13428 */ 13429 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_b(const uint8_t * event){ 13430 return little_endian_read_16(event, 8); 13431 } 13432 13433 /** 13434 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13435 * @param event packet 13436 * @return con_handle 13437 * @note: btstack_type H 13438 */ 13439 static inline hci_con_handle_t gattservice_subevent_device_information_pnp_id_get_con_handle(const uint8_t * event){ 13440 return little_endian_read_16(event, 3); 13441 } 13442 /** 13443 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13444 * @param event packet 13445 * @return att_status 13446 * @note: btstack_type 1 13447 */ 13448 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_att_status(const uint8_t * event){ 13449 return event[5]; 13450 } 13451 /** 13452 * @brief Get field vendor_source_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13453 * @param event packet 13454 * @return vendor_source_id 13455 * @note: btstack_type 1 13456 */ 13457 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_vendor_source_id(const uint8_t * event){ 13458 return event[6]; 13459 } 13460 /** 13461 * @brief Get field vendor_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13462 * @param event packet 13463 * @return vendor_id 13464 * @note: btstack_type 2 13465 */ 13466 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_vendor_id(const uint8_t * event){ 13467 return little_endian_read_16(event, 7); 13468 } 13469 /** 13470 * @brief Get field product_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13471 * @param event packet 13472 * @return product_id 13473 * @note: btstack_type 2 13474 */ 13475 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_id(const uint8_t * event){ 13476 return little_endian_read_16(event, 9); 13477 } 13478 /** 13479 * @brief Get field product_version from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 13480 * @param event packet 13481 * @return product_version 13482 * @note: btstack_type 2 13483 */ 13484 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_version(const uint8_t * event){ 13485 return little_endian_read_16(event, 11); 13486 } 13487 13488 /** 13489 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13490 * @param event packet 13491 * @return con_handle 13492 * @note: btstack_type H 13493 */ 13494 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_connected_get_con_handle(const uint8_t * event){ 13495 return little_endian_read_16(event, 3); 13496 } 13497 /** 13498 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 13499 * @param event packet 13500 * @return att_status 13501 * @note: btstack_type 1 13502 */ 13503 static inline uint8_t gattservice_subevent_scan_parameters_service_connected_get_att_status(const uint8_t * event){ 13504 return event[5]; 13505 } 13506 13507 /** 13508 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_DISCONNECTED 13509 * @param event packet 13510 * @return con_handle 13511 * @note: btstack_type H 13512 */ 13513 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_disconnected_get_con_handle(const uint8_t * event){ 13514 return little_endian_read_16(event, 3); 13515 } 13516 13517 /** 13518 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 13519 * @param event packet 13520 * @return con_handle 13521 * @note: btstack_type H 13522 */ 13523 static inline hci_con_handle_t gattservice_subevent_spp_service_connected_get_con_handle(const uint8_t * event){ 13524 return little_endian_read_16(event, 3); 13525 } 13526 13527 /** 13528 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 13529 * @param event packet 13530 * @return con_handle 13531 * @note: btstack_type H 13532 */ 13533 static inline hci_con_handle_t gattservice_subevent_spp_service_disconnected_get_con_handle(const uint8_t * event){ 13534 return little_endian_read_16(event, 3); 13535 } 13536 13537 /** 13538 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13539 * @param event packet 13540 * @return hids_cid 13541 * @note: btstack_type 2 13542 */ 13543 static inline uint16_t gattservice_subevent_hid_service_connected_get_hids_cid(const uint8_t * event){ 13544 return little_endian_read_16(event, 3); 13545 } 13546 /** 13547 * @brief Get field status from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13548 * @param event packet 13549 * @return status 13550 * @note: btstack_type 1 13551 */ 13552 static inline uint8_t gattservice_subevent_hid_service_connected_get_status(const uint8_t * event){ 13553 return event[5]; 13554 } 13555 /** 13556 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13557 * @param event packet 13558 * @return protocol_mode 13559 * @note: btstack_type 1 13560 */ 13561 static inline uint8_t gattservice_subevent_hid_service_connected_get_protocol_mode(const uint8_t * event){ 13562 return event[6]; 13563 } 13564 /** 13565 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 13566 * @param event packet 13567 * @return num_instances 13568 * @note: btstack_type 1 13569 */ 13570 static inline uint8_t gattservice_subevent_hid_service_connected_get_num_instances(const uint8_t * event){ 13571 return event[7]; 13572 } 13573 13574 /** 13575 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_DISCONNECTED 13576 * @param event packet 13577 * @return hids_cid 13578 * @note: btstack_type 2 13579 */ 13580 static inline uint16_t gattservice_subevent_hid_service_disconnected_get_hids_cid(const uint8_t * event){ 13581 return little_endian_read_16(event, 3); 13582 } 13583 13584 /** 13585 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT 13586 * @param event packet 13587 * @return hids_cid 13588 * @note: btstack_type 2 13589 */ 13590 static inline uint16_t gattservice_subevent_hid_report_get_hids_cid(const uint8_t * event){ 13591 return little_endian_read_16(event, 3); 13592 } 13593 /** 13594 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT 13595 * @param event packet 13596 * @return service_index 13597 * @note: btstack_type 1 13598 */ 13599 static inline uint8_t gattservice_subevent_hid_report_get_service_index(const uint8_t * event){ 13600 return event[5]; 13601 } 13602 /** 13603 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT 13604 * @param event packet 13605 * @return report_id 13606 * @note: btstack_type 1 13607 */ 13608 static inline uint8_t gattservice_subevent_hid_report_get_report_id(const uint8_t * event){ 13609 return event[6]; 13610 } 13611 /** 13612 * @brief Get field report_len from event GATTSERVICE_SUBEVENT_HID_REPORT 13613 * @param event packet 13614 * @return report_len 13615 * @note: btstack_type L 13616 */ 13617 static inline uint16_t gattservice_subevent_hid_report_get_report_len(const uint8_t * event){ 13618 return little_endian_read_16(event, 7); 13619 } 13620 /** 13621 * @brief Get field report from event GATTSERVICE_SUBEVENT_HID_REPORT 13622 * @param event packet 13623 * @return report 13624 * @note: btstack_type V 13625 */ 13626 static inline const uint8_t * gattservice_subevent_hid_report_get_report(const uint8_t * event){ 13627 return &event[9]; 13628 } 13629 13630 /** 13631 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13632 * @param event packet 13633 * @return hids_cid 13634 * @note: btstack_type 2 13635 */ 13636 static inline uint16_t gattservice_subevent_hid_information_get_hids_cid(const uint8_t * event){ 13637 return little_endian_read_16(event, 3); 13638 } 13639 /** 13640 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13641 * @param event packet 13642 * @return service_index 13643 * @note: btstack_type 1 13644 */ 13645 static inline uint8_t gattservice_subevent_hid_information_get_service_index(const uint8_t * event){ 13646 return event[5]; 13647 } 13648 /** 13649 * @brief Get field base_usb_hid_version from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13650 * @param event packet 13651 * @return base_usb_hid_version 13652 * @note: btstack_type 2 13653 */ 13654 static inline uint16_t gattservice_subevent_hid_information_get_base_usb_hid_version(const uint8_t * event){ 13655 return little_endian_read_16(event, 6); 13656 } 13657 /** 13658 * @brief Get field country_code from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13659 * @param event packet 13660 * @return country_code 13661 * @note: btstack_type 1 13662 */ 13663 static inline uint8_t gattservice_subevent_hid_information_get_country_code(const uint8_t * event){ 13664 return event[8]; 13665 } 13666 /** 13667 * @brief Get field remote_wake from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13668 * @param event packet 13669 * @return remote_wake 13670 * @note: btstack_type 1 13671 */ 13672 static inline uint8_t gattservice_subevent_hid_information_get_remote_wake(const uint8_t * event){ 13673 return event[9]; 13674 } 13675 /** 13676 * @brief Get field normally_connectable from event GATTSERVICE_SUBEVENT_HID_INFORMATION 13677 * @param event packet 13678 * @return normally_connectable 13679 * @note: btstack_type 1 13680 */ 13681 static inline uint8_t gattservice_subevent_hid_information_get_normally_connectable(const uint8_t * event){ 13682 return event[10]; 13683 } 13684 13685 /** 13686 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13687 * @param event packet 13688 * @return hids_cid 13689 * @note: btstack_type 2 13690 */ 13691 static inline uint16_t gattservice_subevent_hid_protocol_mode_get_hids_cid(const uint8_t * event){ 13692 return little_endian_read_16(event, 3); 13693 } 13694 /** 13695 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13696 * @param event packet 13697 * @return service_index 13698 * @note: btstack_type 1 13699 */ 13700 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_service_index(const uint8_t * event){ 13701 return event[5]; 13702 } 13703 /** 13704 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 13705 * @param event packet 13706 * @return protocol_mode 13707 * @note: btstack_type 1 13708 */ 13709 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_protocol_mode(const uint8_t * event){ 13710 return event[6]; 13711 } 13712 13713 /** 13714 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13715 * @param event packet 13716 * @return hids_cid 13717 * @note: btstack_type 2 13718 */ 13719 static inline uint16_t gattservice_subevent_hid_service_reports_notification_get_hids_cid(const uint8_t * event){ 13720 return little_endian_read_16(event, 3); 13721 } 13722 /** 13723 * @brief Get field configuration from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 13724 * @param event packet 13725 * @return configuration 13726 * @note: btstack_type 1 13727 */ 13728 static inline uint8_t gattservice_subevent_hid_service_reports_notification_get_configuration(const uint8_t * event){ 13729 return event[5]; 13730 } 13731 13732 /** 13733 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13734 * @param event packet 13735 * @return hids_cid 13736 * @note: btstack_type 2 13737 */ 13738 static inline uint16_t gattservice_subevent_hid_report_written_get_hids_cid(const uint8_t * event){ 13739 return little_endian_read_16(event, 3); 13740 } 13741 /** 13742 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13743 * @param event packet 13744 * @return service_index 13745 * @note: btstack_type 1 13746 */ 13747 static inline uint8_t gattservice_subevent_hid_report_written_get_service_index(const uint8_t * event){ 13748 return event[5]; 13749 } 13750 /** 13751 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT_WRITTEN 13752 * @param event packet 13753 * @return report_id 13754 * @note: btstack_type 1 13755 */ 13756 static inline uint8_t gattservice_subevent_hid_report_written_get_report_id(const uint8_t * event){ 13757 return event[6]; 13758 } 13759 13760 /** 13761 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13762 * @param event packet 13763 * @return con_handle 13764 * @note: btstack_type H 13765 */ 13766 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_con_handle(const uint8_t * event){ 13767 return little_endian_read_16(event, 3); 13768 } 13769 /** 13770 * @brief Get field max_scan_interval from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13771 * @param event packet 13772 * @return max_scan_interval 13773 * @note: btstack_type 2 13774 */ 13775 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_max_scan_interval(const uint8_t * event){ 13776 return little_endian_read_16(event, 5); 13777 } 13778 /** 13779 * @brief Get field min_scan_window from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 13780 * @param event packet 13781 * @return min_scan_window 13782 * @note: btstack_type 2 13783 */ 13784 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_min_scan_window(const uint8_t * event){ 13785 return little_endian_read_16(event, 7); 13786 } 13787 13788 /** 13789 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13790 * @param event packet 13791 * @return con_handle 13792 * @note: btstack_type H 13793 */ 13794 static inline hci_con_handle_t gattservice_subevent_gatt_service_changed_get_con_handle(const uint8_t * event){ 13795 return little_endian_read_16(event, 3); 13796 } 13797 /** 13798 * @brief Get field attribute_handle_start from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13799 * @param event packet 13800 * @return attribute_handle_start 13801 * @note: btstack_type 2 13802 */ 13803 static inline uint16_t gattservice_subevent_gatt_service_changed_get_attribute_handle_start(const uint8_t * event){ 13804 return little_endian_read_16(event, 5); 13805 } 13806 /** 13807 * @brief Get field attribute_handle_end from event GATTSERVICE_SUBEVENT_GATT_SERVICE_CHANGED 13808 * @param event packet 13809 * @return attribute_handle_end 13810 * @note: btstack_type 2 13811 */ 13812 static inline uint16_t gattservice_subevent_gatt_service_changed_get_attribute_handle_end(const uint8_t * event){ 13813 return little_endian_read_16(event, 7); 13814 } 13815 13816 /** 13817 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_GATT_DATABASE_HASH 13818 * @param event packet 13819 * @return con_handle 13820 * @note: btstack_type H 13821 */ 13822 static inline hci_con_handle_t gattservice_subevent_gatt_database_hash_get_con_handle(const uint8_t * event){ 13823 return little_endian_read_16(event, 3); 13824 } 13825 /** 13826 * @brief Get field database_hash from event GATTSERVICE_SUBEVENT_GATT_DATABASE_HASH 13827 * @param event packet 13828 * @param Pointer to storage for database_hash 13829 * @note: btstack_type K 13830 */ 13831 static inline void gattservice_subevent_gatt_database_hash_get_database_hash(const uint8_t * event, uint8_t * database_hash){ 13832 reverse_bytes(&event[5], database_hash, 16); 13833 } 13834 13835 /** 13836 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13837 * @param event packet 13838 * @return con_handle 13839 * @note: btstack_type H 13840 */ 13841 static inline hci_con_handle_t gattservice_subevent_client_connected_get_con_handle(const uint8_t * event){ 13842 return little_endian_read_16(event, 3); 13843 } 13844 /** 13845 * @brief Get field cid from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13846 * @param event packet 13847 * @return cid 13848 * @note: btstack_type 2 13849 */ 13850 static inline uint16_t gattservice_subevent_client_connected_get_cid(const uint8_t * event){ 13851 return little_endian_read_16(event, 5); 13852 } 13853 /** 13854 * @brief Get field num_included_services from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13855 * @param event packet 13856 * @return num_included_services 13857 * @note: btstack_type 1 13858 */ 13859 static inline uint8_t gattservice_subevent_client_connected_get_num_included_services(const uint8_t * event){ 13860 return event[7]; 13861 } 13862 /** 13863 * @brief Get field status from event GATTSERVICE_SUBEVENT_CLIENT_CONNECTED 13864 * @param event packet 13865 * @return status 13866 * @note: btstack_type 1 13867 */ 13868 static inline uint8_t gattservice_subevent_client_connected_get_status(const uint8_t * event){ 13869 return event[8]; 13870 } 13871 13872 /** 13873 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CLIENT_DISCONNECTED 13874 * @param event packet 13875 * @return con_handle 13876 * @note: btstack_type H 13877 */ 13878 static inline hci_con_handle_t gattservice_subevent_client_disconnected_get_con_handle(const uint8_t * event){ 13879 return little_endian_read_16(event, 3); 13880 } 13881 /** 13882 * @brief Get field cid from event GATTSERVICE_SUBEVENT_CLIENT_DISCONNECTED 13883 * @param event packet 13884 * @return cid 13885 * @note: btstack_type 2 13886 */ 13887 static inline uint16_t gattservice_subevent_client_disconnected_get_cid(const uint8_t * event){ 13888 return little_endian_read_16(event, 5); 13889 } 13890 13891 /** 13892 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13893 * @param event packet 13894 * @return con_handle 13895 * @note: btstack_type H 13896 */ 13897 static inline hci_con_handle_t gattservice_subevent_lls_client_connected_get_con_handle(const uint8_t * event){ 13898 return little_endian_read_16(event, 3); 13899 } 13900 /** 13901 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13902 * @param event packet 13903 * @return lls_cid 13904 * @note: btstack_type 2 13905 */ 13906 static inline uint16_t gattservice_subevent_lls_client_connected_get_lls_cid(const uint8_t * event){ 13907 return little_endian_read_16(event, 5); 13908 } 13909 /** 13910 * @brief Get field status from event GATTSERVICE_SUBEVENT_LLS_CLIENT_CONNECTED 13911 * @param event packet 13912 * @return status 13913 * @note: btstack_type 1 13914 */ 13915 static inline uint8_t gattservice_subevent_lls_client_connected_get_status(const uint8_t * event){ 13916 return event[7]; 13917 } 13918 13919 /** 13920 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_DISCONNECTED 13921 * @param event packet 13922 * @return lls_cid 13923 * @note: btstack_type 2 13924 */ 13925 static inline uint16_t gattservice_subevent_lls_client_disconnected_get_lls_cid(const uint8_t * event){ 13926 return little_endian_read_16(event, 3); 13927 } 13928 13929 /** 13930 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 13931 * @param event packet 13932 * @return lls_cid 13933 * @note: btstack_type 2 13934 */ 13935 static inline uint16_t gattservice_subevent_lls_client_write_done_get_lls_cid(const uint8_t * event){ 13936 return little_endian_read_16(event, 3); 13937 } 13938 /** 13939 * @brief Get field characteristic_uuid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 13940 * @param event packet 13941 * @return characteristic_uuid 13942 * @note: btstack_type 2 13943 */ 13944 static inline uint16_t gattservice_subevent_lls_client_write_done_get_characteristic_uuid(const uint8_t * event){ 13945 return little_endian_read_16(event, 5); 13946 } 13947 /** 13948 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_LLS_CLIENT_WRITE_DONE 13949 * @param event packet 13950 * @return att_status 13951 * @note: btstack_type 1 13952 */ 13953 static inline uint8_t gattservice_subevent_lls_client_write_done_get_att_status(const uint8_t * event){ 13954 return event[7]; 13955 } 13956 13957 /** 13958 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_START_ALERTING 13959 * @param event packet 13960 * @return lls_cid 13961 * @note: btstack_type 2 13962 */ 13963 static inline uint16_t gattservice_subevent_lls_client_start_alerting_get_lls_cid(const uint8_t * event){ 13964 return little_endian_read_16(event, 3); 13965 } 13966 13967 /** 13968 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_STOP_ALERTING 13969 * @param event packet 13970 * @return lls_cid 13971 * @note: btstack_type 2 13972 */ 13973 static inline uint16_t gattservice_subevent_lls_client_stop_alerting_get_lls_cid(const uint8_t * event){ 13974 return little_endian_read_16(event, 3); 13975 } 13976 /** 13977 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_LLS_CLIENT_STOP_ALERTING 13978 * @param event packet 13979 * @return timeout 13980 * @note: btstack_type 1 13981 */ 13982 static inline uint8_t gattservice_subevent_lls_client_stop_alerting_get_timeout(const uint8_t * event){ 13983 return event[5]; 13984 } 13985 13986 /** 13987 * @brief Get field lls_cid from event GATTSERVICE_SUBEVENT_LLS_CLIENT_ALERT_LEVEL 13988 * @param event packet 13989 * @return lls_cid 13990 * @note: btstack_type 2 13991 */ 13992 static inline uint16_t gattservice_subevent_lls_client_alert_level_get_lls_cid(const uint8_t * event){ 13993 return little_endian_read_16(event, 3); 13994 } 13995 /** 13996 * @brief Get field value from event GATTSERVICE_SUBEVENT_LLS_CLIENT_ALERT_LEVEL 13997 * @param event packet 13998 * @return value 13999 * @note: btstack_type 1 14000 */ 14001 static inline uint8_t gattservice_subevent_lls_client_alert_level_get_value(const uint8_t * event){ 14002 return event[5]; 14003 } 14004 14005 /** 14006 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14007 * @param event packet 14008 * @return con_handle 14009 * @note: btstack_type H 14010 */ 14011 static inline hci_con_handle_t gattservice_subevent_ias_client_connected_get_con_handle(const uint8_t * event){ 14012 return little_endian_read_16(event, 3); 14013 } 14014 /** 14015 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14016 * @param event packet 14017 * @return ias_cid 14018 * @note: btstack_type 2 14019 */ 14020 static inline uint16_t gattservice_subevent_ias_client_connected_get_ias_cid(const uint8_t * event){ 14021 return little_endian_read_16(event, 5); 14022 } 14023 /** 14024 * @brief Get field status from event GATTSERVICE_SUBEVENT_IAS_CLIENT_CONNECTED 14025 * @param event packet 14026 * @return status 14027 * @note: btstack_type 1 14028 */ 14029 static inline uint8_t gattservice_subevent_ias_client_connected_get_status(const uint8_t * event){ 14030 return event[7]; 14031 } 14032 14033 /** 14034 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_DISCONNECTED 14035 * @param event packet 14036 * @return ias_cid 14037 * @note: btstack_type 2 14038 */ 14039 static inline uint16_t gattservice_subevent_ias_client_disconnected_get_ias_cid(const uint8_t * event){ 14040 return little_endian_read_16(event, 3); 14041 } 14042 14043 /** 14044 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_START_ALERTING 14045 * @param event packet 14046 * @return ias_cid 14047 * @note: btstack_type 2 14048 */ 14049 static inline uint16_t gattservice_subevent_ias_client_start_alerting_get_ias_cid(const uint8_t * event){ 14050 return little_endian_read_16(event, 3); 14051 } 14052 14053 /** 14054 * @brief Get field ias_cid from event GATTSERVICE_SUBEVENT_IAS_CLIENT_STOP_ALERTING 14055 * @param event packet 14056 * @return ias_cid 14057 * @note: btstack_type 2 14058 */ 14059 static inline uint16_t gattservice_subevent_ias_client_stop_alerting_get_ias_cid(const uint8_t * event){ 14060 return little_endian_read_16(event, 3); 14061 } 14062 /** 14063 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_IAS_CLIENT_STOP_ALERTING 14064 * @param event packet 14065 * @return timeout 14066 * @note: btstack_type 1 14067 */ 14068 static inline uint8_t gattservice_subevent_ias_client_stop_alerting_get_timeout(const uint8_t * event){ 14069 return event[5]; 14070 } 14071 14072 /** 14073 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14074 * @param event packet 14075 * @return con_handle 14076 * @note: btstack_type H 14077 */ 14078 static inline hci_con_handle_t gattservice_subevent_txps_client_connected_get_con_handle(const uint8_t * event){ 14079 return little_endian_read_16(event, 3); 14080 } 14081 /** 14082 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14083 * @param event packet 14084 * @return tpxs_cid 14085 * @note: btstack_type 2 14086 */ 14087 static inline uint16_t gattservice_subevent_txps_client_connected_get_tpxs_cid(const uint8_t * event){ 14088 return little_endian_read_16(event, 5); 14089 } 14090 /** 14091 * @brief Get field status from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_CONNECTED 14092 * @param event packet 14093 * @return status 14094 * @note: btstack_type 1 14095 */ 14096 static inline uint8_t gattservice_subevent_txps_client_connected_get_status(const uint8_t * event){ 14097 return event[7]; 14098 } 14099 14100 /** 14101 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_DISCONNECTED 14102 * @param event packet 14103 * @return tpxs_cid 14104 * @note: btstack_type 2 14105 */ 14106 static inline uint16_t gattservice_subevent_txps_client_disconnected_get_tpxs_cid(const uint8_t * event){ 14107 return little_endian_read_16(event, 3); 14108 } 14109 14110 /** 14111 * @brief Get field tpxs_cid from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_TX_POWER_LEVEL 14112 * @param event packet 14113 * @return tpxs_cid 14114 * @note: btstack_type 2 14115 */ 14116 static inline uint16_t gattservice_subevent_txps_client_tx_power_level_get_tpxs_cid(const uint8_t * event){ 14117 return little_endian_read_16(event, 3); 14118 } 14119 /** 14120 * @brief Get field value from event GATTSERVICE_SUBEVENT_TXPS_CLIENT_TX_POWER_LEVEL 14121 * @param event packet 14122 * @return value 14123 * @note: btstack_type 1 14124 */ 14125 static inline uint8_t gattservice_subevent_txps_client_tx_power_level_get_value(const uint8_t * event){ 14126 return event[5]; 14127 } 14128 14129 /** 14130 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_LLS_SERVER_START_ALERTING 14131 * @param event packet 14132 * @return alert_level 14133 * @note: btstack_type 1 14134 */ 14135 static inline uint8_t gattservice_subevent_lls_server_start_alerting_get_alert_level(const uint8_t * event){ 14136 return event[3]; 14137 } 14138 14139 /** 14140 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_LLS_SERVER_STOP_ALERTING 14141 * @param event packet 14142 * @return alert_level 14143 * @note: btstack_type 1 14144 */ 14145 static inline uint8_t gattservice_subevent_lls_server_stop_alerting_get_alert_level(const uint8_t * event){ 14146 return event[3]; 14147 } 14148 /** 14149 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_LLS_SERVER_STOP_ALERTING 14150 * @param event packet 14151 * @return timeout 14152 * @note: btstack_type 1 14153 */ 14154 static inline uint8_t gattservice_subevent_lls_server_stop_alerting_get_timeout(const uint8_t * event){ 14155 return event[4]; 14156 } 14157 14158 /** 14159 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_IAS_SERVER_START_ALERTING 14160 * @param event packet 14161 * @return alert_level 14162 * @note: btstack_type 1 14163 */ 14164 static inline uint8_t gattservice_subevent_ias_server_start_alerting_get_alert_level(const uint8_t * event){ 14165 return event[3]; 14166 } 14167 14168 /** 14169 * @brief Get field alert_level from event GATTSERVICE_SUBEVENT_IAS_SERVER_STOP_ALERTING 14170 * @param event packet 14171 * @return alert_level 14172 * @note: btstack_type 1 14173 */ 14174 static inline uint8_t gattservice_subevent_ias_server_stop_alerting_get_alert_level(const uint8_t * event){ 14175 return event[3]; 14176 } 14177 /** 14178 * @brief Get field timeout from event GATTSERVICE_SUBEVENT_IAS_SERVER_STOP_ALERTING 14179 * @param event packet 14180 * @return timeout 14181 * @note: btstack_type 1 14182 */ 14183 static inline uint8_t gattservice_subevent_ias_server_stop_alerting_get_timeout(const uint8_t * event){ 14184 return event[4]; 14185 } 14186 14187 /** 14188 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14189 * @param event packet 14190 * @return con_handle 14191 * @note: btstack_type H 14192 */ 14193 static inline hci_con_handle_t gattservice_subevent_device_information_udi_for_medical_devices_get_con_handle(const uint8_t * event){ 14194 return little_endian_read_16(event, 3); 14195 } 14196 /** 14197 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14198 * @param event packet 14199 * @return att_status 14200 * @note: btstack_type 1 14201 */ 14202 static inline uint8_t gattservice_subevent_device_information_udi_for_medical_devices_get_att_status(const uint8_t * event){ 14203 return event[5]; 14204 } 14205 /** 14206 * @brief Get field label from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_UDI_FOR_MEDICAL_DEVICES 14207 * @param event packet 14208 * @return label 14209 * @note: btstack_type T 14210 */ 14211 static inline const char * gattservice_subevent_device_information_udi_for_medical_devices_get_label(const uint8_t * event){ 14212 return (const char *) &event[6]; 14213 } 14214 14215 /** 14216 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 14217 * @param event packet 14218 * @return con_handle 14219 * @note: btstack_type H 14220 */ 14221 static inline hci_con_handle_t leaudio_subevent_bass_server_connected_get_con_handle(const uint8_t * event){ 14222 return little_endian_read_16(event, 3); 14223 } 14224 /** 14225 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_SERVER_CONNECTED 14226 * @param event packet 14227 * @return status 14228 * @note: btstack_type 1 14229 */ 14230 static inline uint8_t leaudio_subevent_bass_server_connected_get_status(const uint8_t * event){ 14231 return event[5]; 14232 } 14233 14234 /** 14235 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_DISCONNECTED 14236 * @param event packet 14237 * @return con_handle 14238 * @note: btstack_type H 14239 */ 14240 static inline hci_con_handle_t leaudio_subevent_bass_server_disconnected_get_con_handle(const uint8_t * event){ 14241 return little_endian_read_16(event, 3); 14242 } 14243 14244 /** 14245 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STOPPED 14246 * @param event packet 14247 * @return con_handle 14248 * @note: btstack_type H 14249 */ 14250 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_stopped_get_con_handle(const uint8_t * event){ 14251 return little_endian_read_16(event, 3); 14252 } 14253 14254 /** 14255 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SCAN_STARTED 14256 * @param event packet 14257 * @return con_handle 14258 * @note: btstack_type H 14259 */ 14260 static inline hci_con_handle_t leaudio_subevent_bass_server_scan_started_get_con_handle(const uint8_t * event){ 14261 return little_endian_read_16(event, 3); 14262 } 14263 14264 /** 14265 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14266 * @param event packet 14267 * @return con_handle 14268 * @note: btstack_type H 14269 */ 14270 static inline hci_con_handle_t leaudio_subevent_bass_server_broadcast_code_get_con_handle(const uint8_t * event){ 14271 return little_endian_read_16(event, 3); 14272 } 14273 /** 14274 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14275 * @param event packet 14276 * @return source_id 14277 * @note: btstack_type 1 14278 */ 14279 static inline uint8_t leaudio_subevent_bass_server_broadcast_code_get_source_id(const uint8_t * event){ 14280 return event[5]; 14281 } 14282 /** 14283 * @brief Get field broadcast_code from event LEAUDIO_SUBEVENT_BASS_SERVER_BROADCAST_CODE 14284 * @param event packet 14285 * @param Pointer to storage for broadcast_code 14286 * @note: btstack_type K 14287 */ 14288 static inline void leaudio_subevent_bass_server_broadcast_code_get_broadcast_code(const uint8_t * event, uint8_t * broadcast_code){ 14289 reverse_bytes(&event[6], broadcast_code, 16); 14290 } 14291 14292 /** 14293 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14294 * @param event packet 14295 * @return con_handle 14296 * @note: btstack_type H 14297 */ 14298 static inline hci_con_handle_t leaudio_subevent_bass_server_source_added_get_con_handle(const uint8_t * event){ 14299 return little_endian_read_16(event, 3); 14300 } 14301 /** 14302 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14303 * @param event packet 14304 * @return source_id 14305 * @note: btstack_type 1 14306 */ 14307 static inline uint8_t leaudio_subevent_bass_server_source_added_get_source_id(const uint8_t * event){ 14308 return event[5]; 14309 } 14310 /** 14311 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_ADDED 14312 * @param event packet 14313 * @return pa_sync 14314 * @note: btstack_type 1 14315 */ 14316 static inline uint8_t leaudio_subevent_bass_server_source_added_get_pa_sync(const uint8_t * event){ 14317 return event[6]; 14318 } 14319 14320 /** 14321 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14322 * @param event packet 14323 * @return con_handle 14324 * @note: btstack_type H 14325 */ 14326 static inline hci_con_handle_t leaudio_subevent_bass_server_source_modified_get_con_handle(const uint8_t * event){ 14327 return little_endian_read_16(event, 3); 14328 } 14329 /** 14330 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14331 * @param event packet 14332 * @return source_id 14333 * @note: btstack_type 1 14334 */ 14335 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_source_id(const uint8_t * event){ 14336 return event[5]; 14337 } 14338 /** 14339 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 14340 * @param event packet 14341 * @return pa_sync 14342 * @note: btstack_type 1 14343 */ 14344 static inline uint8_t leaudio_subevent_bass_server_source_modified_get_pa_sync(const uint8_t * event){ 14345 return event[6]; 14346 } 14347 14348 /** 14349 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14350 * @param event packet 14351 * @return con_handle 14352 * @note: btstack_type H 14353 */ 14354 static inline hci_con_handle_t leaudio_subevent_bass_server_source_deleted_get_con_handle(const uint8_t * event){ 14355 return little_endian_read_16(event, 3); 14356 } 14357 /** 14358 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14359 * @param event packet 14360 * @return source_id 14361 * @note: btstack_type 1 14362 */ 14363 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_source_id(const uint8_t * event){ 14364 return event[5]; 14365 } 14366 /** 14367 * @brief Get field pa_sync from event LEAUDIO_SUBEVENT_BASS_SERVER_SOURCE_DELETED 14368 * @param event packet 14369 * @return pa_sync 14370 * @note: btstack_type 1 14371 */ 14372 static inline uint8_t leaudio_subevent_bass_server_source_deleted_get_pa_sync(const uint8_t * event){ 14373 return event[6]; 14374 } 14375 14376 /** 14377 * @brief Get field con_handle from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14378 * @param event packet 14379 * @return con_handle 14380 * @note: btstack_type H 14381 */ 14382 static inline hci_con_handle_t leaudio_subevent_bass_client_connected_get_con_handle(const uint8_t * event){ 14383 return little_endian_read_16(event, 3); 14384 } 14385 /** 14386 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14387 * @param event packet 14388 * @return bass_cid 14389 * @note: btstack_type 2 14390 */ 14391 static inline uint16_t leaudio_subevent_bass_client_connected_get_bass_cid(const uint8_t * event){ 14392 return little_endian_read_16(event, 5); 14393 } 14394 /** 14395 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_CONNECTED 14396 * @param event packet 14397 * @return status 14398 * @note: btstack_type 1 14399 */ 14400 static inline uint8_t leaudio_subevent_bass_client_connected_get_status(const uint8_t * event){ 14401 return event[7]; 14402 } 14403 14404 /** 14405 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_DISCONNECTED 14406 * @param event packet 14407 * @return bass_cid 14408 * @note: btstack_type 2 14409 */ 14410 static inline uint16_t leaudio_subevent_bass_client_disconnected_get_bass_cid(const uint8_t * event){ 14411 return little_endian_read_16(event, 3); 14412 } 14413 14414 /** 14415 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14416 * @param event packet 14417 * @return bass_cid 14418 * @note: btstack_type 2 14419 */ 14420 static inline uint16_t leaudio_subevent_bass_client_scan_operation_complete_get_bass_cid(const uint8_t * event){ 14421 return little_endian_read_16(event, 3); 14422 } 14423 /** 14424 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14425 * @param event packet 14426 * @return status 14427 * @note: btstack_type 1 14428 */ 14429 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_status(const uint8_t * event){ 14430 return event[5]; 14431 } 14432 /** 14433 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 14434 * @param event packet 14435 * @return opcode 14436 * @note: btstack_type 1 14437 */ 14438 static inline uint8_t leaudio_subevent_bass_client_scan_operation_complete_get_opcode(const uint8_t * event){ 14439 return event[6]; 14440 } 14441 14442 /** 14443 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14444 * @param event packet 14445 * @return bass_cid 14446 * @note: btstack_type 2 14447 */ 14448 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_base_get_bass_cid(const uint8_t * event){ 14449 return little_endian_read_16(event, 3); 14450 } 14451 /** 14452 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14453 * @param event packet 14454 * @return source_id 14455 * @note: btstack_type 1 14456 */ 14457 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_id(const uint8_t * event){ 14458 return event[5]; 14459 } 14460 /** 14461 * @brief Get field source_address_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14462 * @param event packet 14463 * @return source_address_type 14464 * @note: btstack_type 1 14465 */ 14466 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_address_type(const uint8_t * event){ 14467 return event[6]; 14468 } 14469 /** 14470 * @brief Get field source_address from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14471 * @param event packet 14472 * @param Pointer to storage for source_address 14473 * @note: btstack_type B 14474 */ 14475 static inline void leaudio_subevent_bass_client_notify_receive_state_base_get_source_address(const uint8_t * event, bd_addr_t source_address){ 14476 reverse_bytes(&event[7], source_address, 6); 14477 } 14478 /** 14479 * @brief Get field source_adv_sid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14480 * @param event packet 14481 * @return source_adv_sid 14482 * @note: btstack_type 1 14483 */ 14484 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_source_adv_sid(const uint8_t * event){ 14485 return event[13]; 14486 } 14487 /** 14488 * @brief Get field broadcast_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14489 * @param event packet 14490 * @return broadcast_id 14491 * @note: btstack_type 3 14492 */ 14493 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_base_get_broadcast_id(const uint8_t * event){ 14494 return little_endian_read_24(event, 14); 14495 } 14496 /** 14497 * @brief Get field pa_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14498 * @param event packet 14499 * @return pa_sync_state 14500 * @note: btstack_type 1 14501 */ 14502 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_pa_sync_state(const uint8_t * event){ 14503 return event[17]; 14504 } 14505 /** 14506 * @brief Get field big_encryption from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14507 * @param event packet 14508 * @return big_encryption 14509 * @note: btstack_type 1 14510 */ 14511 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_big_encryption(const uint8_t * event){ 14512 return event[18]; 14513 } 14514 /** 14515 * @brief Get field bad_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14516 * @param event packet 14517 * @return bad_code 14518 * @note: btstack_type P 14519 */ 14520 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_base_get_bad_code(const uint8_t * event){ 14521 return (const uint8_t *) &event[19]; 14522 } 14523 /** 14524 * @brief Get field subgroups_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_BASE 14525 * @param event packet 14526 * @return subgroups_num 14527 * @note: btstack_type 1 14528 */ 14529 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_base_get_subgroups_num(const uint8_t * event){ 14530 return event[35]; 14531 } 14532 14533 /** 14534 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14535 * @param event packet 14536 * @return bass_cid 14537 * @note: btstack_type 2 14538 */ 14539 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){ 14540 return little_endian_read_16(event, 3); 14541 } 14542 /** 14543 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14544 * @param event packet 14545 * @return source_id 14546 * @note: btstack_type 1 14547 */ 14548 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_source_id(const uint8_t * event){ 14549 return event[5]; 14550 } 14551 /** 14552 * @brief Get field bis_sync_state from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14553 * @param event packet 14554 * @return bis_sync_state 14555 * @note: btstack_type 4 14556 */ 14557 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){ 14558 return little_endian_read_32(event, 6); 14559 } 14560 /** 14561 * @brief Get field metadata_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14562 * @param event packet 14563 * @return metadata_mask 14564 * @note: btstack_type 1 14565 */ 14566 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){ 14567 return event[10]; 14568 } 14569 /** 14570 * @brief Get field preferred_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14571 * @param event packet 14572 * @return preferred_audio_contexts_mask 14573 * @note: btstack_type 2 14574 */ 14575 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){ 14576 return little_endian_read_16(event, 11); 14577 } 14578 /** 14579 * @brief Get field streaming_audio_contexts_mask from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14580 * @param event packet 14581 * @return streaming_audio_contexts_mask 14582 * @note: btstack_type 2 14583 */ 14584 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){ 14585 return little_endian_read_16(event, 13); 14586 } 14587 /** 14588 * @brief Get field program_info_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14589 * @param event packet 14590 * @return program_info_length 14591 * @note: btstack_type J 14592 */ 14593 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){ 14594 return event[15]; 14595 } 14596 /** 14597 * @brief Get field program_info from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14598 * @param event packet 14599 * @return program_info 14600 * @note: btstack_type V 14601 */ 14602 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info(const uint8_t * event){ 14603 return &event[16]; 14604 } 14605 /** 14606 * @brief Get field language_code from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14607 * @param event packet 14608 * @return language_code 14609 * @note: btstack_type 3 14610 */ 14611 static inline uint32_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_language_code(const uint8_t * event){ 14612 uint8_t offset = 16u + event[15]; 14613 return little_endian_read_24(event, (int)(int8_t) offset); 14614 } 14615 /** 14616 * @brief Get field ccids_num from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14617 * @param event packet 14618 * @return ccids_num 14619 * @note: btstack_type J 14620 */ 14621 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){ 14622 return event[16u + event[15] + 3u]; 14623 } 14624 /** 14625 * @brief Get field ccids from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14626 * @param event packet 14627 * @return ccids 14628 * @note: btstack_type V 14629 */ 14630 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_ccids(const uint8_t * event){ 14631 return &event[16u + event[15] + 3u + 1u]; 14632 } 14633 /** 14634 * @brief Get field parental_rating from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14635 * @param event packet 14636 * @return parental_rating 14637 * @note: btstack_type 1 14638 */ 14639 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){ 14640 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]]; 14641 } 14642 /** 14643 * @brief Get field program_info_uri_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14644 * @param event packet 14645 * @return program_info_uri_length 14646 * @note: btstack_type J 14647 */ 14648 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){ 14649 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; 14650 } 14651 /** 14652 * @brief Get field program_info_uri from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14653 * @param event packet 14654 * @return program_info_uri 14655 * @note: btstack_type V 14656 */ 14657 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){ 14658 return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u]; 14659 } 14660 /** 14661 * @brief Get field extended_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14662 * @param event packet 14663 * @return extended_metadata_type 14664 * @note: btstack_type 2 14665 */ 14666 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){ 14667 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]; 14668 return little_endian_read_16(event, (int)(int8_t) offset); 14669 } 14670 /** 14671 * @brief Get field extended_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14672 * @param event packet 14673 * @return extended_metadata_value_length 14674 * @note: btstack_type J 14675 */ 14676 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){ 14677 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]; 14678 } 14679 /** 14680 * @brief Get field extended_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14681 * @param event packet 14682 * @return extended_metadata_value 14683 * @note: btstack_type V 14684 */ 14685 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){ 14686 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]; 14687 } 14688 /** 14689 * @brief Get field vendor_specific_metadata_type from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14690 * @param event packet 14691 * @return vendor_specific_metadata_type 14692 * @note: btstack_type 2 14693 */ 14694 static inline uint16_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){ 14695 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]; 14696 return little_endian_read_16(event, (int)(int8_t) offset); 14697 } 14698 /** 14699 * @brief Get field vendor_specific_metadata_value_length from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14700 * @param event packet 14701 * @return vendor_specific_metadata_value_length 14702 * @note: btstack_type J 14703 */ 14704 static inline uint8_t leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){ 14705 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]; 14706 } 14707 /** 14708 * @brief Get field vendor_specific_metadata_value from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14709 * @param event packet 14710 * @return vendor_specific_metadata_value 14711 * @note: btstack_type V 14712 */ 14713 static inline const uint8_t * leaudio_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){ 14714 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]; 14715 } 14716 14717 /** 14718 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14719 * @param event packet 14720 * @return bass_cid 14721 * @note: btstack_type 2 14722 */ 14723 static inline uint16_t leaudio_subevent_bass_client_notification_complete_get_bass_cid(const uint8_t * event){ 14724 return little_endian_read_16(event, 3); 14725 } 14726 /** 14727 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14728 * @param event packet 14729 * @return source_id 14730 * @note: btstack_type 1 14731 */ 14732 static inline uint8_t leaudio_subevent_bass_client_notification_complete_get_source_id(const uint8_t * event){ 14733 return event[5]; 14734 } 14735 14736 /** 14737 * @brief Get field bass_cid from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14738 * @param event packet 14739 * @return bass_cid 14740 * @note: btstack_type 2 14741 */ 14742 static inline uint16_t leaudio_subevent_bass_client_source_operation_complete_get_bass_cid(const uint8_t * event){ 14743 return little_endian_read_16(event, 3); 14744 } 14745 /** 14746 * @brief Get field status from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14747 * @param event packet 14748 * @return status 14749 * @note: btstack_type 1 14750 */ 14751 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_status(const uint8_t * event){ 14752 return event[5]; 14753 } 14754 /** 14755 * @brief Get field opcode from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14756 * @param event packet 14757 * @return opcode 14758 * @note: btstack_type 1 14759 */ 14760 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_opcode(const uint8_t * event){ 14761 return event[6]; 14762 } 14763 /** 14764 * @brief Get field source_id from event LEAUDIO_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14765 * @param event packet 14766 * @return source_id 14767 * @note: btstack_type 1 14768 */ 14769 static inline uint8_t leaudio_subevent_bass_client_source_operation_complete_get_source_id(const uint8_t * event){ 14770 return event[7]; 14771 } 14772 14773 14774 /** 14775 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 14776 * @param event packet 14777 * @return status 14778 * @note: btstack_type 1 14779 */ 14780 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 14781 return event[3]; 14782 } 14783 14784 /** 14785 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14786 * @param event packet 14787 * @return status 14788 * @note: btstack_type 1 14789 */ 14790 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 14791 return event[3]; 14792 } 14793 /** 14794 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14795 * @param event packet 14796 * @return pb_transport_cid 14797 * @note: btstack_type 2 14798 */ 14799 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 14800 return little_endian_read_16(event, 4); 14801 } 14802 /** 14803 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 14804 * @param event packet 14805 * @return pb_type 14806 * @note: btstack_type 1 14807 */ 14808 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 14809 return event[6]; 14810 } 14811 14812 /** 14813 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14814 * @param event packet 14815 * @return pb_transport_cid 14816 * @note: btstack_type 1 14817 */ 14818 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 14819 return event[3]; 14820 } 14821 /** 14822 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 14823 * @param event packet 14824 * @return reason 14825 * @note: btstack_type 2 14826 */ 14827 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 14828 return little_endian_read_16(event, 4); 14829 } 14830 14831 /** 14832 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14833 * @param event packet 14834 * @return pb_transport_cid 14835 * @note: btstack_type 2 14836 */ 14837 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 14838 return little_endian_read_16(event, 3); 14839 } 14840 /** 14841 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 14842 * @param event packet 14843 * @return attention_time 14844 * @note: btstack_type 1 14845 */ 14846 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 14847 return event[5]; 14848 } 14849 14850 /** 14851 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 14852 * @param event packet 14853 * @return pb_transport_cid 14854 * @note: btstack_type 2 14855 */ 14856 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14857 return little_endian_read_16(event, 3); 14858 } 14859 14860 /** 14861 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 14862 * @param event packet 14863 * @return pb_transport_cid 14864 * @note: btstack_type 2 14865 */ 14866 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14867 return little_endian_read_16(event, 3); 14868 } 14869 14870 /** 14871 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 14872 * @param event packet 14873 * @return pb_transport_cid 14874 * @note: btstack_type 2 14875 */ 14876 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 14877 return little_endian_read_16(event, 3); 14878 } 14879 14880 /** 14881 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14882 * @param event packet 14883 * @return pb_transport_cid 14884 * @note: btstack_type 2 14885 */ 14886 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14887 return little_endian_read_16(event, 3); 14888 } 14889 /** 14890 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 14891 * @param event packet 14892 * @return output_oob 14893 * @note: btstack_type 4 14894 */ 14895 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 14896 return little_endian_read_32(event, 5); 14897 } 14898 14899 /** 14900 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 14901 * @param event packet 14902 * @return pb_transport_cid 14903 * @note: btstack_type 2 14904 */ 14905 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 14906 return little_endian_read_16(event, 3); 14907 } 14908 14909 /** 14910 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 14911 * @param event packet 14912 * @return pb_transport_cid 14913 * @note: btstack_type 2 14914 */ 14915 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14916 return little_endian_read_16(event, 3); 14917 } 14918 14919 /** 14920 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 14921 * @param event packet 14922 * @return pb_transport_cid 14923 * @note: btstack_type 2 14924 */ 14925 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 14926 return little_endian_read_16(event, 3); 14927 } 14928 14929 /** 14930 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 14931 * @param event packet 14932 * @return pb_transport_cid 14933 * @note: btstack_type 2 14934 */ 14935 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 14936 return little_endian_read_16(event, 3); 14937 } 14938 14939 /** 14940 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 14941 * @param event packet 14942 * @return pb_transport_cid 14943 * @note: btstack_type 2 14944 */ 14945 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 14946 return little_endian_read_16(event, 3); 14947 } 14948 /** 14949 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 14950 * @param event packet 14951 * @return output_oob 14952 * @note: btstack_type 4 14953 */ 14954 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 14955 return little_endian_read_32(event, 5); 14956 } 14957 14958 /** 14959 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 14960 * @param event packet 14961 * @return pb_transport_cid 14962 * @note: btstack_type 2 14963 */ 14964 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 14965 return little_endian_read_16(event, 3); 14966 } 14967 14968 /** 14969 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14970 * @param event packet 14971 * @return pb_transport_cid 14972 * @note: btstack_type 2 14973 */ 14974 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 14975 return little_endian_read_16(event, 3); 14976 } 14977 /** 14978 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14979 * @param event packet 14980 * @return num_elements 14981 * @note: btstack_type 1 14982 */ 14983 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 14984 return event[5]; 14985 } 14986 /** 14987 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14988 * @param event packet 14989 * @return algorithms 14990 * @note: btstack_type 2 14991 */ 14992 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 14993 return little_endian_read_16(event, 6); 14994 } 14995 /** 14996 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 14997 * @param event packet 14998 * @return public_key 14999 * @note: btstack_type 1 15000 */ 15001 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 15002 return event[8]; 15003 } 15004 /** 15005 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15006 * @param event packet 15007 * @return static_oob_type 15008 * @note: btstack_type 1 15009 */ 15010 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 15011 return event[9]; 15012 } 15013 /** 15014 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15015 * @param event packet 15016 * @return output_oob_size 15017 * @note: btstack_type 1 15018 */ 15019 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 15020 return event[10]; 15021 } 15022 /** 15023 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15024 * @param event packet 15025 * @return output_oob_action 15026 * @note: btstack_type 2 15027 */ 15028 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 15029 return little_endian_read_16(event, 11); 15030 } 15031 /** 15032 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15033 * @param event packet 15034 * @return input_oob_size 15035 * @note: btstack_type 1 15036 */ 15037 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 15038 return event[13]; 15039 } 15040 /** 15041 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15042 * @param event packet 15043 * @return input_oob_action 15044 * @note: btstack_type 2 15045 */ 15046 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 15047 return little_endian_read_16(event, 14); 15048 } 15049 15050 /** 15051 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 15052 * @param event packet 15053 * @return pb_transport_cid 15054 * @note: btstack_type 2 15055 */ 15056 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 15057 return little_endian_read_16(event, 3); 15058 } 15059 15060 /** 15061 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 15062 * @param event packet 15063 * @return attention_time 15064 * @note: btstack_type 1 15065 */ 15066 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 15067 return event[3]; 15068 } 15069 15070 /** 15071 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 15072 * @param event packet 15073 * @return con_handle 15074 * @note: btstack_type H 15075 */ 15076 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 15077 return little_endian_read_16(event, 3); 15078 } 15079 15080 /** 15081 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 15082 * @param event packet 15083 * @return con_handle 15084 * @note: btstack_type H 15085 */ 15086 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 15087 return little_endian_read_16(event, 3); 15088 } 15089 15090 /** 15091 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 15092 * @param event packet 15093 * @return con_handle 15094 * @note: btstack_type H 15095 */ 15096 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 15097 return little_endian_read_16(event, 3); 15098 } 15099 15100 /** 15101 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 15102 * @param event packet 15103 * @return con_handle 15104 * @note: btstack_type H 15105 */ 15106 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 15107 return little_endian_read_16(event, 3); 15108 } 15109 15110 /** 15111 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15112 * @param event packet 15113 * @return element_index 15114 * @note: btstack_type 1 15115 */ 15116 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 15117 return event[3]; 15118 } 15119 /** 15120 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15121 * @param event packet 15122 * @return model_identifier 15123 * @note: btstack_type 4 15124 */ 15125 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 15126 return little_endian_read_32(event, 4); 15127 } 15128 /** 15129 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15130 * @param event packet 15131 * @return state_identifier 15132 * @note: btstack_type 4 15133 */ 15134 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 15135 return little_endian_read_32(event, 8); 15136 } 15137 /** 15138 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15139 * @param event packet 15140 * @return reason 15141 * @note: btstack_type 1 15142 */ 15143 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 15144 return event[12]; 15145 } 15146 /** 15147 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15148 * @param event packet 15149 * @return value 15150 * @note: btstack_type 1 15151 */ 15152 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 15153 return event[13]; 15154 } 15155 15156 /** 15157 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 15158 * @param event packet 15159 * @return element_index 15160 * @note: btstack_type 1 15161 */ 15162 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 15163 return event[3]; 15164 } 15165 /** 15166 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15167 * @param event packet 15168 * @return model_identifier 15169 * @note: btstack_type 4 15170 */ 15171 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 15172 return little_endian_read_32(event, 4); 15173 } 15174 /** 15175 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15176 * @param event packet 15177 * @return state_identifier 15178 * @note: btstack_type 4 15179 */ 15180 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 15181 return little_endian_read_32(event, 8); 15182 } 15183 /** 15184 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 15185 * @param event packet 15186 * @return reason 15187 * @note: btstack_type 1 15188 */ 15189 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 15190 return event[12]; 15191 } 15192 /** 15193 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 15194 * @param event packet 15195 * @return value 15196 * @note: btstack_type 2 15197 */ 15198 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 15199 return little_endian_read_16(event, 13); 15200 } 15201 15202 /** 15203 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15204 * @param event packet 15205 * @return element_index 15206 * @note: btstack_type 1 15207 */ 15208 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 15209 return event[3]; 15210 } 15211 /** 15212 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15213 * @param event packet 15214 * @return model_identifier 15215 * @note: btstack_type 4 15216 */ 15217 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 15218 return little_endian_read_32(event, 4); 15219 } 15220 /** 15221 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15222 * @param event packet 15223 * @return opcode 15224 * @note: btstack_type 4 15225 */ 15226 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 15227 return little_endian_read_32(event, 8); 15228 } 15229 /** 15230 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15231 * @param event packet 15232 * @return dest 15233 * @note: btstack_type 2 15234 */ 15235 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 15236 return little_endian_read_16(event, 12); 15237 } 15238 15239 /** 15240 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 15241 * @param event packet 15242 * @return dest 15243 * @note: btstack_type 2 15244 */ 15245 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 15246 return little_endian_read_16(event, 3); 15247 } 15248 /** 15249 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 15250 * @param event packet 15251 * @return status 15252 * @note: btstack_type 1 15253 */ 15254 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 15255 return event[5]; 15256 } 15257 /** 15258 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15259 * @param event packet 15260 * @return present_value 15261 * @note: btstack_type 1 15262 */ 15263 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 15264 return event[6]; 15265 } 15266 /** 15267 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15268 * @param event packet 15269 * @return target_value 15270 * @note: btstack_type 1 15271 */ 15272 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 15273 return event[7]; 15274 } 15275 /** 15276 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 15277 * @param event packet 15278 * @return remaining_time_ms 15279 * @note: btstack_type 4 15280 */ 15281 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 15282 return little_endian_read_32(event, 8); 15283 } 15284 15285 /** 15286 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 15287 * @param event packet 15288 * @return dest 15289 * @note: btstack_type 2 15290 */ 15291 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 15292 return little_endian_read_16(event, 3); 15293 } 15294 /** 15295 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 15296 * @param event packet 15297 * @return status 15298 * @note: btstack_type 1 15299 */ 15300 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 15301 return event[5]; 15302 } 15303 /** 15304 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 15305 * @param event packet 15306 * @return present_value 15307 * @note: btstack_type 2 15308 */ 15309 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 15310 return little_endian_read_16(event, 6); 15311 } 15312 /** 15313 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 15314 * @param event packet 15315 * @return target_value 15316 * @note: btstack_type 2 15317 */ 15318 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 15319 return little_endian_read_16(event, 8); 15320 } 15321 /** 15322 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 15323 * @param event packet 15324 * @return remaining_time_ms 15325 * @note: btstack_type 4 15326 */ 15327 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 15328 return little_endian_read_32(event, 10); 15329 } 15330 15331 /** 15332 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15333 * @param event packet 15334 * @return dest 15335 * @note: btstack_type 2 15336 */ 15337 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 15338 return little_endian_read_16(event, 3); 15339 } 15340 /** 15341 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15342 * @param event packet 15343 * @return netkey_index 15344 * @note: btstack_type 2 15345 */ 15346 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 15347 return little_endian_read_16(event, 5); 15348 } 15349 /** 15350 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15351 * @param event packet 15352 * @return appkey_index 15353 * @note: btstack_type 2 15354 */ 15355 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 15356 return little_endian_read_16(event, 7); 15357 } 15358 /** 15359 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15360 * @param event packet 15361 * @return company_id 15362 * @note: btstack_type 2 15363 */ 15364 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 15365 return little_endian_read_16(event, 9); 15366 } 15367 /** 15368 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15369 * @param event packet 15370 * @return test_id 15371 * @note: btstack_type 1 15372 */ 15373 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 15374 return event[11]; 15375 } 15376 /** 15377 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15378 * @param event packet 15379 * @return acknowledged 15380 * @note: btstack_type 1 15381 */ 15382 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 15383 return event[12]; 15384 } 15385 15386 /** 15387 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 15388 * @param event packet 15389 * @return element_index 15390 * @note: btstack_type 1 15391 */ 15392 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 15393 return event[3]; 15394 } 15395 15396 /** 15397 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15398 * @param event packet 15399 * @return dest 15400 * @note: btstack_type 2 15401 */ 15402 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 15403 return little_endian_read_16(event, 3); 15404 } 15405 /** 15406 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15407 * @param event packet 15408 * @return status 15409 * @note: btstack_type 1 15410 */ 15411 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 15412 return event[5]; 15413 } 15414 /** 15415 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15416 * @param event packet 15417 * @return transition_time_gdtt 15418 * @note: btstack_type 1 15419 */ 15420 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 15421 return event[6]; 15422 } 15423 15424 /** 15425 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 15426 * @param event packet 15427 * @return dest 15428 * @note: btstack_type 2 15429 */ 15430 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 15431 return little_endian_read_16(event, 3); 15432 } 15433 /** 15434 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 15435 * @param event packet 15436 * @return foundation_status 15437 * @note: btstack_type 1 15438 */ 15439 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 15440 return event[5]; 15441 } 15442 /** 15443 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 15444 * @param event packet 15445 * @return secure_network_beacon_state 15446 * @note: btstack_type 1 15447 */ 15448 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 15449 return event[6]; 15450 } 15451 15452 /** 15453 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15454 * @param event packet 15455 * @return dest 15456 * @note: btstack_type 2 15457 */ 15458 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 15459 return little_endian_read_16(event, 3); 15460 } 15461 /** 15462 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15463 * @param event packet 15464 * @return foundation_status 15465 * @note: btstack_type 1 15466 */ 15467 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 15468 return event[5]; 15469 } 15470 /** 15471 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15472 * @param event packet 15473 * @return default_ttl 15474 * @note: btstack_type 1 15475 */ 15476 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 15477 return event[6]; 15478 } 15479 15480 /** 15481 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15482 * @param event packet 15483 * @return dest 15484 * @note: btstack_type 2 15485 */ 15486 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 15487 return little_endian_read_16(event, 3); 15488 } 15489 /** 15490 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15491 * @param event packet 15492 * @return foundation_status 15493 * @note: btstack_type 1 15494 */ 15495 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 15496 return event[5]; 15497 } 15498 /** 15499 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15500 * @param event packet 15501 * @return gatt_proxy_state 15502 * @note: btstack_type 1 15503 */ 15504 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 15505 return event[6]; 15506 } 15507 15508 /** 15509 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 15510 * @param event packet 15511 * @return dest 15512 * @note: btstack_type 2 15513 */ 15514 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 15515 return little_endian_read_16(event, 3); 15516 } 15517 /** 15518 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 15519 * @param event packet 15520 * @return foundation_status 15521 * @note: btstack_type 1 15522 */ 15523 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 15524 return event[5]; 15525 } 15526 /** 15527 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 15528 * @param event packet 15529 * @return relay 15530 * @note: btstack_type 1 15531 */ 15532 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 15533 return event[6]; 15534 } 15535 /** 15536 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 15537 * @param event packet 15538 * @return retransmit_count 15539 * @note: btstack_type 1 15540 */ 15541 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 15542 return event[7]; 15543 } 15544 /** 15545 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 15546 * @param event packet 15547 * @return retransmit_interval_ms 15548 * @note: btstack_type 1 15549 */ 15550 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 15551 return event[8]; 15552 } 15553 15554 /** 15555 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15556 * @param event packet 15557 * @return dest 15558 * @note: btstack_type 2 15559 */ 15560 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 15561 return little_endian_read_16(event, 3); 15562 } 15563 /** 15564 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15565 * @param event packet 15566 * @return foundation_status 15567 * @note: btstack_type 1 15568 */ 15569 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 15570 return event[5]; 15571 } 15572 /** 15573 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15574 * @param event packet 15575 * @return publish_address 15576 * @note: btstack_type 2 15577 */ 15578 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 15579 return little_endian_read_16(event, 6); 15580 } 15581 /** 15582 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15583 * @param event packet 15584 * @return appkey_index 15585 * @note: btstack_type 2 15586 */ 15587 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 15588 return little_endian_read_16(event, 8); 15589 } 15590 /** 15591 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15592 * @param event packet 15593 * @return credential_flag 15594 * @note: btstack_type 1 15595 */ 15596 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 15597 return event[10]; 15598 } 15599 /** 15600 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15601 * @param event packet 15602 * @return publish_ttl 15603 * @note: btstack_type 1 15604 */ 15605 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 15606 return event[11]; 15607 } 15608 /** 15609 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15610 * @param event packet 15611 * @return publish_period 15612 * @note: btstack_type 1 15613 */ 15614 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 15615 return event[12]; 15616 } 15617 /** 15618 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15619 * @param event packet 15620 * @return publish_retransmit_count 15621 * @note: btstack_type 1 15622 */ 15623 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 15624 return event[13]; 15625 } 15626 /** 15627 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15628 * @param event packet 15629 * @return publish_retransmit_interval_steps 15630 * @note: btstack_type 1 15631 */ 15632 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 15633 return event[14]; 15634 } 15635 /** 15636 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15637 * @param event packet 15638 * @return model_identifier 15639 * @note: btstack_type 4 15640 */ 15641 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 15642 return little_endian_read_32(event, 15); 15643 } 15644 15645 /** 15646 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15647 * @param event packet 15648 * @return dest 15649 * @note: btstack_type 2 15650 */ 15651 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 15652 return little_endian_read_16(event, 3); 15653 } 15654 /** 15655 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15656 * @param event packet 15657 * @return foundation_status 15658 * @note: btstack_type 1 15659 */ 15660 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 15661 return event[5]; 15662 } 15663 /** 15664 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15665 * @param event packet 15666 * @return address 15667 * @note: btstack_type 2 15668 */ 15669 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 15670 return little_endian_read_16(event, 6); 15671 } 15672 /** 15673 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 15674 * @param event packet 15675 * @return model_identifier 15676 * @note: btstack_type 4 15677 */ 15678 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 15679 return little_endian_read_32(event, 8); 15680 } 15681 15682 /** 15683 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15684 * @param event packet 15685 * @return dest 15686 * @note: btstack_type 2 15687 */ 15688 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 15689 return little_endian_read_16(event, 3); 15690 } 15691 /** 15692 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15693 * @param event packet 15694 * @return foundation_status 15695 * @note: btstack_type 1 15696 */ 15697 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 15698 return event[5]; 15699 } 15700 /** 15701 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15702 * @param event packet 15703 * @return model_identifier 15704 * @note: btstack_type 4 15705 */ 15706 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 15707 return little_endian_read_32(event, 6); 15708 } 15709 /** 15710 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15711 * @param event packet 15712 * @return num_subscription_addresses 15713 * @note: btstack_type 1 15714 */ 15715 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 15716 return event[10]; 15717 } 15718 /** 15719 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15720 * @param event packet 15721 * @return subscription_address_pos 15722 * @note: btstack_type 1 15723 */ 15724 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 15725 return event[11]; 15726 } 15727 /** 15728 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 15729 * @param event packet 15730 * @return subscription_address_item 15731 * @note: btstack_type 2 15732 */ 15733 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 15734 return little_endian_read_16(event, 12); 15735 } 15736 15737 /** 15738 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 15739 * @param event packet 15740 * @return dest 15741 * @note: btstack_type 2 15742 */ 15743 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 15744 return little_endian_read_16(event, 3); 15745 } 15746 /** 15747 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 15748 * @param event packet 15749 * @return foundation_status 15750 * @note: btstack_type 1 15751 */ 15752 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 15753 return event[5]; 15754 } 15755 15756 /** 15757 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15758 * @param event packet 15759 * @return dest 15760 * @note: btstack_type 2 15761 */ 15762 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 15763 return little_endian_read_16(event, 3); 15764 } 15765 /** 15766 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15767 * @param event packet 15768 * @return foundation_status 15769 * @note: btstack_type 1 15770 */ 15771 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 15772 return event[5]; 15773 } 15774 /** 15775 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15776 * @param event packet 15777 * @return num_netkey_indexes 15778 * @note: btstack_type 1 15779 */ 15780 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 15781 return event[6]; 15782 } 15783 /** 15784 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15785 * @param event packet 15786 * @return netkey_index_pos 15787 * @note: btstack_type 1 15788 */ 15789 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 15790 return event[7]; 15791 } 15792 /** 15793 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 15794 * @param event packet 15795 * @return netkey_index_item 15796 * @note: btstack_type 2 15797 */ 15798 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15799 return little_endian_read_16(event, 8); 15800 } 15801 15802 /** 15803 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15804 * @param event packet 15805 * @return dest 15806 * @note: btstack_type 2 15807 */ 15808 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 15809 return little_endian_read_16(event, 3); 15810 } 15811 /** 15812 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15813 * @param event packet 15814 * @return foundation_status 15815 * @note: btstack_type 1 15816 */ 15817 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 15818 return event[5]; 15819 } 15820 /** 15821 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15822 * @param event packet 15823 * @return netkey_index_item 15824 * @note: btstack_type 2 15825 */ 15826 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 15827 return little_endian_read_16(event, 6); 15828 } 15829 /** 15830 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 15831 * @param event packet 15832 * @return appkey_index_item 15833 * @note: btstack_type 2 15834 */ 15835 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 15836 return little_endian_read_16(event, 8); 15837 } 15838 15839 /** 15840 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15841 * @param event packet 15842 * @return dest 15843 * @note: btstack_type 2 15844 */ 15845 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 15846 return little_endian_read_16(event, 3); 15847 } 15848 /** 15849 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15850 * @param event packet 15851 * @return foundation_status 15852 * @note: btstack_type 1 15853 */ 15854 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 15855 return event[5]; 15856 } 15857 /** 15858 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15859 * @param event packet 15860 * @return netkey_index 15861 * @note: btstack_type 2 15862 */ 15863 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 15864 return little_endian_read_16(event, 6); 15865 } 15866 /** 15867 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15868 * @param event packet 15869 * @return num_appkey_indexes 15870 * @note: btstack_type 1 15871 */ 15872 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 15873 return event[8]; 15874 } 15875 /** 15876 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15877 * @param event packet 15878 * @return appkey_index_pos 15879 * @note: btstack_type 1 15880 */ 15881 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 15882 return event[9]; 15883 } 15884 /** 15885 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15886 * @param event packet 15887 * @return netkey_index_item 15888 * @note: btstack_type 2 15889 */ 15890 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 15891 return little_endian_read_16(event, 10); 15892 } 15893 /** 15894 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 15895 * @param event packet 15896 * @return appkey_index_item 15897 * @note: btstack_type 2 15898 */ 15899 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 15900 return little_endian_read_16(event, 12); 15901 } 15902 15903 /** 15904 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15905 * @param event packet 15906 * @return dest 15907 * @note: btstack_type 2 15908 */ 15909 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 15910 return little_endian_read_16(event, 3); 15911 } 15912 /** 15913 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15914 * @param event packet 15915 * @return foundation_status 15916 * @note: btstack_type 1 15917 */ 15918 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 15919 return event[5]; 15920 } 15921 /** 15922 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15923 * @param event packet 15924 * @return netkey_index_item 15925 * @note: btstack_type 2 15926 */ 15927 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 15928 return little_endian_read_16(event, 6); 15929 } 15930 /** 15931 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 15932 * @param event packet 15933 * @return identity_status 15934 * @note: btstack_type 1 15935 */ 15936 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 15937 return event[8]; 15938 } 15939 15940 /** 15941 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15942 * @param event packet 15943 * @return dest 15944 * @note: btstack_type 2 15945 */ 15946 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 15947 return little_endian_read_16(event, 3); 15948 } 15949 /** 15950 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15951 * @param event packet 15952 * @return foundation_status 15953 * @note: btstack_type 1 15954 */ 15955 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 15956 return event[5]; 15957 } 15958 /** 15959 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15960 * @param event packet 15961 * @return appkey_index 15962 * @note: btstack_type 2 15963 */ 15964 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 15965 return little_endian_read_16(event, 6); 15966 } 15967 /** 15968 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 15969 * @param event packet 15970 * @return model_identifier 15971 * @note: btstack_type 4 15972 */ 15973 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 15974 return little_endian_read_32(event, 8); 15975 } 15976 15977 /** 15978 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15979 * @param event packet 15980 * @return dest 15981 * @note: btstack_type 2 15982 */ 15983 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 15984 return little_endian_read_16(event, 3); 15985 } 15986 /** 15987 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15988 * @param event packet 15989 * @return foundation_status 15990 * @note: btstack_type 1 15991 */ 15992 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 15993 return event[5]; 15994 } 15995 /** 15996 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 15997 * @param event packet 15998 * @return model_id 15999 * @note: btstack_type 4 16000 */ 16001 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 16002 return little_endian_read_32(event, 6); 16003 } 16004 /** 16005 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16006 * @param event packet 16007 * @return num_appkey_indexes 16008 * @note: btstack_type 1 16009 */ 16010 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 16011 return event[10]; 16012 } 16013 /** 16014 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16015 * @param event packet 16016 * @return appkey_index_pos 16017 * @note: btstack_type 1 16018 */ 16019 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 16020 return event[11]; 16021 } 16022 /** 16023 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16024 * @param event packet 16025 * @return appkey_index_item 16026 * @note: btstack_type 2 16027 */ 16028 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 16029 return little_endian_read_16(event, 12); 16030 } 16031 16032 /** 16033 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16034 * @param event packet 16035 * @return dest 16036 * @note: btstack_type 2 16037 */ 16038 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 16039 return little_endian_read_16(event, 3); 16040 } 16041 /** 16042 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16043 * @param event packet 16044 * @return foundation_status 16045 * @note: btstack_type 1 16046 */ 16047 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 16048 return event[5]; 16049 } 16050 16051 /** 16052 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16053 * @param event packet 16054 * @return dest 16055 * @note: btstack_type 2 16056 */ 16057 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 16058 return little_endian_read_16(event, 3); 16059 } 16060 /** 16061 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16062 * @param event packet 16063 * @return foundation_status 16064 * @note: btstack_type 1 16065 */ 16066 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 16067 return event[5]; 16068 } 16069 /** 16070 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16071 * @param event packet 16072 * @return friend_state 16073 * @note: btstack_type 1 16074 */ 16075 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 16076 return event[6]; 16077 } 16078 16079 /** 16080 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16081 * @param event packet 16082 * @return dest 16083 * @note: btstack_type 2 16084 */ 16085 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 16086 return little_endian_read_16(event, 3); 16087 } 16088 /** 16089 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16090 * @param event packet 16091 * @return foundation_status 16092 * @note: btstack_type 1 16093 */ 16094 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 16095 return event[5]; 16096 } 16097 /** 16098 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16099 * @param event packet 16100 * @return netkey_index 16101 * @note: btstack_type 2 16102 */ 16103 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 16104 return little_endian_read_16(event, 6); 16105 } 16106 /** 16107 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16108 * @param event packet 16109 * @return phase 16110 * @note: btstack_type 1 16111 */ 16112 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 16113 return event[8]; 16114 } 16115 16116 /** 16117 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16118 * @param event packet 16119 * @return dest 16120 * @note: btstack_type 2 16121 */ 16122 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 16123 return little_endian_read_16(event, 3); 16124 } 16125 /** 16126 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16127 * @param event packet 16128 * @return foundation_status 16129 * @note: btstack_type 1 16130 */ 16131 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 16132 return event[5]; 16133 } 16134 /** 16135 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16136 * @param event packet 16137 * @return heartbeat_destination 16138 * @note: btstack_type 2 16139 */ 16140 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 16141 return little_endian_read_16(event, 6); 16142 } 16143 /** 16144 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16145 * @param event packet 16146 * @return count_S 16147 * @note: btstack_type 2 16148 */ 16149 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 16150 return little_endian_read_16(event, 8); 16151 } 16152 /** 16153 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16154 * @param event packet 16155 * @return period_S 16156 * @note: btstack_type 2 16157 */ 16158 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 16159 return little_endian_read_16(event, 10); 16160 } 16161 /** 16162 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16163 * @param event packet 16164 * @return ttl 16165 * @note: btstack_type 1 16166 */ 16167 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 16168 return event[12]; 16169 } 16170 /** 16171 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16172 * @param event packet 16173 * @return features 16174 * @note: btstack_type 2 16175 */ 16176 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 16177 return little_endian_read_16(event, 13); 16178 } 16179 /** 16180 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16181 * @param event packet 16182 * @return netkey_index 16183 * @note: btstack_type 2 16184 */ 16185 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 16186 return little_endian_read_16(event, 15); 16187 } 16188 16189 /** 16190 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16191 * @param event packet 16192 * @return dest 16193 * @note: btstack_type 2 16194 */ 16195 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 16196 return little_endian_read_16(event, 3); 16197 } 16198 /** 16199 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16200 * @param event packet 16201 * @return foundation_status 16202 * @note: btstack_type 1 16203 */ 16204 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 16205 return event[5]; 16206 } 16207 /** 16208 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16209 * @param event packet 16210 * @return heartbeat_destination 16211 * @note: btstack_type 2 16212 */ 16213 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 16214 return little_endian_read_16(event, 6); 16215 } 16216 /** 16217 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16218 * @param event packet 16219 * @return heartbeat_source 16220 * @note: btstack_type 2 16221 */ 16222 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 16223 return little_endian_read_16(event, 8); 16224 } 16225 /** 16226 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16227 * @param event packet 16228 * @return count_S 16229 * @note: btstack_type 2 16230 */ 16231 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 16232 return little_endian_read_16(event, 10); 16233 } 16234 /** 16235 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16236 * @param event packet 16237 * @return period_S 16238 * @note: btstack_type 2 16239 */ 16240 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 16241 return little_endian_read_16(event, 12); 16242 } 16243 /** 16244 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16245 * @param event packet 16246 * @return min_hops 16247 * @note: btstack_type 1 16248 */ 16249 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 16250 return event[14]; 16251 } 16252 /** 16253 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16254 * @param event packet 16255 * @return max_hops 16256 * @note: btstack_type 1 16257 */ 16258 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 16259 return event[15]; 16260 } 16261 16262 /** 16263 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16264 * @param event packet 16265 * @return dest 16266 * @note: btstack_type 2 16267 */ 16268 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 16269 return little_endian_read_16(event, 3); 16270 } 16271 /** 16272 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16273 * @param event packet 16274 * @return foundation_status 16275 * @note: btstack_type 1 16276 */ 16277 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 16278 return event[5]; 16279 } 16280 /** 16281 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16282 * @param event packet 16283 * @return lpn_address 16284 * @note: btstack_type 2 16285 */ 16286 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 16287 return little_endian_read_16(event, 6); 16288 } 16289 /** 16290 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16291 * @param event packet 16292 * @return poll_timeout 16293 * @note: btstack_type 3 16294 */ 16295 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 16296 return little_endian_read_24(event, 8); 16297 } 16298 16299 /** 16300 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16301 * @param event packet 16302 * @return dest 16303 * @note: btstack_type 2 16304 */ 16305 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 16306 return little_endian_read_16(event, 3); 16307 } 16308 /** 16309 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16310 * @param event packet 16311 * @return foundation_status 16312 * @note: btstack_type 1 16313 */ 16314 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 16315 return event[5]; 16316 } 16317 /** 16318 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16319 * @param event packet 16320 * @return transmit_count 16321 * @note: btstack_type 1 16322 */ 16323 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 16324 return event[6]; 16325 } 16326 /** 16327 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16328 * @param event packet 16329 * @return transmit_interval_steps_ms 16330 * @note: btstack_type 2 16331 */ 16332 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 16333 return little_endian_read_16(event, 7); 16334 } 16335 16336 16337 16338 /* API_END */ 16339 16340 #if defined __cplusplus 16341 } 16342 #endif 16343 16344 #endif // BTSTACK_EVENT_H 16345